/* Generated by Cython 0.29.32 */ #ifndef PY_SSIZE_T_CLEAN #define PY_SSIZE_T_CLEAN #endif /* 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_32" #define CYTHON_HEX_VERSION 0x001D20F0 #define CYTHON_FUTURE_DIVISION 0 #include #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 #define CYTHON_COMPILING_IN_NOGIL 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 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_HEX >= 0x07030900) #endif #elif defined(PYSTON_VERSION) #define CYTHON_COMPILING_IN_PYPY 0 #define CYTHON_COMPILING_IN_PYSTON 1 #define CYTHON_COMPILING_IN_CPYTHON 0 #define CYTHON_COMPILING_IN_NOGIL 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 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 #endif #elif defined(PY_NOGIL) #define CYTHON_COMPILING_IN_PYPY 0 #define CYTHON_COMPILING_IN_PYSTON 0 #define CYTHON_COMPILING_IN_CPYTHON 0 #define CYTHON_COMPILING_IN_NOGIL 1 #ifndef CYTHON_USE_TYPE_SLOTS #define CYTHON_USE_TYPE_SLOTS 1 #endif #undef CYTHON_USE_PYTYPE_LOOKUP #define CYTHON_USE_PYTYPE_LOOKUP 0 #ifndef CYTHON_USE_ASYNC_SLOTS #define CYTHON_USE_ASYNC_SLOTS 1 #endif #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 #ifndef CYTHON_PEP489_MULTI_PHASE_INIT #define CYTHON_PEP489_MULTI_PHASE_INIT 1 #endif #ifndef CYTHON_USE_TP_FINALIZE #define CYTHON_USE_TP_FINALIZE 1 #endif #undef CYTHON_USE_DICT_VERSIONS #define CYTHON_USE_DICT_VERSIONS 0 #undef CYTHON_USE_EXC_INFO_STACK #define CYTHON_USE_EXC_INFO_STACK 0 #else #define CYTHON_COMPILING_IN_PYPY 0 #define CYTHON_COMPILING_IN_PYSTON 0 #define CYTHON_COMPILING_IN_CPYTHON 1 #define CYTHON_COMPILING_IN_NOGIL 0 #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 || PY_VERSION_HEX >= 0x030B00A2 #undef CYTHON_USE_UNICODE_WRITER #define CYTHON_USE_UNICODE_WRITER 0 #elif !defined(CYTHON_USE_UNICODE_WRITER) #define CYTHON_USE_UNICODE_WRITER 1 #endif #ifndef CYTHON_AVOID_BORROWED_REFS #define CYTHON_AVOID_BORROWED_REFS 0 #endif #ifndef CYTHON_ASSUME_SAFE_MACROS #define CYTHON_ASSUME_SAFE_MACROS 1 #endif #ifndef CYTHON_UNPACK_METHODS #define CYTHON_UNPACK_METHODS 1 #endif #if PY_VERSION_HEX >= 0x030B00A4 #undef CYTHON_FAST_THREAD_STATE #define CYTHON_FAST_THREAD_STATE 0 #elif !defined(CYTHON_FAST_THREAD_STATE) #define CYTHON_FAST_THREAD_STATE 1 #endif #ifndef CYTHON_FAST_PYCALL #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000) #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 #if PY_VERSION_HEX >= 0x030B00A4 #undef CYTHON_USE_EXC_INFO_STACK #define CYTHON_USE_EXC_INFO_STACK 0 #elif !defined(CYTHON_USE_EXC_INFO_STACK) #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) #endif #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 #endif #endif #if !defined(CYTHON_FAST_PYCCALL) #define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) #endif #if CYTHON_USE_PYLONG_INTERNALS #if PY_MAJOR_VERSION < 3 #include "longintrepr.h" #endif #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 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 #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 CYTHON_INLINE #if defined(__clang__) #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) #elif defined(__GNUC__) #define CYTHON_INLINE __inline__ #elif defined(_MSC_VER) #define CYTHON_INLINE __inline #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #define CYTHON_INLINE inline #else #define CYTHON_INLINE #endif #endif #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" #define __Pyx_DefaultClassType PyType_Type #if PY_VERSION_HEX >= 0x030B00A1 static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f, PyObject *code, PyObject *c, PyObject* n, PyObject *v, PyObject *fv, PyObject *cell, PyObject* fn, PyObject *name, int fline, PyObject *lnos) { PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL; PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL; const char *fn_cstr=NULL; const char *name_cstr=NULL; PyCodeObject* co=NULL; PyObject *type, *value, *traceback; PyErr_Fetch(&type, &value, &traceback); if (!(kwds=PyDict_New())) goto end; if (!(argcount=PyLong_FromLong(a))) goto end; if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end; if (!(posonlyargcount=PyLong_FromLong(0))) goto end; if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end; if (!(kwonlyargcount=PyLong_FromLong(k))) goto end; if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end; if (!(nlocals=PyLong_FromLong(l))) goto end; if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end; if (!(stacksize=PyLong_FromLong(s))) goto end; if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end; if (!(flags=PyLong_FromLong(f))) goto end; if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end; if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end; if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end; if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end; if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end; if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end; if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end; if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end; if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end; if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end; if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end; if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too; if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too; Py_XDECREF((PyObject*)co); co = (PyCodeObject*)call_result; call_result = NULL; if (0) { cleanup_code_too: Py_XDECREF((PyObject*)co); co = NULL; } end: Py_XDECREF(kwds); Py_XDECREF(argcount); Py_XDECREF(posonlyargcount); Py_XDECREF(kwonlyargcount); Py_XDECREF(nlocals); Py_XDECREF(stacksize); Py_XDECREF(replace); Py_XDECREF(call_result); Py_XDECREF(empty); if (type) { PyErr_Restore(type, value, traceback); } return co; } #else #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) #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 #if defined(PyUnicode_IS_READY) #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ 0 : _PyUnicode_Ready((PyObject *)(op))) #else #define __Pyx_PyUnicode_READY(op) (0) #endif #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) #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE) #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) #else #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) #endif #else #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) #endif #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 #ifndef PyObject_Unicode #define PyObject_Unicode PyObject_Str #endif #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 PY_VERSION_HEX >= 0x030900A4 #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) #else #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) #endif #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 __Pyx_PyIndex_AsHash_t #else #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t #endif #if PY_MAJOR_VERSION >= 3 #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(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(WIN32) || defined(MS_WINDOWS) #if !defined(_USE_MATH_DEFINES) #define _USE_MATH_DEFINES #endif #endif #include #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_MARK_ERR_POS(f_index, lineno) \ { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } #define __PYX_ERR(f_index, lineno, Ln_error) \ { __PYX_MARK_ERR_POS(f_index, lineno) 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__mpi4py__MPI #define __PYX_HAVE_API__mpi4py__MPI /* Early includes */ #include "mpi.h" #include "atimport.h" #ifdef _OPENMP #include #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 #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); static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); #if CYTHON_ASSUME_SAFE_MACROS #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) #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[] = { "mpi4py/MPI/asbuffer.pxi", "mpi4py/MPI/ExceptionP.pyx", "mpi4py/MPI/asmemory.pxi", "mpi4py/MPI/commimpl.pxi", "mpi4py/MPI/attrimpl.pxi", "mpi4py/MPI/msgbuffer.pxi", "mpi4py/MPI/msgpickle.pxi", "mpi4py/MPI/Comm.pyx", "mpi4py/MPI/MPI.pyx", "mpi4py/MPI/atimport.pxi", "mpi4py/MPI/asstring.pxi", "mpi4py/MPI/asarray.pxi", "mpi4py/MPI/helpers.pxi", "mpi4py/MPI/reqimpl.pxi", "mpi4py/MPI/opimpl.pxi", "mpi4py/MPI/winimpl.pxi", "mpi4py/MPI/drepimpl.pxi", "mpi4py/MPI/mpierrhdl.pxi", "mpi4py/MPI/CAPI.pxi", "mpi4py/MPI/Exception.pyx", "mpi4py/MPI/Errhandler.pyx", "mpi4py/MPI/Datatype.pyx", "mpi4py/MPI/typemap.pxi", "mpi4py/MPI/typestr.pxi", "mpi4py/MPI/Status.pyx", "mpi4py/MPI/Request.pyx", "mpi4py/MPI/Message.pyx", "mpi4py/MPI/Info.pyx", "mpi4py/MPI/Op.pyx", "mpi4py/MPI/Group.pyx", "mpi4py/MPI/Win.pyx", "mpi4py/MPI/File.pyx", "mpi4py.MPI.pyx", }; /* ForceInitThreads.proto */ #ifndef __PYX_FORCE_INIT_THREADS #define __PYX_FORCE_INIT_THREADS 0 #endif /* NoFastGil.proto */ #define __Pyx_PyGILState_Ensure PyGILState_Ensure #define __Pyx_PyGILState_Release PyGILState_Release #define __Pyx_FastGIL_Remember() #define __Pyx_FastGIL_Forget() #define __Pyx_FastGilFuncInit() /*--- Type declarations ---*/ struct PyMPIStatusObject; struct PyMPIDatatypeObject; struct PyMPIRequestObject; struct PyMPIPrequestObject; struct PyMPIGrequestObject; struct PyMPIMessageObject; struct PyMPIOpObject; struct PyMPIGroupObject; struct PyMPIInfoObject; struct PyMPIErrhandlerObject; struct PyMPICommObject; struct PyMPIIntracommObject; struct PyMPITopocommObject; struct PyMPICartcommObject; struct PyMPIGraphcommObject; struct PyMPIDistgraphcommObject; struct PyMPIIntercommObject; struct PyMPIWinObject; struct PyMPIFileObject; struct __pyx_obj_6mpi4py_3MPI_memory; struct __pyx_obj_6mpi4py_3MPI__p_mem; struct __pyx_obj_6mpi4py_3MPI__p_greq; struct __pyx_obj_6mpi4py_3MPI__p_datarep; struct __pyx_obj_6mpi4py_3MPI__p_keyval; struct __pyx_obj_6mpi4py_3MPI__p_message; struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p; struct __pyx_obj_6mpi4py_3MPI__p_msg_cco; struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow; struct __pyx_obj_6mpi4py_3MPI__p_msg_rma; struct __pyx_obj_6mpi4py_3MPI__p_msg_io; struct __pyx_obj_6mpi4py_3MPI_Pickle; struct __pyx_t_6mpi4py_3MPI_Options; typedef struct __pyx_t_6mpi4py_3MPI_Options __pyx_t_6mpi4py_3MPI_Options; /* "mpi4py/MPI/helpers.pxi":13 * #------------------------------------------------------------------------------ * * cdef enum PyMPI_OBJECT_FLAGS: # <<<<<<<<<<<<<< * PyMPI_OWNED = 1<<1 * */ enum __pyx_t_6mpi4py_3MPI_PyMPI_OBJECT_FLAGS { /* "mpi4py/MPI/helpers.pxi":14 * * cdef enum PyMPI_OBJECT_FLAGS: * PyMPI_OWNED = 1<<1 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_e_6mpi4py_3MPI_PyMPI_OWNED = (1 << 1) }; /* "mpi4py/MPI/atimport.pxi":27 * enum: USE_MATCHED_RECV "PyMPI_USE_MATCHED_RECV" * * ctypedef struct Options: # <<<<<<<<<<<<<< * int initialize * int threads */ struct __pyx_t_6mpi4py_3MPI_Options { int initialize; int threads; int thread_level; int finalize; int fast_reduce; int recv_mprobe; int errors; }; /* "mpi4py/MPI.pxd":28 * ctypedef MPI_Count Count "MPI_Count" * * ctypedef public api class Status [ # <<<<<<<<<<<<<< * type PyMPIStatus_Type, * object PyMPIStatusObject, */ struct PyMPIStatusObject { PyObject_HEAD MPI_Status ob_mpi; unsigned int flags; }; typedef struct PyMPIStatusObject PyMPIStatusObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIStatus_Type; /* "mpi4py/MPI.pxd":35 * cdef unsigned flags * * ctypedef public api class Datatype [ # <<<<<<<<<<<<<< * type PyMPIDatatype_Type, * object PyMPIDatatypeObject, */ struct PyMPIDatatypeObject { PyObject_HEAD MPI_Datatype ob_mpi; unsigned int flags; }; typedef struct PyMPIDatatypeObject PyMPIDatatypeObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIDatatype_Type; /* "mpi4py/MPI.pxd":42 * cdef unsigned flags * * ctypedef public api class Request [ # <<<<<<<<<<<<<< * type PyMPIRequest_Type, * object PyMPIRequestObject, */ struct PyMPIRequestObject { PyObject_HEAD MPI_Request ob_mpi; unsigned int flags; PyObject *ob_buf; }; typedef struct PyMPIRequestObject PyMPIRequestObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIRequest_Type; /* "mpi4py/MPI.pxd":50 * cdef object ob_buf * * ctypedef public api class Prequest(Request) [ # <<<<<<<<<<<<<< * type PyMPIPrequest_Type, * object PyMPIPrequestObject, */ struct PyMPIPrequestObject { struct PyMPIRequestObject __pyx_base; }; typedef struct PyMPIPrequestObject PyMPIPrequestObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIPrequest_Type; /* "mpi4py/MPI.pxd":56 * pass * * ctypedef public api class Grequest(Request) [ # <<<<<<<<<<<<<< * type PyMPIGrequest_Type, * object PyMPIGrequestObject, */ struct PyMPIGrequestObject { struct PyMPIRequestObject __pyx_base; MPI_Request ob_grequest; }; typedef struct PyMPIGrequestObject PyMPIGrequestObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIGrequest_Type; /* "mpi4py/MPI.pxd":62 * cdef MPI_Request ob_grequest * * ctypedef public api class Message [ # <<<<<<<<<<<<<< * type PyMPIMessage_Type, * object PyMPIMessageObject, */ struct PyMPIMessageObject { PyObject_HEAD MPI_Message ob_mpi; unsigned int flags; PyObject *ob_buf; }; typedef struct PyMPIMessageObject PyMPIMessageObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIMessage_Type; /* "mpi4py/MPI.pxd":70 * cdef object ob_buf * * ctypedef public api class Op [ # <<<<<<<<<<<<<< * type PyMPIOp_Type, * object PyMPIOpObject, */ struct PyMPIOpObject { PyObject_HEAD MPI_Op ob_mpi; unsigned int flags; PyObject *(*ob_func)(PyObject *, PyObject *); int ob_usrid; }; typedef struct PyMPIOpObject PyMPIOpObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIOp_Type; /* "mpi4py/MPI.pxd":79 * cdef int ob_usrid * * ctypedef public api class Group [ # <<<<<<<<<<<<<< * type PyMPIGroup_Type, * object PyMPIGroupObject, */ struct PyMPIGroupObject { PyObject_HEAD MPI_Group ob_mpi; unsigned int flags; }; typedef struct PyMPIGroupObject PyMPIGroupObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIGroup_Type; /* "mpi4py/MPI.pxd":86 * cdef unsigned flags * * ctypedef public api class Info [ # <<<<<<<<<<<<<< * type PyMPIInfo_Type, * object PyMPIInfoObject, */ struct PyMPIInfoObject { PyObject_HEAD MPI_Info ob_mpi; unsigned int flags; }; typedef struct PyMPIInfoObject PyMPIInfoObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIInfo_Type; /* "mpi4py/MPI.pxd":93 * cdef unsigned flags * * ctypedef public api class Errhandler [ # <<<<<<<<<<<<<< * type PyMPIErrhandler_Type, * object PyMPIErrhandlerObject, */ struct PyMPIErrhandlerObject { PyObject_HEAD MPI_Errhandler ob_mpi; unsigned int flags; }; typedef struct PyMPIErrhandlerObject PyMPIErrhandlerObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIErrhandler_Type; /* "mpi4py/MPI.pxd":100 * cdef unsigned flags * * ctypedef public api class Comm [ # <<<<<<<<<<<<<< * type PyMPIComm_Type, * object PyMPICommObject, */ struct PyMPICommObject { PyObject_HEAD MPI_Comm ob_mpi; unsigned int flags; }; typedef struct PyMPICommObject PyMPICommObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIComm_Type; /* "mpi4py/MPI.pxd":107 * cdef unsigned flags * * ctypedef public api class Intracomm(Comm) [ # <<<<<<<<<<<<<< * type PyMPIIntracomm_Type, * object PyMPIIntracommObject, */ struct PyMPIIntracommObject { struct PyMPICommObject __pyx_base; }; typedef struct PyMPIIntracommObject PyMPIIntracommObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIIntracomm_Type; /* "mpi4py/MPI.pxd":113 * pass * * ctypedef public api class Topocomm(Intracomm) [ # <<<<<<<<<<<<<< * type PyMPITopocomm_Type, * object PyMPITopocommObject, */ struct PyMPITopocommObject { struct PyMPIIntracommObject __pyx_base; }; typedef struct PyMPITopocommObject PyMPITopocommObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPITopocomm_Type; /* "mpi4py/MPI.pxd":119 * pass * * ctypedef public api class Cartcomm(Topocomm) [ # <<<<<<<<<<<<<< * type PyMPICartcomm_Type, * object PyMPICartcommObject, */ struct PyMPICartcommObject { struct PyMPITopocommObject __pyx_base; }; typedef struct PyMPICartcommObject PyMPICartcommObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPICartcomm_Type; /* "mpi4py/MPI.pxd":125 * pass * * ctypedef public api class Graphcomm(Topocomm) [ # <<<<<<<<<<<<<< * type PyMPIGraphcomm_Type, * object PyMPIGraphcommObject, */ struct PyMPIGraphcommObject { struct PyMPITopocommObject __pyx_base; }; typedef struct PyMPIGraphcommObject PyMPIGraphcommObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIGraphcomm_Type; /* "mpi4py/MPI.pxd":131 * pass * * ctypedef public api class Distgraphcomm(Topocomm) [ # <<<<<<<<<<<<<< * type PyMPIDistgraphcomm_Type, * object PyMPIDistgraphcommObject, */ struct PyMPIDistgraphcommObject { struct PyMPITopocommObject __pyx_base; }; typedef struct PyMPIDistgraphcommObject PyMPIDistgraphcommObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIDistgraphcomm_Type; /* "mpi4py/MPI.pxd":137 * pass * * ctypedef public api class Intercomm(Comm) [ # <<<<<<<<<<<<<< * type PyMPIIntercomm_Type, * object PyMPIIntercommObject, */ struct PyMPIIntercommObject { struct PyMPICommObject __pyx_base; }; typedef struct PyMPIIntercommObject PyMPIIntercommObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIIntercomm_Type; /* "mpi4py/MPI.pxd":143 * pass * * ctypedef public api class Win [ # <<<<<<<<<<<<<< * type PyMPIWin_Type, * object PyMPIWinObject, */ struct PyMPIWinObject { PyObject_HEAD MPI_Win ob_mpi; unsigned int flags; PyObject *ob_mem; }; typedef struct PyMPIWinObject PyMPIWinObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIWin_Type; /* "mpi4py/MPI.pxd":151 * cdef object ob_mem * * ctypedef public api class File [ # <<<<<<<<<<<<<< * type PyMPIFile_Type, * object PyMPIFileObject, */ struct PyMPIFileObject { PyObject_HEAD MPI_File ob_mpi; unsigned int flags; }; typedef struct PyMPIFileObject PyMPIFileObject; __PYX_EXTERN_C DL_EXPORT(PyTypeObject) PyMPIFile_Type; /* "mpi4py/MPI/asbuffer.pxi":143 * * @cython.final * cdef class memory: # <<<<<<<<<<<<<< * * """ */ struct __pyx_obj_6mpi4py_3MPI_memory { PyObject_HEAD Py_buffer view; }; /* "mpi4py/MPI/asmemory.pxi":13 * @cython.final * @cython.internal * cdef class _p_mem: # <<<<<<<<<<<<<< * cdef void *buf * def __cinit__(self): */ struct __pyx_obj_6mpi4py_3MPI__p_mem { PyObject_HEAD void *buf; }; /* "mpi4py/MPI/reqimpl.pxi":56 * @cython.final * @cython.internal * cdef class _p_greq: # <<<<<<<<<<<<<< * * cdef object query_fn */ struct __pyx_obj_6mpi4py_3MPI__p_greq { PyObject_HEAD struct __pyx_vtabstruct_6mpi4py_3MPI__p_greq *__pyx_vtab; PyObject *query_fn; PyObject *free_fn; PyObject *cancel_fn; PyObject *args; PyObject *kargs; }; /* "mpi4py/MPI/drepimpl.pxi":7 * @cython.final * @cython.internal * cdef class _p_datarep: # <<<<<<<<<<<<<< * * cdef object read_fn */ struct __pyx_obj_6mpi4py_3MPI__p_datarep { PyObject_HEAD struct __pyx_vtabstruct_6mpi4py_3MPI__p_datarep *__pyx_vtab; PyObject *read_fn; PyObject *write_fn; PyObject *extent_fn; }; /* "mpi4py/MPI/attrimpl.pxi":5 * @cython.final * @cython.internal * cdef class _p_keyval: # <<<<<<<<<<<<<< * cdef public object copy_fn * cdef public object delete_fn */ struct __pyx_obj_6mpi4py_3MPI__p_keyval { PyObject_HEAD PyObject *copy_fn; PyObject *delete_fn; int nopython; }; /* "mpi4py/MPI/msgbuffer.pxi":64 * @cython.final * @cython.internal * cdef class _p_message: # <<<<<<<<<<<<<< * cdef memory buf * cdef object count */ struct __pyx_obj_6mpi4py_3MPI__p_message { PyObject_HEAD struct __pyx_obj_6mpi4py_3MPI_memory *buf; PyObject *count; PyObject *displ; struct PyMPIDatatypeObject *type; }; /* "mpi4py/MPI/msgbuffer.pxi":364 * @cython.final * @cython.internal * cdef class _p_msg_p2p: # <<<<<<<<<<<<<< * * # raw C-side arguments */ struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p { PyObject_HEAD struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_p2p *__pyx_vtab; void *buf; int count; MPI_Datatype dtype; PyObject *_msg; }; /* "mpi4py/MPI/msgbuffer.pxi":408 * @cython.final * @cython.internal * cdef class _p_msg_cco: # <<<<<<<<<<<<<< * * # raw C-side arguments */ struct __pyx_obj_6mpi4py_3MPI__p_msg_cco { PyObject_HEAD struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_cco *__pyx_vtab; void *sbuf; void *rbuf; int scount; int rcount; int *scounts; int *rcounts; int *sdispls; int *rdispls; MPI_Datatype stype; MPI_Datatype rtype; PyObject *_smsg; PyObject *_rmsg; PyObject *_rcnt; }; /* "mpi4py/MPI/msgbuffer.pxi":832 * @cython.final * @cython.internal * cdef class _p_msg_ccow: # <<<<<<<<<<<<<< * * # raw C-side arguments */ struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow { PyObject_HEAD struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_ccow *__pyx_vtab; void *sbuf; void *rbuf; int *scounts; int *rcounts; int *sdispls; int *rdispls; MPI_Aint *sdisplsA; MPI_Aint *rdisplsA; MPI_Datatype *stypes; MPI_Datatype *rtypes; PyObject *_smsg; PyObject *_rmsg; }; /* "mpi4py/MPI/msgbuffer.pxi":904 * @cython.final * @cython.internal * cdef class _p_msg_rma: # <<<<<<<<<<<<<< * * # raw origin arguments */ struct __pyx_obj_6mpi4py_3MPI__p_msg_rma { PyObject_HEAD struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_rma *__pyx_vtab; void *oaddr; int ocount; MPI_Datatype otype; void *caddr; int ccount; MPI_Datatype ctype; void *raddr; int rcount; MPI_Datatype rtype; MPI_Aint tdisp; int tcount; MPI_Datatype ttype; PyObject *_origin; PyObject *_compare; PyObject *_result; PyObject *_target; }; /* "mpi4py/MPI/msgbuffer.pxi":1058 * @cython.final * @cython.internal * cdef class _p_msg_io: # <<<<<<<<<<<<<< * * # raw C-side data */ struct __pyx_obj_6mpi4py_3MPI__p_msg_io { PyObject_HEAD struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_io *__pyx_vtab; void *buf; int count; MPI_Datatype dtype; PyObject *_msg; }; /* "mpi4py/MPI/msgpickle.pxi":44 * @cython.final * @cython.internal * cdef class Pickle: # <<<<<<<<<<<<<< * * """ */ struct __pyx_obj_6mpi4py_3MPI_Pickle { PyObject_HEAD struct __pyx_vtabstruct_6mpi4py_3MPI_Pickle *__pyx_vtab; PyObject *ob_dumps; PyObject *ob_loads; PyObject *ob_PROTO; }; /* "mpi4py/MPI/reqimpl.pxi":56 * @cython.final * @cython.internal * cdef class _p_greq: # <<<<<<<<<<<<<< * * cdef object query_fn */ struct __pyx_vtabstruct_6mpi4py_3MPI__p_greq { int (*query)(struct __pyx_obj_6mpi4py_3MPI__p_greq *, MPI_Status *); int (*free)(struct __pyx_obj_6mpi4py_3MPI__p_greq *); int (*cancel)(struct __pyx_obj_6mpi4py_3MPI__p_greq *, int); }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_greq *__pyx_vtabptr_6mpi4py_3MPI__p_greq; static int __pyx_f_6mpi4py_3MPI_7_p_greq_query(struct __pyx_obj_6mpi4py_3MPI__p_greq *, MPI_Status *); static int __pyx_f_6mpi4py_3MPI_7_p_greq_free(struct __pyx_obj_6mpi4py_3MPI__p_greq *); static int __pyx_f_6mpi4py_3MPI_7_p_greq_cancel(struct __pyx_obj_6mpi4py_3MPI__p_greq *, int); /* "mpi4py/MPI/drepimpl.pxi":7 * @cython.final * @cython.internal * cdef class _p_datarep: # <<<<<<<<<<<<<< * * cdef object read_fn */ struct __pyx_vtabstruct_6mpi4py_3MPI__p_datarep { int (*read)(struct __pyx_obj_6mpi4py_3MPI__p_datarep *, void *, MPI_Datatype, int, void *, MPI_Offset); int (*write)(struct __pyx_obj_6mpi4py_3MPI__p_datarep *, void *, MPI_Datatype, int, void *, MPI_Offset); int (*extent)(struct __pyx_obj_6mpi4py_3MPI__p_datarep *, MPI_Datatype, MPI_Aint *); }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_datarep *__pyx_vtabptr_6mpi4py_3MPI__p_datarep; static int __pyx_f_6mpi4py_3MPI_10_p_datarep_read(struct __pyx_obj_6mpi4py_3MPI__p_datarep *, void *, MPI_Datatype, int, void *, MPI_Offset); static int __pyx_f_6mpi4py_3MPI_10_p_datarep_write(struct __pyx_obj_6mpi4py_3MPI__p_datarep *, void *, MPI_Datatype, int, void *, MPI_Offset); static int __pyx_f_6mpi4py_3MPI_10_p_datarep_extent(struct __pyx_obj_6mpi4py_3MPI__p_datarep *, MPI_Datatype, MPI_Aint *); /* "mpi4py/MPI/msgbuffer.pxi":364 * @cython.final * @cython.internal * cdef class _p_msg_p2p: # <<<<<<<<<<<<<< * * # raw C-side arguments */ struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_p2p { int (*for_send)(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *, PyObject *, int); int (*for_recv)(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *, PyObject *, int); }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_p2p *__pyx_vtabptr_6mpi4py_3MPI__p_msg_p2p; static int __pyx_f_6mpi4py_3MPI_10_p_msg_p2p_for_send(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *, PyObject *, int); static int __pyx_f_6mpi4py_3MPI_10_p_msg_p2p_for_recv(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *, PyObject *, int); /* "mpi4py/MPI/msgbuffer.pxi":408 * @cython.final * @cython.internal * cdef class _p_msg_cco: # <<<<<<<<<<<<<< * * # raw C-side arguments */ struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_cco { int (*for_cco_send)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, int, int); int (*for_cco_recv)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, int, int); int (*for_bcast)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, int, MPI_Comm); int (*for_gather)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, int, MPI_Comm); int (*for_scatter)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, int, MPI_Comm); int (*for_allgather)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, MPI_Comm); int (*for_alltoall)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, MPI_Comm); int (*for_neighbor_allgather)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, MPI_Comm); int (*for_neighbor_alltoall)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, MPI_Comm); int (*for_cro_send)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, int); int (*for_cro_recv)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, int); int (*for_reduce)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, int, MPI_Comm); int (*for_allreduce)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, MPI_Comm); int (*for_reduce_scatter_block)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, MPI_Comm); int (*for_reduce_scatter)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, PyObject *, MPI_Comm); int (*for_scan)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, MPI_Comm); int (*for_exscan)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, MPI_Comm); }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_cco *__pyx_vtabptr_6mpi4py_3MPI__p_msg_cco; static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, int, int); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, int, int); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_bcast(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, int, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_gather(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, int, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scatter(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, int, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allgather(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_alltoall(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_allgather(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_alltoall(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_send(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, int); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_recv(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, int); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, int, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allreduce(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce_scatter_block(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce_scatter(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, PyObject *, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scan(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_exscan(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, MPI_Comm); /* "mpi4py/MPI/msgbuffer.pxi":832 * @cython.final * @cython.internal * cdef class _p_msg_ccow: # <<<<<<<<<<<<<< * * # raw C-side arguments */ struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_ccow { int (*for_alltoallw)(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *, PyObject *, PyObject *, MPI_Comm); int (*for_neighbor_alltoallw)(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *, PyObject *, PyObject *, MPI_Comm); }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_ccow *__pyx_vtabptr_6mpi4py_3MPI__p_msg_ccow; static int __pyx_f_6mpi4py_3MPI_11_p_msg_ccow_for_alltoallw(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *, PyObject *, PyObject *, MPI_Comm); static int __pyx_f_6mpi4py_3MPI_11_p_msg_ccow_for_neighbor_alltoallw(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *, PyObject *, PyObject *, MPI_Comm); /* "mpi4py/MPI/msgbuffer.pxi":904 * @cython.final * @cython.internal * cdef class _p_msg_rma: # <<<<<<<<<<<<<< * * # raw origin arguments */ struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_rma { int (*for_rma)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, int, PyObject *, int, PyObject *); int (*for_put)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int, PyObject *); int (*for_get)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int, PyObject *); int (*for_acc)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int, PyObject *); int (*set_origin)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int); int (*set_compare)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int); int (*set_result)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int); int (*for_get_acc)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, PyObject *, int, PyObject *); int (*for_fetch_op)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, PyObject *, int, MPI_Aint); int (*for_cmp_swap)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, PyObject *, PyObject *, int, MPI_Aint); }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_rma *__pyx_vtabptr_6mpi4py_3MPI__p_msg_rma; static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_rma(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, int, PyObject *, int, PyObject *); static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_put(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int, PyObject *); static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_get(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int, PyObject *); static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_acc(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int, PyObject *); static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_origin(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int); static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_compare(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int); static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_result(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int); static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_get_acc(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, PyObject *, int, PyObject *); static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_fetch_op(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, PyObject *, int, MPI_Aint); static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_cmp_swap(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, PyObject *, PyObject *, int, MPI_Aint); /* "mpi4py/MPI/msgbuffer.pxi":1058 * @cython.final * @cython.internal * cdef class _p_msg_io: # <<<<<<<<<<<<<< * * # raw C-side data */ struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_io { int (*for_read)(struct __pyx_obj_6mpi4py_3MPI__p_msg_io *, PyObject *); int (*for_write)(struct __pyx_obj_6mpi4py_3MPI__p_msg_io *, PyObject *); }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_io *__pyx_vtabptr_6mpi4py_3MPI__p_msg_io; static int __pyx_f_6mpi4py_3MPI_9_p_msg_io_for_read(struct __pyx_obj_6mpi4py_3MPI__p_msg_io *, PyObject *); static int __pyx_f_6mpi4py_3MPI_9_p_msg_io_for_write(struct __pyx_obj_6mpi4py_3MPI__p_msg_io *, PyObject *); /* "mpi4py/MPI/msgpickle.pxi":44 * @cython.final * @cython.internal * cdef class Pickle: # <<<<<<<<<<<<<< * * """ */ struct __pyx_vtabstruct_6mpi4py_3MPI_Pickle { PyObject *(*cdumps)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *); PyObject *(*cloads)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *); PyObject *(*dump)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, void **, int *); PyObject *(*load)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void *, int); PyObject *(*dumpv)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, void **, int, int *, int *); PyObject *(*loadv)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void *, int, int *, int *); PyObject *(*alloc)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void **, int); PyObject *(*allocv)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void **, int, int *, int *); }; static struct __pyx_vtabstruct_6mpi4py_3MPI_Pickle *__pyx_vtabptr_6mpi4py_3MPI_Pickle; static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_cdumps(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *); static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_cloads(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *); static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_dump(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, void **, int *); static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_load(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void *, int); static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_dumpv(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, void **, int, int *, int *); static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_loadv(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void *, int, int *, int *); static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_alloc(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void **, int); static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_allocv(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void **, int, int *, int *); /* --- 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); /* Import.proto */ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /* ImportFrom.proto */ static PyObject* __Pyx_ImportFrom(PyObject* module, 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, Py_ssize_t 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 #if CYTHON_FAST_PYCALL static size_t __pyx_pyframe_localsplus_offset = 0; #include "frameobject.h" #if PY_VERSION_HEX >= 0x030b00a6 #ifndef Py_BUILD_CORE #define Py_BUILD_CORE 1 #endif #include "internal/pycore_frame.h" #endif #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 // CYTHON_FAST_PYCALL #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); /* GetTopmostException.proto */ #if CYTHON_USE_EXC_INFO_STACK static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); #endif /* 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 /* SaveResetException.proto */ #if CYTHON_FAST_THREAD_STATE #define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); #define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); #else #define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) #define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) #endif /* GetException.proto */ #if CYTHON_FAST_THREAD_STATE #define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); #else static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); #endif /* 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 /* IncludeStringH.proto */ #include /* BytesEquals.proto */ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); /* UnicodeEquals.proto */ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); /* StrEquals.proto */ #if PY_MAJOR_VERSION >= 3 #define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals #else #define __Pyx_PyString_Equals __Pyx_PyBytes_Equals #endif /* RaiseException.proto */ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /* 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); /* 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); /* 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 /* WriteUnraisableException.proto */ static void __Pyx_WriteUnraisable(const char *name, int clineno, int lineno, const char *filename, int full_traceback, int nogil); /* 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 /* 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); /* 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 /* KeywordStringCheck.proto */ static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /* 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); /* ExtTypeTest.proto */ static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /* 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); /* 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); __Pyx_SET_SIZE(list, len + 1); return 0; } return PyList_Append(list, x); } #else #define __Pyx_ListComp_Append(L,x) PyList_Append(L,x) #endif /* 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 /* UnpackUnboundCMethod.proto */ typedef struct { PyObject *type; PyObject **method_name; PyCFunction func; PyObject *method; int flag; } __Pyx_CachedCFunction; /* CallUnboundCMethod2.proto */ static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2); #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030600B1 static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2); #else #define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2) __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2) #endif /* 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); /* dict_getitem_default.proto */ static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value); /* CallUnboundCMethod1.proto */ static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); #if CYTHON_COMPILING_IN_CPYTHON static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); #else #define __Pyx_CallUnboundCMethod1(cfunc, self, arg) __Pyx__CallUnboundCMethod1(cfunc, self, arg) #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 /* PyObjectGetMethod.proto */ static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); /* PyObjectCallMethod1.proto */ static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); /* pop_index.proto */ static PyObject* __Pyx__PyObject_PopNewIndex(PyObject* L, PyObject* py_ix); static PyObject* __Pyx__PyObject_PopIndex(PyObject* L, PyObject* py_ix); #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS static PyObject* __Pyx__PyList_PopIndex(PyObject* L, PyObject* py_ix, Py_ssize_t ix); #define __Pyx_PyObject_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) (\ (likely(PyList_CheckExact(L) && __Pyx_fits_Py_ssize_t(ix, type, is_signed))) ?\ __Pyx__PyList_PopIndex(L, py_ix, ix) : (\ (unlikely((py_ix) == Py_None)) ? __Pyx__PyObject_PopNewIndex(L, to_py_func(ix)) :\ __Pyx__PyObject_PopIndex(L, py_ix))) #define __Pyx_PyList_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) (\ __Pyx_fits_Py_ssize_t(ix, type, is_signed) ?\ __Pyx__PyList_PopIndex(L, py_ix, ix) : (\ (unlikely((py_ix) == Py_None)) ? __Pyx__PyObject_PopNewIndex(L, to_py_func(ix)) :\ __Pyx__PyObject_PopIndex(L, py_ix))) #else #define __Pyx_PyList_PopIndex(L, py_ix, ix, is_signed, type, to_py_func)\ __Pyx_PyObject_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) #define __Pyx_PyObject_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) (\ (unlikely((py_ix) == Py_None)) ? __Pyx__PyObject_PopNewIndex(L, to_py_func(ix)) :\ __Pyx__PyObject_PopIndex(L, py_ix)) #endif /* tp_new.proto */ #define __Pyx_tp_new(type_obj, args) __Pyx_tp_new_kwargs(type_obj, args, NULL) static CYTHON_INLINE PyObject* __Pyx_tp_new_kwargs(PyObject* type_obj, PyObject* args, PyObject* kwargs) { return (PyObject*) (((PyTypeObject*)type_obj)->tp_new((PyTypeObject*)type_obj, args, kwargs)); } /* 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 /* 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)); } /* 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); __Pyx_SET_SIZE(list, len + 1); return 0; } return PyList_Append(list, x); } #else #define __Pyx_PyList_Append(L,x) PyList_Append(L,x) #endif /* GetAttr.proto */ static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); /* HasAttr.proto */ static CYTHON_INLINE int __Pyx_HasAttr(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 /* py_dict_items.proto */ static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d); /* CallUnboundCMethod0.proto */ static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self); #if CYTHON_COMPILING_IN_CPYTHON #define __Pyx_CallUnboundCMethod0(cfunc, self)\ (likely((cfunc)->func) ?\ (likely((cfunc)->flag == METH_NOARGS) ? (*((cfunc)->func))(self, NULL) :\ (PY_VERSION_HEX >= 0x030600B1 && likely((cfunc)->flag == METH_FASTCALL) ?\ (PY_VERSION_HEX >= 0x030700A0 ?\ (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0) :\ (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL)) :\ (PY_VERSION_HEX >= 0x030700A0 && (cfunc)->flag == (METH_FASTCALL | METH_KEYWORDS) ?\ (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL) :\ (likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ? ((*(PyCFunctionWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\ ((cfunc)->flag == METH_VARARGS ? (*((cfunc)->func))(self, __pyx_empty_tuple) :\ __Pyx__CallUnboundCMethod0(cfunc, self)))))) :\ __Pyx__CallUnboundCMethod0(cfunc, self)) #else #define __Pyx_CallUnboundCMethod0(cfunc, self) __Pyx__CallUnboundCMethod0(cfunc, self) #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 /* 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); /* 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); /* append.proto */ static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x); /* 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 /* SetVTable.proto */ static int __Pyx_SetVtable(PyObject *dict, void *vtable); /* GetNameInClass.proto */ #define __Pyx_GetNameInClass(var, nmspace, name) (var) = __Pyx__GetNameInClass(nmspace, name) static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name); /* CalculateMetaclass.proto */ static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases); /* FetchCommonType.proto */ static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); /* CythonFunctionShared.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; size_t defaults_size; // used by FusedFunction for copying defaults 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)) static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, 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); /* CythonFunction.proto */ static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, PyObject *closure, PyObject *module, PyObject *globals, PyObject* code); /* 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 /* 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); /* ClassMethod.proto */ #include "descrobject.h" static CYTHON_UNUSED PyObject* __Pyx_Method_ClassMethod(PyObject *method); /* RegisterModuleCleanup.proto */ static void __pyx_module_cleanup(PyObject *self); #if PY_MAJOR_VERSION < 3 || CYTHON_COMPILING_IN_PYPY static int __Pyx_RegisterCleanup(void); #else #define __Pyx_RegisterCleanup() (0) #endif /* 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); /* GCCDiagnostics.proto */ #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) #define __Pyx_HAS_GCC_DIAGNOSTIC #endif /* CIntFromPy.proto */ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Aint(MPI_Aint value); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); /* CIntFromPy.proto */ static CYTHON_INLINE MPI_Aint __Pyx_PyInt_As_MPI_Aint(PyObject *); /* CIntFromPy.proto */ static CYTHON_INLINE MPI_Count __Pyx_PyInt_As_MPI_Count(PyObject *); /* CIntFromPy.proto */ static CYTHON_INLINE MPI_Offset __Pyx_PyInt_As_MPI_Offset(PyObject *); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); /* CIntFromPy.proto */ static CYTHON_INLINE unsigned char __Pyx_PyInt_As_unsigned_char(PyObject *); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Offset(MPI_Offset value); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Fint(MPI_Fint value); /* CIntFromPy.proto */ static CYTHON_INLINE MPI_Fint __Pyx_PyInt_As_MPI_Fint(PyObject *); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Count(MPI_Count value); /* CIntFromPy.proto */ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); /* 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) /* CheckBinaryVersion.proto */ static int __Pyx_check_binary_version(void); /* FunctionExport.proto */ static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /* InitStrings.proto */ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); static int __pyx_f_6mpi4py_3MPI_7_p_greq_query(struct __pyx_obj_6mpi4py_3MPI__p_greq *__pyx_v_self, MPI_Status *__pyx_v_status); /* proto*/ static int __pyx_f_6mpi4py_3MPI_7_p_greq_free(struct __pyx_obj_6mpi4py_3MPI__p_greq *__pyx_v_self); /* proto*/ static int __pyx_f_6mpi4py_3MPI_7_p_greq_cancel(struct __pyx_obj_6mpi4py_3MPI__p_greq *__pyx_v_self, int __pyx_v_completed); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_datarep_read(struct __pyx_obj_6mpi4py_3MPI__p_datarep *__pyx_v_self, void *__pyx_v_userbuf, MPI_Datatype __pyx_v_datatype, int __pyx_v_count, void *__pyx_v_filebuf, MPI_Offset __pyx_v_position); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_datarep_write(struct __pyx_obj_6mpi4py_3MPI__p_datarep *__pyx_v_self, void *__pyx_v_userbuf, MPI_Datatype __pyx_v_datatype, int __pyx_v_count, void *__pyx_v_filebuf, MPI_Offset __pyx_v_position); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_datarep_extent(struct __pyx_obj_6mpi4py_3MPI__p_datarep *__pyx_v_self, MPI_Datatype __pyx_v_datatype, MPI_Aint *__pyx_v_file_extent); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_p2p_for_send(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_self, PyObject *__pyx_v_msg, int __pyx_v_rank); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_p2p_for_recv(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_self, PyObject *__pyx_v_msg, int __pyx_v_rank); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_VECTOR, PyObject *__pyx_v_amsg, int __pyx_v_rank, int __pyx_v_blocks); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_VECTOR, PyObject *__pyx_v_amsg, int __pyx_v_rank, int __pyx_v_blocks); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_bcast(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_msg, int __pyx_v_root, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_gather(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_v, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, int __pyx_v_root, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scatter(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_v, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, int __pyx_v_root, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allgather(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_v, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_alltoall(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_v, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_allgather(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_v, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_alltoall(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_v, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_send(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_amsg, int __pyx_v_root); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_recv(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_amsg, int __pyx_v_root); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, int __pyx_v_root, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allreduce(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce_scatter_block(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce_scatter(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, PyObject *__pyx_v_rcnt, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scan(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_exscan(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_11_p_msg_ccow_for_alltoallw(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_11_p_msg_ccow_for_neighbor_alltoallw(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_rma(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, int __pyx_v_readonly, PyObject *__pyx_v_origin, int __pyx_v_rank, PyObject *__pyx_v_target); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_put(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_rank, PyObject *__pyx_v_target); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_get(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_rank, PyObject *__pyx_v_target); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_acc(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_rank, PyObject *__pyx_v_target); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_origin(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_rank); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_compare(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_compare, int __pyx_v_rank); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_result(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_result, int __pyx_v_rank); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_get_acc(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_result, int __pyx_v_rank, PyObject *__pyx_v_target); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_fetch_op(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_result, int __pyx_v_rank, MPI_Aint __pyx_v_disp); /* proto*/ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_cmp_swap(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_compare, PyObject *__pyx_v_result, int __pyx_v_rank, MPI_Aint __pyx_v_disp); /* proto*/ static int __pyx_f_6mpi4py_3MPI_9_p_msg_io_for_read(struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_self, PyObject *__pyx_v_msg); /* proto*/ static int __pyx_f_6mpi4py_3MPI_9_p_msg_io_for_write(struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_self, PyObject *__pyx_v_msg); /* proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_cdumps(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_obj); /* proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_cloads(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_buf); /* proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_dump(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_obj, void **__pyx_v_p, int *__pyx_v_n); /* proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_load(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, void *__pyx_v_p, int __pyx_v_n); /* proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_dumpv(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_obj, void **__pyx_v_p, int __pyx_v_n, int *__pyx_v_cnt, int *__pyx_v_dsp); /* proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_loadv(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, void *__pyx_v_p, int __pyx_v_n, int *__pyx_v_cnt, int *__pyx_v_dsp); /* proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_alloc(CYTHON_UNUSED struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, void **__pyx_v_p, int __pyx_v_n); /* proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_allocv(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, void **__pyx_v_p, int __pyx_v_n, int *__pyx_v_cnt, int *__pyx_v_dsp); /* proto*/ /* Module declarations from 'mpi4py.libmpi' */ /* Module declarations from 'cython' */ /* Module declarations from 'mpi4py.MPI' */ static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Status = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Datatype = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Request = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Prequest = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Grequest = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Message = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Op = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Group = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Info = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Errhandler = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Comm = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Intracomm = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Topocomm = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Cartcomm = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Graphcomm = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Distgraphcomm = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Intercomm = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Win = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_File = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_memory = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI__p_mem = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI__p_greq = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI__p_datarep = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI__p_keyval = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI__p_message = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI__p_msg_p2p = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI__p_msg_cco = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI__p_msg_ccow = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI__p_msg_rma = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI__p_msg_io = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI_Pickle = 0; static __pyx_t_6mpi4py_3MPI_Options __pyx_v_6mpi4py_3MPI_options; static int __pyx_v_6mpi4py_3MPI_abort_status; static PyObject *__pyx_v_6mpi4py_3MPI_MPIException = 0; static PyObject *__pyx_v_6mpi4py_3MPI__pypy_sentinel = 0; static char __pyx_v_6mpi4py_3MPI_BYTE_FMT[2]; static PyTypeObject *__pyx_v_6mpi4py_3MPI_array_array = 0; static PyTypeObject *__pyx_v_6mpi4py_3MPI_numpy_array = 0; static int __pyx_v_6mpi4py_3MPI_pypy_have_numpy; static MPI_Status __pyx_v_6mpi4py_3MPI_empty_status; static PyObject *__pyx_v_6mpi4py_3MPI_op_user_registry = 0; static struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_6mpi4py_3MPI__buffer = 0; static PyObject *__pyx_v_6mpi4py_3MPI___UNWEIGHTED__ = 0; static PyObject *__pyx_v_6mpi4py_3MPI___WEIGHTS_EMPTY__ = 0; static PyObject *__pyx_v_6mpi4py_3MPI_allocate_lock = 0; static int __pyx_v_6mpi4py_3MPI_lock_keyval; static PyObject *__pyx_v_6mpi4py_3MPI_lock_registry = 0; static PyObject *__pyx_v_6mpi4py_3MPI_datarep_registry = 0; static PyObject *__pyx_v_6mpi4py_3MPI_type_keyval = 0; static PyObject *__pyx_v_6mpi4py_3MPI_comm_keyval = 0; static PyObject *__pyx_v_6mpi4py_3MPI_win_keyval = 0; static PyObject *__pyx_v_6mpi4py_3MPI___BOTTOM__ = 0; static PyObject *__pyx_v_6mpi4py_3MPI___IN_PLACE__ = 0; static PyObject *__pyx_v_6mpi4py_3MPI_PyPickle_dumps = 0; static PyObject *__pyx_v_6mpi4py_3MPI_PyPickle_loads = 0; static PyObject *__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL = 0; static PyObject *__pyx_v_6mpi4py_3MPI_PyBytesIO_New = 0; static PyObject *__pyx_v_6mpi4py_3MPI_PyPickle_loadf = 0; static struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE = 0; static struct PyMPIErrhandlerObject *__pyx_v_6mpi4py_3MPI___ERRHANDLER_NULL__ = 0; static struct PyMPIErrhandlerObject *__pyx_v_6mpi4py_3MPI___ERRORS_RETURN__ = 0; static struct PyMPIErrhandlerObject *__pyx_v_6mpi4py_3MPI___ERRORS_ARE_FATAL__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___DATATYPE_NULL__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___UB__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___LB__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___PACKED__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___BYTE__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___AINT__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___OFFSET__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___COUNT__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___CHAR__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___WCHAR__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___SIGNED_CHAR__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___SHORT__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___INT__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___LONG__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___LONG_LONG__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___UNSIGNED_CHAR__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___UNSIGNED_SHORT__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___UNSIGNED__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG_LONG__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___FLOAT__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___DOUBLE__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___LONG_DOUBLE__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___C_BOOL__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___INT8_T__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___INT16_T__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___INT32_T__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___INT64_T__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___UINT8_T__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___UINT16_T__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___UINT32_T__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___UINT64_T__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___C_COMPLEX__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___C_FLOAT_COMPLEX__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___C_DOUBLE_COMPLEX__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___C_LONG_DOUBLE_COMPLEX__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___CXX_BOOL__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___CXX_FLOAT_COMPLEX__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___CXX_DOUBLE_COMPLEX__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___CXX_LONG_DOUBLE_COMPLEX__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___SHORT_INT__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___TWOINT__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___LONG_INT__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___FLOAT_INT__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___DOUBLE_INT__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___LONG_DOUBLE_INT__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___CHARACTER__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___LOGICAL__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___INTEGER__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___REAL__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___DOUBLE_PRECISION__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___COMPLEX__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___DOUBLE_COMPLEX__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___LOGICAL1__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___LOGICAL2__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___LOGICAL4__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___LOGICAL8__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___INTEGER1__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___INTEGER2__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___INTEGER4__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___INTEGER8__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___INTEGER16__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___REAL2__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___REAL4__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___REAL8__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___REAL16__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___COMPLEX4__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___COMPLEX8__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___COMPLEX16__ = 0; static struct PyMPIDatatypeObject *__pyx_v_6mpi4py_3MPI___COMPLEX32__ = 0; static PyObject *__pyx_v_6mpi4py_3MPI_TypeDict = 0; static PyObject *__pyx_v_6mpi4py_3MPI_CTypeDict = 0; static PyObject *__pyx_v_6mpi4py_3MPI_FTypeDict = 0; static struct PyMPIRequestObject *__pyx_v_6mpi4py_3MPI___REQUEST_NULL__ = 0; static struct PyMPIMessageObject *__pyx_v_6mpi4py_3MPI___MESSAGE_NULL__ = 0; static struct PyMPIMessageObject *__pyx_v_6mpi4py_3MPI___MESSAGE_NO_PROC__ = 0; static struct PyMPIInfoObject *__pyx_v_6mpi4py_3MPI___INFO_NULL__ = 0; static struct PyMPIInfoObject *__pyx_v_6mpi4py_3MPI___INFO_ENV__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___OP_NULL__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___MAX__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___MIN__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___SUM__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___PROD__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___LAND__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___BAND__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___LOR__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___BOR__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___LXOR__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___BXOR__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___MAXLOC__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___MINLOC__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___REPLACE__ = 0; static struct PyMPIOpObject *__pyx_v_6mpi4py_3MPI___NO_OP__ = 0; static struct PyMPIGroupObject *__pyx_v_6mpi4py_3MPI___GROUP_NULL__ = 0; static struct PyMPIGroupObject *__pyx_v_6mpi4py_3MPI___GROUP_EMPTY__ = 0; static struct PyMPICommObject *__pyx_v_6mpi4py_3MPI___COMM_NULL__ = 0; static struct PyMPIIntracommObject *__pyx_v_6mpi4py_3MPI___COMM_SELF__ = 0; static struct PyMPIIntracommObject *__pyx_v_6mpi4py_3MPI___COMM_WORLD__ = 0; static struct PyMPIIntercommObject *__pyx_v_6mpi4py_3MPI___COMM_PARENT__ = 0; static struct PyMPIWinObject *__pyx_v_6mpi4py_3MPI___WIN_NULL__ = 0; static struct PyMPIFileObject *__pyx_v_6mpi4py_3MPI___FILE_NULL__ = 0; static int __pyx_f_6mpi4py_3MPI_warnOpt(PyObject *, PyObject *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_getOptions(__pyx_t_6mpi4py_3MPI_Options *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_bootstrap(void); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_mpi_active(void); /*proto*/ static int __pyx_f_6mpi4py_3MPI_initialize(void); /*proto*/ static void __pyx_f_6mpi4py_3MPI_finalize(void); /*proto*/ static void __pyx_f_6mpi4py_3MPI_atexit(void); /*proto*/ static int __pyx_f_6mpi4py_3MPI_PyMPI_Raise(int); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_CHKERR(int); /*proto*/ static CYTHON_INLINE void __pyx_f_6mpi4py_3MPI_print_traceback(void); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_Py_IsInitialized(void); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asmpistr(PyObject *, char **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_tompistr(char const *, int); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_mpistr(char const *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_pystr(char const *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_PyPy_GetBuffer(PyObject *, Py_buffer *, int); /*proto*/ static int __pyx_f_6mpi4py_3MPI_Py27_GetBuffer(PyObject *, Py_buffer *, int); /*proto*/ static int __pyx_f_6mpi4py_3MPI_PyMPI_GetBuffer(PyObject *, Py_buffer *, int); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_newbuffer(void); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_getbuffer(PyObject *, int, int); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_getformat(struct __pyx_obj_6mpi4py_3MPI_memory *); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_getbuffer_r(PyObject *, void **, MPI_Aint *); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_getbuffer_w(PyObject *, void **, MPI_Aint *); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_asbuffer(PyObject *, void *, MPI_Aint, int); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_asmemory(PyObject *, void **, MPI_Aint *); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_tomemory(void *, MPI_Aint); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_mem *__pyx_f_6mpi4py_3MPI_allocate(Py_ssize_t, size_t, void *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_Datatype(PyObject *, int, MPI_Datatype **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_Info(PyObject *, int, MPI_Info **); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_is_string(PyObject *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asstring(PyObject *, char **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_str(PyObject *, char ***); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_argv(PyObject *, char ***); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_cmds(PyObject *, int *, char ***); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_argvs(PyObject *, int, char ****); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_nprocs(PyObject *, int, int **); /*proto*/ static CYTHON_INLINE MPI_Status *__pyx_f_6mpi4py_3MPI_arg_Status(PyObject *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_builtin_Datatype(MPI_Datatype); /*proto*/ static CYTHON_INLINE struct PyMPIDatatypeObject *__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_Datatype); /*proto*/ static CYTHON_INLINE struct PyMPIDatatypeObject *__pyx_f_6mpi4py_3MPI_ref_Datatype(MPI_Datatype); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Datatype(MPI_Datatype *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_acquire_rs(PyObject *, PyObject *, int *, MPI_Request **, MPI_Status **); /*proto*/ static int __pyx_f_6mpi4py_3MPI_release_rs(PyObject *, PyObject *, int, MPI_Request *, MPI_Status *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_greq_query(void *, MPI_Status *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_greq_free(void *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_greq_cancel(void *, int); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_greq_query_fn(void *, MPI_Status *); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_greq_free_fn(void *); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_greq_cancel_fn(void *, int); /*proto*/ static CYTHON_INLINE struct PyMPIRequestObject *__pyx_f_6mpi4py_3MPI_new_Request(MPI_Request); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Request(MPI_Request *); /*proto*/ static CYTHON_INLINE struct PyMPIMessageObject *__pyx_f_6mpi4py_3MPI_new_Message(MPI_Message); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Message(MPI_Message *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_MAX(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_MIN(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_SUM(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_PROD(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_BAND(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_BOR(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_BXOR(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_LAND(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_LOR(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_LXOR(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_MAXLOC(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_MINLOC(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_REPLACE(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI__op_NO_OP(PyObject *, PyObject *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_op_user_py(int, PyObject *, PyObject *, PyObject *); /*proto*/ static CYTHON_INLINE void __pyx_f_6mpi4py_3MPI_op_user_mpi(int, void *, void *, MPI_Aint, MPI_Datatype *); /*proto*/ static CYTHON_INLINE void __pyx_f_6mpi4py_3MPI_op_user_call(int, void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_01(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_02(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_03(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_04(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_05(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_06(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_07(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_08(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_09(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_10(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_11(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_12(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_13(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_14(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_15(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_16(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_17(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_18(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_19(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_20(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_21(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_22(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_23(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_24(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_25(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_26(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_27(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_28(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_29(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_30(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_31(void *, void *, int *, MPI_Datatype *); /*proto*/ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_32(void *, void *, int *, MPI_Datatype *); /*proto*/ static MPI_User_function *__pyx_f_6mpi4py_3MPI_op_user_map(int); /*proto*/ static int __pyx_f_6mpi4py_3MPI_op_user_new(PyObject *, MPI_User_function **); /*proto*/ static int __pyx_f_6mpi4py_3MPI_op_user_del(int *); /*proto*/ static CYTHON_INLINE struct PyMPIOpObject *__pyx_f_6mpi4py_3MPI_new_Op(MPI_Op); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Op(MPI_Op *); /*proto*/ static CYTHON_INLINE struct PyMPIInfoObject *__pyx_f_6mpi4py_3MPI_new_Info(MPI_Info); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Info(MPI_Info *); /*proto*/ static CYTHON_INLINE MPI_Info __pyx_f_6mpi4py_3MPI_arg_Info(PyObject *); /*proto*/ static CYTHON_INLINE struct PyMPIGroupObject *__pyx_f_6mpi4py_3MPI_new_Group(MPI_Group); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Group(MPI_Group *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_attach_buffer(PyObject *, void **, int *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_detach_buffer(void *, int); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_asarray_weights(PyObject *, int, int **); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_comm_neighbors_count(MPI_Comm, int *, int *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_lock_free_cb(MPI_Comm); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_lock_free_fn(MPI_Comm, int, void *, void *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_Lock_table(MPI_Comm); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_Lock(MPI_Comm, PyObject *); /*proto*/ static CYTHON_INLINE struct PyMPICommObject *__pyx_f_6mpi4py_3MPI_new_Comm(MPI_Comm); /*proto*/ static CYTHON_INLINE struct PyMPIIntracommObject *__pyx_f_6mpi4py_3MPI_new_Intracomm(MPI_Comm); /*proto*/ static CYTHON_INLINE struct PyMPIIntercommObject *__pyx_f_6mpi4py_3MPI_new_Intercomm(MPI_Comm); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Comm(MPI_Comm *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_win_get_base(MPI_Win, void **); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_win_get_size(MPI_Win, MPI_Aint *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_win_get_unit(MPI_Win, int *); /*proto*/ static CYTHON_INLINE struct PyMPIWinObject *__pyx_f_6mpi4py_3MPI_new_Win(MPI_Win); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Win(MPI_Win *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_datarep_read(void *, MPI_Datatype, int, void *, MPI_Offset, void *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_datarep_write(void *, MPI_Datatype, int, void *, MPI_Offset, void *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_datarep_extent(MPI_Datatype, MPI_Aint *, void *); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_datarep_read_fn(void *, MPI_Datatype, int, void *, MPI_Offset, void *); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_datarep_write_fn(void *, MPI_Datatype, int, void *, MPI_Offset, void *); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_datarep_extent_fn(MPI_Datatype, MPI_Aint *, void *); /*proto*/ static CYTHON_INLINE struct PyMPIFileObject *__pyx_f_6mpi4py_3MPI_new_File(MPI_File); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_File(MPI_File *); /*proto*/ static CYTHON_INLINE struct PyMPIErrhandlerObject *__pyx_f_6mpi4py_3MPI_new_Errhandler(MPI_Errhandler); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Errhandler(MPI_Errhandler *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_comm_set_eh(MPI_Comm); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_win_set_eh(MPI_Win); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_file_set_eh(MPI_File); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_is_integral(PyObject *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_is_buffer(PyObject *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_is_datatype(PyObject *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_downcast(MPI_Aint); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_clipcount(MPI_Aint); /*proto*/ static struct __pyx_obj_6mpi4py_3MPI__p_message *__pyx_f_6mpi4py_3MPI_message_basic(PyObject *, PyObject *, int, void **, MPI_Aint *, MPI_Datatype *); /*proto*/ static struct __pyx_obj_6mpi4py_3MPI__p_message *__pyx_f_6mpi4py_3MPI_message_simple(PyObject *, int, int, int, void **, int *, MPI_Datatype *); /*proto*/ static struct __pyx_obj_6mpi4py_3MPI__p_message *__pyx_f_6mpi4py_3MPI_message_vector(PyObject *, int, int, int, void **, int **, int **, MPI_Datatype *); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_f_6mpi4py_3MPI_message_p2p_send(PyObject *, int); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_f_6mpi4py_3MPI_message_p2p_recv(PyObject *, int); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_f_6mpi4py_3MPI_message_cco(void); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_f_6mpi4py_3MPI_message_ccow(void); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_f_6mpi4py_3MPI_message_rma(void); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_f_6mpi4py_3MPI_message_io_read(PyObject *); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_f_6mpi4py_3MPI_message_io_write(PyObject *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_allocate_count_displ(int, int **, int **); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_send(PyObject *, int, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_bsend(PyObject *, int, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_ssend(PyObject *, int, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_recv_obarg(PyObject *, int, int, MPI_Comm, MPI_Status *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_recv_match(PyObject *, int, int, MPI_Comm, MPI_Status *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_recv_probe(PyObject *, int, int, MPI_Comm, MPI_Status *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_recv(PyObject *, int, int, MPI_Comm, MPI_Status *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_isend(PyObject *, int, int, MPI_Comm, MPI_Request *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_ibsend(PyObject *, int, int, MPI_Comm, MPI_Request *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_issend(PyObject *, int, int, MPI_Comm, MPI_Request *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_irecv(PyObject *, int, int, MPI_Comm, MPI_Request *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_sendrecv(PyObject *, int, int, PyObject *, int, int, MPI_Comm, MPI_Status *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_load(MPI_Status *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_wait(struct PyMPIRequestObject *, struct PyMPIStatusObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_test(struct PyMPIRequestObject *, int *, struct PyMPIStatusObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_waitany(PyObject *, int *, struct PyMPIStatusObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_testany(PyObject *, int *, int *, struct PyMPIStatusObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_waitall(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_testall(PyObject *, int *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_probe(int, int, MPI_Comm, MPI_Status *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_iprobe(int, int, MPI_Comm, MPI_Status *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_mprobe(int, int, MPI_Comm, MPI_Message *, MPI_Status *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_improbe(int, int, MPI_Comm, int *, MPI_Message *, MPI_Status *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_mrecv(PyObject *, MPI_Message *, MPI_Status *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_imrecv(PyObject *, MPI_Message *, MPI_Request *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_barrier(MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_bcast(PyObject *, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_gather(PyObject *, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_scatter(PyObject *, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_allgather(PyObject *, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_alltoall(PyObject *, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_neighbor_allgather(PyObject *, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_neighbor_alltoall(PyObject *, MPI_Comm); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI__py_reduce(PyObject *, PyObject *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI__py_scan(PyObject *, PyObject *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI__py_exscan(PyObject *, PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_reduce_naive(PyObject *, PyObject *, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_allreduce_naive(PyObject *, PyObject *, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_scan_naive(PyObject *, PyObject *, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_exscan_naive(PyObject *, PyObject *, MPI_Comm); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_copy(PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_send_p2p(PyObject *, int, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_recv_p2p(int, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_sendrecv_p2p(PyObject *, int, int, int, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_bcast_p2p(PyObject *, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_reduce_p2p(PyObject *, PyObject *, int, MPI_Comm, int); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_scan_p2p(PyObject *, PyObject *, MPI_Comm, int); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_exscan_p2p(PyObject *, PyObject *, MPI_Comm, int); /*proto*/ static int __pyx_f_6mpi4py_3MPI_PyMPI_Commctx_INTRA(MPI_Comm, MPI_Comm *, int *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_PyMPI_Commctx_INTER(MPI_Comm, MPI_Comm *, int *, MPI_Comm *, int *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_reduce_intra(PyObject *, PyObject *, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_reduce_inter(PyObject *, PyObject *, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_allreduce_intra(PyObject *, PyObject *, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_allreduce_inter(PyObject *, PyObject *, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_scan_intra(PyObject *, PyObject *, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_exscan_intra(PyObject *, PyObject *, MPI_Comm); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_comm_is_intra(MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_reduce(PyObject *, PyObject *, int, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_allreduce(PyObject *, PyObject *, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_scan(PyObject *, PyObject *, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_exscan(PyObject *, PyObject *, MPI_Comm); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIDatatype_New(MPI_Datatype); /*proto*/ static MPI_Datatype *__pyx_f_6mpi4py_3MPI_PyMPIDatatype_Get(PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIStatus_New(MPI_Status *); /*proto*/ static MPI_Status *__pyx_f_6mpi4py_3MPI_PyMPIStatus_Get(PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIRequest_New(MPI_Request); /*proto*/ static MPI_Request *__pyx_f_6mpi4py_3MPI_PyMPIRequest_Get(PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIMessage_New(MPI_Message); /*proto*/ static MPI_Message *__pyx_f_6mpi4py_3MPI_PyMPIMessage_Get(PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIOp_New(MPI_Op); /*proto*/ static MPI_Op *__pyx_f_6mpi4py_3MPI_PyMPIOp_Get(PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIInfo_New(MPI_Info); /*proto*/ static MPI_Info *__pyx_f_6mpi4py_3MPI_PyMPIInfo_Get(PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIGroup_New(MPI_Group); /*proto*/ static MPI_Group *__pyx_f_6mpi4py_3MPI_PyMPIGroup_Get(PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIComm_New(MPI_Comm); /*proto*/ static MPI_Comm *__pyx_f_6mpi4py_3MPI_PyMPIComm_Get(PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIWin_New(MPI_Win); /*proto*/ static MPI_Win *__pyx_f_6mpi4py_3MPI_PyMPIWin_Get(PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIFile_New(MPI_File); /*proto*/ static MPI_File *__pyx_f_6mpi4py_3MPI_PyMPIFile_Get(PyObject *); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIErrhandler_New(MPI_Errhandler); /*proto*/ static MPI_Errhandler *__pyx_f_6mpi4py_3MPI_PyMPIErrhandler_Get(PyObject *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_AddTypeMap(PyObject *, char const *, struct PyMPIDatatypeObject *); /*proto*/ static CYTHON_INLINE char const *__pyx_f_6mpi4py_3MPI_Datatype2String(MPI_Datatype); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI__mpi_type(PyObject *, PyTypeObject *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(int, int **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_newarray(int, MPI_Aint **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(PyObject *, int *, int **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_getarray(PyObject *, int *, MPI_Aint **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(PyObject *, int, int **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_chkarray(PyObject *, int, MPI_Aint **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_call(PyObject *, MPI_Datatype, int, PyObject *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_call(PyObject *, MPI_Comm, int, PyObject *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_call(PyObject *, MPI_Win, int, PyObject *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy(MPI_Datatype, int, void *, void *, void *, int *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy(MPI_Comm, int, void *, void *, void *, int *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy(MPI_Win, int, void *, void *, void *, int *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete(MPI_Datatype, int, void *, void *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete(MPI_Comm, int, void *, void *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete(MPI_Win, int, void *, void *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_cb(MPI_Datatype, int, void *, void *, void *, int *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_cb(MPI_Comm, int, void *, void *, void *, int *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_cb(MPI_Win, int, void *, void *, void *, int *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_cb(MPI_Datatype, int, void *, void *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_cb(MPI_Comm, int, void *, void *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_cb(MPI_Win, int, void *, void *); /*proto*/ static int MPIAPI __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_fn(MPI_Datatype, int, void *, void *, void *, int *); /*proto*/ static int MPIAPI __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_fn(MPI_Comm, int, void *, void *, void *, int *); /*proto*/ static int MPIAPI __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_fn(MPI_Win, int, void *, void *, void *, int *); /*proto*/ static int MPIAPI __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_fn(MPI_Datatype, int, void *, void *); /*proto*/ static int MPIAPI __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_fn(MPI_Comm, int, void *, void *); /*proto*/ static int MPIAPI __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_fn(MPI_Win, int, void *, void *); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_state(MPI_Datatype, int); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_state(MPI_Comm, int); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_state(MPI_Win, int); /*proto*/ static CYTHON_INLINE PyObject *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_get(MPI_Datatype, int, void *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_get(MPI_Comm, int, void *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_get(MPI_Win, int, void *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_set(MPI_Datatype, int, PyObject *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_set(MPI_Comm, int, PyObject *); /*proto*/ static CYTHON_INLINE int __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_set(MPI_Win, int, PyObject *); /*proto*/ static PyObject *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_message_vector_w(PyObject *, int, int, void **, int **, int **, MPI_Datatype **); /*proto*/ static PyObject *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_message_vector_w(PyObject *, int, int, void **, int **, MPI_Aint **, MPI_Datatype **); /*proto*/ #define __Pyx_MODULE_NAME "mpi4py.MPI" extern int __pyx_module_is_main_mpi4py__MPI; int __pyx_module_is_main_mpi4py__MPI = 0; /* Implementation of 'mpi4py.MPI' */ static PyObject *__pyx_builtin_ImportError; static PyObject *__pyx_builtin_staticmethod; static PyObject *__pyx_builtin_RuntimeError; static PyObject *__pyx_builtin_property; static PyObject *__pyx_builtin_SystemError; static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_ValueError; static PyObject *__pyx_builtin_IndexError; static PyObject *__pyx_builtin_AttributeError; static PyObject *__pyx_builtin_MemoryError; static PyObject *__pyx_builtin_KeyError; static PyObject *__pyx_builtin_NotImplemented; static PyObject *__pyx_builtin_OverflowError; static PyObject *__pyx_builtin_UserWarning; static PyObject *__pyx_builtin_range; static PyObject *__pyx_builtin_NotImplementedError; static const char __pyx_k_B[] = "B"; static const char __pyx_k_i[] = "i"; static const char __pyx_k_m[] = "m"; static const char __pyx_k_n[] = "n"; static const char __pyx_k_p[] = "p"; static const char __pyx_k_r[] = "r"; static const char __pyx_k_x[] = "x"; static const char __pyx_k_y[] = "y"; static const char __pyx_k_IO[] = "IO"; static const char __pyx_k_LB[] = "LB"; static const char __pyx_k_Op[] = "Op"; static const char __pyx_k_UB[] = "UB"; static const char __pyx_k_eq[] = "__eq__"; static const char __pyx_k_ex[] = "ex"; static const char __pyx_k_fd[] = "fd"; static const char __pyx_k_ge[] = "__ge__"; static const char __pyx_k_gt[] = "__gt__"; static const char __pyx_k_io[] = "io"; static const char __pyx_k_lb[] = "lb"; static const char __pyx_k_le[] = "__le__"; static const char __pyx_k_lt[] = "__lt__"; static const char __pyx_k_ne[] = "__ne__"; static const char __pyx_k_no[] = "no"; static const char __pyx_k_op[] = "op"; static const char __pyx_k_rc[] = "rc"; static const char __pyx_k_rd[] = "rd"; static const char __pyx_k_tc[] = "tc"; static const char __pyx_k_wr[] = "wr"; static const char __pyx_k_xs[] = "xs"; static const char __pyx_k_BOR[] = "BOR"; static const char __pyx_k_DUP[] = "DUP"; static const char __pyx_k_Dup[] = "Dup"; static const char __pyx_k_Get[] = "Get"; static const char __pyx_k_INT[] = "INT"; static const char __pyx_k_LOR[] = "LOR"; static const char __pyx_k_MAX[] = "MAX"; static const char __pyx_k_MIN[] = "MIN"; static const char __pyx_k_SUM[] = "SUM"; static const char __pyx_k_Set[] = "Set"; static const char __pyx_k_Win[] = "Win"; static const char __pyx_k__23[] = ""; static const char __pyx_k_arg[] = "arg"; static const char __pyx_k_buf[] = "buf"; static const char __pyx_k_doc[] = "__doc__"; static const char __pyx_k_get[] = "get"; static const char __pyx_k_int[] = "__int__"; static const char __pyx_k_key[] = "key"; static const char __pyx_k_mem[] = "mem"; static const char __pyx_k_new[] = "__new__"; static const char __pyx_k_obj[] = "obj"; static const char __pyx_k_pop[] = "pop"; static const char __pyx_k_ptr[] = "ptr"; static const char __pyx_k_str[] = "__str__"; static const char __pyx_k_sys[] = "sys"; static const char __pyx_k_tag[] = "tag"; static const char __pyx_k_tmp[] = "tmp"; static const char __pyx_k_win[] = "win"; static const char __pyx_k_yes[] = "yes"; static const char __pyx_k_AINT[] = "AINT"; static const char __pyx_k_BAND[] = "BAND"; static const char __pyx_k_BOOL[] = "BOOL"; static const char __pyx_k_BXOR[] = "BXOR"; static const char __pyx_k_BYTE[] = "BYTE"; static const char __pyx_k_CART[] = "CART"; static const char __pyx_k_CHAR[] = "CHAR"; static const char __pyx_k_Comm[] = "Comm"; static const char __pyx_k_File[] = "File"; static const char __pyx_k_HOST[] = "HOST"; static const char __pyx_k_Info[] = "Info"; static const char __pyx_k_Init[] = "Init"; static const char __pyx_k_Join[] = "Join"; static const char __pyx_k_LAND[] = "LAND"; static const char __pyx_k_LONG[] = "LONG"; static const char __pyx_k_LXOR[] = "LXOR"; static const char __pyx_k_Open[] = "Open"; static const char __pyx_k_PROD[] = "PROD"; static const char __pyx_k_REAL[] = "REAL"; static const char __pyx_k_ROOT[] = "ROOT"; static const char __pyx_k_args[] = "args"; static const char __pyx_k_base[] = "base"; static const char __pyx_k_bool[] = "__bool__"; static const char __pyx_k_call[] = "__call__"; static const char __pyx_k_char[] = "char"; static const char __pyx_k_comm[] = "comm"; static const char __pyx_k_data[] = "data"; static const char __pyx_k_dest[] = "dest"; static const char __pyx_k_dims[] = "dims"; static const char __pyx_k_disp[] = "disp"; static const char __pyx_k_exit[] = "__exit__"; static const char __pyx_k_f2py[] = "f2py"; static const char __pyx_k_file[] = "file"; static const char __pyx_k_flag[] = "flag"; static const char __pyx_k_hash[] = "__hash__"; static const char __pyx_k_high[] = "high"; static const char __pyx_k_ierr[] = "ierr"; static const char __pyx_k_info[] = "info"; static const char __pyx_k_init[] = "__init__"; static const char __pyx_k_keys[] = "keys"; static const char __pyx_k_load[] = "load"; static const char __pyx_k_main[] = "__main__"; static const char __pyx_k_name[] = "__name__"; static const char __pyx_k_nlen[] = "nlen"; static const char __pyx_k_rank[] = "rank"; static const char __pyx_k_recv[] = "recv"; static const char __pyx_k_repr[] = "__repr__"; static const char __pyx_k_root[] = "root"; static const char __pyx_k_self[] = "self"; static const char __pyx_k_size[] = "size"; static const char __pyx_k_warn[] = "warn"; static const char __pyx_k_COUNT[] = "COUNT"; static const char __pyx_k_FLOAT[] = "FLOAT"; static const char __pyx_k_F_INT[] = "F_INT"; static const char __pyx_k_GRAPH[] = "GRAPH"; static const char __pyx_k_Group[] = "Group"; static const char __pyx_k_IDENT[] = "IDENT"; static const char __pyx_k_NO_OP[] = "NO_OP"; static const char __pyx_k_Probe[] = "Probe"; static const char __pyx_k_REAL2[] = "REAL2"; static const char __pyx_k_REAL4[] = "REAL4"; static const char __pyx_k_REAL8[] = "REAL8"; static const char __pyx_k_SHORT[] = "SHORT"; static const char __pyx_k_Shift[] = "Shift"; static const char __pyx_k_Start[] = "Start"; static const char __pyx_k_Union[] = "Union"; static const char __pyx_k_WCHAR[] = "WCHAR"; static const char __pyx_k_Wtick[] = "Wtick"; static const char __pyx_k_Wtime[] = "Wtime"; static const char __pyx_k_addr1[] = "addr1"; static const char __pyx_k_addr2[] = "addr2"; static const char __pyx_k_amode[] = "amode"; static const char __pyx_k_array[] = "array"; static const char __pyx_k_bcast[] = "bcast"; static const char __pyx_k_cinfo[] = "cinfo"; static const char __pyx_k_color[] = "color"; static const char __pyx_k_comm1[] = "comm1"; static const char __pyx_k_comm2[] = "comm2"; static const char __pyx_k_count[] = "count"; static const char __pyx_k_dargs[] = "dargs"; static const char __pyx_k_doc_2[] = "doc"; static const char __pyx_k_dtype[] = "dtype"; static const char __pyx_k_dumps[] = "dumps"; static const char __pyx_k_edges[] = "edges"; static const char __pyx_k_enter[] = "__enter__"; static const char __pyx_k_error[] = "error"; static const char __pyx_k_etype[] = "etype"; static const char __pyx_k_fatal[] = "fatal"; static const char __pyx_k_flags[] = "flags"; static const char __pyx_k_flush[] = "flush"; static const char __pyx_k_group[] = "group"; static const char __pyx_k_idims[] = "idims"; static const char __pyx_k_inbuf[] = "inbuf"; static const char __pyx_k_index[] = "index"; static const char __pyx_k_items[] = "items"; static const char __pyx_k_kargs[] = "kargs"; static const char __pyx_k_level[] = "level"; static const char __pyx_k_loads[] = "loads"; static const char __pyx_k_major[] = "major"; static const char __pyx_k_micro[] = "micro"; static const char __pyx_k_minor[] = "minor"; static const char __pyx_k_ndims[] = "ndims"; static const char __pyx_k_numpy[] = "numpy"; static const char __pyx_k_order[] = "order"; static const char __pyx_k_other[] = "other"; static const char __pyx_k_probe[] = "probe"; static const char __pyx_k_range[] = "range"; static const char __pyx_k_ranks[] = "ranks"; static const char __pyx_k_sizes[] = "sizes"; static const char __pyx_k_state[] = "state"; static const char __pyx_k_value[] = "value"; static const char __pyx_k_APPNUM[] = "APPNUM"; static const char __pyx_k_BOTTOM[] = "BOTTOM"; static const char __pyx_k_C_BOOL[] = "C_BOOL"; static const char __pyx_k_Create[] = "Create"; static const char __pyx_k_DARRAY[] = "DARRAY"; static const char __pyx_k_DOUBLE[] = "DOUBLE"; static const char __pyx_k_Delete[] = "Delete"; static const char __pyx_k_ERR_IO[] = "ERR_IO"; static const char __pyx_k_ERR_OP[] = "ERR_OP"; static const char __pyx_k_F_BOOL[] = "F_BOOL"; static const char __pyx_k_INT8_T[] = "INT8_T"; static const char __pyx_k_Iprobe[] = "Iprobe"; static const char __pyx_k_MAXLOC[] = "MAXLOC"; static const char __pyx_k_MINLOC[] = "MINLOC"; static const char __pyx_k_OFFSET[] = "OFFSET"; static const char __pyx_k_PACKED[] = "PACKED"; static const char __pyx_k_REAL16[] = "REAL16"; static const char __pyx_k_STRUCT[] = "STRUCT"; static const char __pyx_k_Status[] = "Status"; static const char __pyx_k_TAG_UB[] = "TAG_UB"; static const char __pyx_k_TWOINT[] = "TWOINT"; static const char __pyx_k_VECTOR[] = "VECTOR"; static const char __pyx_k_append[] = "append"; static const char __pyx_k_coords[] = "coords"; static const char __pyx_k_errors[] = "errors"; static const char __pyx_k_extent[] = "extent"; static const char __pyx_k_gather[] = "gather"; static const char __pyx_k_group1[] = "group1"; static const char __pyx_k_group2[] = "group2"; static const char __pyx_k_gsizes[] = "gsizes"; static const char __pyx_k_import[] = "__import__"; static const char __pyx_k_insert[] = "insert"; static const char __pyx_k_iprobe[] = "iprobe"; static const char __pyx_k_keyval[] = "keyval"; static const char __pyx_k_maxlen[] = "maxlen"; static const char __pyx_k_memory[] = "memory"; static const char __pyx_k_module[] = "__module__"; static const char __pyx_k_mpi4py[] = "mpi4py"; static const char __pyx_k_name_2[] = "name"; static const char __pyx_k_nbytes[] = "nbytes"; static const char __pyx_k_nnodes[] = "nnodes"; static const char __pyx_k_ob_mpi[] = "ob_mpi"; static const char __pyx_k_offset[] = "offset"; static const char __pyx_k_origin[] = "origin"; static const char __pyx_k_outbuf[] = "outbuf"; static const char __pyx_k_pickle[] = "pickle"; static const char __pyx_k_psizes[] = "psizes"; static const char __pyx_k_ranks1[] = "ranks1"; static const char __pyx_k_result[] = "result"; static const char __pyx_k_single[] = "single"; static const char __pyx_k_sizeof[] = "_sizeof"; static const char __pyx_k_source[] = "source"; static const char __pyx_k_starts[] = "starts"; static const char __pyx_k_status[] = "status"; static const char __pyx_k_stderr[] = "stderr"; static const char __pyx_k_stride[] = "stride"; static const char __pyx_k_string[] = "string"; static const char __pyx_k_target[] = "target"; static const char __pyx_k_thread[] = "_thread"; static const char __pyx_k_whence[] = "whence"; static const char __pyx_k_ANY_TAG[] = "ANY_TAG"; static const char __pyx_k_BytesIO[] = "BytesIO"; static const char __pyx_k_COMPLEX[] = "COMPLEX"; static const char __pyx_k_Compare[] = "Compare"; static const char __pyx_k_ERR_ARG[] = "ERR_ARG"; static const char __pyx_k_ERR_TAG[] = "ERR_TAG"; static const char __pyx_k_ERR_WIN[] = "ERR_WIN"; static const char __pyx_k_F_FLOAT[] = "F_FLOAT"; static const char __pyx_k_Get_dim[] = "Get_dim"; static const char __pyx_k_Get_tag[] = "Get_tag"; static const char __pyx_k_HVECTOR[] = "HVECTOR"; static const char __pyx_k_INDEXED[] = "INDEXED"; static const char __pyx_k_INT16_T[] = "INT16_T"; static const char __pyx_k_INT32_T[] = "INT32_T"; static const char __pyx_k_INT64_T[] = "INT64_T"; static const char __pyx_k_INTEGER[] = "INTEGER"; static const char __pyx_k_INT_INT[] = "INT_INT"; static const char __pyx_k_LOGICAL[] = "LOGICAL"; static const char __pyx_k_Message[] = "Message"; static const char __pyx_k_OP_NULL[] = "OP_NULL"; static const char __pyx_k_ORDER_C[] = "ORDER_C"; static const char __pyx_k_ORDER_F[] = "ORDER_F"; static const char __pyx_k_REPLACE[] = "REPLACE"; static const char __pyx_k_RESIZED[] = "RESIZED"; static const char __pyx_k_Request[] = "Request"; static const char __pyx_k_Resized[] = "Resized"; static const char __pyx_k_SIMILAR[] = "SIMILAR"; static const char __pyx_k_SINT8_T[] = "SINT8_T"; static const char __pyx_k_SUCCESS[] = "SUCCESS"; static const char __pyx_k_Set_tag[] = "Set_tag"; static const char __pyx_k_Testall[] = "Testall"; static const char __pyx_k_Testany[] = "Testany"; static const char __pyx_k_UINT8_T[] = "UINT8_T"; static const char __pyx_k_UNEQUAL[] = "UNEQUAL"; static const char __pyx_k_VERSION[] = "VERSION"; static const char __pyx_k_Waitall[] = "Waitall"; static const char __pyx_k_Waitany[] = "Waitany"; static const char __pyx_k_address[] = "address"; static const char __pyx_k_attrval[] = "attrval"; static const char __pyx_k_baseptr[] = "baseptr"; static const char __pyx_k_cPickle[] = "cPickle"; static const char __pyx_k_command[] = "command"; static const char __pyx_k_commute[] = "commute"; static const char __pyx_k_compare[] = "compare"; static const char __pyx_k_copy_fn[] = "copy_fn"; static const char __pyx_k_cstring[] = "cstring"; static const char __pyx_k_datarep[] = "datarep"; static const char __pyx_k_default[] = "default"; static const char __pyx_k_degrees[] = "degrees"; static const char __pyx_k_free_fn[] = "free_fn"; static const char __pyx_k_message[] = "message"; static const char __pyx_k_ndarray[] = "ndarray"; static const char __pyx_k_nonzero[] = "__nonzero__"; static const char __pyx_k_numpypy[] = "numpypy"; static const char __pyx_k_periods[] = "periods"; static const char __pyx_k_prepare[] = "__prepare__"; static const char __pyx_k_read_fn[] = "read_fn"; static const char __pyx_k_recvbuf[] = "recvbuf"; static const char __pyx_k_recvtag[] = "recvtag"; static const char __pyx_k_release[] = "release"; static const char __pyx_k_reorder[] = "reorder"; static const char __pyx_k_request[] = "request"; static const char __pyx_k_scatter[] = "scatter"; static const char __pyx_k_sendbuf[] = "sendbuf"; static const char __pyx_k_sendobj[] = "sendobj"; static const char __pyx_k_sendtag[] = "sendtag"; static const char __pyx_k_sources[] = "sources"; static const char __pyx_k_testall[] = "testall"; static const char __pyx_k_testany[] = "testany"; static const char __pyx_k_threads[] = "threads"; static const char __pyx_k_version[] = "version"; static const char __pyx_k_waitall[] = "waitall"; static const char __pyx_k_waitany[] = "waitany"; static const char __pyx_k_weights[] = "weights"; static const char __pyx_k_Aint_add[] = "Aint_add"; static const char __pyx_k_Allocate[] = "Allocate"; static const char __pyx_k_COMPLEX4[] = "COMPLEX4"; static const char __pyx_k_COMPLEX8[] = "COMPLEX8"; static const char __pyx_k_CXX_BOOL[] = "CXX_BOOL"; static const char __pyx_k_Cartcomm[] = "Cartcomm"; static const char __pyx_k_DISP_CUR[] = "DISP_CUR"; static const char __pyx_k_Datatype[] = "Datatype"; static const char __pyx_k_ERR_BASE[] = "ERR_BASE"; static const char __pyx_k_ERR_COMM[] = "ERR_COMM"; static const char __pyx_k_ERR_DIMS[] = "ERR_DIMS"; static const char __pyx_k_ERR_DISP[] = "ERR_DISP"; static const char __pyx_k_ERR_FILE[] = "ERR_FILE"; static const char __pyx_k_ERR_INFO[] = "ERR_INFO"; static const char __pyx_k_ERR_NAME[] = "ERR_NAME"; static const char __pyx_k_ERR_PORT[] = "ERR_PORT"; static const char __pyx_k_ERR_RANK[] = "ERR_RANK"; static const char __pyx_k_ERR_ROOT[] = "ERR_ROOT"; static const char __pyx_k_ERR_SIZE[] = "ERR_SIZE"; static const char __pyx_k_ERR_TYPE[] = "ERR_TYPE"; static const char __pyx_k_F90_REAL[] = "F90_REAL"; static const char __pyx_k_F_DOUBLE[] = "F_DOUBLE"; static const char __pyx_k_Finalize[] = "Finalize"; static const char __pyx_k_Free_mem[] = "Free_mem"; static const char __pyx_k_Get_dims[] = "Get_dims"; static const char __pyx_k_Get_info[] = "Get_info"; static const char __pyx_k_Get_name[] = "Get_name"; static const char __pyx_k_Get_rank[] = "Get_rank"; static const char __pyx_k_Get_size[] = "Get_size"; static const char __pyx_k_Get_topo[] = "Get_topo"; static const char __pyx_k_Grequest[] = "Grequest"; static const char __pyx_k_HINDEXED[] = "HINDEXED"; static const char __pyx_k_INFO_ENV[] = "INFO_ENV"; static const char __pyx_k_INTEGER1[] = "INTEGER1"; static const char __pyx_k_INTEGER2[] = "INTEGER2"; static const char __pyx_k_INTEGER4[] = "INTEGER4"; static const char __pyx_k_INTEGER8[] = "INTEGER8"; static const char __pyx_k_IN_PLACE[] = "IN_PLACE"; static const char __pyx_k_Is_inter[] = "Is_inter"; static const char __pyx_k_Is_intra[] = "Is_intra"; static const char __pyx_k_KeyError[] = "KeyError"; static const char __pyx_k_LOGICAL1[] = "LOGICAL1"; static const char __pyx_k_LOGICAL2[] = "LOGICAL2"; static const char __pyx_k_LOGICAL4[] = "LOGICAL4"; static const char __pyx_k_LOGICAL8[] = "LOGICAL8"; static const char __pyx_k_LONG_INT[] = "LONG_INT"; static const char __pyx_k_Pcontrol[] = "Pcontrol"; static const char __pyx_k_Prequest[] = "Prequest"; static const char __pyx_k_SEEK_CUR[] = "SEEK_CUR"; static const char __pyx_k_SEEK_END[] = "SEEK_END"; static const char __pyx_k_SEEK_SET[] = "SEEK_SET"; static const char __pyx_k_SINT16_T[] = "SINT16_T"; static const char __pyx_k_SINT32_T[] = "SINT32_T"; static const char __pyx_k_SINT64_T[] = "SINT64_T"; static const char __pyx_k_SUBARRAY[] = "SUBARRAY"; static const char __pyx_k_Set_info[] = "Set_info"; static const char __pyx_k_Set_name[] = "Set_name"; static const char __pyx_k_Startall[] = "Startall"; static const char __pyx_k_StringIO[] = "StringIO"; static const char __pyx_k_Testsome[] = "Testsome"; static const char __pyx_k_Topocomm[] = "Topocomm"; static const char __pyx_k_UINT16_T[] = "UINT16_T"; static const char __pyx_k_UINT32_T[] = "UINT32_T"; static const char __pyx_k_UINT64_T[] = "UINT64_T"; static const char __pyx_k_UNSIGNED[] = "UNSIGNED"; static const char __pyx_k_WIN_BASE[] = "WIN_BASE"; static const char __pyx_k_WIN_NULL[] = "WIN_NULL"; static const char __pyx_k_WIN_SIZE[] = "WIN_SIZE"; static const char __pyx_k_Waitsome[] = "Waitsome"; static const char __pyx_k_alltoall[] = "alltoall"; static const char __pyx_k_cdatarep[] = "cdatarep"; static const char __pyx_k_datatype[] = "datatype"; static const char __pyx_k_distribs[] = "distribs"; static const char __pyx_k_errcodes[] = "errcodes"; static const char __pyx_k_filename[] = "filename"; static const char __pyx_k_filetype[] = "filetype"; static const char __pyx_k_finalize[] = "finalize"; static const char __pyx_k_function[] = "function"; static const char __pyx_k_funneled[] = "funneled"; static const char __pyx_k_handleof[] = "_handleof"; static const char __pyx_k_inoutbuf[] = "inoutbuf"; static const char __pyx_k_itemsize[] = "itemsize"; static const char __pyx_k_location[] = "location"; static const char __pyx_k_maxprocs[] = "maxprocs"; static const char __pyx_k_multiple[] = "multiple"; static const char __pyx_k_nopython[] = "nopython"; static const char __pyx_k_position[] = "position"; static const char __pyx_k_property[] = "property"; static const char __pyx_k_protocol[] = "protocol"; static const char __pyx_k_provided[] = "provided"; static const char __pyx_k_qualname[] = "__qualname__"; static const char __pyx_k_query_fn[] = "query_fn"; static const char __pyx_k_readonly[] = "readonly"; static const char __pyx_k_requests[] = "requests"; static const char __pyx_k_required[] = "required"; static const char __pyx_k_statuses[] = "statuses"; static const char __pyx_k_subsizes[] = "subsizes"; static const char __pyx_k_thread_2[] = "thread"; static const char __pyx_k_threaded[] = "threaded"; static const char __pyx_k_typecode[] = "typecode"; static const char __pyx_k_typedict[] = "_typedict"; static const char __pyx_k_warnings[] = "warnings"; static const char __pyx_k_write_fn[] = "write_fn"; static const char __pyx_k_Aint_diff[] = "Aint_diff"; static const char __pyx_k_Alloc_mem[] = "Alloc_mem"; static const char __pyx_k_CHARACTER[] = "CHARACTER"; static const char __pyx_k_COMM_NULL[] = "COMM_NULL"; static const char __pyx_k_COMM_SELF[] = "COMM_SELF"; static const char __pyx_k_COMPLEX16[] = "COMPLEX16"; static const char __pyx_k_COMPLEX32[] = "COMPLEX32"; static const char __pyx_k_CONGRUENT[] = "CONGRUENT"; static const char __pyx_k_C_COMPLEX[] = "C_COMPLEX"; static const char __pyx_k_ERR_AMODE[] = "ERR_AMODE"; static const char __pyx_k_ERR_COUNT[] = "ERR_COUNT"; static const char __pyx_k_ERR_GROUP[] = "ERR_GROUP"; static const char __pyx_k_ERR_OTHER[] = "ERR_OTHER"; static const char __pyx_k_ERR_QUOTA[] = "ERR_QUOTA"; static const char __pyx_k_ERR_SPAWN[] = "ERR_SPAWN"; static const char __pyx_k_Exception[] = "\n Exception\n "; static const char __pyx_k_FILE_NULL[] = "FILE_NULL"; static const char __pyx_k_FLOAT_INT[] = "FLOAT_INT"; static const char __pyx_k_F_COMPLEX[] = "F_COMPLEX"; static const char __pyx_k_Get_amode[] = "Get_amode"; static const char __pyx_k_Get_count[] = "Get_count"; static const char __pyx_k_Get_error[] = "Get_error"; static const char __pyx_k_Get_group[] = "Get_group"; static const char __pyx_k_Get_nkeys[] = "Get_nkeys"; static const char __pyx_k_Graphcomm[] = "Graphcomm"; static const char __pyx_k_INFO_NULL[] = "INFO_NULL"; static const char __pyx_k_INTEGER16[] = "INTEGER16"; static const char __pyx_k_Intercomm[] = "Intercomm"; static const char __pyx_k_Intersect[] = "Intersect"; static const char __pyx_k_Intracomm[] = "Intracomm"; static const char __pyx_k_LONG_LONG[] = "LONG_LONG"; static const char __pyx_k_MODE_EXCL[] = "MODE_EXCL"; static const char __pyx_k_MODE_RDWR[] = "MODE_RDWR"; static const char __pyx_k_Open_port[] = "Open_port"; static const char __pyx_k_PROC_NULL[] = "PROC_NULL"; static const char __pyx_k_SHORT_INT[] = "SHORT_INT"; static const char __pyx_k_Set_error[] = "Set_error"; static const char __pyx_k_TypeError[] = "TypeError"; static const char __pyx_k_UNDEFINED[] = "UNDEFINED"; static const char __pyx_k_WIN_MODEL[] = "WIN_MODEL"; static const char __pyx_k_addressof[] = "_addressof"; static const char __pyx_k_allgather[] = "allgather"; static const char __pyx_k_assertion[] = "assertion"; static const char __pyx_k_bcast_p2p[] = "@bcast_p2p@"; static const char __pyx_k_cStringIO[] = "cStringIO"; static const char __pyx_k_cancel_fn[] = "cancel_fn"; static const char __pyx_k_cportname[] = "cportname"; static const char __pyx_k_csrvcname[] = "csrvcname"; static const char __pyx_k_datatypes[] = "datatypes"; static const char __pyx_k_delete_fn[] = "delete_fn"; static const char __pyx_k_direction[] = "direction"; static const char __pyx_k_disp_unit[] = "disp_unit"; static const char __pyx_k_errorcode[] = "errorcode"; static const char __pyx_k_exception[] = "exception"; static const char __pyx_k_extent_fn[] = "extent_fn"; static const char __pyx_k_lock_type[] = "lock_type"; static const char __pyx_k_metaclass[] = "__metaclass__"; static const char __pyx_k_peer_comm[] = "peer_comm"; static const char __pyx_k_port_name[] = "port_name"; static const char __pyx_k_print_exc[] = "print_exc"; static const char __pyx_k_resultlen[] = "resultlen"; static const char __pyx_k_traceback[] = "traceback"; static const char __pyx_k_typeclass[] = "typeclass"; static const char __pyx_k_ANY_SOURCE[] = "ANY_SOURCE"; static const char __pyx_k_COMM_WORLD[] = "COMM_WORLD"; static const char __pyx_k_CONTIGUOUS[] = "CONTIGUOUS"; static const char __pyx_k_Close_port[] = "Close_port"; static const char __pyx_k_Create_dup[] = "Create_dup"; static const char __pyx_k_DIST_GRAPH[] = "DIST_GRAPH"; static const char __pyx_k_DOUBLE_INT[] = "DOUBLE_INT"; static const char __pyx_k_Difference[] = "Difference"; static const char __pyx_k_ERR_ACCESS[] = "ERR_ACCESS"; static const char __pyx_k_ERR_ASSERT[] = "ERR_ASSERT"; static const char __pyx_k_ERR_BUFFER[] = "ERR_BUFFER"; static const char __pyx_k_ERR_INTERN[] = "ERR_INTERN"; static const char __pyx_k_ERR_KEYVAL[] = "ERR_KEYVAL"; static const char __pyx_k_ERR_NO_MEM[] = "ERR_NO_MEM"; static const char __pyx_k_Errhandler[] = "Errhandler"; static const char __pyx_k_GROUP_NULL[] = "GROUP_NULL"; static const char __pyx_k_Get_nthkey[] = "Get_nthkey"; static const char __pyx_k_Get_parent[] = "Get_parent"; static const char __pyx_k_Get_source[] = "Get_source"; static const char __pyx_k_IndexError[] = "IndexError"; static const char __pyx_k_MODE_NOPUT[] = "MODE_NOPUT"; static const char __pyx_k_Match_size[] = "Match_size"; static const char __pyx_k_SIGNED_INT[] = "SIGNED_INT"; static const char __pyx_k_SUBVERSION[] = "SUBVERSION"; static const char __pyx_k_Set_source[] = "Set_source"; static const char __pyx_k_UNWEIGHTED[] = "UNWEIGHTED"; static const char __pyx_k_ValueError[] = "ValueError"; static const char __pyx_k_WIN_FLAVOR[] = "WIN_FLAVOR"; static const char __pyx_k_errhandler[] = "errhandler"; static const char __pyx_k_error_code[] = "error code"; static const char __pyx_k_errorclass[] = "errorclass"; static const char __pyx_k_frombuffer[] = "frombuffer"; static const char __pyx_k_get_vendor[] = "get_vendor"; static const char __pyx_k_initialize[] = "initialize"; static const char __pyx_k_inoutedges[] = "inoutedges"; static const char __pyx_k_lock_table[] = "_lock_table"; static const char __pyx_k_mpi4py_MPI[] = "mpi4py.MPI"; static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__"; static const char __pyx_k_recvcounts[] = "recvcounts"; static const char __pyx_k_serialized[] = "serialized"; static const char __pyx_k_split_type[] = "split_type"; static const char __pyx_k_subversion[] = "subversion"; static const char __pyx_k_typecode_2[] = "_typecode"; static const char __pyx_k_typedict_c[] = "_typedict_c"; static const char __pyx_k_typedict_f[] = "_typedict_f"; static const char __pyx_k_ERR_PENDING[] = "ERR_PENDING"; static const char __pyx_k_ERR_REQUEST[] = "ERR_REQUEST"; static const char __pyx_k_ERR_SERVICE[] = "ERR_SERVICE"; static const char __pyx_k_ERR_UNKNOWN[] = "ERR_UNKNOWN"; static const char __pyx_k_Exception_2[] = "Exception"; static const char __pyx_k_F90_COMPLEX[] = "F90_COMPLEX"; static const char __pyx_k_F90_INTEGER[] = "F90_INTEGER"; static const char __pyx_k_Free_keyval[] = "Free_keyval"; static const char __pyx_k_GROUP_EMPTY[] = "GROUP_EMPTY"; static const char __pyx_k_Get_address[] = "Get_address"; static const char __pyx_k_Get_version[] = "Get_version"; static const char __pyx_k_ImportError[] = "ImportError"; static const char __pyx_k_Init_thread[] = "Init_thread"; static const char __pyx_k_LOCK_SHARED[] = "LOCK_SHARED"; static const char __pyx_k_LONG_DOUBLE[] = "LONG_DOUBLE"; static const char __pyx_k_Lookup_name[] = "Lookup_name"; static const char __pyx_k_MODE_APPEND[] = "MODE_APPEND"; static const char __pyx_k_MODE_CREATE[] = "MODE_CREATE"; static const char __pyx_k_MODE_RDONLY[] = "MODE_RDONLY"; static const char __pyx_k_MODE_WRONLY[] = "MODE_WRONLY"; static const char __pyx_k_MemoryError[] = "MemoryError"; static const char __pyx_k_SIGNED_CHAR[] = "SIGNED_CHAR"; static const char __pyx_k_SIGNED_LONG[] = "SIGNED_LONG"; static const char __pyx_k_SystemError[] = "SystemError"; static const char __pyx_k_UserWarning[] = "UserWarning"; static const char __pyx_k_WIN_UNIFIED[] = "WIN_UNIFIED"; static const char __pyx_k_blocklength[] = "blocklength"; static const char __pyx_k_buffer_info[] = "buffer_info"; static const char __pyx_k_destweights[] = "destweights"; static const char __pyx_k_error_class[] = "error class"; static const char __pyx_k_fast_reduce[] = "fast_reduce"; static const char __pyx_k_fromaddress[] = "fromaddress"; static const char __pyx_k_recv_mprobe[] = "recv_mprobe"; static const char __pyx_k_remain_dims[] = "remain_dims"; static const char __pyx_k_target_disp[] = "target_disp"; static const char __pyx_k_target_rank[] = "target_rank"; static const char __pyx_k_COMBINER_DUP[] = "COMBINER_DUP"; static const char __pyx_k_Compute_dims[] = "Compute_dims"; static const char __pyx_k_ERR_BAD_FILE[] = "ERR_BAD_FILE"; static const char __pyx_k_ERR_INFO_KEY[] = "ERR_INFO_KEY"; static const char __pyx_k_ERR_LASTCODE[] = "ERR_LASTCODE"; static const char __pyx_k_ERR_LOCKTYPE[] = "ERR_LOCKTYPE"; static const char __pyx_k_ERR_NOT_SAME[] = "ERR_NOT_SAME"; static const char __pyx_k_ERR_NO_SPACE[] = "ERR_NO_SPACE"; static const char __pyx_k_ERR_RMA_SYNC[] = "ERR_RMA_SYNC"; static const char __pyx_k_ERR_TOPOLOGY[] = "ERR_TOPOLOGY"; static const char __pyx_k_ERR_TRUNCATE[] = "ERR_TRUNCATE"; static const char __pyx_k_Get_contents[] = "Get_contents"; static const char __pyx_k_Get_envelope[] = "Get_envelope"; static const char __pyx_k_Get_topology[] = "Get_topology"; static const char __pyx_k_Intersection[] = "Intersection"; static const char __pyx_k_Is_cancelled[] = "Is_cancelled"; static const char __pyx_k_Is_finalized[] = "Is_finalized"; static const char __pyx_k_LASTUSEDCODE[] = "LASTUSEDCODE"; static const char __pyx_k_MAX_INFO_KEY[] = "MAX_INFO_KEY"; static const char __pyx_k_MAX_INFO_VAL[] = "MAX_INFO_VAL"; static const char __pyx_k_MESSAGE_NULL[] = "MESSAGE_NULL"; static const char __pyx_k_MODE_NOCHECK[] = "MODE_NOCHECK"; static const char __pyx_k_MODE_NOSTORE[] = "MODE_NOSTORE"; static const char __pyx_k_Publish_name[] = "Publish_name"; static const char __pyx_k_Query_thread[] = "Query_thread"; static const char __pyx_k_REQUEST_NULL[] = "REQUEST_NULL"; static const char __pyx_k_RuntimeError[] = "RuntimeError"; static const char __pyx_k_SIGNED_SHORT[] = "SIGNED_SHORT"; static const char __pyx_k_UNSIGNED_INT[] = "UNSIGNED_INT"; static const char __pyx_k_WIN_SEPARATE[] = "WIN_SEPARATE"; static const char __pyx_k_blocklengths[] = "blocklengths"; static const char __pyx_k_destinations[] = "destinations"; static const char __pyx_k_dummy_thread[] = "_dummy_thread"; static const char __pyx_k_error_code_2[] = "error_code"; static const char __pyx_k_error_code_d[] = "error code: %d"; static const char __pyx_k_error_string[] = "error string"; static const char __pyx_k_local_leader[] = "local_leader"; static const char __pyx_k_service_name[] = "service_name"; static const char __pyx_k_staticmethod[] = "staticmethod"; static const char __pyx_k_thread_level[] = "thread_level"; static const char __pyx_k_Attach_buffer[] = "Attach_buffer"; static const char __pyx_k_Create_keyval[] = "Create_keyval"; static const char __pyx_k_Create_struct[] = "Create_struct"; static const char __pyx_k_DATATYPE_NULL[] = "DATATYPE_NULL"; static const char __pyx_k_Detach_buffer[] = "Detach_buffer"; static const char __pyx_k_Distgraphcomm[] = "Distgraphcomm"; static const char __pyx_k_ERRORS_RETURN[] = "ERRORS_RETURN"; static const char __pyx_k_ERR_IN_STATUS[] = "ERR_IN_STATUS"; static const char __pyx_k_ERR_READ_ONLY[] = "ERR_READ_ONLY"; static const char __pyx_k_ERR_RMA_RANGE[] = "ERR_RMA_RANGE"; static const char __pyx_k_Get_atomicity[] = "Get_atomicity"; static const char __pyx_k_Get_neighbors[] = "Get_neighbors"; static const char __pyx_k_INDEXED_BLOCK[] = "INDEXED_BLOCK"; static const char __pyx_k_MAX_PORT_NAME[] = "MAX_PORT_NAME"; static const char __pyx_k_ORDER_FORTRAN[] = "ORDER_FORTRAN"; static const char __pyx_k_OverflowError[] = "OverflowError"; static const char __pyx_k_Set_atomicity[] = "Set_atomicity"; static const char __pyx_k_Set_cancelled[] = "Set_cancelled"; static const char __pyx_k_THREAD_SINGLE[] = "THREAD_SINGLE"; static const char __pyx_k_UNIVERSE_SIZE[] = "UNIVERSE_SIZE"; static const char __pyx_k_UNSIGNED_CHAR[] = "UNSIGNED_CHAR"; static const char __pyx_k_UNSIGNED_LONG[] = "UNSIGNED_LONG"; static const char __pyx_k_WEIGHTS_EMPTY[] = "WEIGHTS_EMPTY"; static const char __pyx_k_WIN_DISP_UNIT[] = "WIN_DISP_UNIT"; static const char __pyx_k_allocate_lock[] = "allocate_lock"; static const char __pyx_k_commctx_inter[] = "@commctx_inter"; static const char __pyx_k_commctx_intra[] = "@commctx_intra"; static const char __pyx_k_displacements[] = "displacements"; static const char __pyx_k_error_class_2[] = "error_class"; static const char __pyx_k_remote_leader[] = "remote_leader"; static const char __pyx_k_sourceweights[] = "sourceweights"; static const char __pyx_k_Add_error_code[] = "Add_error_code"; static const char __pyx_k_AttributeError[] = "AttributeError"; static const char __pyx_k_BSEND_OVERHEAD[] = "BSEND_OVERHEAD"; static const char __pyx_k_COMBINER_NAMED[] = "COMBINER_NAMED"; static const char __pyx_k_Create_dynamic[] = "Create_dynamic"; static const char __pyx_k_Create_resized[] = "Create_resized"; static const char __pyx_k_DOUBLE_COMPLEX[] = "DOUBLE_COMPLEX"; static const char __pyx_k_ERR_CONVERSION[] = "ERR_CONVERSION"; static const char __pyx_k_ERR_INFO_NOKEY[] = "ERR_INFO_NOKEY"; static const char __pyx_k_ERR_INFO_VALUE[] = "ERR_INFO_VALUE"; static const char __pyx_k_ERR_RMA_ATTACH[] = "ERR_RMA_ATTACH"; static const char __pyx_k_ERR_RMA_FLAVOR[] = "ERR_RMA_FLAVOR"; static const char __pyx_k_ERR_RMA_SHARED[] = "ERR_RMA_SHARED"; static const char __pyx_k_Exception___eq[] = "Exception.__eq__"; static const char __pyx_k_Exception___ge[] = "Exception.__ge__"; static const char __pyx_k_Exception___gt[] = "Exception.__gt__"; static const char __pyx_k_Exception___le[] = "Exception.__le__"; static const char __pyx_k_Exception___lt[] = "Exception.__lt__"; static const char __pyx_k_Exception___ne[] = "Exception.__ne__"; static const char __pyx_k_Get_error_code[] = "Get_error_code"; static const char __pyx_k_HINDEXED_BLOCK[] = "HINDEXED_BLOCK"; static const char __pyx_k_Is_commutative[] = "Is_commutative"; static const char __pyx_k_Is_initialized[] = "Is_initialized"; static const char __pyx_k_Is_thread_main[] = "Is_thread_main"; static const char __pyx_k_KEYVAL_INVALID[] = "KEYVAL_INVALID"; static const char __pyx_k_LOCK_EXCLUSIVE[] = "LOCK_EXCLUSIVE"; static const char __pyx_k_MODE_NOPRECEDE[] = "MODE_NOPRECEDE"; static const char __pyx_k_MODE_NOSUCCEED[] = "MODE_NOSUCCEED"; static const char __pyx_k_NotImplemented[] = "NotImplemented"; static const char __pyx_k_TYPECLASS_REAL[] = "TYPECLASS_REAL"; static const char __pyx_k_UNSIGNED_SHORT[] = "UNSIGNED_SHORT"; static const char __pyx_k_Unpublish_name[] = "Unpublish_name"; static const char __pyx_k_dummy_thread_2[] = "dummy_thread"; static const char __pyx_k_error_string_2[] = "error_string"; static const char __pyx_k_Add_error_class[] = "Add_error_class"; static const char __pyx_k_Allocate_shared[] = "Allocate_shared"; static const char __pyx_k_COMBINER_DARRAY[] = "COMBINER_DARRAY"; static const char __pyx_k_COMBINER_STRUCT[] = "COMBINER_STRUCT"; static const char __pyx_k_COMBINER_VECTOR[] = "COMBINER_VECTOR"; static const char __pyx_k_C_FLOAT_COMPLEX[] = "C_FLOAT_COMPLEX"; static const char __pyx_k_Create_f90_real[] = "Create_f90_real"; static const char __pyx_k_DISTRIBUTE_NONE[] = "DISTRIBUTE_NONE"; static const char __pyx_k_ERRHANDLER_NULL[] = "ERRHANDLER_NULL"; static const char __pyx_k_ERR_DUP_DATAREP[] = "ERR_DUP_DATAREP"; static const char __pyx_k_ERR_FILE_EXISTS[] = "ERR_FILE_EXISTS"; static const char __pyx_k_ERR_FILE_IN_USE[] = "ERR_FILE_IN_USE"; static const char __pyx_k_Exception___int[] = "Exception.__int__"; static const char __pyx_k_Exception___str[] = "Exception.__str__"; static const char __pyx_k_F_FLOAT_COMPLEX[] = "F_FLOAT_COMPLEX"; static const char __pyx_k_Get_error_class[] = "Get_error_class"; static const char __pyx_k_Get_remote_size[] = "Get_remote_size"; static const char __pyx_k_LONG_DOUBLE_INT[] = "LONG_DOUBLE_INT"; static const char __pyx_k_MAX_OBJECT_NAME[] = "MAX_OBJECT_NAME"; static const char __pyx_k_MESSAGE_NO_PROC[] = "MESSAGE_NO_PROC"; static const char __pyx_k_MODE_SEQUENTIAL[] = "MODE_SEQUENTIAL"; static const char __pyx_k_MPI_Exception_d[] = "MPI.Exception(%d)"; static const char __pyx_k_THREAD_FUNNELED[] = "THREAD_FUNNELED"; static const char __pyx_k_THREAD_MULTIPLE[] = "THREAD_MULTIPLE"; static const char __pyx_k_Translate_ranks[] = "Translate_ranks"; static const char __pyx_k_WTIME_IS_GLOBAL[] = "WTIME_IS_GLOBAL"; static const char __pyx_k_array_interface[] = "__array_interface__"; static const char __pyx_k_keyval_registry[] = "_keyval_registry"; static const char __pyx_k_Add_error_string[] = "Add_error_string"; static const char __pyx_k_COMBINER_HVECTOR[] = "COMBINER_HVECTOR"; static const char __pyx_k_COMBINER_INDEXED[] = "COMBINER_INDEXED"; static const char __pyx_k_COMBINER_RESIZED[] = "COMBINER_RESIZED"; static const char __pyx_k_COMM_TYPE_SHARED[] = "COMM_TYPE_SHARED"; static const char __pyx_k_C_DOUBLE_COMPLEX[] = "C_DOUBLE_COMPLEX"; static const char __pyx_k_DEFAULT_PROTOCOL[] = "DEFAULT_PROTOCOL"; static const char __pyx_k_DISTRIBUTE_BLOCK[] = "DISTRIBUTE_BLOCK"; static const char __pyx_k_DOUBLE_PRECISION[] = "DOUBLE_PRECISION"; static const char __pyx_k_ERRORS_ARE_FATAL[] = "ERRORS_ARE_FATAL"; static const char __pyx_k_ERR_NO_SUCH_FILE[] = "ERR_NO_SUCH_FILE"; static const char __pyx_k_ERR_RMA_CONFLICT[] = "ERR_RMA_CONFLICT"; static const char __pyx_k_Exception___bool[] = "Exception.__bool__"; static const char __pyx_k_Exception___hash[] = "Exception.__hash__"; static const char __pyx_k_Exception___init[] = "Exception.__init__"; static const char __pyx_k_Exception___repr[] = "Exception.__repr__"; static const char __pyx_k_F_DOUBLE_COMPLEX[] = "F_DOUBLE_COMPLEX"; static const char __pyx_k_Get_error_string[] = "Get_error_string"; static const char __pyx_k_Get_remote_group[] = "Get_remote_group"; static const char __pyx_k_HIGHEST_PROTOCOL[] = "HIGHEST_PROTOCOL"; static const char __pyx_k_MAX_ERROR_STRING[] = "MAX_ERROR_STRING"; static const char __pyx_k_MODE_UNIQUE_OPEN[] = "MODE_UNIQUE_OPEN"; static const char __pyx_k_Register_datarep[] = "Register_datarep"; static const char __pyx_k_SIGNED_LONG_LONG[] = "SIGNED_LONG_LONG"; static const char __pyx_k_set_abort_status[] = "_set_abort_status"; static const char __pyx_k_COMBINER_F90_REAL[] = "COMBINER_F90_REAL"; static const char __pyx_k_COMBINER_HINDEXED[] = "COMBINER_HINDEXED"; static const char __pyx_k_COMBINER_SUBARRAY[] = "COMBINER_SUBARRAY"; static const char __pyx_k_CXX_FLOAT_COMPLEX[] = "CXX_FLOAT_COMPLEX"; static const char __pyx_k_DISTRIBUTE_CYCLIC[] = "DISTRIBUTE_CYCLIC"; static const char __pyx_k_THREAD_SERIALIZED[] = "THREAD_SERIALIZED"; static const char __pyx_k_TYPECLASS_COMPLEX[] = "TYPECLASS_COMPLEX"; static const char __pyx_k_TYPECLASS_INTEGER[] = "TYPECLASS_INTEGER"; static const char __pyx_k_WIN_CREATE_FLAVOR[] = "WIN_CREATE_FLAVOR"; static const char __pyx_k_WIN_FLAVOR_CREATE[] = "WIN_FLAVOR_CREATE"; static const char __pyx_k_WIN_FLAVOR_SHARED[] = "WIN_FLAVOR_SHARED"; static const char __pyx_k_neighbor_alltoall[] = "neighbor_alltoall"; static const char __pyx_k_CXX_DOUBLE_COMPLEX[] = "CXX_DOUBLE_COMPLEX"; static const char __pyx_k_Create_f90_complex[] = "Create_f90_complex"; static const char __pyx_k_Create_f90_integer[] = "Create_f90_integer"; static const char __pyx_k_Get_dist_neighbors[] = "Get_dist_neighbors"; static const char __pyx_k_Get_processor_name[] = "Get_processor_name"; static const char __pyx_k_MAX_DATAREP_STRING[] = "MAX_DATAREP_STRING"; static const char __pyx_k_MAX_PROCESSOR_NAME[] = "MAX_PROCESSOR_NAME"; static const char __pyx_k_UNSIGNED_LONG_LONG[] = "UNSIGNED_LONG_LONG"; static const char __pyx_k_WIN_FLAVOR_DYNAMIC[] = "WIN_FLAVOR_DYNAMIC"; static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; static const char __pyx_k_index_out_of_range[] = "index out of range"; static const char __pyx_k_mpi4py_MPI_MPI_pyx[] = "mpi4py/MPI/MPI.pyx"; static const char __pyx_k_neighbor_allgather[] = "neighbor_allgather"; static const char __pyx_k_numpypy_multiarray[] = "_numpypy.multiarray"; static const char __pyx_k_COMBINER_CONTIGUOUS[] = "COMBINER_CONTIGUOUS"; static const char __pyx_k_Get_library_version[] = "Get_library_version"; static const char __pyx_k_Get_neighbors_count[] = "Get_neighbors_count"; static const char __pyx_k_NotImplementedError[] = "NotImplementedError"; static const char __pyx_k_WIN_FLAVOR_ALLOCATE[] = "WIN_FLAVOR_ALLOCATE"; static const char __pyx_k_mpi4py_MPI_Comm_pyx[] = "mpi4py/MPI/Comm.pyx"; static const char __pyx_k_mpi4py_MPI_File_pyx[] = "mpi4py/MPI/File.pyx"; static const char __pyx_k_COMBINER_F90_COMPLEX[] = "COMBINER_F90_COMPLEX"; static const char __pyx_k_COMBINER_F90_INTEGER[] = "COMBINER_F90_INTEGER"; static const char __pyx_k_DISPLACEMENT_CURRENT[] = "DISPLACEMENT_CURRENT"; static const char __pyx_k_DISTRIBUTE_DFLT_DARG[] = "DISTRIBUTE_DFLT_DARG"; static const char __pyx_k_MODE_DELETE_ON_CLOSE[] = "MODE_DELETE_ON_CLOSE"; static const char __pyx_k_unorderable_type_s_s[] = "unorderable type: '%s.%s'"; static const char __pyx_k_C_LONG_DOUBLE_COMPLEX[] = "C_LONG_DOUBLE_COMPLEX"; static const char __pyx_k_COMBINER_INDEXED_BLOCK[] = "COMBINER_INDEXED_BLOCK"; static const char __pyx_k_mpi4py_MPI_typestr_pxi[] = "mpi4py/MPI/typestr.pxi"; static const char __pyx_k_COMBINER_HINDEXED_BLOCK[] = "COMBINER_HINDEXED_BLOCK"; static const char __pyx_k_CXX_LONG_DOUBLE_COMPLEX[] = "CXX_LONG_DOUBLE_COMPLEX"; static const char __pyx_k_ERR_UNSUPPORTED_DATAREP[] = "ERR_UNSUPPORTED_DATAREP"; static const char __pyx_k_expecting_d_items_got_d[] = "expecting %d items, got %d"; static const char __pyx_k_mpi4py_MPI_Datatype_pyx[] = "mpi4py/MPI/Datatype.pyx"; static const char __pyx_k_mpi4py_MPI_asbuffer_pxi[] = "mpi4py/MPI/asbuffer.pxi"; static const char __pyx_k_mpi4py_MPI_atimport_pxi[] = "mpi4py/MPI/atimport.pxi"; static const char __pyx_k_mpi4py_MPI_commimpl_pxi[] = "mpi4py/MPI/commimpl.pxi"; static const char __pyx_k_Exception_Get_error_code[] = "Exception.Get_error_code"; static const char __pyx_k_Get_dist_neighbors_count[] = "Get_dist_neighbors_count"; static const char __pyx_k_message_negative_count_d[] = "message: negative count %d"; static const char __pyx_k_mpi4py_MPI_Exception_pyx[] = "mpi4py/MPI/Exception.pyx"; static const char __pyx_k_ERR_UNSUPPORTED_OPERATION[] = "ERR_UNSUPPORTED_OPERATION"; static const char __pyx_k_Exception_Get_error_class[] = "Exception.Get_error_class"; static const char __pyx_k_Message_Passing_Interface[] = "\nMessage Passing Interface\n"; static const char __pyx_k_expecting_an_MPI_instance[] = "expecting an MPI instance"; static const char __pyx_k_mpi4py_MPI_ExceptionP_pyx[] = "mpi4py/MPI/ExceptionP.pyx"; static const char __pyx_k_Exception_Get_error_string[] = "Exception.Get_error_string"; static const char __pyx_k_MAX_LIBRARY_VERSION_STRING[] = "MAX_LIBRARY_VERSION_STRING"; static const char __pyx_k_expecting_non_NULL_address[] = "expecting non-NULL address"; static const char __pyx_k_memory_buffer_is_read_only[] = "memory buffer is read-only"; static const char __pyx_k_Not_a_topology_communicator[] = "Not a topology communicator"; static const char __pyx_k_MPI_Init_failed_error_code_d[] = "MPI_Init() failed [error code: %d]"; static const char __pyx_k_integer_d_does_not_fit_in_int[] = "integer %d does not fit in 'int'"; static const char __pyx_k_slice_with_step_not_supported[] = "slice with step not supported"; static const char __pyx_k_expecting_an_intercommunicator[] = "expecting an intercommunicator"; static const char __pyx_k_expecting_an_intracommunicator[] = "expecting an intracommunicator"; static const char __pyx_k_index_must_be_integer_or_slice[] = "index must be integer or slice"; static const char __pyx_k_message_expecting_2_to_4_items[] = "message: expecting 2 to 4 items"; static const char __pyx_k_message_negative_diplacement_d[] = "message: negative diplacement %d"; static const char __pyx_k_mpi4py_rc_s_unexpected_value_r[] = "mpi4py.rc: '%s': unexpected value '%r'"; static const char __pyx_k_expecting_a_sequence_of_strings[] = "expecting a sequence of strings"; static const char __pyx_k_memory_allocation_with_negative[] = "memory allocation with negative size"; static const char __pyx_k_mismatch_in_receive_count_d_and[] = "mismatch in receive count %d and counts[%d] %d"; static const char __pyx_k_MPI_Init_thread_failed_error_cod[] = "MPI_Init_thread() failed [error code: %d]"; static const char __pyx_k_accessing_non_existent_buffer_se[] = "accessing non-existent buffer segment"; static const char __pyx_k_cannot_create_too_many_user_defi[] = "cannot create too many user-defined reduction operations"; static const char __pyx_k_compare_expecting_a_single_eleme[] = "compare: expecting a single element, got %d"; static const char __pyx_k_empty_weights_but_nonzero_degree[] = "empty weights but nonzero degree"; static const char __pyx_k_expecting_a_Cartesian_communicat[] = "expecting a Cartesian communicator"; static const char __pyx_k_expecting_a_distributed_graph_co[] = "expecting a distributed graph communicator"; static const char __pyx_k_expecting_a_general_graph_commun[] = "expecting a general graph communicator"; static const char __pyx_k_expecting_a_topology_communicato[] = "expecting a topology communicator"; static const char __pyx_k_expecting_an_MPI_type_or_instanc[] = "expecting an MPI type or instance"; static const char __pyx_k_expecting_non_negative_buffer_le[] = "expecting non-negative buffer length"; static const char __pyx_k_memory_allocation_size_too_large[] = "memory allocation size too large"; static const char __pyx_k_message_buffer_is_None_but_count[] = "message: buffer is None but count is %d"; static const char __pyx_k_message_cannot_handle_diplacemen[] = "message: cannot handle diplacement, datatype is null"; static const char __pyx_k_message_cannot_infer_count_buffe[] = "message: cannot infer count, buffer length %d is not a multiple of datatype extent %d (lb:%d, ub:%d)"; static const char __pyx_k_message_cannot_infer_count_datat[] = "message: cannot infer count, datatype is null"; static const char __pyx_k_message_cannot_infer_count_numbe[] = "message: cannot infer count, number of entries %d is not a multiple of required number of blocks %d"; static const char __pyx_k_message_displacement_d_out_of_bo[] = "message: displacement %d out of bounds, number of datatype entries %d"; static const char __pyx_k_message_expecting_buffer_or_list[] = "message: expecting buffer or list/tuple"; static const char __pyx_k_mismatch_in_inbuf_and_inoutbuf_M[] = "mismatch in inbuf and inoutbuf MPI datatypes"; static const char __pyx_k_mismatch_in_inbuf_count_d_and_in[] = "mismatch in inbuf count %d and inoutbuf count %d"; static const char __pyx_k_mismatch_in_origin_and_compare_M[] = "mismatch in origin and compare MPI datatypes"; static const char __pyx_k_mismatch_in_origin_and_result_MP[] = "mismatch in origin and result MPI datatypes"; static const char __pyx_k_mismatch_in_send_and_receive_MPI[] = "mismatch in send and receive MPI datatypes"; static const char __pyx_k_mismatch_in_send_count_d_and_rec[] = "mismatch in send count %d and receive count %d"; static const char __pyx_k_mismatch_in_send_count_d_and_sum[] = "mismatch in send count %d and sum(counts) %d"; static const char __pyx_k_mismatch_in_send_count_d_receive[] = "mismatch in send count %d receive count %d"; static const char __pyx_k_origin_expecting_a_single_elemen[] = "origin: expecting a single element, got %d"; static const char __pyx_k_result_expecting_a_single_elemen[] = "result: expecting a single element, got %d"; static const char __pyx_k_slice_length_does_not_match_buff[] = "slice length does not match buffer"; static const char __pyx_k_target_expecting_3_items_at_most[] = "target: expecting 3 items at most"; static const char __pyx_k_target_expecting_integral_or_lis[] = "target: expecting integral or list/tuple"; static const char __pyx_k_mismatch_in_receive_count_d_and_2[] = "mismatch in receive count %d and sum(counts) %d"; static const char __pyx_k_message_cannot_handle_diplacemen_2[] = "message: cannot handle diplacement, datatype extent %d (lb:%d, ub:%d)"; static const char __pyx_k_message_cannot_infer_count_datat_2[] = "message: cannot infer count, datatype extent %d (lb:%d, ub:%d)"; static PyObject *__pyx_n_s_AINT; static PyObject *__pyx_n_s_ANY_SOURCE; static PyObject *__pyx_n_s_ANY_TAG; static PyObject *__pyx_n_s_APPNUM; static PyObject *__pyx_n_s_Add_error_class; static PyObject *__pyx_n_s_Add_error_code; static PyObject *__pyx_n_s_Add_error_string; static PyObject *__pyx_n_s_Aint_add; static PyObject *__pyx_n_s_Aint_diff; static PyObject *__pyx_n_s_Alloc_mem; static PyObject *__pyx_n_s_Allocate; static PyObject *__pyx_n_s_Allocate_shared; static PyObject *__pyx_n_s_Attach_buffer; static PyObject *__pyx_n_s_AttributeError; static PyObject *__pyx_n_s_B; static PyObject *__pyx_n_s_BAND; static PyObject *__pyx_n_s_BOOL; static PyObject *__pyx_n_s_BOR; static PyObject *__pyx_n_s_BOTTOM; static PyObject *__pyx_n_s_BSEND_OVERHEAD; static PyObject *__pyx_n_s_BXOR; static PyObject *__pyx_n_s_BYTE; static PyObject *__pyx_n_s_BytesIO; static PyObject *__pyx_n_s_CART; static PyObject *__pyx_n_s_CHAR; static PyObject *__pyx_n_s_CHARACTER; static PyObject *__pyx_n_s_COMBINER_CONTIGUOUS; static PyObject *__pyx_n_s_COMBINER_DARRAY; static PyObject *__pyx_n_s_COMBINER_DUP; static PyObject *__pyx_n_s_COMBINER_F90_COMPLEX; static PyObject *__pyx_n_s_COMBINER_F90_INTEGER; static PyObject *__pyx_n_s_COMBINER_F90_REAL; static PyObject *__pyx_n_s_COMBINER_HINDEXED; static PyObject *__pyx_n_s_COMBINER_HINDEXED_BLOCK; static PyObject *__pyx_n_s_COMBINER_HVECTOR; static PyObject *__pyx_n_s_COMBINER_INDEXED; static PyObject *__pyx_n_s_COMBINER_INDEXED_BLOCK; static PyObject *__pyx_n_s_COMBINER_NAMED; static PyObject *__pyx_n_s_COMBINER_RESIZED; static PyObject *__pyx_n_s_COMBINER_STRUCT; static PyObject *__pyx_n_s_COMBINER_SUBARRAY; static PyObject *__pyx_n_s_COMBINER_VECTOR; static PyObject *__pyx_n_s_COMM_NULL; static PyObject *__pyx_n_s_COMM_SELF; static PyObject *__pyx_n_s_COMM_TYPE_SHARED; static PyObject *__pyx_n_s_COMM_WORLD; static PyObject *__pyx_n_s_COMPLEX; static PyObject *__pyx_n_s_COMPLEX16; static PyObject *__pyx_n_s_COMPLEX32; static PyObject *__pyx_n_s_COMPLEX4; static PyObject *__pyx_n_s_COMPLEX8; static PyObject *__pyx_n_s_CONGRUENT; static PyObject *__pyx_n_s_CONTIGUOUS; static PyObject *__pyx_n_s_COUNT; static PyObject *__pyx_n_s_CXX_BOOL; static PyObject *__pyx_n_s_CXX_DOUBLE_COMPLEX; static PyObject *__pyx_n_s_CXX_FLOAT_COMPLEX; static PyObject *__pyx_n_s_CXX_LONG_DOUBLE_COMPLEX; static PyObject *__pyx_n_s_C_BOOL; static PyObject *__pyx_n_s_C_COMPLEX; static PyObject *__pyx_n_s_C_DOUBLE_COMPLEX; static PyObject *__pyx_n_s_C_FLOAT_COMPLEX; static PyObject *__pyx_n_s_C_LONG_DOUBLE_COMPLEX; static PyObject *__pyx_n_s_Cartcomm; static PyObject *__pyx_n_s_Close_port; static PyObject *__pyx_n_s_Comm; static PyObject *__pyx_n_s_Compare; static PyObject *__pyx_n_s_Compute_dims; static PyObject *__pyx_n_s_Create; static PyObject *__pyx_n_s_Create_dup; static PyObject *__pyx_n_s_Create_dynamic; static PyObject *__pyx_n_s_Create_f90_complex; static PyObject *__pyx_n_s_Create_f90_integer; static PyObject *__pyx_n_s_Create_f90_real; static PyObject *__pyx_n_s_Create_keyval; static PyObject *__pyx_n_s_Create_resized; static PyObject *__pyx_n_s_Create_struct; static PyObject *__pyx_n_s_DARRAY; static PyObject *__pyx_n_s_DATATYPE_NULL; static PyObject *__pyx_n_s_DEFAULT_PROTOCOL; static PyObject *__pyx_n_s_DISPLACEMENT_CURRENT; static PyObject *__pyx_n_s_DISP_CUR; static PyObject *__pyx_n_s_DISTRIBUTE_BLOCK; static PyObject *__pyx_n_s_DISTRIBUTE_CYCLIC; static PyObject *__pyx_n_s_DISTRIBUTE_DFLT_DARG; static PyObject *__pyx_n_s_DISTRIBUTE_NONE; static PyObject *__pyx_n_s_DIST_GRAPH; static PyObject *__pyx_n_s_DOUBLE; static PyObject *__pyx_n_s_DOUBLE_COMPLEX; static PyObject *__pyx_n_s_DOUBLE_INT; static PyObject *__pyx_n_s_DOUBLE_PRECISION; static PyObject *__pyx_n_s_DUP; static PyObject *__pyx_n_s_Datatype; static PyObject *__pyx_n_s_Delete; static PyObject *__pyx_n_s_Detach_buffer; static PyObject *__pyx_n_s_Difference; static PyObject *__pyx_n_s_Distgraphcomm; static PyObject *__pyx_n_s_Dup; static PyObject *__pyx_n_s_ERRHANDLER_NULL; static PyObject *__pyx_n_s_ERRORS_ARE_FATAL; static PyObject *__pyx_n_s_ERRORS_RETURN; static PyObject *__pyx_n_s_ERR_ACCESS; static PyObject *__pyx_n_s_ERR_AMODE; static PyObject *__pyx_n_s_ERR_ARG; static PyObject *__pyx_n_s_ERR_ASSERT; static PyObject *__pyx_n_s_ERR_BAD_FILE; static PyObject *__pyx_n_s_ERR_BASE; static PyObject *__pyx_n_s_ERR_BUFFER; static PyObject *__pyx_n_s_ERR_COMM; static PyObject *__pyx_n_s_ERR_CONVERSION; static PyObject *__pyx_n_s_ERR_COUNT; static PyObject *__pyx_n_s_ERR_DIMS; static PyObject *__pyx_n_s_ERR_DISP; static PyObject *__pyx_n_s_ERR_DUP_DATAREP; static PyObject *__pyx_n_s_ERR_FILE; static PyObject *__pyx_n_s_ERR_FILE_EXISTS; static PyObject *__pyx_n_s_ERR_FILE_IN_USE; static PyObject *__pyx_n_s_ERR_GROUP; static PyObject *__pyx_n_s_ERR_INFO; static PyObject *__pyx_n_s_ERR_INFO_KEY; static PyObject *__pyx_n_s_ERR_INFO_NOKEY; static PyObject *__pyx_n_s_ERR_INFO_VALUE; static PyObject *__pyx_n_s_ERR_INTERN; static PyObject *__pyx_n_s_ERR_IN_STATUS; static PyObject *__pyx_n_s_ERR_IO; static PyObject *__pyx_n_s_ERR_KEYVAL; static PyObject *__pyx_n_s_ERR_LASTCODE; static PyObject *__pyx_n_s_ERR_LOCKTYPE; static PyObject *__pyx_n_s_ERR_NAME; static PyObject *__pyx_n_s_ERR_NOT_SAME; static PyObject *__pyx_n_s_ERR_NO_MEM; static PyObject *__pyx_n_s_ERR_NO_SPACE; static PyObject *__pyx_n_s_ERR_NO_SUCH_FILE; static PyObject *__pyx_n_s_ERR_OP; static PyObject *__pyx_n_s_ERR_OTHER; static PyObject *__pyx_n_s_ERR_PENDING; static PyObject *__pyx_n_s_ERR_PORT; static PyObject *__pyx_n_s_ERR_QUOTA; static PyObject *__pyx_n_s_ERR_RANK; static PyObject *__pyx_n_s_ERR_READ_ONLY; static PyObject *__pyx_n_s_ERR_REQUEST; static PyObject *__pyx_n_s_ERR_RMA_ATTACH; static PyObject *__pyx_n_s_ERR_RMA_CONFLICT; static PyObject *__pyx_n_s_ERR_RMA_FLAVOR; static PyObject *__pyx_n_s_ERR_RMA_RANGE; static PyObject *__pyx_n_s_ERR_RMA_SHARED; static PyObject *__pyx_n_s_ERR_RMA_SYNC; static PyObject *__pyx_n_s_ERR_ROOT; static PyObject *__pyx_n_s_ERR_SERVICE; static PyObject *__pyx_n_s_ERR_SIZE; static PyObject *__pyx_n_s_ERR_SPAWN; static PyObject *__pyx_n_s_ERR_TAG; static PyObject *__pyx_n_s_ERR_TOPOLOGY; static PyObject *__pyx_n_s_ERR_TRUNCATE; static PyObject *__pyx_n_s_ERR_TYPE; static PyObject *__pyx_n_s_ERR_UNKNOWN; static PyObject *__pyx_n_s_ERR_UNSUPPORTED_DATAREP; static PyObject *__pyx_n_s_ERR_UNSUPPORTED_OPERATION; static PyObject *__pyx_n_s_ERR_WIN; static PyObject *__pyx_n_s_Errhandler; static PyObject *__pyx_kp_s_Exception; static PyObject *__pyx_n_s_Exception_2; static PyObject *__pyx_n_s_Exception_Get_error_class; static PyObject *__pyx_n_s_Exception_Get_error_code; static PyObject *__pyx_n_s_Exception_Get_error_string; static PyObject *__pyx_n_s_Exception___bool; static PyObject *__pyx_n_s_Exception___eq; static PyObject *__pyx_n_s_Exception___ge; static PyObject *__pyx_n_s_Exception___gt; static PyObject *__pyx_n_s_Exception___hash; static PyObject *__pyx_n_s_Exception___init; static PyObject *__pyx_n_s_Exception___int; static PyObject *__pyx_n_s_Exception___le; static PyObject *__pyx_n_s_Exception___lt; static PyObject *__pyx_n_s_Exception___ne; static PyObject *__pyx_n_s_Exception___repr; static PyObject *__pyx_n_s_Exception___str; static PyObject *__pyx_n_s_F90_COMPLEX; static PyObject *__pyx_n_s_F90_INTEGER; static PyObject *__pyx_n_s_F90_REAL; static PyObject *__pyx_n_s_FILE_NULL; static PyObject *__pyx_n_s_FLOAT; static PyObject *__pyx_n_s_FLOAT_INT; static PyObject *__pyx_n_s_F_BOOL; static PyObject *__pyx_n_s_F_COMPLEX; static PyObject *__pyx_n_s_F_DOUBLE; static PyObject *__pyx_n_s_F_DOUBLE_COMPLEX; static PyObject *__pyx_n_s_F_FLOAT; static PyObject *__pyx_n_s_F_FLOAT_COMPLEX; static PyObject *__pyx_n_s_F_INT; static PyObject *__pyx_n_s_File; static PyObject *__pyx_n_s_Finalize; static PyObject *__pyx_n_s_Free_keyval; static PyObject *__pyx_n_s_Free_mem; static PyObject *__pyx_n_s_GRAPH; static PyObject *__pyx_n_s_GROUP_EMPTY; static PyObject *__pyx_n_s_GROUP_NULL; static PyObject *__pyx_n_s_Get; static PyObject *__pyx_n_s_Get_address; static PyObject *__pyx_n_s_Get_amode; static PyObject *__pyx_n_s_Get_atomicity; static PyObject *__pyx_n_s_Get_contents; static PyObject *__pyx_n_s_Get_count; static PyObject *__pyx_n_s_Get_dim; static PyObject *__pyx_n_s_Get_dims; static PyObject *__pyx_n_s_Get_dist_neighbors; static PyObject *__pyx_n_s_Get_dist_neighbors_count; static PyObject *__pyx_n_s_Get_envelope; static PyObject *__pyx_n_s_Get_error; static PyObject *__pyx_n_s_Get_error_class; static PyObject *__pyx_n_s_Get_error_code; static PyObject *__pyx_n_s_Get_error_string; static PyObject *__pyx_n_s_Get_group; static PyObject *__pyx_n_s_Get_info; static PyObject *__pyx_n_s_Get_library_version; static PyObject *__pyx_n_s_Get_name; static PyObject *__pyx_n_s_Get_neighbors; static PyObject *__pyx_n_s_Get_neighbors_count; static PyObject *__pyx_n_s_Get_nkeys; static PyObject *__pyx_n_s_Get_nthkey; static PyObject *__pyx_n_s_Get_parent; static PyObject *__pyx_n_s_Get_processor_name; static PyObject *__pyx_n_s_Get_rank; static PyObject *__pyx_n_s_Get_remote_group; static PyObject *__pyx_n_s_Get_remote_size; static PyObject *__pyx_n_s_Get_size; static PyObject *__pyx_n_s_Get_source; static PyObject *__pyx_n_s_Get_tag; static PyObject *__pyx_n_s_Get_topo; static PyObject *__pyx_n_s_Get_topology; static PyObject *__pyx_n_s_Get_version; static PyObject *__pyx_n_s_Graphcomm; static PyObject *__pyx_n_s_Grequest; static PyObject *__pyx_n_s_Group; static PyObject *__pyx_n_s_HIGHEST_PROTOCOL; static PyObject *__pyx_n_s_HINDEXED; static PyObject *__pyx_n_s_HINDEXED_BLOCK; static PyObject *__pyx_n_s_HOST; static PyObject *__pyx_n_s_HVECTOR; static PyObject *__pyx_n_s_IDENT; static PyObject *__pyx_n_s_INDEXED; static PyObject *__pyx_n_s_INDEXED_BLOCK; static PyObject *__pyx_n_s_INFO_ENV; static PyObject *__pyx_n_s_INFO_NULL; static PyObject *__pyx_n_s_INT; static PyObject *__pyx_n_s_INT16_T; static PyObject *__pyx_n_s_INT32_T; static PyObject *__pyx_n_s_INT64_T; static PyObject *__pyx_n_s_INT8_T; static PyObject *__pyx_n_s_INTEGER; static PyObject *__pyx_n_s_INTEGER1; static PyObject *__pyx_n_s_INTEGER16; static PyObject *__pyx_n_s_INTEGER2; static PyObject *__pyx_n_s_INTEGER4; static PyObject *__pyx_n_s_INTEGER8; static PyObject *__pyx_n_s_INT_INT; static PyObject *__pyx_n_s_IN_PLACE; static PyObject *__pyx_n_s_IO; static PyObject *__pyx_n_s_ImportError; static PyObject *__pyx_n_s_IndexError; static PyObject *__pyx_n_s_Info; static PyObject *__pyx_n_s_Init; static PyObject *__pyx_n_s_Init_thread; static PyObject *__pyx_n_s_Intercomm; static PyObject *__pyx_n_s_Intersect; static PyObject *__pyx_n_s_Intersection; static PyObject *__pyx_n_s_Intracomm; static PyObject *__pyx_n_s_Iprobe; static PyObject *__pyx_n_s_Is_cancelled; static PyObject *__pyx_n_s_Is_commutative; static PyObject *__pyx_n_s_Is_finalized; static PyObject *__pyx_n_s_Is_initialized; static PyObject *__pyx_n_s_Is_inter; static PyObject *__pyx_n_s_Is_intra; static PyObject *__pyx_n_s_Is_thread_main; static PyObject *__pyx_n_s_Join; static PyObject *__pyx_n_s_KEYVAL_INVALID; static PyObject *__pyx_n_s_KeyError; static PyObject *__pyx_n_s_LAND; static PyObject *__pyx_n_s_LASTUSEDCODE; static PyObject *__pyx_n_s_LB; static PyObject *__pyx_n_s_LOCK_EXCLUSIVE; static PyObject *__pyx_n_s_LOCK_SHARED; static PyObject *__pyx_n_s_LOGICAL; static PyObject *__pyx_n_s_LOGICAL1; static PyObject *__pyx_n_s_LOGICAL2; static PyObject *__pyx_n_s_LOGICAL4; static PyObject *__pyx_n_s_LOGICAL8; static PyObject *__pyx_n_s_LONG; static PyObject *__pyx_n_s_LONG_DOUBLE; static PyObject *__pyx_n_s_LONG_DOUBLE_INT; static PyObject *__pyx_n_s_LONG_INT; static PyObject *__pyx_n_s_LONG_LONG; static PyObject *__pyx_n_s_LOR; static PyObject *__pyx_n_s_LXOR; static PyObject *__pyx_n_s_Lookup_name; static PyObject *__pyx_n_s_MAX; static PyObject *__pyx_n_s_MAXLOC; static PyObject *__pyx_n_s_MAX_DATAREP_STRING; static PyObject *__pyx_n_s_MAX_ERROR_STRING; static PyObject *__pyx_n_s_MAX_INFO_KEY; static PyObject *__pyx_n_s_MAX_INFO_VAL; static PyObject *__pyx_n_s_MAX_LIBRARY_VERSION_STRING; static PyObject *__pyx_n_s_MAX_OBJECT_NAME; static PyObject *__pyx_n_s_MAX_PORT_NAME; static PyObject *__pyx_n_s_MAX_PROCESSOR_NAME; static PyObject *__pyx_n_s_MESSAGE_NO_PROC; static PyObject *__pyx_n_s_MESSAGE_NULL; static PyObject *__pyx_n_s_MIN; static PyObject *__pyx_n_s_MINLOC; static PyObject *__pyx_n_s_MODE_APPEND; static PyObject *__pyx_n_s_MODE_CREATE; static PyObject *__pyx_n_s_MODE_DELETE_ON_CLOSE; static PyObject *__pyx_n_s_MODE_EXCL; static PyObject *__pyx_n_s_MODE_NOCHECK; static PyObject *__pyx_n_s_MODE_NOPRECEDE; static PyObject *__pyx_n_s_MODE_NOPUT; static PyObject *__pyx_n_s_MODE_NOSTORE; static PyObject *__pyx_n_s_MODE_NOSUCCEED; static PyObject *__pyx_n_s_MODE_RDONLY; static PyObject *__pyx_n_s_MODE_RDWR; static PyObject *__pyx_n_s_MODE_SEQUENTIAL; static PyObject *__pyx_n_s_MODE_UNIQUE_OPEN; static PyObject *__pyx_n_s_MODE_WRONLY; static PyObject *__pyx_kp_s_MPI_Exception_d; static PyObject *__pyx_kp_s_MPI_Init_failed_error_code_d; static PyObject *__pyx_kp_s_MPI_Init_thread_failed_error_cod; static PyObject *__pyx_n_s_Match_size; static PyObject *__pyx_n_s_MemoryError; static PyObject *__pyx_n_s_Message; static PyObject *__pyx_kp_s_Message_Passing_Interface; static PyObject *__pyx_n_s_NO_OP; static PyObject *__pyx_n_s_NotImplemented; static PyObject *__pyx_n_s_NotImplementedError; static PyObject *__pyx_kp_s_Not_a_topology_communicator; static PyObject *__pyx_n_s_OFFSET; static PyObject *__pyx_n_s_OP_NULL; static PyObject *__pyx_n_s_ORDER_C; static PyObject *__pyx_n_s_ORDER_F; static PyObject *__pyx_n_s_ORDER_FORTRAN; static PyObject *__pyx_n_s_Op; static PyObject *__pyx_n_s_Open; static PyObject *__pyx_n_s_Open_port; static PyObject *__pyx_n_s_OverflowError; static PyObject *__pyx_n_s_PACKED; static PyObject *__pyx_n_s_PROC_NULL; static PyObject *__pyx_n_s_PROD; static PyObject *__pyx_n_s_Pcontrol; static PyObject *__pyx_n_s_Prequest; static PyObject *__pyx_n_s_Probe; static PyObject *__pyx_n_s_Publish_name; static PyObject *__pyx_n_s_Query_thread; static PyObject *__pyx_n_s_REAL; static PyObject *__pyx_n_s_REAL16; static PyObject *__pyx_n_s_REAL2; static PyObject *__pyx_n_s_REAL4; static PyObject *__pyx_n_s_REAL8; static PyObject *__pyx_n_s_REPLACE; static PyObject *__pyx_n_s_REQUEST_NULL; static PyObject *__pyx_n_s_RESIZED; static PyObject *__pyx_n_s_ROOT; static PyObject *__pyx_n_s_Register_datarep; static PyObject *__pyx_n_s_Request; static PyObject *__pyx_n_s_Resized; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_SEEK_CUR; static PyObject *__pyx_n_s_SEEK_END; static PyObject *__pyx_n_s_SEEK_SET; static PyObject *__pyx_n_s_SHORT; static PyObject *__pyx_n_s_SHORT_INT; static PyObject *__pyx_n_s_SIGNED_CHAR; static PyObject *__pyx_n_s_SIGNED_INT; static PyObject *__pyx_n_s_SIGNED_LONG; static PyObject *__pyx_n_s_SIGNED_LONG_LONG; static PyObject *__pyx_n_s_SIGNED_SHORT; static PyObject *__pyx_n_s_SIMILAR; static PyObject *__pyx_n_s_SINT16_T; static PyObject *__pyx_n_s_SINT32_T; static PyObject *__pyx_n_s_SINT64_T; static PyObject *__pyx_n_s_SINT8_T; static PyObject *__pyx_n_s_STRUCT; static PyObject *__pyx_n_s_SUBARRAY; static PyObject *__pyx_n_s_SUBVERSION; static PyObject *__pyx_n_s_SUCCESS; static PyObject *__pyx_n_s_SUM; static PyObject *__pyx_n_s_Set; static PyObject *__pyx_n_s_Set_atomicity; static PyObject *__pyx_n_s_Set_cancelled; static PyObject *__pyx_n_s_Set_error; static PyObject *__pyx_n_s_Set_info; static PyObject *__pyx_n_s_Set_name; static PyObject *__pyx_n_s_Set_source; static PyObject *__pyx_n_s_Set_tag; static PyObject *__pyx_n_s_Shift; static PyObject *__pyx_n_s_Start; static PyObject *__pyx_n_s_Startall; static PyObject *__pyx_n_s_Status; static PyObject *__pyx_n_s_StringIO; static PyObject *__pyx_n_s_SystemError; static PyObject *__pyx_n_s_TAG_UB; static PyObject *__pyx_n_s_THREAD_FUNNELED; static PyObject *__pyx_n_s_THREAD_MULTIPLE; static PyObject *__pyx_n_s_THREAD_SERIALIZED; static PyObject *__pyx_n_s_THREAD_SINGLE; static PyObject *__pyx_n_s_TWOINT; static PyObject *__pyx_n_s_TYPECLASS_COMPLEX; static PyObject *__pyx_n_s_TYPECLASS_INTEGER; static PyObject *__pyx_n_s_TYPECLASS_REAL; static PyObject *__pyx_n_s_Testall; static PyObject *__pyx_n_s_Testany; static PyObject *__pyx_n_s_Testsome; static PyObject *__pyx_n_s_Topocomm; static PyObject *__pyx_n_s_Translate_ranks; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_n_s_UB; static PyObject *__pyx_n_s_UINT16_T; static PyObject *__pyx_n_s_UINT32_T; static PyObject *__pyx_n_s_UINT64_T; static PyObject *__pyx_n_s_UINT8_T; static PyObject *__pyx_n_s_UNDEFINED; static PyObject *__pyx_n_s_UNEQUAL; static PyObject *__pyx_n_s_UNIVERSE_SIZE; static PyObject *__pyx_n_s_UNSIGNED; static PyObject *__pyx_n_s_UNSIGNED_CHAR; static PyObject *__pyx_n_s_UNSIGNED_INT; static PyObject *__pyx_n_s_UNSIGNED_LONG; static PyObject *__pyx_n_s_UNSIGNED_LONG_LONG; static PyObject *__pyx_n_s_UNSIGNED_SHORT; static PyObject *__pyx_n_s_UNWEIGHTED; static PyObject *__pyx_n_s_Union; static PyObject *__pyx_n_s_Unpublish_name; static PyObject *__pyx_n_s_UserWarning; static PyObject *__pyx_n_s_VECTOR; static PyObject *__pyx_n_s_VERSION; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s_WCHAR; static PyObject *__pyx_n_s_WEIGHTS_EMPTY; static PyObject *__pyx_n_s_WIN_BASE; static PyObject *__pyx_n_s_WIN_CREATE_FLAVOR; static PyObject *__pyx_n_s_WIN_DISP_UNIT; static PyObject *__pyx_n_s_WIN_FLAVOR; static PyObject *__pyx_n_s_WIN_FLAVOR_ALLOCATE; static PyObject *__pyx_n_s_WIN_FLAVOR_CREATE; static PyObject *__pyx_n_s_WIN_FLAVOR_DYNAMIC; static PyObject *__pyx_n_s_WIN_FLAVOR_SHARED; static PyObject *__pyx_n_s_WIN_MODEL; static PyObject *__pyx_n_s_WIN_NULL; static PyObject *__pyx_n_s_WIN_SEPARATE; static PyObject *__pyx_n_s_WIN_SIZE; static PyObject *__pyx_n_s_WIN_UNIFIED; static PyObject *__pyx_n_s_WTIME_IS_GLOBAL; static PyObject *__pyx_n_s_Waitall; static PyObject *__pyx_n_s_Waitany; static PyObject *__pyx_n_s_Waitsome; static PyObject *__pyx_n_s_Win; static PyObject *__pyx_n_s_Wtick; static PyObject *__pyx_n_s_Wtime; static PyObject *__pyx_kp_b__23; static PyObject *__pyx_kp_s_accessing_non_existent_buffer_se; static PyObject *__pyx_n_s_addr1; static PyObject *__pyx_n_s_addr2; static PyObject *__pyx_n_s_address; static PyObject *__pyx_n_s_addressof; static PyObject *__pyx_n_s_allgather; static PyObject *__pyx_n_s_allocate_lock; static PyObject *__pyx_n_s_alltoall; static PyObject *__pyx_n_s_amode; static PyObject *__pyx_n_s_append; static PyObject *__pyx_n_s_arg; static PyObject *__pyx_n_s_args; static PyObject *__pyx_n_s_array; static PyObject *__pyx_n_s_array_interface; static PyObject *__pyx_n_s_assertion; static PyObject *__pyx_n_s_attrval; static PyObject *__pyx_n_s_base; static PyObject *__pyx_n_s_baseptr; static PyObject *__pyx_n_s_bcast; static PyObject *__pyx_kp_s_bcast_p2p; static PyObject *__pyx_n_s_blocklength; static PyObject *__pyx_n_s_blocklengths; static PyObject *__pyx_n_s_bool; static PyObject *__pyx_n_s_buf; static PyObject *__pyx_n_s_buffer_info; static PyObject *__pyx_n_s_cPickle; static PyObject *__pyx_n_s_cStringIO; static PyObject *__pyx_n_s_call; static PyObject *__pyx_n_s_cancel_fn; static PyObject *__pyx_kp_s_cannot_create_too_many_user_defi; static PyObject *__pyx_n_s_cdatarep; static PyObject *__pyx_n_s_char; static PyObject *__pyx_n_s_cinfo; static PyObject *__pyx_n_s_cline_in_traceback; static PyObject *__pyx_n_s_color; static PyObject *__pyx_n_s_comm; static PyObject *__pyx_n_s_comm1; static PyObject *__pyx_n_s_comm2; static PyObject *__pyx_n_s_command; static PyObject *__pyx_kp_s_commctx_inter; static PyObject *__pyx_kp_s_commctx_intra; static PyObject *__pyx_n_s_commute; static PyObject *__pyx_n_s_compare; static PyObject *__pyx_kp_s_compare_expecting_a_single_eleme; static PyObject *__pyx_n_s_coords; static PyObject *__pyx_n_s_copy_fn; static PyObject *__pyx_n_s_count; static PyObject *__pyx_n_s_cportname; static PyObject *__pyx_n_s_csrvcname; static PyObject *__pyx_n_s_cstring; static PyObject *__pyx_n_s_dargs; static PyObject *__pyx_n_s_data; static PyObject *__pyx_n_s_datarep; static PyObject *__pyx_n_s_datatype; static PyObject *__pyx_n_s_datatypes; static PyObject *__pyx_n_s_default; static PyObject *__pyx_n_s_degrees; static PyObject *__pyx_n_s_delete_fn; static PyObject *__pyx_n_s_dest; static PyObject *__pyx_n_s_destinations; static PyObject *__pyx_n_s_destweights; static PyObject *__pyx_n_s_dims; static PyObject *__pyx_n_s_direction; static PyObject *__pyx_n_s_disp; static PyObject *__pyx_n_s_disp_unit; static PyObject *__pyx_n_s_displacements; static PyObject *__pyx_n_s_distribs; static PyObject *__pyx_n_s_doc; static PyObject *__pyx_n_s_doc_2; static PyObject *__pyx_n_s_dtype; static PyObject *__pyx_n_s_dummy_thread; static PyObject *__pyx_n_s_dummy_thread_2; static PyObject *__pyx_n_s_dumps; static PyObject *__pyx_n_s_edges; static PyObject *__pyx_kp_s_empty_weights_but_nonzero_degree; static PyObject *__pyx_n_s_enter; static PyObject *__pyx_n_s_eq; static PyObject *__pyx_n_s_errcodes; static PyObject *__pyx_n_s_errhandler; static PyObject *__pyx_n_s_error; static PyObject *__pyx_kp_s_error_class; static PyObject *__pyx_n_s_error_class_2; static PyObject *__pyx_kp_s_error_code; static PyObject *__pyx_n_s_error_code_2; static PyObject *__pyx_kp_s_error_code_d; static PyObject *__pyx_kp_s_error_string; static PyObject *__pyx_n_s_error_string_2; static PyObject *__pyx_n_s_errorclass; static PyObject *__pyx_n_s_errorcode; static PyObject *__pyx_n_s_errors; static PyObject *__pyx_n_s_etype; static PyObject *__pyx_n_s_ex; static PyObject *__pyx_n_s_exception; static PyObject *__pyx_n_s_exit; static PyObject *__pyx_kp_s_expecting_a_Cartesian_communicat; static PyObject *__pyx_kp_s_expecting_a_distributed_graph_co; static PyObject *__pyx_kp_s_expecting_a_general_graph_commun; static PyObject *__pyx_kp_s_expecting_a_sequence_of_strings; static PyObject *__pyx_kp_s_expecting_a_topology_communicato; static PyObject *__pyx_kp_s_expecting_an_MPI_instance; static PyObject *__pyx_kp_s_expecting_an_MPI_type_or_instanc; static PyObject *__pyx_kp_s_expecting_an_intercommunicator; static PyObject *__pyx_kp_s_expecting_an_intracommunicator; static PyObject *__pyx_kp_s_expecting_d_items_got_d; static PyObject *__pyx_kp_s_expecting_non_NULL_address; static PyObject *__pyx_kp_s_expecting_non_negative_buffer_le; static PyObject *__pyx_n_s_extent; static PyObject *__pyx_n_s_extent_fn; static PyObject *__pyx_n_s_f2py; static PyObject *__pyx_n_s_fast_reduce; static PyObject *__pyx_n_s_fatal; static PyObject *__pyx_n_s_fd; static PyObject *__pyx_n_s_file; static PyObject *__pyx_n_s_filename; static PyObject *__pyx_n_s_filetype; static PyObject *__pyx_n_s_finalize; static PyObject *__pyx_n_s_flag; static PyObject *__pyx_n_s_flags; static PyObject *__pyx_n_s_flush; static PyObject *__pyx_n_s_free_fn; static PyObject *__pyx_n_s_fromaddress; static PyObject *__pyx_n_s_frombuffer; static PyObject *__pyx_n_s_function; static PyObject *__pyx_n_s_funneled; static PyObject *__pyx_n_s_gather; static PyObject *__pyx_n_s_ge; static PyObject *__pyx_n_s_get; static PyObject *__pyx_n_s_get_vendor; static PyObject *__pyx_n_s_group; static PyObject *__pyx_n_s_group1; static PyObject *__pyx_n_s_group2; static PyObject *__pyx_n_s_gsizes; static PyObject *__pyx_n_s_gt; static PyObject *__pyx_n_s_handleof; static PyObject *__pyx_n_s_hash; static PyObject *__pyx_n_s_high; static PyObject *__pyx_n_s_i; static PyObject *__pyx_n_s_idims; static PyObject *__pyx_n_s_ierr; static PyObject *__pyx_n_s_import; static PyObject *__pyx_n_s_inbuf; static PyObject *__pyx_n_s_index; static PyObject *__pyx_kp_s_index_must_be_integer_or_slice; static PyObject *__pyx_kp_s_index_out_of_range; static PyObject *__pyx_n_s_info; static PyObject *__pyx_n_s_init; static PyObject *__pyx_n_s_initialize; static PyObject *__pyx_n_s_inoutbuf; static PyObject *__pyx_n_s_inoutedges; static PyObject *__pyx_n_s_insert; static PyObject *__pyx_n_s_int; static PyObject *__pyx_kp_s_integer_d_does_not_fit_in_int; static PyObject *__pyx_n_s_io; static PyObject *__pyx_n_s_iprobe; static PyObject *__pyx_n_s_items; static PyObject *__pyx_n_s_itemsize; static PyObject *__pyx_n_s_kargs; static PyObject *__pyx_n_s_key; static PyObject *__pyx_n_s_keys; static PyObject *__pyx_n_s_keyval; static PyObject *__pyx_n_s_keyval_registry; static PyObject *__pyx_n_s_lb; static PyObject *__pyx_n_s_le; static PyObject *__pyx_n_s_level; static PyObject *__pyx_n_s_load; static PyObject *__pyx_n_s_loads; static PyObject *__pyx_n_s_local_leader; static PyObject *__pyx_n_s_location; static PyObject *__pyx_n_s_lock_table; static PyObject *__pyx_n_s_lock_type; static PyObject *__pyx_n_s_lt; static PyObject *__pyx_n_s_m; static PyObject *__pyx_n_s_main; static PyObject *__pyx_n_s_major; static PyObject *__pyx_n_s_maxlen; static PyObject *__pyx_n_s_maxprocs; static PyObject *__pyx_n_s_mem; static PyObject *__pyx_n_s_memory; static PyObject *__pyx_kp_s_memory_allocation_size_too_large; static PyObject *__pyx_kp_s_memory_allocation_with_negative; static PyObject *__pyx_kp_s_memory_buffer_is_read_only; static PyObject *__pyx_n_s_message; static PyObject *__pyx_kp_s_message_buffer_is_None_but_count; static PyObject *__pyx_kp_s_message_cannot_handle_diplacemen; static PyObject *__pyx_kp_s_message_cannot_handle_diplacemen_2; static PyObject *__pyx_kp_s_message_cannot_infer_count_buffe; static PyObject *__pyx_kp_s_message_cannot_infer_count_datat; static PyObject *__pyx_kp_s_message_cannot_infer_count_datat_2; static PyObject *__pyx_kp_s_message_cannot_infer_count_numbe; static PyObject *__pyx_kp_s_message_displacement_d_out_of_bo; static PyObject *__pyx_kp_s_message_expecting_2_to_4_items; static PyObject *__pyx_kp_s_message_expecting_buffer_or_list; static PyObject *__pyx_kp_s_message_negative_count_d; static PyObject *__pyx_kp_s_message_negative_diplacement_d; static PyObject *__pyx_n_s_metaclass; static PyObject *__pyx_n_s_micro; static PyObject *__pyx_n_s_minor; static PyObject *__pyx_kp_s_mismatch_in_inbuf_and_inoutbuf_M; static PyObject *__pyx_kp_s_mismatch_in_inbuf_count_d_and_in; static PyObject *__pyx_kp_s_mismatch_in_origin_and_compare_M; static PyObject *__pyx_kp_s_mismatch_in_origin_and_result_MP; static PyObject *__pyx_kp_s_mismatch_in_receive_count_d_and; static PyObject *__pyx_kp_s_mismatch_in_receive_count_d_and_2; static PyObject *__pyx_kp_s_mismatch_in_send_and_receive_MPI; static PyObject *__pyx_kp_s_mismatch_in_send_count_d_and_rec; static PyObject *__pyx_kp_s_mismatch_in_send_count_d_and_sum; static PyObject *__pyx_kp_s_mismatch_in_send_count_d_receive; static PyObject *__pyx_n_s_module; static PyObject *__pyx_n_s_mpi4py; static PyObject *__pyx_n_s_mpi4py_MPI; static PyObject *__pyx_kp_s_mpi4py_MPI_Comm_pyx; static PyObject *__pyx_kp_s_mpi4py_MPI_Datatype_pyx; static PyObject *__pyx_kp_s_mpi4py_MPI_ExceptionP_pyx; static PyObject *__pyx_kp_s_mpi4py_MPI_Exception_pyx; static PyObject *__pyx_kp_s_mpi4py_MPI_File_pyx; static PyObject *__pyx_kp_s_mpi4py_MPI_MPI_pyx; static PyObject *__pyx_kp_s_mpi4py_MPI_asbuffer_pxi; static PyObject *__pyx_kp_s_mpi4py_MPI_atimport_pxi; static PyObject *__pyx_kp_s_mpi4py_MPI_commimpl_pxi; static PyObject *__pyx_kp_s_mpi4py_MPI_typestr_pxi; static PyObject *__pyx_kp_s_mpi4py_rc_s_unexpected_value_r; static PyObject *__pyx_n_s_multiple; static PyObject *__pyx_n_s_n; static PyObject *__pyx_n_s_name; static PyObject *__pyx_n_s_name_2; static PyObject *__pyx_n_s_nbytes; static PyObject *__pyx_n_s_ndarray; static PyObject *__pyx_n_s_ndims; static PyObject *__pyx_n_s_ne; static PyObject *__pyx_n_s_neighbor_allgather; static PyObject *__pyx_n_s_neighbor_alltoall; static PyObject *__pyx_n_s_new; static PyObject *__pyx_n_s_nlen; static PyObject *__pyx_n_s_nnodes; static PyObject *__pyx_n_s_no; static PyObject *__pyx_n_s_nonzero; static PyObject *__pyx_n_s_nopython; static PyObject *__pyx_n_s_numpy; static PyObject *__pyx_n_s_numpypy; static PyObject *__pyx_n_s_numpypy_multiarray; static PyObject *__pyx_n_s_ob_mpi; static PyObject *__pyx_n_s_obj; static PyObject *__pyx_n_s_offset; static PyObject *__pyx_n_s_op; static PyObject *__pyx_n_s_order; static PyObject *__pyx_n_s_origin; static PyObject *__pyx_kp_s_origin_expecting_a_single_elemen; static PyObject *__pyx_n_s_other; static PyObject *__pyx_n_s_outbuf; static PyObject *__pyx_n_s_p; static PyObject *__pyx_n_s_peer_comm; static PyObject *__pyx_n_s_periods; static PyObject *__pyx_n_s_pickle; static PyObject *__pyx_n_s_pop; static PyObject *__pyx_n_s_port_name; static PyObject *__pyx_n_s_position; static PyObject *__pyx_n_s_prepare; static PyObject *__pyx_n_s_print_exc; static PyObject *__pyx_n_s_probe; static PyObject *__pyx_n_s_property; static PyObject *__pyx_n_s_protocol; static PyObject *__pyx_n_s_provided; static PyObject *__pyx_n_s_psizes; static PyObject *__pyx_n_s_ptr; static PyObject *__pyx_n_s_pyx_vtable; static PyObject *__pyx_n_s_qualname; static PyObject *__pyx_n_s_query_fn; static PyObject *__pyx_n_s_r; static PyObject *__pyx_n_s_range; static PyObject *__pyx_n_s_rank; static PyObject *__pyx_n_s_ranks; static PyObject *__pyx_n_s_ranks1; static PyObject *__pyx_n_s_rc; static PyObject *__pyx_n_s_rd; static PyObject *__pyx_n_s_read_fn; static PyObject *__pyx_n_s_readonly; static PyObject *__pyx_n_s_recv; static PyObject *__pyx_n_s_recv_mprobe; static PyObject *__pyx_n_s_recvbuf; static PyObject *__pyx_n_s_recvcounts; static PyObject *__pyx_n_s_recvtag; static PyObject *__pyx_n_s_release; static PyObject *__pyx_n_s_remain_dims; static PyObject *__pyx_n_s_remote_leader; static PyObject *__pyx_n_s_reorder; static PyObject *__pyx_n_s_repr; static PyObject *__pyx_n_s_request; static PyObject *__pyx_n_s_requests; static PyObject *__pyx_n_s_required; static PyObject *__pyx_n_s_result; static PyObject *__pyx_kp_s_result_expecting_a_single_elemen; static PyObject *__pyx_n_s_resultlen; static PyObject *__pyx_n_s_root; static PyObject *__pyx_n_s_scatter; static PyObject *__pyx_n_s_self; static PyObject *__pyx_n_s_sendbuf; static PyObject *__pyx_n_s_sendobj; static PyObject *__pyx_n_s_sendtag; static PyObject *__pyx_n_s_serialized; static PyObject *__pyx_n_s_service_name; static PyObject *__pyx_n_s_set_abort_status; static PyObject *__pyx_n_s_single; static PyObject *__pyx_n_s_size; static PyObject *__pyx_n_s_sizeof; static PyObject *__pyx_n_s_sizes; static PyObject *__pyx_kp_s_slice_length_does_not_match_buff; static PyObject *__pyx_kp_s_slice_with_step_not_supported; static PyObject *__pyx_n_s_source; static PyObject *__pyx_n_s_sources; static PyObject *__pyx_n_s_sourceweights; static PyObject *__pyx_n_s_split_type; static PyObject *__pyx_n_s_starts; static PyObject *__pyx_n_s_state; static PyObject *__pyx_n_s_staticmethod; static PyObject *__pyx_n_s_status; static PyObject *__pyx_n_s_statuses; static PyObject *__pyx_n_s_stderr; static PyObject *__pyx_n_s_str; static PyObject *__pyx_n_s_stride; static PyObject *__pyx_n_s_string; static PyObject *__pyx_n_s_subsizes; static PyObject *__pyx_n_s_subversion; static PyObject *__pyx_n_s_sys; static PyObject *__pyx_n_s_tag; static PyObject *__pyx_n_s_target; static PyObject *__pyx_n_s_target_disp; static PyObject *__pyx_kp_s_target_expecting_3_items_at_most; static PyObject *__pyx_kp_s_target_expecting_integral_or_lis; static PyObject *__pyx_n_s_target_rank; static PyObject *__pyx_n_s_tc; static PyObject *__pyx_n_s_testall; static PyObject *__pyx_n_s_testany; static PyObject *__pyx_n_s_thread; static PyObject *__pyx_n_s_thread_2; static PyObject *__pyx_n_s_thread_level; static PyObject *__pyx_n_s_threaded; static PyObject *__pyx_n_s_threads; static PyObject *__pyx_n_s_tmp; static PyObject *__pyx_n_s_traceback; static PyObject *__pyx_n_s_typeclass; static PyObject *__pyx_n_s_typecode; static PyObject *__pyx_n_s_typecode_2; static PyObject *__pyx_n_s_typedict; static PyObject *__pyx_n_s_typedict_c; static PyObject *__pyx_n_s_typedict_f; static PyObject *__pyx_kp_s_unorderable_type_s_s; static PyObject *__pyx_n_s_value; static PyObject *__pyx_n_s_version; static PyObject *__pyx_n_s_waitall; static PyObject *__pyx_n_s_waitany; static PyObject *__pyx_n_s_warn; static PyObject *__pyx_n_s_warnings; static PyObject *__pyx_n_s_weights; static PyObject *__pyx_n_s_whence; static PyObject *__pyx_n_s_win; static PyObject *__pyx_n_s_wr; static PyObject *__pyx_n_s_write_fn; static PyObject *__pyx_n_s_x; static PyObject *__pyx_n_s_xs; static PyObject *__pyx_n_s_y; static PyObject *__pyx_n_s_yes; static PyObject *__pyx_pf_6mpi4py_3MPI__set_abort_status(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_status); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6memory___cinit__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self); /* proto */ static void __pyx_pf_6mpi4py_3MPI_6memory_2__dealloc__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_4frombuffer(PyObject *__pyx_v_obj, int __pyx_v_readonly); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_6fromaddress(PyObject *__pyx_v_address, PyObject *__pyx_v_nbytes, int __pyx_v_readonly); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_7address___get__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_6nbytes___get__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_8readonly___get__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_8tobytes(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_10release(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6memory_12__getbuffer__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self, Py_buffer *__pyx_v_view, int __pyx_v_flags); /* proto */ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_6memory_14__getsegcount__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self, Py_ssize_t *__pyx_v_lenp); /* proto */ #endif #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_6memory_16__getreadbuffer__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_p); /* proto */ #endif #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_6memory_18__getwritebuffer__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_p); /* proto */ #endif static Py_ssize_t __pyx_pf_6mpi4py_3MPI_6memory_20__len__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_22__getitem__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self, PyObject *__pyx_v_item); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6memory_24__setitem__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6_p_mem___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_mem *__pyx_v_self); /* proto */ static void __pyx_pf_6mpi4py_3MPI_6_p_mem_2__dealloc__(struct __pyx_obj_6mpi4py_3MPI__p_mem *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_7_p_greq___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_greq *__pyx_v_self, PyObject *__pyx_v_query_fn, PyObject *__pyx_v_free_fn, PyObject *__pyx_v_cancel_fn, PyObject *__pyx_v_args, PyObject *__pyx_v_kargs); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_2_lock_table(CYTHON_UNUSED PyObject *__pyx_self, struct PyMPICommObject *__pyx_v_comm); /* proto */ static int __pyx_pf_6mpi4py_3MPI_10_p_datarep___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_datarep *__pyx_v_self, PyObject *__pyx_v_read_fn, PyObject *__pyx_v_write_fn, PyObject *__pyx_v_extent_fn); /* proto */ static int __pyx_pf_6mpi4py_3MPI_9_p_keyval___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self, PyObject *__pyx_v_copy_fn, PyObject *__pyx_v_delete_fn, PyObject *__pyx_v_nopython); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9_p_keyval_7copy_fn___get__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_9_p_keyval_7copy_fn_2__set__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ static int __pyx_pf_6mpi4py_3MPI_9_p_keyval_7copy_fn_4__del__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9_p_keyval_9delete_fn___get__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_9_p_keyval_9delete_fn_2__set__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ static int __pyx_pf_6mpi4py_3MPI_9_p_keyval_9delete_fn_4__del__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9_p_keyval_8nopython___get__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_9_p_keyval_8nopython_2__set__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ static int __pyx_pf_6mpi4py_3MPI_10_p_msg_p2p___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_10_p_msg_cco___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_11_p_msg_ccow___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_10_p_msg_rma___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_9_p_msg_io___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6Pickle___cinit__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6Pickle_2__init__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_dumps, PyObject *__pyx_v_loads, PyObject *__pyx_v_protocol); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Pickle_4dumps(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_obj); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Pickle_6loads(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Pickle_8PROTOCOL___get__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6Pickle_8PROTOCOL_2__set__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_protocol); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, int __pyx_v_ierr); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_2__eq__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_error); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_4__ne__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_error); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_6__lt__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_error); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_8__le__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_error); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_10__gt__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_error); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_12__ge__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_error); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_14__hash__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_16__bool__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_18__int__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_20__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_22__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_24Get_error_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_26Get_error_class(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_28Get_error_string(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Get_error_class(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_errorcode); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Get_error_string(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_errorcode); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Add_error_class(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_10Add_error_code(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_errorclass); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_12Add_error_string(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_errorcode, PyObject *__pyx_v_string); /* proto */ static int __pyx_pf_6mpi4py_3MPI_10Errhandler___cinit__(struct PyMPIErrhandlerObject *__pyx_v_self, struct PyMPIErrhandlerObject *__pyx_v_errhandler); /* proto */ static void __pyx_pf_6mpi4py_3MPI_10Errhandler_2__dealloc__(struct PyMPIErrhandlerObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_10Errhandler_4__richcmp__(struct PyMPIErrhandlerObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /* proto */ static int __pyx_pf_6mpi4py_3MPI_10Errhandler_6__bool__(struct PyMPIErrhandlerObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_10Errhandler_8Free(struct PyMPIErrhandlerObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_10Errhandler_10py2f(struct PyMPIErrhandlerObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_10Errhandler_12f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg); /* proto */ static int __pyx_pf_6mpi4py_3MPI_8Datatype___cinit__(struct PyMPIDatatypeObject *__pyx_v_self, struct PyMPIDatatypeObject *__pyx_v_datatype); /* proto */ static void __pyx_pf_6mpi4py_3MPI_8Datatype_2__dealloc__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_4__richcmp__(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /* proto */ static int __pyx_pf_6mpi4py_3MPI_8Datatype_6__bool__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_8Get_size(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_4size___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_10Get_extent(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_6extent___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_2lb___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_2ub___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_12Dup(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_14Create_contiguous(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_count); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_16Create_vector(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_count, int __pyx_v_blocklength, int __pyx_v_stride); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_18Create_hvector(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_count, int __pyx_v_blocklength, MPI_Aint __pyx_v_stride); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_20Create_indexed(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_blocklengths, PyObject *__pyx_v_displacements); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_22Create_hindexed(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_blocklengths, PyObject *__pyx_v_displacements); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_24Create_indexed_block(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_blocklength, PyObject *__pyx_v_displacements); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_26Create_hindexed_block(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_blocklength, PyObject *__pyx_v_displacements); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_28Create_struct(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_blocklengths, PyObject *__pyx_v_displacements, PyObject *__pyx_v_datatypes); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_30Create_subarray(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_sizes, PyObject *__pyx_v_subsizes, PyObject *__pyx_v_starts, int __pyx_v_order); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_32Create_darray(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_size, int __pyx_v_rank, PyObject *__pyx_v_gsizes, PyObject *__pyx_v_distribs, PyObject *__pyx_v_dargs, PyObject *__pyx_v_psizes, int __pyx_v_order); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_34Create_f90_integer(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_r); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_36Create_f90_real(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_p, int __pyx_v_r); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_38Create_f90_complex(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_p, int __pyx_v_r); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_40Match_size(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_typeclass, int __pyx_v_size); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_42Commit(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_44Free(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_46Create_resized(struct PyMPIDatatypeObject *__pyx_v_self, MPI_Aint __pyx_v_lb, MPI_Aint __pyx_v_extent); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_48Get_true_extent(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_11true_extent___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_7true_lb___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_7true_ub___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_50Get_envelope(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_8envelope___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_52Get_contents(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_8contents___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_54decode(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_8combiner___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_8is_named___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_13is_predefined___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_56Pack(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_inbuf, PyObject *__pyx_v_outbuf, int __pyx_v_position, struct PyMPICommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_58Unpack(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_inbuf, int __pyx_v_position, PyObject *__pyx_v_outbuf, struct PyMPICommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_60Pack_size(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_count, struct PyMPICommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_62Pack_external(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_datarep, PyObject *__pyx_v_inbuf, PyObject *__pyx_v_outbuf, MPI_Aint __pyx_v_position); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_64Unpack_external(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_datarep, PyObject *__pyx_v_inbuf, MPI_Aint __pyx_v_position, PyObject *__pyx_v_outbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_66Pack_external_size(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_datarep, int __pyx_v_count); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_68Get_attr(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_keyval); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_70Set_attr(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_keyval, PyObject *__pyx_v_attrval); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_72Delete_attr(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_keyval); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_74Create_keyval(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_copy_fn, PyObject *__pyx_v_delete_fn, PyObject *__pyx_v_nopython); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_76Free_keyval(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_keyval); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_78Get_name(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_80Set_name(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_name); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_4name___get__(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_8Datatype_4name_2__set__(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_82py2f(struct PyMPIDatatypeObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_84f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_14Get_address(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_location); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_16Aint_add(CYTHON_UNUSED PyObject *__pyx_self, MPI_Aint __pyx_v_base, MPI_Aint __pyx_v_disp); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_18Aint_diff(CYTHON_UNUSED PyObject *__pyx_self, MPI_Aint __pyx_v_addr1, MPI_Aint __pyx_v_addr2); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_20_typecode(CYTHON_UNUSED PyObject *__pyx_self, struct PyMPIDatatypeObject *__pyx_v_datatype); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6Status___cinit__(struct PyMPIStatusObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_2__richcmp__(struct PyMPIStatusObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_4Get_source(struct PyMPIStatusObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_6Set_source(struct PyMPIStatusObject *__pyx_v_self, int __pyx_v_source); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_6source___get__(struct PyMPIStatusObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6Status_6source_2__set__(struct PyMPIStatusObject *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_8Get_tag(struct PyMPIStatusObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_10Set_tag(struct PyMPIStatusObject *__pyx_v_self, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_3tag___get__(struct PyMPIStatusObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6Status_3tag_2__set__(struct PyMPIStatusObject *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_12Get_error(struct PyMPIStatusObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_14Set_error(struct PyMPIStatusObject *__pyx_v_self, int __pyx_v_error); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_5error___get__(struct PyMPIStatusObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6Status_5error_2__set__(struct PyMPIStatusObject *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_16Get_count(struct PyMPIStatusObject *__pyx_v_self, struct PyMPIDatatypeObject *__pyx_v_datatype); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_5count___get__(struct PyMPIStatusObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_18Get_elements(struct PyMPIStatusObject *__pyx_v_self, struct PyMPIDatatypeObject *__pyx_v_datatype); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_20Set_elements(struct PyMPIStatusObject *__pyx_v_self, struct PyMPIDatatypeObject *__pyx_v_datatype, MPI_Count __pyx_v_count); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_22Is_cancelled(struct PyMPIStatusObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_24Set_cancelled(struct PyMPIStatusObject *__pyx_v_self, int __pyx_v_flag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_9cancelled___get__(struct PyMPIStatusObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6Status_9cancelled_2__set__(struct PyMPIStatusObject *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_26py2f(struct PyMPIStatusObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_28f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg); /* proto */ static int __pyx_pf_6mpi4py_3MPI_7Request___cinit__(struct PyMPIRequestObject *__pyx_v_self, struct PyMPIRequestObject *__pyx_v_request); /* proto */ static void __pyx_pf_6mpi4py_3MPI_7Request_2__dealloc__(struct PyMPIRequestObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_4__richcmp__(struct PyMPIRequestObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /* proto */ static int __pyx_pf_6mpi4py_3MPI_7Request_6__bool__(struct PyMPIRequestObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_8Wait(struct PyMPIRequestObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_10Test(struct PyMPIRequestObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_12Free(struct PyMPIRequestObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_14Get_status(struct PyMPIRequestObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_16Waitany(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_18Testany(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_20Waitall(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_22Testall(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_24Waitsome(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_26Testsome(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_28Cancel(struct PyMPIRequestObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_30py2f(struct PyMPIRequestObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_32f2py(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_34wait(struct PyMPIRequestObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_36test(struct PyMPIRequestObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_38waitany(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_40testany(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_42waitall(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_44testall(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses); /* proto */ static int __pyx_pf_6mpi4py_3MPI_8Prequest___cinit__(struct PyMPIPrequestObject *__pyx_v_self, struct PyMPIRequestObject *__pyx_v_request); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Prequest_2Start(struct PyMPIPrequestObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Prequest_4Startall(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests); /* proto */ static int __pyx_pf_6mpi4py_3MPI_8Grequest___cinit__(struct PyMPIGrequestObject *__pyx_v_self, struct PyMPIRequestObject *__pyx_v_request); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Grequest_2Start(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_query_fn, PyObject *__pyx_v_free_fn, PyObject *__pyx_v_cancel_fn, PyObject *__pyx_v_args, PyObject *__pyx_v_kargs); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Grequest_4Complete(struct PyMPIGrequestObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_7Message___cinit__(struct PyMPIMessageObject *__pyx_v_self, struct PyMPIMessageObject *__pyx_v_message); /* proto */ static void __pyx_pf_6mpi4py_3MPI_7Message_2__dealloc__(struct PyMPIMessageObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_4__richcmp__(struct PyMPIMessageObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /* proto */ static int __pyx_pf_6mpi4py_3MPI_7Message_6__bool__(struct PyMPIMessageObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_8Probe(PyTypeObject *__pyx_v_cls, struct PyMPICommObject *__pyx_v_comm, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_10Iprobe(PyTypeObject *__pyx_v_cls, struct PyMPICommObject *__pyx_v_comm, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_12Recv(struct PyMPIMessageObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_14Irecv(struct PyMPIMessageObject *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_16probe(PyTypeObject *__pyx_v_cls, struct PyMPICommObject *__pyx_v_comm, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_18iprobe(PyTypeObject *__pyx_v_cls, struct PyMPICommObject *__pyx_v_comm, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_20recv(struct PyMPIMessageObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_22irecv(struct PyMPIMessageObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_24py2f(struct PyMPIMessageObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_26f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4Info___cinit__(struct PyMPIInfoObject *__pyx_v_self, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static void __pyx_pf_6mpi4py_3MPI_4Info_2__dealloc__(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_4__richcmp__(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4Info_6__bool__(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_8Create(CYTHON_UNUSED PyTypeObject *__pyx_v_cls); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_10Free(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_12Dup(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_14Get(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key, int __pyx_v_maxlen); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_16Set(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_18Delete(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_20Get_nkeys(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_22Get_nthkey(struct PyMPIInfoObject *__pyx_v_self, int __pyx_v_n); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_24py2f(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_26f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg); /* proto */ static Py_ssize_t __pyx_pf_6mpi4py_3MPI_4Info_28__len__(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4Info_30__contains__(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_32__iter__(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_34__getitem__(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4Info_36__setitem__(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4Info_38__delitem__(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_40get(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_42keys(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_44values(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_46items(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_48update(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_kwds); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_50copy(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_52clear(struct PyMPIInfoObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_2Op___cinit__(struct PyMPIOpObject *__pyx_v_self, struct PyMPIOpObject *__pyx_v_op); /* proto */ static void __pyx_pf_6mpi4py_3MPI_2Op_2__dealloc__(struct PyMPIOpObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_4__richcmp__(struct PyMPIOpObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /* proto */ static int __pyx_pf_6mpi4py_3MPI_2Op_6__bool__(struct PyMPIOpObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_8__call__(struct PyMPIOpObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_y); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_10Create(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_function, int __pyx_v_commute); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_12Free(struct PyMPIOpObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_14Is_commutative(struct PyMPIOpObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_14is_commutative___get__(struct PyMPIOpObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_16Reduce_local(struct PyMPIOpObject *__pyx_v_self, PyObject *__pyx_v_inbuf, PyObject *__pyx_v_inoutbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_13is_predefined___get__(struct PyMPIOpObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_18py2f(struct PyMPIOpObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_20f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg); /* proto */ static int __pyx_pf_6mpi4py_3MPI_5Group___cinit__(struct PyMPIGroupObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group); /* proto */ static void __pyx_pf_6mpi4py_3MPI_5Group_2__dealloc__(struct PyMPIGroupObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_4__richcmp__(struct PyMPIGroupObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /* proto */ static int __pyx_pf_6mpi4py_3MPI_5Group_6__bool__(struct PyMPIGroupObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_8Get_size(struct PyMPIGroupObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_4size___get__(struct PyMPIGroupObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_10Get_rank(struct PyMPIGroupObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_4rank___get__(struct PyMPIGroupObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_12Translate_ranks(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIGroupObject *__pyx_v_group1, PyObject *__pyx_v_ranks1, struct PyMPIGroupObject *__pyx_v_group2); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_14Compare(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIGroupObject *__pyx_v_group1, struct PyMPIGroupObject *__pyx_v_group2); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_16Dup(struct PyMPIGroupObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_18Union(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIGroupObject *__pyx_v_group1, struct PyMPIGroupObject *__pyx_v_group2); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_20Intersection(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIGroupObject *__pyx_v_group1, struct PyMPIGroupObject *__pyx_v_group2); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_22Difference(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIGroupObject *__pyx_v_group1, struct PyMPIGroupObject *__pyx_v_group2); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_24Incl(struct PyMPIGroupObject *__pyx_v_self, PyObject *__pyx_v_ranks); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_26Excl(struct PyMPIGroupObject *__pyx_v_self, PyObject *__pyx_v_ranks); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_28Range_incl(struct PyMPIGroupObject *__pyx_v_self, PyObject *__pyx_v_ranks); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_30Range_excl(struct PyMPIGroupObject *__pyx_v_self, PyObject *__pyx_v_ranks); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_32Free(struct PyMPIGroupObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_34py2f(struct PyMPIGroupObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_36f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4Comm___cinit__(struct PyMPICommObject *__pyx_v_self, struct PyMPICommObject *__pyx_v_comm); /* proto */ static void __pyx_pf_6mpi4py_3MPI_4Comm_2__dealloc__(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_4__richcmp__(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4Comm_6__bool__(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_8Get_group(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_5group___get__(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_10Get_size(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_4size___get__(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_12Get_rank(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_4rank___get__(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_14Compare(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPICommObject *__pyx_v_comm1, struct PyMPICommObject *__pyx_v_comm2); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_16Clone(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_18Dup(struct PyMPICommObject *__pyx_v_self, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_20Dup_with_info(struct PyMPICommObject *__pyx_v_self, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_22Idup(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_24Create(struct PyMPICommObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_26Create_group(struct PyMPICommObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_28Split(struct PyMPICommObject *__pyx_v_self, int __pyx_v_color, int __pyx_v_key); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_30Split_type(struct PyMPICommObject *__pyx_v_self, int __pyx_v_split_type, int __pyx_v_key, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_32Free(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_34Set_info(struct PyMPICommObject *__pyx_v_self, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_36Get_info(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_4info___get__(struct PyMPICommObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4Comm_4info_2__set__(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_38Send(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_40Recv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_42Sendrecv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, int __pyx_v_dest, int __pyx_v_sendtag, PyObject *__pyx_v_recvbuf, int __pyx_v_source, int __pyx_v_recvtag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_44Sendrecv_replace(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_sendtag, int __pyx_v_source, int __pyx_v_recvtag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_46Isend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_48Irecv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_source, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_50Probe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_52Iprobe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_54Mprobe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_56Improbe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_58Send_init(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_60Recv_init(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_source, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_62Bsend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_64Ssend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_66Rsend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_68Ibsend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_70Issend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_72Irsend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_74Bsend_init(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_76Ssend_init(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_78Rsend_init(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_80Barrier(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_82Bcast(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_84Gather(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_86Gatherv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_88Scatter(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_90Scatterv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_92Allgather(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_94Allgatherv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_96Alltoall(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_98Alltoallv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_100Alltoallw(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_102Reduce(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_104Allreduce(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_106Reduce_scatter_block(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_108Reduce_scatter(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, PyObject *__pyx_v_recvcounts, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_110Ibarrier(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_112Ibcast(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_114Igather(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_116Igatherv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_118Iscatter(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_120Iscatterv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_122Iallgather(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_124Iallgatherv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_126Ialltoall(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_128Ialltoallv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_130Ialltoallw(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_132Ireduce(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_134Iallreduce(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_136Ireduce_scatter_block(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_138Ireduce_scatter(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, PyObject *__pyx_v_recvcounts, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_140Is_inter(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_8is_inter___get__(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_142Is_intra(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_8is_intra___get__(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_144Get_topology(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_8topology___get__(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_7is_topo___get__(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_146Get_parent(CYTHON_UNUSED PyTypeObject *__pyx_v_cls); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_148Disconnect(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_150Join(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_fd); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_152Get_attr(struct PyMPICommObject *__pyx_v_self, int __pyx_v_keyval); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_154Set_attr(struct PyMPICommObject *__pyx_v_self, int __pyx_v_keyval, PyObject *__pyx_v_attrval); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_156Delete_attr(struct PyMPICommObject *__pyx_v_self, int __pyx_v_keyval); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_158Create_keyval(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_copy_fn, PyObject *__pyx_v_delete_fn, PyObject *__pyx_v_nopython); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_160Free_keyval(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_keyval); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_162Get_errhandler(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_164Set_errhandler(struct PyMPICommObject *__pyx_v_self, struct PyMPIErrhandlerObject *__pyx_v_errhandler); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_166Call_errhandler(struct PyMPICommObject *__pyx_v_self, int __pyx_v_errorcode); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_168Abort(struct PyMPICommObject *__pyx_v_self, int __pyx_v_errorcode); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_170Get_name(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_172Set_name(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_name); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_4name___get__(struct PyMPICommObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4Comm_4name_2__set__(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_174py2f(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_176f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_178send(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_180bsend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_182ssend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_184recv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_186sendrecv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, int __pyx_v_dest, int __pyx_v_sendtag, PyObject *__pyx_v_recvbuf, int __pyx_v_source, int __pyx_v_recvtag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_188isend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_190ibsend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_192issend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_194irecv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_source, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_196probe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_198iprobe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_200mprobe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_202improbe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_204barrier(struct PyMPICommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_206bcast(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_208gather(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_210scatter(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_212allgather(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_214alltoall(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_216reduce(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_218allreduce(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op); /* proto */ static int __pyx_pf_6mpi4py_3MPI_9Intracomm___cinit__(struct PyMPIIntracommObject *__pyx_v_self, CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_2Create_cart(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_dims, PyObject *__pyx_v_periods, int __pyx_v_reorder); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_4Create_graph(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_edges, int __pyx_v_reorder); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_6Create_dist_graph_adjacent(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sources, PyObject *__pyx_v_destinations, PyObject *__pyx_v_sourceweights, PyObject *__pyx_v_destweights, struct PyMPIInfoObject *__pyx_v_info, int __pyx_v_reorder); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_8Create_dist_graph(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sources, PyObject *__pyx_v_degrees, PyObject *__pyx_v_destinations, PyObject *__pyx_v_weights, struct PyMPIInfoObject *__pyx_v_info, int __pyx_v_reorder); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_10Create_intercomm(struct PyMPIIntracommObject *__pyx_v_self, int __pyx_v_local_leader, struct PyMPIIntracommObject *__pyx_v_peer_comm, int __pyx_v_remote_leader, int __pyx_v_tag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_12Cart_map(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_dims, PyObject *__pyx_v_periods); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_14Graph_map(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_edges); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_16Scan(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_18Exscan(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_20Iscan(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_22Iexscan(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_24scan(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_26exscan(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_28Spawn(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_command, PyObject *__pyx_v_args, int __pyx_v_maxprocs, struct PyMPIInfoObject *__pyx_v_info, int __pyx_v_root, PyObject *__pyx_v_errcodes); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_30Spawn_multiple(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_command, PyObject *__pyx_v_args, PyObject *__pyx_v_maxprocs, PyObject *__pyx_v_info, int __pyx_v_root, PyObject *__pyx_v_errcodes); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_32Accept(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_port_name, struct PyMPIInfoObject *__pyx_v_info, int __pyx_v_root); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_34Connect(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_port_name, struct PyMPIInfoObject *__pyx_v_info, int __pyx_v_root); /* proto */ static int __pyx_pf_6mpi4py_3MPI_8Topocomm___cinit__(struct PyMPITopocommObject *__pyx_v_self, CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_7degrees___get__(struct PyMPITopocommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_8indegree___get__(struct PyMPITopocommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_9outdegree___get__(struct PyMPITopocommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_10inoutedges___get__(struct PyMPITopocommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_7inedges___get__(struct PyMPITopocommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_8outedges___get__(struct PyMPITopocommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_2Neighbor_allgather(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_4Neighbor_allgatherv(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_6Neighbor_alltoall(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_8Neighbor_alltoallv(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_10Neighbor_alltoallw(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_12Ineighbor_allgather(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_14Ineighbor_allgatherv(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_16Ineighbor_alltoall(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_18Ineighbor_alltoallv(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_20Ineighbor_alltoallw(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_22neighbor_allgather(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendobj); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_24neighbor_alltoall(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendobj); /* proto */ static int __pyx_pf_6mpi4py_3MPI_8Cartcomm___cinit__(struct PyMPICartcommObject *__pyx_v_self, CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_2Get_dim(struct PyMPICartcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_3dim___get__(struct PyMPICartcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_4ndim___get__(struct PyMPICartcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_4Get_topo(struct PyMPICartcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_4topo___get__(struct PyMPICartcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_4dims___get__(struct PyMPICartcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_7periods___get__(struct PyMPICartcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_6coords___get__(struct PyMPICartcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_6Get_cart_rank(struct PyMPICartcommObject *__pyx_v_self, PyObject *__pyx_v_coords); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_8Get_coords(struct PyMPICartcommObject *__pyx_v_self, int __pyx_v_rank); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_10Shift(struct PyMPICartcommObject *__pyx_v_self, int __pyx_v_direction, int __pyx_v_disp); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_12Sub(struct PyMPICartcommObject *__pyx_v_self, PyObject *__pyx_v_remain_dims); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_22Compute_dims(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_nnodes, PyObject *__pyx_v_dims); /* proto */ static int __pyx_pf_6mpi4py_3MPI_9Graphcomm___cinit__(struct PyMPIGraphcommObject *__pyx_v_self, CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_2Get_dims(struct PyMPIGraphcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_4dims___get__(struct PyMPIGraphcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_6nnodes___get__(struct PyMPIGraphcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_6nedges___get__(struct PyMPIGraphcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_4Get_topo(struct PyMPIGraphcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_4topo___get__(struct PyMPIGraphcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_5index___get__(struct PyMPIGraphcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_5edges___get__(struct PyMPIGraphcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_6Get_neighbors_count(struct PyMPIGraphcommObject *__pyx_v_self, int __pyx_v_rank); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_10nneighbors___get__(struct PyMPIGraphcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_8Get_neighbors(struct PyMPIGraphcommObject *__pyx_v_self, int __pyx_v_rank); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_9neighbors___get__(struct PyMPIGraphcommObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_13Distgraphcomm___cinit__(struct PyMPIDistgraphcommObject *__pyx_v_self, CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_13Distgraphcomm_2Get_dist_neighbors_count(struct PyMPIDistgraphcommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_13Distgraphcomm_4Get_dist_neighbors(struct PyMPIDistgraphcommObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_9Intercomm___cinit__(struct PyMPIIntercommObject *__pyx_v_self, CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intercomm_2Get_remote_group(struct PyMPIIntercommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intercomm_12remote_group___get__(struct PyMPIIntercommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intercomm_4Get_remote_size(struct PyMPIIntercommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intercomm_11remote_size___get__(struct PyMPIIntercommObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9Intercomm_6Merge(struct PyMPIIntercommObject *__pyx_v_self, int __pyx_v_high); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_24Attach_buffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_26Detach_buffer(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_28Open_port(CYTHON_UNUSED PyObject *__pyx_self, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_30Close_port(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_port_name); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_32Publish_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_service_name, PyObject *__pyx_v_port_name, PyObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_34Unpublish_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_service_name, PyObject *__pyx_v_port_name, PyObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_36Lookup_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_service_name, PyObject *__pyx_v_info); /* proto */ static int __pyx_pf_6mpi4py_3MPI_3Win___cinit__(struct PyMPIWinObject *__pyx_v_self, struct PyMPIWinObject *__pyx_v_win); /* proto */ static void __pyx_pf_6mpi4py_3MPI_3Win_2__dealloc__(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_4__richcmp__(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /* proto */ static int __pyx_pf_6mpi4py_3MPI_3Win_6__bool__(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_8Create(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_memory, int __pyx_v_disp_unit, struct PyMPIInfoObject *__pyx_v_info, struct PyMPIIntracommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_10Allocate(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, MPI_Aint __pyx_v_size, int __pyx_v_disp_unit, struct PyMPIInfoObject *__pyx_v_info, struct PyMPIIntracommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_12Allocate_shared(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, MPI_Aint __pyx_v_size, int __pyx_v_disp_unit, struct PyMPIInfoObject *__pyx_v_info, struct PyMPIIntracommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_14Shared_query(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_16Create_dynamic(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIInfoObject *__pyx_v_info, struct PyMPIIntracommObject *__pyx_v_comm); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_18Attach(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_memory); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_20Detach(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_memory); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_22Free(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_24Set_info(struct PyMPIWinObject *__pyx_v_self, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_26Get_info(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_4info___get__(struct PyMPIWinObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_3Win_4info_2__set__(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_28Get_group(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_5group___get__(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_30Get_attr(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_keyval); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_32Set_attr(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_keyval, PyObject *__pyx_v_attrval); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_34Delete_attr(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_keyval); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_36Create_keyval(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_copy_fn, PyObject *__pyx_v_delete_fn, PyObject *__pyx_v_nopython); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_38Free_keyval(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_keyval); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_5attrs___get__(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_6flavor___get__(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_5model___get__(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_40tomemory(struct PyMPIWinObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_3Win_42__getbuffer__(struct PyMPIWinObject *__pyx_v_self, Py_buffer *__pyx_v_view, int __pyx_v_flags); /* proto */ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_3Win_44__getsegcount__(struct PyMPIWinObject *__pyx_v_self, Py_ssize_t *__pyx_v_lenp); /* proto */ #endif #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_3Win_46__getreadbuffer__(struct PyMPIWinObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_bufp); /* proto */ #endif #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_3Win_48__getwritebuffer__(struct PyMPIWinObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_bufp); /* proto */ #endif static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_50Put(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_target_rank, PyObject *__pyx_v_target); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_52Get(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_target_rank, PyObject *__pyx_v_target); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_54Accumulate(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_target_rank, PyObject *__pyx_v_target, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_56Get_accumulate(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_result, int __pyx_v_target_rank, PyObject *__pyx_v_target, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_58Fetch_and_op(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_result, int __pyx_v_target_rank, MPI_Aint __pyx_v_target_disp, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_60Compare_and_swap(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_compare, PyObject *__pyx_v_result, int __pyx_v_target_rank, MPI_Aint __pyx_v_target_disp); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_62Rput(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_target_rank, PyObject *__pyx_v_target); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_64Rget(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_target_rank, PyObject *__pyx_v_target); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_66Raccumulate(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_target_rank, PyObject *__pyx_v_target, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_68Rget_accumulate(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_result, int __pyx_v_target_rank, PyObject *__pyx_v_target, struct PyMPIOpObject *__pyx_v_op); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_70Fence(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_assertion); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_72Start(struct PyMPIWinObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group, int __pyx_v_assertion); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_74Complete(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_76Post(struct PyMPIWinObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group, int __pyx_v_assertion); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_78Wait(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_80Test(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_82Lock(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank, int __pyx_v_lock_type, int __pyx_v_assertion); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_84Unlock(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_86Lock_all(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_assertion); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_88Unlock_all(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_90Flush(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_92Flush_all(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_94Flush_local(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_96Flush_local_all(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_98Sync(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_100Get_errhandler(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_102Set_errhandler(struct PyMPIWinObject *__pyx_v_self, struct PyMPIErrhandlerObject *__pyx_v_errhandler); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_104Call_errhandler(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_errorcode); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_106Get_name(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_108Set_name(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_name); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_4name___get__(struct PyMPIWinObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_3Win_4name_2__set__(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_110py2f(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_112f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4File___cinit__(struct PyMPIFileObject *__pyx_v_self, struct PyMPIFileObject *__pyx_v_file); /* proto */ static void __pyx_pf_6mpi4py_3MPI_4File_2__dealloc__(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_4__richcmp__(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4File_6__bool__(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_8Open(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIIntracommObject *__pyx_v_comm, PyObject *__pyx_v_filename, int __pyx_v_amode, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_10Close(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_12Delete(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_filename, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_14Set_size(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_size); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_16Preallocate(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_size); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_18Get_size(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_4size___get__(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_20Get_amode(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_5amode___get__(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_22Get_group(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_5group___get__(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_24Set_info(struct PyMPIFileObject *__pyx_v_self, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_26Get_info(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_4info___get__(struct PyMPIFileObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4File_4info_2__set__(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_28Set_view(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_disp, struct PyMPIDatatypeObject *__pyx_v_etype, struct PyMPIDatatypeObject *__pyx_v_filetype, PyObject *__pyx_v_datarep, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_30Get_view(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_32Read_at(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_34Read_at_all(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_36Write_at(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_38Write_at_all(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_40Iread_at(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_42Iread_at_all(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_44Iwrite_at(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_46Iwrite_at_all(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_48Read(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_50Read_all(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_52Write(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_54Write_all(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_56Iread(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_58Iread_all(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_60Iwrite(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_62Iwrite_all(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_64Seek(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, int __pyx_v_whence); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_66Get_position(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_68Get_byte_offset(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_70Read_shared(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_72Write_shared(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_74Iread_shared(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_76Iwrite_shared(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_78Read_ordered(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_80Write_ordered(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_82Seek_shared(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, int __pyx_v_whence); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_84Get_position_shared(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_86Read_at_all_begin(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_88Read_at_all_end(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_90Write_at_all_begin(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_92Write_at_all_end(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_94Read_all_begin(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_96Read_all_end(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_98Write_all_begin(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_100Write_all_end(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_102Read_ordered_begin(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_104Read_ordered_end(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_106Write_ordered_begin(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_108Write_ordered_end(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_110Get_type_extent(struct PyMPIFileObject *__pyx_v_self, struct PyMPIDatatypeObject *__pyx_v_datatype); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_112Set_atomicity(struct PyMPIFileObject *__pyx_v_self, int __pyx_v_flag); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_114Get_atomicity(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_9atomicity___get__(struct PyMPIFileObject *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_4File_9atomicity_2__set__(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_116Sync(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_118Get_errhandler(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_120Set_errhandler(struct PyMPIFileObject *__pyx_v_self, struct PyMPIErrhandlerObject *__pyx_v_errhandler); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_122Call_errhandler(struct PyMPIFileObject *__pyx_v_self, int __pyx_v_errorcode); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_124py2f(struct PyMPIFileObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4File_126f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_38Register_datarep(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_datarep, PyObject *__pyx_v_read_fn, PyObject *__pyx_v_write_fn, PyObject *__pyx_v_extent_fn); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_40Alloc_mem(CYTHON_UNUSED PyObject *__pyx_self, MPI_Aint __pyx_v_size, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_42Free_mem(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mem); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_44Init(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_46Finalize(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_48Init_thread(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_required); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_50Query_thread(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_52Is_thread_main(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_54Is_initialized(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_56Is_finalized(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_58Get_version(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_60Get_library_version(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_62Get_processor_name(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_64Wtime(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_66Wtick(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_68Pcontrol(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_level); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_70get_vendor(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_72_sizeof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arg); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_74_addressof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arg); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_76_handleof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arg); /* proto */ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Status(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Datatype(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Request(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Prequest(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Grequest(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Message(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Op(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Group(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Info(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Errhandler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Comm(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Intracomm(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Topocomm(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Cartcomm(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Graphcomm(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Distgraphcomm(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Intercomm(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Win(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_File(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_memory(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_mem(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_greq(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_datarep(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_keyval(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_message(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_msg_p2p(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_msg_cco(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_msg_ccow(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_msg_rma(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_msg_io(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_6mpi4py_3MPI_Pickle(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_get = {0, &__pyx_n_s_get, 0, 0, 0}; static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items = {0, &__pyx_n_s_items, 0, 0, 0}; static __Pyx_CachedCFunction __pyx_umethod_PyList_Type_index = {0, &__pyx_n_s_index, 0, 0, 0}; static PyObject *__pyx_int_0; static PyObject *__pyx_int_1; static PyObject *__pyx_int_2; static PyObject *__pyx_int_neg_1; static int __pyx_k__26; static int __pyx_k__27; static struct PyMPIDatatypeObject *__pyx_k__28; static int __pyx_k__29; static int __pyx_k__30; static int __pyx_k__31; static int __pyx_k__32; static int __pyx_k__33; static int __pyx_k__34; static int __pyx_k__35; static int __pyx_k__36; static struct PyMPIInfoObject *__pyx_k__38; static int __pyx_k__39; static int __pyx_k__40; static int __pyx_k__41; static int __pyx_k__42; static int __pyx_k__43; static int __pyx_k__44; static int __pyx_k__45; static int __pyx_k__46; static int __pyx_k__47; static int __pyx_k__48; static int __pyx_k__49; static int __pyx_k__50; static int __pyx_k__51; static int __pyx_k__52; static int __pyx_k__53; static int __pyx_k__54; static int __pyx_k__55; static int __pyx_k__56; static struct PyMPIOpObject *__pyx_k__57; static struct PyMPIOpObject *__pyx_k__58; static struct PyMPIOpObject *__pyx_k__59; static struct PyMPIOpObject *__pyx_k__60; static struct PyMPIOpObject *__pyx_k__61; static struct PyMPIOpObject *__pyx_k__62; static struct PyMPIOpObject *__pyx_k__63; static struct PyMPIOpObject *__pyx_k__64; static int __pyx_k__65; static int __pyx_k__66; static int __pyx_k__67; static int __pyx_k__68; static int __pyx_k__69; static int __pyx_k__70; static int __pyx_k__71; static int __pyx_k__72; static int __pyx_k__73; static int __pyx_k__74; static int __pyx_k__75; static int __pyx_k__76; static int __pyx_k__77; static int __pyx_k__78; static PyObject *__pyx_k__79; static PyObject *__pyx_k__80; static struct PyMPIInfoObject *__pyx_k__82; static struct PyMPIInfoObject *__pyx_k__83; static struct PyMPIOpObject *__pyx_k__84; static struct PyMPIOpObject *__pyx_k__85; static struct PyMPIOpObject *__pyx_k__86; static struct PyMPIOpObject *__pyx_k__87; static PyObject *__pyx_k__88; static PyObject *__pyx_k__89; static struct PyMPIInfoObject *__pyx_k__90; static PyObject *__pyx_k__92; static struct PyMPIInfoObject *__pyx_k__93; static struct PyMPIInfoObject *__pyx_k__94; static struct PyMPIInfoObject *__pyx_k__102; static PyObject *__pyx_k__103; static PyObject *__pyx_k__104; static PyObject *__pyx_k__105; static struct PyMPIInfoObject *__pyx_k__106; static struct PyMPIIntracommObject *__pyx_k__107; static struct PyMPIInfoObject *__pyx_k__108; static struct PyMPIIntracommObject *__pyx_k__109; static struct PyMPIInfoObject *__pyx_k__110; static struct PyMPIIntracommObject *__pyx_k__111; static struct PyMPIInfoObject *__pyx_k__112; static struct PyMPIIntracommObject *__pyx_k__113; static struct PyMPIOpObject *__pyx_k__114; static struct PyMPIOpObject *__pyx_k__115; static struct PyMPIOpObject *__pyx_k__116; static struct PyMPIOpObject *__pyx_k__117; static struct PyMPIOpObject *__pyx_k__118; static int __pyx_k__119; static struct PyMPIInfoObject *__pyx_k__120; static int __pyx_k__121; static struct PyMPIInfoObject *__pyx_k__122; static struct PyMPIInfoObject *__pyx_k__123; static int __pyx_k__124; static int __pyx_k__125; static struct PyMPIInfoObject *__pyx_k__126; static int __pyx_k__127; 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__91; 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__24; static PyObject *__pyx_tuple__25; static PyObject *__pyx_tuple__37; static PyObject *__pyx_tuple__81; 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__128; static PyObject *__pyx_tuple__129; static PyObject *__pyx_tuple__130; static PyObject *__pyx_tuple__132; static PyObject *__pyx_tuple__134; static PyObject *__pyx_tuple__136; static PyObject *__pyx_tuple__138; static PyObject *__pyx_tuple__139; static PyObject *__pyx_tuple__141; static PyObject *__pyx_tuple__143; static PyObject *__pyx_tuple__145; static PyObject *__pyx_tuple__147; static PyObject *__pyx_tuple__149; static PyObject *__pyx_tuple__151; static PyObject *__pyx_tuple__153; static PyObject *__pyx_tuple__155; static PyObject *__pyx_tuple__157; static PyObject *__pyx_tuple__159; static PyObject *__pyx_tuple__161; static PyObject *__pyx_tuple__163; static PyObject *__pyx_tuple__165; static PyObject *__pyx_tuple__167; static PyObject *__pyx_tuple__169; static PyObject *__pyx_tuple__171; static PyObject *__pyx_tuple__173; static PyObject *__pyx_tuple__175; static PyObject *__pyx_tuple__177; static PyObject *__pyx_tuple__179; static PyObject *__pyx_tuple__181; static PyObject *__pyx_tuple__183; static PyObject *__pyx_tuple__185; static PyObject *__pyx_tuple__187; static PyObject *__pyx_tuple__189; static PyObject *__pyx_tuple__191; static PyObject *__pyx_tuple__193; static PyObject *__pyx_tuple__195; static PyObject *__pyx_tuple__197; static PyObject *__pyx_tuple__199; static PyObject *__pyx_tuple__201; static PyObject *__pyx_tuple__203; static PyObject *__pyx_tuple__205; static PyObject *__pyx_tuple__207; static PyObject *__pyx_tuple__211; static PyObject *__pyx_tuple__213; static PyObject *__pyx_tuple__215; static PyObject *__pyx_tuple__217; static PyObject *__pyx_tuple__219; static PyObject *__pyx_tuple__221; static PyObject *__pyx_tuple__223; static PyObject *__pyx_tuple__225; static PyObject *__pyx_tuple__229; static PyObject *__pyx_tuple__231; static PyObject *__pyx_tuple__233; static PyObject *__pyx_tuple__235; static PyObject *__pyx_tuple__237; static PyObject *__pyx_codeobj__131; static PyObject *__pyx_codeobj__133; static PyObject *__pyx_codeobj__135; static PyObject *__pyx_codeobj__137; static PyObject *__pyx_codeobj__140; static PyObject *__pyx_codeobj__142; static PyObject *__pyx_codeobj__144; static PyObject *__pyx_codeobj__146; static PyObject *__pyx_codeobj__148; static PyObject *__pyx_codeobj__150; static PyObject *__pyx_codeobj__152; static PyObject *__pyx_codeobj__154; static PyObject *__pyx_codeobj__156; static PyObject *__pyx_codeobj__158; static PyObject *__pyx_codeobj__160; static PyObject *__pyx_codeobj__162; static PyObject *__pyx_codeobj__164; static PyObject *__pyx_codeobj__166; static PyObject *__pyx_codeobj__168; static PyObject *__pyx_codeobj__170; static PyObject *__pyx_codeobj__172; static PyObject *__pyx_codeobj__174; static PyObject *__pyx_codeobj__176; static PyObject *__pyx_codeobj__178; static PyObject *__pyx_codeobj__180; static PyObject *__pyx_codeobj__182; static PyObject *__pyx_codeobj__184; static PyObject *__pyx_codeobj__186; static PyObject *__pyx_codeobj__188; static PyObject *__pyx_codeobj__190; static PyObject *__pyx_codeobj__192; static PyObject *__pyx_codeobj__194; static PyObject *__pyx_codeobj__196; static PyObject *__pyx_codeobj__198; static PyObject *__pyx_codeobj__200; static PyObject *__pyx_codeobj__202; static PyObject *__pyx_codeobj__204; static PyObject *__pyx_codeobj__206; static PyObject *__pyx_codeobj__208; static PyObject *__pyx_codeobj__209; static PyObject *__pyx_codeobj__210; static PyObject *__pyx_codeobj__212; static PyObject *__pyx_codeobj__214; static PyObject *__pyx_codeobj__216; static PyObject *__pyx_codeobj__218; static PyObject *__pyx_codeobj__220; static PyObject *__pyx_codeobj__222; static PyObject *__pyx_codeobj__224; static PyObject *__pyx_codeobj__226; static PyObject *__pyx_codeobj__227; static PyObject *__pyx_codeobj__228; static PyObject *__pyx_codeobj__230; static PyObject *__pyx_codeobj__232; static PyObject *__pyx_codeobj__234; static PyObject *__pyx_codeobj__236; static PyObject *__pyx_codeobj__238; /* Late includes */ /* "mpi4py/MPI/atimport.pxi":45 * options.errors = 1 * * cdef int warnOpt(object name, object value) except -1: # <<<<<<<<<<<<<< * cdef object warn * from warnings import warn */ static int __pyx_f_6mpi4py_3MPI_warnOpt(PyObject *__pyx_v_name, PyObject *__pyx_v_value) { PyObject *__pyx_v_warn = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("warnOpt", 0); /* "mpi4py/MPI/atimport.pxi":47 * cdef int warnOpt(object name, object value) except -1: * cdef object warn * from warnings import warn # <<<<<<<<<<<<<< * warn("mpi4py.rc: '%s': unexpected value '%r'" % (name, value)) * */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 47, __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(9, 47, __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(9, 47, __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; /* "mpi4py/MPI/atimport.pxi":48 * cdef object warn * from warnings import warn * warn("mpi4py.rc: '%s': unexpected value '%r'" % (name, value)) # <<<<<<<<<<<<<< * * cdef int getOptions(Options* opts) except -1: */ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_name); __Pyx_GIVEREF(__pyx_v_name); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_name); __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_value); __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_mpi4py_rc_s_unexpected_value_r, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_v_warn); __pyx_t_1 = __pyx_v_warn; __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_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __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_2)) __PYX_ERR(9, 48, __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; /* "mpi4py/MPI/atimport.pxi":45 * options.errors = 1 * * cdef int warnOpt(object name, object value) except -1: # <<<<<<<<<<<<<< * cdef object warn * from warnings import warn */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.warnOpt", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_warn); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/atimport.pxi":50 * warn("mpi4py.rc: '%s': unexpected value '%r'" % (name, value)) * * cdef int getOptions(Options* opts) except -1: # <<<<<<<<<<<<<< * cdef object rc * opts.initialize = 1 */ static int __pyx_f_6mpi4py_3MPI_getOptions(__pyx_t_6mpi4py_3MPI_Options *__pyx_v_opts) { PyObject *__pyx_v_rc = 0; PyObject *__pyx_v_initialize = 0; PyObject *__pyx_v_threads = 0; PyObject *__pyx_v_thread_level = 0; PyObject *__pyx_v_finalize = 0; PyObject *__pyx_v_fast_reduce = 0; PyObject *__pyx_v_recv_mprobe = 0; PyObject *__pyx_v_errors = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; int __pyx_t_8; int __pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("getOptions", 0); /* "mpi4py/MPI/atimport.pxi":52 * cdef int getOptions(Options* opts) except -1: * cdef object rc * opts.initialize = 1 # <<<<<<<<<<<<<< * opts.threads = 1 * opts.thread_level = MPI_THREAD_MULTIPLE */ __pyx_v_opts->initialize = 1; /* "mpi4py/MPI/atimport.pxi":53 * cdef object rc * opts.initialize = 1 * opts.threads = 1 # <<<<<<<<<<<<<< * opts.thread_level = MPI_THREAD_MULTIPLE * opts.finalize = 1 */ __pyx_v_opts->threads = 1; /* "mpi4py/MPI/atimport.pxi":54 * opts.initialize = 1 * opts.threads = 1 * opts.thread_level = MPI_THREAD_MULTIPLE # <<<<<<<<<<<<<< * opts.finalize = 1 * opts.fast_reduce = 1 */ __pyx_v_opts->thread_level = MPI_THREAD_MULTIPLE; /* "mpi4py/MPI/atimport.pxi":55 * opts.threads = 1 * opts.thread_level = MPI_THREAD_MULTIPLE * opts.finalize = 1 # <<<<<<<<<<<<<< * opts.fast_reduce = 1 * opts.recv_mprobe = 1 */ __pyx_v_opts->finalize = 1; /* "mpi4py/MPI/atimport.pxi":56 * opts.thread_level = MPI_THREAD_MULTIPLE * opts.finalize = 1 * opts.fast_reduce = 1 # <<<<<<<<<<<<<< * opts.recv_mprobe = 1 * opts.errors = 1 */ __pyx_v_opts->fast_reduce = 1; /* "mpi4py/MPI/atimport.pxi":57 * opts.finalize = 1 * opts.fast_reduce = 1 * opts.recv_mprobe = 1 # <<<<<<<<<<<<<< * opts.errors = 1 * try: from mpi4py import rc */ __pyx_v_opts->recv_mprobe = 1; /* "mpi4py/MPI/atimport.pxi":58 * opts.fast_reduce = 1 * opts.recv_mprobe = 1 * opts.errors = 1 # <<<<<<<<<<<<<< * try: from mpi4py import rc * except: return 0 */ __pyx_v_opts->errors = 1; /* "mpi4py/MPI/atimport.pxi":59 * opts.recv_mprobe = 1 * opts.errors = 1 * try: from mpi4py import rc # <<<<<<<<<<<<<< * except: return 0 * # */ { __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:*/ { __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 59, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_n_s_rc); __Pyx_GIVEREF(__pyx_n_s_rc); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_s_rc); __pyx_t_5 = __Pyx_Import(__pyx_n_s_mpi4py, __pyx_t_4, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 59, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_ImportFrom(__pyx_t_5, __pyx_n_s_rc); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 59, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_4); __pyx_v_rc = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 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; 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; /* "mpi4py/MPI/atimport.pxi":60 * opts.errors = 1 * try: from mpi4py import rc * except: return 0 # <<<<<<<<<<<<<< * # * cdef object initialize = True */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.getOptions", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(9, 60, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_6); __pyx_r = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L6_except_return; } __pyx_L5_except_error:; /* "mpi4py/MPI/atimport.pxi":59 * opts.recv_mprobe = 1 * opts.errors = 1 * try: from mpi4py import rc # <<<<<<<<<<<<<< * except: return 0 * # */ __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_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; __pyx_L8_try_end:; } /* "mpi4py/MPI/atimport.pxi":62 * except: return 0 * # * cdef object initialize = True # <<<<<<<<<<<<<< * cdef object threads = True * cdef object thread_level = 'multiple' */ __Pyx_INCREF(Py_True); __pyx_v_initialize = Py_True; /* "mpi4py/MPI/atimport.pxi":63 * # * cdef object initialize = True * cdef object threads = True # <<<<<<<<<<<<<< * cdef object thread_level = 'multiple' * cdef object finalize = None */ __Pyx_INCREF(Py_True); __pyx_v_threads = Py_True; /* "mpi4py/MPI/atimport.pxi":64 * cdef object initialize = True * cdef object threads = True * cdef object thread_level = 'multiple' # <<<<<<<<<<<<<< * cdef object finalize = None * cdef object fast_reduce = True */ __Pyx_INCREF(__pyx_n_s_multiple); __pyx_v_thread_level = __pyx_n_s_multiple; /* "mpi4py/MPI/atimport.pxi":65 * cdef object threads = True * cdef object thread_level = 'multiple' * cdef object finalize = None # <<<<<<<<<<<<<< * cdef object fast_reduce = True * cdef object recv_mprobe = True */ __Pyx_INCREF(Py_None); __pyx_v_finalize = Py_None; /* "mpi4py/MPI/atimport.pxi":66 * cdef object thread_level = 'multiple' * cdef object finalize = None * cdef object fast_reduce = True # <<<<<<<<<<<<<< * cdef object recv_mprobe = True * cdef object errors = 'exception' */ __Pyx_INCREF(Py_True); __pyx_v_fast_reduce = Py_True; /* "mpi4py/MPI/atimport.pxi":67 * cdef object finalize = None * cdef object fast_reduce = True * cdef object recv_mprobe = True # <<<<<<<<<<<<<< * cdef object errors = 'exception' * try: initialize = rc.initialize */ __Pyx_INCREF(Py_True); __pyx_v_recv_mprobe = Py_True; /* "mpi4py/MPI/atimport.pxi":68 * cdef object fast_reduce = True * cdef object recv_mprobe = True * cdef object errors = 'exception' # <<<<<<<<<<<<<< * try: initialize = rc.initialize * except: pass */ __Pyx_INCREF(__pyx_n_s_exception); __pyx_v_errors = __pyx_n_s_exception; /* "mpi4py/MPI/atimport.pxi":69 * cdef object recv_mprobe = True * cdef object errors = 'exception' * try: initialize = rc.initialize # <<<<<<<<<<<<<< * except: pass * try: threads = rc.threads */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_1); /*try:*/ { __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_rc, __pyx_n_s_initialize); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 69, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_initialize, __pyx_t_6); __pyx_t_6 = 0; } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L16_try_end; __pyx_L11_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; /* "mpi4py/MPI/atimport.pxi":70 * cdef object errors = 'exception' * try: initialize = rc.initialize * except: pass # <<<<<<<<<<<<<< * try: threads = rc.threads * except: pass */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L12_exception_handled; } __pyx_L12_exception_handled:; __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_2, __pyx_t_1); __pyx_L16_try_end:; } /* "mpi4py/MPI/atimport.pxi":71 * try: initialize = rc.initialize * except: pass * try: threads = rc.threads # <<<<<<<<<<<<<< * except: pass * try: threads = rc.threaded # backward */ { __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:*/ { __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_rc, __pyx_n_s_threads); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 71, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_threads, __pyx_t_6); __pyx_t_6 = 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; goto __pyx_L22_try_end; __pyx_L17_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; /* "mpi4py/MPI/atimport.pxi":72 * except: pass * try: threads = rc.threads * except: pass # <<<<<<<<<<<<<< * try: threads = rc.threaded # backward * except: pass # compatibility */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L18_exception_handled; } __pyx_L18_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_L22_try_end:; } /* "mpi4py/MPI/atimport.pxi":73 * try: threads = rc.threads * except: pass * try: threads = rc.threaded # backward # <<<<<<<<<<<<<< * except: pass # compatibility * try: thread_level = rc.thread_level */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_1); /*try:*/ { __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_rc, __pyx_n_s_threaded); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 73, __pyx_L23_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_threads, __pyx_t_6); __pyx_t_6 = 0; } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L28_try_end; __pyx_L23_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; /* "mpi4py/MPI/atimport.pxi":74 * except: pass * try: threads = rc.threaded # backward * except: pass # compatibility # <<<<<<<<<<<<<< * try: thread_level = rc.thread_level * except: pass */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L24_exception_handled; } __pyx_L24_exception_handled:; __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_2, __pyx_t_1); __pyx_L28_try_end:; } /* "mpi4py/MPI/atimport.pxi":75 * try: threads = rc.threaded # backward * except: pass # compatibility * try: thread_level = rc.thread_level # <<<<<<<<<<<<<< * except: pass * try: finalize = rc.finalize */ { __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:*/ { __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_rc, __pyx_n_s_thread_level); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 75, __pyx_L29_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_thread_level, __pyx_t_6); __pyx_t_6 = 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; goto __pyx_L34_try_end; __pyx_L29_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; /* "mpi4py/MPI/atimport.pxi":76 * except: pass # compatibility * try: thread_level = rc.thread_level * except: pass # <<<<<<<<<<<<<< * try: finalize = rc.finalize * except: pass */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L30_exception_handled; } __pyx_L30_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_L34_try_end:; } /* "mpi4py/MPI/atimport.pxi":77 * try: thread_level = rc.thread_level * except: pass * try: finalize = rc.finalize # <<<<<<<<<<<<<< * except: pass * try: fast_reduce = rc.fast_reduce */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_1); /*try:*/ { __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_rc, __pyx_n_s_finalize); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 77, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_finalize, __pyx_t_6); __pyx_t_6 = 0; } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L40_try_end; __pyx_L35_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; /* "mpi4py/MPI/atimport.pxi":78 * except: pass * try: finalize = rc.finalize * except: pass # <<<<<<<<<<<<<< * try: fast_reduce = rc.fast_reduce * except: pass */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L36_exception_handled; } __pyx_L36_exception_handled:; __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_2, __pyx_t_1); __pyx_L40_try_end:; } /* "mpi4py/MPI/atimport.pxi":79 * try: finalize = rc.finalize * except: pass * try: fast_reduce = rc.fast_reduce # <<<<<<<<<<<<<< * except: pass * try: recv_mprobe = rc.recv_mprobe */ { __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:*/ { __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_rc, __pyx_n_s_fast_reduce); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 79, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_fast_reduce, __pyx_t_6); __pyx_t_6 = 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; goto __pyx_L46_try_end; __pyx_L41_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; /* "mpi4py/MPI/atimport.pxi":80 * except: pass * try: fast_reduce = rc.fast_reduce * except: pass # <<<<<<<<<<<<<< * try: recv_mprobe = rc.recv_mprobe * except: pass */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L42_exception_handled; } __pyx_L42_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_L46_try_end:; } /* "mpi4py/MPI/atimport.pxi":81 * try: fast_reduce = rc.fast_reduce * except: pass * try: recv_mprobe = rc.recv_mprobe # <<<<<<<<<<<<<< * except: pass * try: errors = rc.errors */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_1); /*try:*/ { __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_rc, __pyx_n_s_recv_mprobe); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 81, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_recv_mprobe, __pyx_t_6); __pyx_t_6 = 0; } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L52_try_end; __pyx_L47_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; /* "mpi4py/MPI/atimport.pxi":82 * except: pass * try: recv_mprobe = rc.recv_mprobe * except: pass # <<<<<<<<<<<<<< * try: errors = rc.errors * except: pass */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L48_exception_handled; } __pyx_L48_exception_handled:; __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_2, __pyx_t_1); __pyx_L52_try_end:; } /* "mpi4py/MPI/atimport.pxi":83 * try: recv_mprobe = rc.recv_mprobe * except: pass * try: errors = rc.errors # <<<<<<<<<<<<<< * except: pass * # */ { __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:*/ { __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_rc, __pyx_n_s_errors); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 83, __pyx_L53_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_errors, __pyx_t_6); __pyx_t_6 = 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; goto __pyx_L58_try_end; __pyx_L53_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; /* "mpi4py/MPI/atimport.pxi":84 * except: pass * try: errors = rc.errors * except: pass # <<<<<<<<<<<<<< * # * if initialize in (True, 'yes'): */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L54_exception_handled; } __pyx_L54_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_L58_try_end:; } /* "mpi4py/MPI/atimport.pxi":86 * except: pass * # * if initialize in (True, 'yes'): # <<<<<<<<<<<<<< * opts.initialize = 1 * elif initialize in (False, 'no'): */ __Pyx_INCREF(__pyx_v_initialize); __pyx_t_6 = __pyx_v_initialize; __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, Py_True, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 86, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 86, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L60_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_yes, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 86, __pyx_L1_error) __pyx_t_7 = __pyx_t_8; __pyx_L60_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { /* "mpi4py/MPI/atimport.pxi":87 * # * if initialize in (True, 'yes'): * opts.initialize = 1 # <<<<<<<<<<<<<< * elif initialize in (False, 'no'): * opts.initialize = 0 */ __pyx_v_opts->initialize = 1; /* "mpi4py/MPI/atimport.pxi":86 * except: pass * # * if initialize in (True, 'yes'): # <<<<<<<<<<<<<< * opts.initialize = 1 * elif initialize in (False, 'no'): */ goto __pyx_L59; } /* "mpi4py/MPI/atimport.pxi":88 * if initialize in (True, 'yes'): * opts.initialize = 1 * elif initialize in (False, 'no'): # <<<<<<<<<<<<<< * opts.initialize = 0 * else: */ __Pyx_INCREF(__pyx_v_initialize); __pyx_t_6 = __pyx_v_initialize; __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, Py_False, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 88, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 88, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_7) { } else { __pyx_t_8 = __pyx_t_7; goto __pyx_L62_bool_binop_done; } __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_no, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 88, __pyx_L1_error) __pyx_t_8 = __pyx_t_7; __pyx_L62_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { /* "mpi4py/MPI/atimport.pxi":89 * opts.initialize = 1 * elif initialize in (False, 'no'): * opts.initialize = 0 # <<<<<<<<<<<<<< * else: * warnOpt("initialize", initialize) */ __pyx_v_opts->initialize = 0; /* "mpi4py/MPI/atimport.pxi":88 * if initialize in (True, 'yes'): * opts.initialize = 1 * elif initialize in (False, 'no'): # <<<<<<<<<<<<<< * opts.initialize = 0 * else: */ goto __pyx_L59; } /* "mpi4py/MPI/atimport.pxi":91 * opts.initialize = 0 * else: * warnOpt("initialize", initialize) # <<<<<<<<<<<<<< * # * if threads in (True, 'yes'): */ /*else*/ { __pyx_t_9 = __pyx_f_6mpi4py_3MPI_warnOpt(__pyx_n_s_initialize, __pyx_v_initialize); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(9, 91, __pyx_L1_error) } __pyx_L59:; /* "mpi4py/MPI/atimport.pxi":93 * warnOpt("initialize", initialize) * # * if threads in (True, 'yes'): # <<<<<<<<<<<<<< * opts.threads = 1 * elif threads in (False, 'no'): */ __Pyx_INCREF(__pyx_v_threads); __pyx_t_6 = __pyx_v_threads; __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, Py_True, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 93, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 93, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L65_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_yes, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 93, __pyx_L1_error) __pyx_t_7 = __pyx_t_8; __pyx_L65_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { /* "mpi4py/MPI/atimport.pxi":94 * # * if threads in (True, 'yes'): * opts.threads = 1 # <<<<<<<<<<<<<< * elif threads in (False, 'no'): * opts.threads = 0 */ __pyx_v_opts->threads = 1; /* "mpi4py/MPI/atimport.pxi":93 * warnOpt("initialize", initialize) * # * if threads in (True, 'yes'): # <<<<<<<<<<<<<< * opts.threads = 1 * elif threads in (False, 'no'): */ goto __pyx_L64; } /* "mpi4py/MPI/atimport.pxi":95 * if threads in (True, 'yes'): * opts.threads = 1 * elif threads in (False, 'no'): # <<<<<<<<<<<<<< * opts.threads = 0 * else: */ __Pyx_INCREF(__pyx_v_threads); __pyx_t_6 = __pyx_v_threads; __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, Py_False, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 95, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_7) { } else { __pyx_t_8 = __pyx_t_7; goto __pyx_L67_bool_binop_done; } __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_no, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 95, __pyx_L1_error) __pyx_t_8 = __pyx_t_7; __pyx_L67_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { /* "mpi4py/MPI/atimport.pxi":96 * opts.threads = 1 * elif threads in (False, 'no'): * opts.threads = 0 # <<<<<<<<<<<<<< * else: * warnOpt("threads", threads) */ __pyx_v_opts->threads = 0; /* "mpi4py/MPI/atimport.pxi":95 * if threads in (True, 'yes'): * opts.threads = 1 * elif threads in (False, 'no'): # <<<<<<<<<<<<<< * opts.threads = 0 * else: */ goto __pyx_L64; } /* "mpi4py/MPI/atimport.pxi":98 * opts.threads = 0 * else: * warnOpt("threads", threads) # <<<<<<<<<<<<<< * # * if thread_level == 'single': */ /*else*/ { __pyx_t_9 = __pyx_f_6mpi4py_3MPI_warnOpt(__pyx_n_s_threads, __pyx_v_threads); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(9, 98, __pyx_L1_error) } __pyx_L64:; /* "mpi4py/MPI/atimport.pxi":100 * warnOpt("threads", threads) * # * if thread_level == 'single': # <<<<<<<<<<<<<< * opts.thread_level = MPI_THREAD_SINGLE * elif thread_level == 'funneled': */ __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_thread_level, __pyx_n_s_single, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 100, __pyx_L1_error) if (__pyx_t_7) { /* "mpi4py/MPI/atimport.pxi":101 * # * if thread_level == 'single': * opts.thread_level = MPI_THREAD_SINGLE # <<<<<<<<<<<<<< * elif thread_level == 'funneled': * opts.thread_level = MPI_THREAD_FUNNELED */ __pyx_v_opts->thread_level = MPI_THREAD_SINGLE; /* "mpi4py/MPI/atimport.pxi":100 * warnOpt("threads", threads) * # * if thread_level == 'single': # <<<<<<<<<<<<<< * opts.thread_level = MPI_THREAD_SINGLE * elif thread_level == 'funneled': */ goto __pyx_L69; } /* "mpi4py/MPI/atimport.pxi":102 * if thread_level == 'single': * opts.thread_level = MPI_THREAD_SINGLE * elif thread_level == 'funneled': # <<<<<<<<<<<<<< * opts.thread_level = MPI_THREAD_FUNNELED * elif thread_level == 'serialized': */ __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_thread_level, __pyx_n_s_funneled, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 102, __pyx_L1_error) if (__pyx_t_7) { /* "mpi4py/MPI/atimport.pxi":103 * opts.thread_level = MPI_THREAD_SINGLE * elif thread_level == 'funneled': * opts.thread_level = MPI_THREAD_FUNNELED # <<<<<<<<<<<<<< * elif thread_level == 'serialized': * opts.thread_level = MPI_THREAD_SERIALIZED */ __pyx_v_opts->thread_level = MPI_THREAD_FUNNELED; /* "mpi4py/MPI/atimport.pxi":102 * if thread_level == 'single': * opts.thread_level = MPI_THREAD_SINGLE * elif thread_level == 'funneled': # <<<<<<<<<<<<<< * opts.thread_level = MPI_THREAD_FUNNELED * elif thread_level == 'serialized': */ goto __pyx_L69; } /* "mpi4py/MPI/atimport.pxi":104 * elif thread_level == 'funneled': * opts.thread_level = MPI_THREAD_FUNNELED * elif thread_level == 'serialized': # <<<<<<<<<<<<<< * opts.thread_level = MPI_THREAD_SERIALIZED * elif thread_level == 'multiple': */ __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_thread_level, __pyx_n_s_serialized, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 104, __pyx_L1_error) if (__pyx_t_7) { /* "mpi4py/MPI/atimport.pxi":105 * opts.thread_level = MPI_THREAD_FUNNELED * elif thread_level == 'serialized': * opts.thread_level = MPI_THREAD_SERIALIZED # <<<<<<<<<<<<<< * elif thread_level == 'multiple': * opts.thread_level = MPI_THREAD_MULTIPLE */ __pyx_v_opts->thread_level = MPI_THREAD_SERIALIZED; /* "mpi4py/MPI/atimport.pxi":104 * elif thread_level == 'funneled': * opts.thread_level = MPI_THREAD_FUNNELED * elif thread_level == 'serialized': # <<<<<<<<<<<<<< * opts.thread_level = MPI_THREAD_SERIALIZED * elif thread_level == 'multiple': */ goto __pyx_L69; } /* "mpi4py/MPI/atimport.pxi":106 * elif thread_level == 'serialized': * opts.thread_level = MPI_THREAD_SERIALIZED * elif thread_level == 'multiple': # <<<<<<<<<<<<<< * opts.thread_level = MPI_THREAD_MULTIPLE * else: */ __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_thread_level, __pyx_n_s_multiple, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 106, __pyx_L1_error) if (__pyx_t_7) { /* "mpi4py/MPI/atimport.pxi":107 * opts.thread_level = MPI_THREAD_SERIALIZED * elif thread_level == 'multiple': * opts.thread_level = MPI_THREAD_MULTIPLE # <<<<<<<<<<<<<< * else: * warnOpt("thread_level", thread_level) */ __pyx_v_opts->thread_level = MPI_THREAD_MULTIPLE; /* "mpi4py/MPI/atimport.pxi":106 * elif thread_level == 'serialized': * opts.thread_level = MPI_THREAD_SERIALIZED * elif thread_level == 'multiple': # <<<<<<<<<<<<<< * opts.thread_level = MPI_THREAD_MULTIPLE * else: */ goto __pyx_L69; } /* "mpi4py/MPI/atimport.pxi":109 * opts.thread_level = MPI_THREAD_MULTIPLE * else: * warnOpt("thread_level", thread_level) # <<<<<<<<<<<<<< * # * if finalize is None: */ /*else*/ { __pyx_t_9 = __pyx_f_6mpi4py_3MPI_warnOpt(__pyx_n_s_thread_level, __pyx_v_thread_level); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(9, 109, __pyx_L1_error) } __pyx_L69:; /* "mpi4py/MPI/atimport.pxi":111 * warnOpt("thread_level", thread_level) * # * if finalize is None: # <<<<<<<<<<<<<< * opts.finalize = opts.initialize * elif finalize in (True, 'yes'): */ __pyx_t_7 = (__pyx_v_finalize == Py_None); __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { /* "mpi4py/MPI/atimport.pxi":112 * # * if finalize is None: * opts.finalize = opts.initialize # <<<<<<<<<<<<<< * elif finalize in (True, 'yes'): * opts.finalize = 1 */ __pyx_t_9 = __pyx_v_opts->initialize; __pyx_v_opts->finalize = __pyx_t_9; /* "mpi4py/MPI/atimport.pxi":111 * warnOpt("thread_level", thread_level) * # * if finalize is None: # <<<<<<<<<<<<<< * opts.finalize = opts.initialize * elif finalize in (True, 'yes'): */ goto __pyx_L70; } /* "mpi4py/MPI/atimport.pxi":113 * if finalize is None: * opts.finalize = opts.initialize * elif finalize in (True, 'yes'): # <<<<<<<<<<<<<< * opts.finalize = 1 * elif finalize in (False, 'no'): */ __Pyx_INCREF(__pyx_v_finalize); __pyx_t_6 = __pyx_v_finalize; __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, Py_True, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 113, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_7) { } else { __pyx_t_8 = __pyx_t_7; goto __pyx_L71_bool_binop_done; } __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_yes, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 113, __pyx_L1_error) __pyx_t_8 = __pyx_t_7; __pyx_L71_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { /* "mpi4py/MPI/atimport.pxi":114 * opts.finalize = opts.initialize * elif finalize in (True, 'yes'): * opts.finalize = 1 # <<<<<<<<<<<<<< * elif finalize in (False, 'no'): * opts.finalize = 0 */ __pyx_v_opts->finalize = 1; /* "mpi4py/MPI/atimport.pxi":113 * if finalize is None: * opts.finalize = opts.initialize * elif finalize in (True, 'yes'): # <<<<<<<<<<<<<< * opts.finalize = 1 * elif finalize in (False, 'no'): */ goto __pyx_L70; } /* "mpi4py/MPI/atimport.pxi":115 * elif finalize in (True, 'yes'): * opts.finalize = 1 * elif finalize in (False, 'no'): # <<<<<<<<<<<<<< * opts.finalize = 0 * else: */ __Pyx_INCREF(__pyx_v_finalize); __pyx_t_6 = __pyx_v_finalize; __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, Py_False, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 115, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 115, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L73_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_no, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 115, __pyx_L1_error) __pyx_t_7 = __pyx_t_8; __pyx_L73_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { /* "mpi4py/MPI/atimport.pxi":116 * opts.finalize = 1 * elif finalize in (False, 'no'): * opts.finalize = 0 # <<<<<<<<<<<<<< * else: * warnOpt("finalize", finalize) */ __pyx_v_opts->finalize = 0; /* "mpi4py/MPI/atimport.pxi":115 * elif finalize in (True, 'yes'): * opts.finalize = 1 * elif finalize in (False, 'no'): # <<<<<<<<<<<<<< * opts.finalize = 0 * else: */ goto __pyx_L70; } /* "mpi4py/MPI/atimport.pxi":118 * opts.finalize = 0 * else: * warnOpt("finalize", finalize) # <<<<<<<<<<<<<< * # * if fast_reduce in (True, 'yes'): */ /*else*/ { __pyx_t_9 = __pyx_f_6mpi4py_3MPI_warnOpt(__pyx_n_s_finalize, __pyx_v_finalize); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(9, 118, __pyx_L1_error) } __pyx_L70:; /* "mpi4py/MPI/atimport.pxi":120 * warnOpt("finalize", finalize) * # * if fast_reduce in (True, 'yes'): # <<<<<<<<<<<<<< * opts.fast_reduce = 1 * elif fast_reduce in (False, 'no'): */ __Pyx_INCREF(__pyx_v_fast_reduce); __pyx_t_6 = __pyx_v_fast_reduce; __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, Py_True, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 120, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 120, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_7) { } else { __pyx_t_8 = __pyx_t_7; goto __pyx_L76_bool_binop_done; } __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_yes, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 120, __pyx_L1_error) __pyx_t_8 = __pyx_t_7; __pyx_L76_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { /* "mpi4py/MPI/atimport.pxi":121 * # * if fast_reduce in (True, 'yes'): * opts.fast_reduce = 1 # <<<<<<<<<<<<<< * elif fast_reduce in (False, 'no'): * opts.fast_reduce = 0 */ __pyx_v_opts->fast_reduce = 1; /* "mpi4py/MPI/atimport.pxi":120 * warnOpt("finalize", finalize) * # * if fast_reduce in (True, 'yes'): # <<<<<<<<<<<<<< * opts.fast_reduce = 1 * elif fast_reduce in (False, 'no'): */ goto __pyx_L75; } /* "mpi4py/MPI/atimport.pxi":122 * if fast_reduce in (True, 'yes'): * opts.fast_reduce = 1 * elif fast_reduce in (False, 'no'): # <<<<<<<<<<<<<< * opts.fast_reduce = 0 * else: */ __Pyx_INCREF(__pyx_v_fast_reduce); __pyx_t_6 = __pyx_v_fast_reduce; __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, Py_False, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 122, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L78_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_no, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 122, __pyx_L1_error) __pyx_t_7 = __pyx_t_8; __pyx_L78_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { /* "mpi4py/MPI/atimport.pxi":123 * opts.fast_reduce = 1 * elif fast_reduce in (False, 'no'): * opts.fast_reduce = 0 # <<<<<<<<<<<<<< * else: * warnOpt("fast_reduce", fast_reduce) */ __pyx_v_opts->fast_reduce = 0; /* "mpi4py/MPI/atimport.pxi":122 * if fast_reduce in (True, 'yes'): * opts.fast_reduce = 1 * elif fast_reduce in (False, 'no'): # <<<<<<<<<<<<<< * opts.fast_reduce = 0 * else: */ goto __pyx_L75; } /* "mpi4py/MPI/atimport.pxi":125 * opts.fast_reduce = 0 * else: * warnOpt("fast_reduce", fast_reduce) # <<<<<<<<<<<<<< * # * if recv_mprobe in (True, 'yes'): */ /*else*/ { __pyx_t_9 = __pyx_f_6mpi4py_3MPI_warnOpt(__pyx_n_s_fast_reduce, __pyx_v_fast_reduce); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(9, 125, __pyx_L1_error) } __pyx_L75:; /* "mpi4py/MPI/atimport.pxi":127 * warnOpt("fast_reduce", fast_reduce) * # * if recv_mprobe in (True, 'yes'): # <<<<<<<<<<<<<< * opts.recv_mprobe = 1 and USE_MATCHED_RECV * elif recv_mprobe in (False, 'no'): */ __Pyx_INCREF(__pyx_v_recv_mprobe); __pyx_t_6 = __pyx_v_recv_mprobe; __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, Py_True, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 127, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 127, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_7) { } else { __pyx_t_8 = __pyx_t_7; goto __pyx_L81_bool_binop_done; } __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_yes, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 127, __pyx_L1_error) __pyx_t_8 = __pyx_t_7; __pyx_L81_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { /* "mpi4py/MPI/atimport.pxi":128 * # * if recv_mprobe in (True, 'yes'): * opts.recv_mprobe = 1 and USE_MATCHED_RECV # <<<<<<<<<<<<<< * elif recv_mprobe in (False, 'no'): * opts.recv_mprobe = 0 */ __pyx_v_opts->recv_mprobe = PyMPI_USE_MATCHED_RECV; /* "mpi4py/MPI/atimport.pxi":127 * warnOpt("fast_reduce", fast_reduce) * # * if recv_mprobe in (True, 'yes'): # <<<<<<<<<<<<<< * opts.recv_mprobe = 1 and USE_MATCHED_RECV * elif recv_mprobe in (False, 'no'): */ goto __pyx_L80; } /* "mpi4py/MPI/atimport.pxi":129 * if recv_mprobe in (True, 'yes'): * opts.recv_mprobe = 1 and USE_MATCHED_RECV * elif recv_mprobe in (False, 'no'): # <<<<<<<<<<<<<< * opts.recv_mprobe = 0 * else: */ __Pyx_INCREF(__pyx_v_recv_mprobe); __pyx_t_6 = __pyx_v_recv_mprobe; __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, Py_False, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 129, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_8) { } else { __pyx_t_7 = __pyx_t_8; goto __pyx_L83_bool_binop_done; } __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_no, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 129, __pyx_L1_error) __pyx_t_7 = __pyx_t_8; __pyx_L83_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { /* "mpi4py/MPI/atimport.pxi":130 * opts.recv_mprobe = 1 and USE_MATCHED_RECV * elif recv_mprobe in (False, 'no'): * opts.recv_mprobe = 0 # <<<<<<<<<<<<<< * else: * warnOpt("recv_mprobe", recv_mprobe) */ __pyx_v_opts->recv_mprobe = 0; /* "mpi4py/MPI/atimport.pxi":129 * if recv_mprobe in (True, 'yes'): * opts.recv_mprobe = 1 and USE_MATCHED_RECV * elif recv_mprobe in (False, 'no'): # <<<<<<<<<<<<<< * opts.recv_mprobe = 0 * else: */ goto __pyx_L80; } /* "mpi4py/MPI/atimport.pxi":132 * opts.recv_mprobe = 0 * else: * warnOpt("recv_mprobe", recv_mprobe) # <<<<<<<<<<<<<< * # * if errors == 'default': */ /*else*/ { __pyx_t_9 = __pyx_f_6mpi4py_3MPI_warnOpt(__pyx_n_s_recv_mprobe, __pyx_v_recv_mprobe); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(9, 132, __pyx_L1_error) } __pyx_L80:; /* "mpi4py/MPI/atimport.pxi":134 * warnOpt("recv_mprobe", recv_mprobe) * # * if errors == 'default': # <<<<<<<<<<<<<< * opts.errors = 0 * elif errors == 'exception': */ __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_v_errors, __pyx_n_s_default, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 134, __pyx_L1_error) if (__pyx_t_8) { /* "mpi4py/MPI/atimport.pxi":135 * # * if errors == 'default': * opts.errors = 0 # <<<<<<<<<<<<<< * elif errors == 'exception': * opts.errors = 1 */ __pyx_v_opts->errors = 0; /* "mpi4py/MPI/atimport.pxi":134 * warnOpt("recv_mprobe", recv_mprobe) * # * if errors == 'default': # <<<<<<<<<<<<<< * opts.errors = 0 * elif errors == 'exception': */ goto __pyx_L85; } /* "mpi4py/MPI/atimport.pxi":136 * if errors == 'default': * opts.errors = 0 * elif errors == 'exception': # <<<<<<<<<<<<<< * opts.errors = 1 * elif errors == 'fatal': */ __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_v_errors, __pyx_n_s_exception, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 136, __pyx_L1_error) if (__pyx_t_8) { /* "mpi4py/MPI/atimport.pxi":137 * opts.errors = 0 * elif errors == 'exception': * opts.errors = 1 # <<<<<<<<<<<<<< * elif errors == 'fatal': * opts.errors = 2 */ __pyx_v_opts->errors = 1; /* "mpi4py/MPI/atimport.pxi":136 * if errors == 'default': * opts.errors = 0 * elif errors == 'exception': # <<<<<<<<<<<<<< * opts.errors = 1 * elif errors == 'fatal': */ goto __pyx_L85; } /* "mpi4py/MPI/atimport.pxi":138 * elif errors == 'exception': * opts.errors = 1 * elif errors == 'fatal': # <<<<<<<<<<<<<< * opts.errors = 2 * else: */ __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_v_errors, __pyx_n_s_fatal, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 138, __pyx_L1_error) if (__pyx_t_8) { /* "mpi4py/MPI/atimport.pxi":139 * opts.errors = 1 * elif errors == 'fatal': * opts.errors = 2 # <<<<<<<<<<<<<< * else: * warnOpt("errors", errors) */ __pyx_v_opts->errors = 2; /* "mpi4py/MPI/atimport.pxi":138 * elif errors == 'exception': * opts.errors = 1 * elif errors == 'fatal': # <<<<<<<<<<<<<< * opts.errors = 2 * else: */ goto __pyx_L85; } /* "mpi4py/MPI/atimport.pxi":141 * opts.errors = 2 * else: * warnOpt("errors", errors) # <<<<<<<<<<<<<< * # * return 0 */ /*else*/ { __pyx_t_9 = __pyx_f_6mpi4py_3MPI_warnOpt(__pyx_n_s_errors, __pyx_v_errors); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(9, 141, __pyx_L1_error) } __pyx_L85:; /* "mpi4py/MPI/atimport.pxi":143 * warnOpt("errors", errors) * # * return 0 # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/atimport.pxi":50 * warn("mpi4py.rc: '%s': unexpected value '%r'" % (name, value)) * * cdef int getOptions(Options* opts) except -1: # <<<<<<<<<<<<<< * cdef object rc * opts.initialize = 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("mpi4py.MPI.getOptions", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_rc); __Pyx_XDECREF(__pyx_v_initialize); __Pyx_XDECREF(__pyx_v_threads); __Pyx_XDECREF(__pyx_v_thread_level); __Pyx_XDECREF(__pyx_v_finalize); __Pyx_XDECREF(__pyx_v_fast_reduce); __Pyx_XDECREF(__pyx_v_recv_mprobe); __Pyx_XDECREF(__pyx_v_errors); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/atimport.pxi":150 * int PyMPI_Commctx_finalize() nogil * * cdef int bootstrap() except -1: # <<<<<<<<<<<<<< * # Get options from 'mpi4py.rc' module * getOptions(&options) */ static int __pyx_f_6mpi4py_3MPI_bootstrap(void) { int __pyx_v_initialized; int __pyx_v_ierr; int __pyx_v_required; int __pyx_v_provided; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bootstrap", 0); /* "mpi4py/MPI/atimport.pxi":152 * cdef int bootstrap() except -1: * # Get options from 'mpi4py.rc' module * getOptions(&options) # <<<<<<<<<<<<<< * # Cleanup at (the very end of) Python exit * if Py_AtExit(atexit) < 0: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getOptions((&__pyx_v_6mpi4py_3MPI_options)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(9, 152, __pyx_L1_error) /* "mpi4py/MPI/atimport.pxi":154 * getOptions(&options) * # Cleanup at (the very end of) Python exit * if Py_AtExit(atexit) < 0: # <<<<<<<<<<<<<< * PySys_WriteStderr(b"warning: could not register " * b"cleanup with Py_AtExit()%s", b"\n") */ __pyx_t_2 = ((Py_AtExit(__pyx_f_6mpi4py_3MPI_atexit) < 0) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/atimport.pxi":155 * # Cleanup at (the very end of) Python exit * if Py_AtExit(atexit) < 0: * PySys_WriteStderr(b"warning: could not register " # <<<<<<<<<<<<<< * b"cleanup with Py_AtExit()%s", b"\n") * # Do we have to initialize MPI? */ PySys_WriteStderr(((char *)"warning: could not register cleanup with Py_AtExit()%s"), ((char *)"\n")); /* "mpi4py/MPI/atimport.pxi":154 * getOptions(&options) * # Cleanup at (the very end of) Python exit * if Py_AtExit(atexit) < 0: # <<<<<<<<<<<<<< * PySys_WriteStderr(b"warning: could not register " * b"cleanup with Py_AtExit()%s", b"\n") */ } /* "mpi4py/MPI/atimport.pxi":158 * b"cleanup with Py_AtExit()%s", b"\n") * # Do we have to initialize MPI? * cdef int initialized = 1 # <<<<<<<<<<<<<< * MPI_Initialized(&initialized) * if initialized: */ __pyx_v_initialized = 1; /* "mpi4py/MPI/atimport.pxi":159 * # Do we have to initialize MPI? * cdef int initialized = 1 * MPI_Initialized(&initialized) # <<<<<<<<<<<<<< * if initialized: * options.finalize = 0 */ ((void)MPI_Initialized((&__pyx_v_initialized))); /* "mpi4py/MPI/atimport.pxi":160 * cdef int initialized = 1 * MPI_Initialized(&initialized) * if initialized: # <<<<<<<<<<<<<< * options.finalize = 0 * return 0 */ __pyx_t_2 = (__pyx_v_initialized != 0); if (__pyx_t_2) { /* "mpi4py/MPI/atimport.pxi":161 * MPI_Initialized(&initialized) * if initialized: * options.finalize = 0 # <<<<<<<<<<<<<< * return 0 * if not options.initialize: */ __pyx_v_6mpi4py_3MPI_options.finalize = 0; /* "mpi4py/MPI/atimport.pxi":162 * if initialized: * options.finalize = 0 * return 0 # <<<<<<<<<<<<<< * if not options.initialize: * return 0 */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/atimport.pxi":160 * cdef int initialized = 1 * MPI_Initialized(&initialized) * if initialized: # <<<<<<<<<<<<<< * options.finalize = 0 * return 0 */ } /* "mpi4py/MPI/atimport.pxi":163 * options.finalize = 0 * return 0 * if not options.initialize: # <<<<<<<<<<<<<< * return 0 * # MPI initialization */ __pyx_t_2 = ((!(__pyx_v_6mpi4py_3MPI_options.initialize != 0)) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/atimport.pxi":164 * return 0 * if not options.initialize: * return 0 # <<<<<<<<<<<<<< * # MPI initialization * cdef int ierr = MPI_SUCCESS */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/atimport.pxi":163 * options.finalize = 0 * return 0 * if not options.initialize: # <<<<<<<<<<<<<< * return 0 * # MPI initialization */ } /* "mpi4py/MPI/atimport.pxi":166 * return 0 * # MPI initialization * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef int required = MPI_THREAD_SINGLE * cdef int provided = MPI_THREAD_SINGLE */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/atimport.pxi":167 * # MPI initialization * cdef int ierr = MPI_SUCCESS * cdef int required = MPI_THREAD_SINGLE # <<<<<<<<<<<<<< * cdef int provided = MPI_THREAD_SINGLE * if options.threads: */ __pyx_v_required = MPI_THREAD_SINGLE; /* "mpi4py/MPI/atimport.pxi":168 * cdef int ierr = MPI_SUCCESS * cdef int required = MPI_THREAD_SINGLE * cdef int provided = MPI_THREAD_SINGLE # <<<<<<<<<<<<<< * if options.threads: * required = options.thread_level */ __pyx_v_provided = MPI_THREAD_SINGLE; /* "mpi4py/MPI/atimport.pxi":169 * cdef int required = MPI_THREAD_SINGLE * cdef int provided = MPI_THREAD_SINGLE * if options.threads: # <<<<<<<<<<<<<< * required = options.thread_level * ierr = MPI_Init_thread(NULL, NULL, required, &provided) */ __pyx_t_2 = (__pyx_v_6mpi4py_3MPI_options.threads != 0); if (__pyx_t_2) { /* "mpi4py/MPI/atimport.pxi":170 * cdef int provided = MPI_THREAD_SINGLE * if options.threads: * required = options.thread_level # <<<<<<<<<<<<<< * ierr = MPI_Init_thread(NULL, NULL, required, &provided) * if ierr != MPI_SUCCESS: raise RuntimeError( */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_options.thread_level; __pyx_v_required = __pyx_t_1; /* "mpi4py/MPI/atimport.pxi":171 * if options.threads: * required = options.thread_level * ierr = MPI_Init_thread(NULL, NULL, required, &provided) # <<<<<<<<<<<<<< * if ierr != MPI_SUCCESS: raise RuntimeError( * "MPI_Init_thread() failed [error code: %d]" % ierr) */ __pyx_v_ierr = MPI_Init_thread(NULL, NULL, __pyx_v_required, (&__pyx_v_provided)); /* "mpi4py/MPI/atimport.pxi":172 * required = options.thread_level * ierr = MPI_Init_thread(NULL, NULL, required, &provided) * if ierr != MPI_SUCCESS: raise RuntimeError( # <<<<<<<<<<<<<< * "MPI_Init_thread() failed [error code: %d]" % ierr) * else: */ __pyx_t_2 = ((__pyx_v_ierr != MPI_SUCCESS) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/atimport.pxi":173 * ierr = MPI_Init_thread(NULL, NULL, required, &provided) * if ierr != MPI_SUCCESS: raise RuntimeError( * "MPI_Init_thread() failed [error code: %d]" % ierr) # <<<<<<<<<<<<<< * else: * ierr = MPI_Init(NULL, NULL) */ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ierr); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_MPI_Init_thread_failed_error_cod, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/atimport.pxi":172 * required = options.thread_level * ierr = MPI_Init_thread(NULL, NULL, required, &provided) * if ierr != MPI_SUCCESS: raise RuntimeError( # <<<<<<<<<<<<<< * "MPI_Init_thread() failed [error code: %d]" % ierr) * else: */ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(9, 172, __pyx_L1_error) } /* "mpi4py/MPI/atimport.pxi":169 * cdef int required = MPI_THREAD_SINGLE * cdef int provided = MPI_THREAD_SINGLE * if options.threads: # <<<<<<<<<<<<<< * required = options.thread_level * ierr = MPI_Init_thread(NULL, NULL, required, &provided) */ goto __pyx_L6; } /* "mpi4py/MPI/atimport.pxi":175 * "MPI_Init_thread() failed [error code: %d]" % ierr) * else: * ierr = MPI_Init(NULL, NULL) # <<<<<<<<<<<<<< * if ierr != MPI_SUCCESS: raise RuntimeError( * "MPI_Init() failed [error code: %d]" % ierr) */ /*else*/ { __pyx_v_ierr = MPI_Init(NULL, NULL); /* "mpi4py/MPI/atimport.pxi":176 * else: * ierr = MPI_Init(NULL, NULL) * if ierr != MPI_SUCCESS: raise RuntimeError( # <<<<<<<<<<<<<< * "MPI_Init() failed [error code: %d]" % ierr) * return 0 */ __pyx_t_2 = ((__pyx_v_ierr != MPI_SUCCESS) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/atimport.pxi":177 * ierr = MPI_Init(NULL, NULL) * if ierr != MPI_SUCCESS: raise RuntimeError( * "MPI_Init() failed [error code: %d]" % ierr) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ierr); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_MPI_Init_failed_error_code_d, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/atimport.pxi":176 * else: * ierr = MPI_Init(NULL, NULL) * if ierr != MPI_SUCCESS: raise RuntimeError( # <<<<<<<<<<<<<< * "MPI_Init() failed [error code: %d]" % ierr) * return 0 */ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(9, 176, __pyx_L1_error) } } __pyx_L6:; /* "mpi4py/MPI/atimport.pxi":178 * if ierr != MPI_SUCCESS: raise RuntimeError( * "MPI_Init() failed [error code: %d]" % ierr) * return 0 # <<<<<<<<<<<<<< * * cdef inline int mpi_active() nogil: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/atimport.pxi":150 * int PyMPI_Commctx_finalize() nogil * * cdef int bootstrap() except -1: # <<<<<<<<<<<<<< * # Get options from 'mpi4py.rc' module * getOptions(&options) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.bootstrap", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/atimport.pxi":180 * return 0 * * cdef inline int mpi_active() nogil: # <<<<<<<<<<<<<< * cdef int ierr = MPI_SUCCESS * # MPI initialized ? */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_mpi_active(void) { int __pyx_v_ierr; int __pyx_v_initialized; int __pyx_v_finalized; int __pyx_r; int __pyx_t_1; int __pyx_t_2; /* "mpi4py/MPI/atimport.pxi":181 * * cdef inline int mpi_active() nogil: * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * # MPI initialized ? * cdef int initialized = 0 */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/atimport.pxi":183 * cdef int ierr = MPI_SUCCESS * # MPI initialized ? * cdef int initialized = 0 # <<<<<<<<<<<<<< * ierr = MPI_Initialized(&initialized) * if not initialized or ierr != MPI_SUCCESS: return 0 */ __pyx_v_initialized = 0; /* "mpi4py/MPI/atimport.pxi":184 * # MPI initialized ? * cdef int initialized = 0 * ierr = MPI_Initialized(&initialized) # <<<<<<<<<<<<<< * if not initialized or ierr != MPI_SUCCESS: return 0 * # MPI finalized ? */ __pyx_v_ierr = MPI_Initialized((&__pyx_v_initialized)); /* "mpi4py/MPI/atimport.pxi":185 * cdef int initialized = 0 * ierr = MPI_Initialized(&initialized) * if not initialized or ierr != MPI_SUCCESS: return 0 # <<<<<<<<<<<<<< * # MPI finalized ? * cdef int finalized = 1 */ __pyx_t_2 = ((!(__pyx_v_initialized != 0)) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L4_bool_binop_done; } __pyx_t_2 = ((__pyx_v_ierr != MPI_SUCCESS) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/atimport.pxi":187 * if not initialized or ierr != MPI_SUCCESS: return 0 * # MPI finalized ? * cdef int finalized = 1 # <<<<<<<<<<<<<< * ierr = MPI_Finalized(&finalized) * if finalized or ierr != MPI_SUCCESS: return 0 */ __pyx_v_finalized = 1; /* "mpi4py/MPI/atimport.pxi":188 * # MPI finalized ? * cdef int finalized = 1 * ierr = MPI_Finalized(&finalized) # <<<<<<<<<<<<<< * if finalized or ierr != MPI_SUCCESS: return 0 * # MPI should be active ... */ __pyx_v_ierr = MPI_Finalized((&__pyx_v_finalized)); /* "mpi4py/MPI/atimport.pxi":189 * cdef int finalized = 1 * ierr = MPI_Finalized(&finalized) * if finalized or ierr != MPI_SUCCESS: return 0 # <<<<<<<<<<<<<< * # MPI should be active ... * return 1 */ __pyx_t_2 = (__pyx_v_finalized != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L7_bool_binop_done; } __pyx_t_2 = ((__pyx_v_ierr != MPI_SUCCESS) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L7_bool_binop_done:; if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/atimport.pxi":191 * if finalized or ierr != MPI_SUCCESS: return 0 * # MPI should be active ... * return 1 # <<<<<<<<<<<<<< * * cdef int initialize() nogil except -1: */ __pyx_r = 1; goto __pyx_L0; /* "mpi4py/MPI/atimport.pxi":180 * return 0 * * cdef inline int mpi_active() nogil: # <<<<<<<<<<<<<< * cdef int ierr = MPI_SUCCESS * # MPI initialized ? */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/atimport.pxi":193 * return 1 * * cdef int initialize() nogil except -1: # <<<<<<<<<<<<<< * if not mpi_active(): return 0 * comm_set_eh(MPI_COMM_SELF) */ static int __pyx_f_6mpi4py_3MPI_initialize(void) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/atimport.pxi":194 * * cdef int initialize() nogil except -1: * if not mpi_active(): return 0 # <<<<<<<<<<<<<< * comm_set_eh(MPI_COMM_SELF) * comm_set_eh(MPI_COMM_WORLD) */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/atimport.pxi":195 * cdef int initialize() nogil except -1: * if not mpi_active(): return 0 * comm_set_eh(MPI_COMM_SELF) # <<<<<<<<<<<<<< * comm_set_eh(MPI_COMM_WORLD) * return 0 */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_comm_set_eh(MPI_COMM_SELF); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(9, 195, __pyx_L1_error) /* "mpi4py/MPI/atimport.pxi":196 * if not mpi_active(): return 0 * comm_set_eh(MPI_COMM_SELF) * comm_set_eh(MPI_COMM_WORLD) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_comm_set_eh(MPI_COMM_WORLD); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(9, 196, __pyx_L1_error) /* "mpi4py/MPI/atimport.pxi":197 * comm_set_eh(MPI_COMM_SELF) * comm_set_eh(MPI_COMM_WORLD) * return 0 # <<<<<<<<<<<<<< * * cdef void finalize() nogil: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/atimport.pxi":193 * return 1 * * cdef int initialize() nogil except -1: # <<<<<<<<<<<<<< * if not mpi_active(): return 0 * comm_set_eh(MPI_COMM_SELF) */ /* function exit code */ __pyx_L1_error:; { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_AddTraceback("mpi4py.MPI.initialize", __pyx_clineno, __pyx_lineno, __pyx_filename); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif } __pyx_r = -1; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/atimport.pxi":199 * return 0 * * cdef void finalize() nogil: # <<<<<<<<<<<<<< * if not mpi_active(): return * PyMPI_Commctx_finalize() */ static void __pyx_f_6mpi4py_3MPI_finalize(void) { int __pyx_t_1; /* "mpi4py/MPI/atimport.pxi":200 * * cdef void finalize() nogil: * if not mpi_active(): return # <<<<<<<<<<<<<< * PyMPI_Commctx_finalize() * */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "mpi4py/MPI/atimport.pxi":201 * cdef void finalize() nogil: * if not mpi_active(): return * PyMPI_Commctx_finalize() # <<<<<<<<<<<<<< * * cdef int abort_status = 0 */ ((void)PyMPI_Commctx_finalize()); /* "mpi4py/MPI/atimport.pxi":199 * return 0 * * cdef void finalize() nogil: # <<<<<<<<<<<<<< * if not mpi_active(): return * PyMPI_Commctx_finalize() */ /* function exit code */ __pyx_L0:; } /* "mpi4py/MPI/atimport.pxi":205 * cdef int abort_status = 0 * * cdef void atexit() nogil: # <<<<<<<<<<<<<< * if not mpi_active(): return * if abort_status: */ static void __pyx_f_6mpi4py_3MPI_atexit(void) { int __pyx_t_1; /* "mpi4py/MPI/atimport.pxi":206 * * cdef void atexit() nogil: * if not mpi_active(): return # <<<<<<<<<<<<<< * if abort_status: * MPI_Abort(MPI_COMM_WORLD, abort_status) */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "mpi4py/MPI/atimport.pxi":207 * cdef void atexit() nogil: * if not mpi_active(): return * if abort_status: # <<<<<<<<<<<<<< * MPI_Abort(MPI_COMM_WORLD, abort_status) * finalize() */ __pyx_t_1 = (__pyx_v_6mpi4py_3MPI_abort_status != 0); if (__pyx_t_1) { /* "mpi4py/MPI/atimport.pxi":208 * if not mpi_active(): return * if abort_status: * MPI_Abort(MPI_COMM_WORLD, abort_status) # <<<<<<<<<<<<<< * finalize() * if options.finalize: */ ((void)MPI_Abort(MPI_COMM_WORLD, __pyx_v_6mpi4py_3MPI_abort_status)); /* "mpi4py/MPI/atimport.pxi":207 * cdef void atexit() nogil: * if not mpi_active(): return * if abort_status: # <<<<<<<<<<<<<< * MPI_Abort(MPI_COMM_WORLD, abort_status) * finalize() */ } /* "mpi4py/MPI/atimport.pxi":209 * if abort_status: * MPI_Abort(MPI_COMM_WORLD, abort_status) * finalize() # <<<<<<<<<<<<<< * if options.finalize: * MPI_Finalize() */ __pyx_f_6mpi4py_3MPI_finalize(); /* "mpi4py/MPI/atimport.pxi":210 * MPI_Abort(MPI_COMM_WORLD, abort_status) * finalize() * if options.finalize: # <<<<<<<<<<<<<< * MPI_Finalize() * */ __pyx_t_1 = (__pyx_v_6mpi4py_3MPI_options.finalize != 0); if (__pyx_t_1) { /* "mpi4py/MPI/atimport.pxi":211 * finalize() * if options.finalize: * MPI_Finalize() # <<<<<<<<<<<<<< * * def _set_abort_status(object status): */ ((void)MPI_Finalize()); /* "mpi4py/MPI/atimport.pxi":210 * MPI_Abort(MPI_COMM_WORLD, abort_status) * finalize() * if options.finalize: # <<<<<<<<<<<<<< * MPI_Finalize() * */ } /* "mpi4py/MPI/atimport.pxi":205 * cdef int abort_status = 0 * * cdef void atexit() nogil: # <<<<<<<<<<<<<< * if not mpi_active(): return * if abort_status: */ /* function exit code */ __pyx_L0:; } /* "mpi4py/MPI/atimport.pxi":213 * MPI_Finalize() * * def _set_abort_status(object status): # <<<<<<<<<<<<<< * "Helper for ``python -m mpi4py.run ...``" * global abort_status */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_1_set_abort_status(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI__set_abort_status[] = "_set_abort_status(status)\nHelper for ``python -m mpi4py.run ...``"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_1_set_abort_status = {"_set_abort_status", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_1_set_abort_status, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI__set_abort_status}; static PyObject *__pyx_pw_6mpi4py_3MPI_1_set_abort_status(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_set_abort_status (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_status,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_status)) != 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, "_set_abort_status") < 0)) __PYX_ERR(9, 213, __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_status = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_set_abort_status", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(9, 213, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI._set_abort_status", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI__set_abort_status(__pyx_self, __pyx_v_status); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI__set_abort_status(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_status) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; int __pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_set_abort_status", 0); /* "mpi4py/MPI/atimport.pxi":216 * "Helper for ``python -m mpi4py.run ...``" * global abort_status * try: # <<<<<<<<<<<<<< * abort_status = status * except: */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); __Pyx_XGOTREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); /*try:*/ { /* "mpi4py/MPI/atimport.pxi":217 * global abort_status * try: * abort_status = status # <<<<<<<<<<<<<< * except: * abort_status = 1 if status else 0 */ __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_v_status); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(9, 217, __pyx_L3_error) __pyx_v_6mpi4py_3MPI_abort_status = __pyx_t_4; /* "mpi4py/MPI/atimport.pxi":216 * "Helper for ``python -m mpi4py.run ...``" * global abort_status * try: # <<<<<<<<<<<<<< * abort_status = status * except: */ } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L8_try_end; __pyx_L3_error:; /* "mpi4py/MPI/atimport.pxi":218 * try: * abort_status = status * except: # <<<<<<<<<<<<<< * abort_status = 1 if status else 0 * */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI._set_abort_status", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(9, 218, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); /* "mpi4py/MPI/atimport.pxi":219 * abort_status = status * except: * abort_status = 1 if status else 0 # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_status); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 219, __pyx_L5_except_error) if (__pyx_t_8) { __pyx_t_4 = 1; } else { __pyx_t_4 = 0; } __pyx_v_6mpi4py_3MPI_abort_status = __pyx_t_4; __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; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/atimport.pxi":216 * "Helper for ``python -m mpi4py.run ...``" * global abort_status * try: # <<<<<<<<<<<<<< * abort_status = status * except: */ __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:; } /* "mpi4py/MPI/atimport.pxi":213 * MPI_Finalize() * * def _set_abort_status(object status): # <<<<<<<<<<<<<< * "Helper for ``python -m mpi4py.run ...``" * global abort_status */ /* 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_AddTraceback("mpi4py.MPI._set_abort_status", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/atimport.pxi":235 * cdef object MPIException = PyExc_RuntimeError * * cdef int PyMPI_Raise(int ierr) except -1 with gil: # <<<<<<<<<<<<<< * if ierr == PyMPI_ERR_UNAVAILABLE: * PyErr_SetObject(PyExc_NotImplementedError, None) */ static int __pyx_f_6mpi4py_3MPI_PyMPI_Raise(int __pyx_v_ierr) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("PyMPI_Raise", 0); /* "mpi4py/MPI/atimport.pxi":236 * * cdef int PyMPI_Raise(int ierr) except -1 with gil: * if ierr == PyMPI_ERR_UNAVAILABLE: # <<<<<<<<<<<<<< * PyErr_SetObject(PyExc_NotImplementedError, None) * return 0 */ __pyx_t_1 = ((__pyx_v_ierr == PyMPI_ERR_UNAVAILABLE) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/atimport.pxi":237 * cdef int PyMPI_Raise(int ierr) except -1 with gil: * if ierr == PyMPI_ERR_UNAVAILABLE: * PyErr_SetObject(PyExc_NotImplementedError, None) # <<<<<<<<<<<<<< * return 0 * if (MPIException) != NULL: */ __pyx_t_2 = ((PyObject *)PyExc_NotImplementedError); __Pyx_INCREF(__pyx_t_2); PyErr_SetObject(__pyx_t_2, Py_None); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/atimport.pxi":238 * if ierr == PyMPI_ERR_UNAVAILABLE: * PyErr_SetObject(PyExc_NotImplementedError, None) * return 0 # <<<<<<<<<<<<<< * if (MPIException) != NULL: * PyErr_SetObject(MPIException, ierr) */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/atimport.pxi":236 * * cdef int PyMPI_Raise(int ierr) except -1 with gil: * if ierr == PyMPI_ERR_UNAVAILABLE: # <<<<<<<<<<<<<< * PyErr_SetObject(PyExc_NotImplementedError, None) * return 0 */ } /* "mpi4py/MPI/atimport.pxi":239 * PyErr_SetObject(PyExc_NotImplementedError, None) * return 0 * if (MPIException) != NULL: # <<<<<<<<<<<<<< * PyErr_SetObject(MPIException, ierr) * else: */ __pyx_t_1 = ((((void *)__pyx_v_6mpi4py_3MPI_MPIException) != NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/atimport.pxi":240 * return 0 * if (MPIException) != NULL: * PyErr_SetObject(MPIException, ierr) # <<<<<<<<<<<<<< * else: * PyErr_SetObject(PyExc_RuntimeError, ierr) */ __pyx_t_2 = __pyx_v_6mpi4py_3MPI_MPIException; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_long(((long)__pyx_v_ierr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); PyErr_SetObject(__pyx_t_2, __pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/atimport.pxi":239 * PyErr_SetObject(PyExc_NotImplementedError, None) * return 0 * if (MPIException) != NULL: # <<<<<<<<<<<<<< * PyErr_SetObject(MPIException, ierr) * else: */ goto __pyx_L4; } /* "mpi4py/MPI/atimport.pxi":242 * PyErr_SetObject(MPIException, ierr) * else: * PyErr_SetObject(PyExc_RuntimeError, ierr) # <<<<<<<<<<<<<< * return 0 * */ /*else*/ { __pyx_t_3 = ((PyObject *)PyExc_RuntimeError); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_From_long(((long)__pyx_v_ierr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); PyErr_SetObject(__pyx_t_3, __pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_L4:; /* "mpi4py/MPI/atimport.pxi":243 * else: * PyErr_SetObject(PyExc_RuntimeError, ierr) * return 0 # <<<<<<<<<<<<<< * * cdef inline int CHKERR(int ierr) nogil except -1: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/atimport.pxi":235 * cdef object MPIException = PyExc_RuntimeError * * cdef int PyMPI_Raise(int ierr) except -1 with gil: # <<<<<<<<<<<<<< * if ierr == PyMPI_ERR_UNAVAILABLE: * PyErr_SetObject(PyExc_NotImplementedError, None) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_Raise", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "mpi4py/MPI/atimport.pxi":245 * return 0 * * cdef inline int CHKERR(int ierr) nogil except -1: # <<<<<<<<<<<<<< * if ierr == MPI_SUCCESS: return 0 * PyMPI_Raise(ierr) */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_CHKERR(int __pyx_v_ierr) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/atimport.pxi":246 * * cdef inline int CHKERR(int ierr) nogil except -1: * if ierr == MPI_SUCCESS: return 0 # <<<<<<<<<<<<<< * PyMPI_Raise(ierr) * return -1 */ __pyx_t_1 = ((__pyx_v_ierr == MPI_SUCCESS) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/atimport.pxi":247 * cdef inline int CHKERR(int ierr) nogil except -1: * if ierr == MPI_SUCCESS: return 0 * PyMPI_Raise(ierr) # <<<<<<<<<<<<<< * return -1 * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_Raise(__pyx_v_ierr); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(9, 247, __pyx_L1_error) /* "mpi4py/MPI/atimport.pxi":248 * if ierr == MPI_SUCCESS: return 0 * PyMPI_Raise(ierr) * return -1 # <<<<<<<<<<<<<< * * cdef inline void print_traceback(): */ __pyx_r = -1; goto __pyx_L0; /* "mpi4py/MPI/atimport.pxi":245 * return 0 * * cdef inline int CHKERR(int ierr) nogil except -1: # <<<<<<<<<<<<<< * if ierr == MPI_SUCCESS: return 0 * PyMPI_Raise(ierr) */ /* function exit code */ __pyx_L1_error:; { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_AddTraceback("mpi4py.MPI.CHKERR", __pyx_clineno, __pyx_lineno, __pyx_filename); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif } __pyx_r = -1; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/atimport.pxi":250 * return -1 * * cdef inline void print_traceback(): # <<<<<<<<<<<<<< * cdef object sys, traceback * import sys, traceback */ static CYTHON_INLINE void __pyx_f_6mpi4py_3MPI_print_traceback(void) { PyObject *__pyx_v_sys = 0; PyObject *__pyx_v_traceback = 0; __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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("print_traceback", 0); /* "mpi4py/MPI/atimport.pxi":252 * cdef inline void print_traceback(): * cdef object sys, traceback * import sys, traceback # <<<<<<<<<<<<<< * traceback.print_exc() * try: sys.stderr.flush() */ __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_sys = __pyx_t_1; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_Import(__pyx_n_s_traceback, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_traceback = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/atimport.pxi":253 * cdef object sys, traceback * import sys, traceback * traceback.print_exc() # <<<<<<<<<<<<<< * try: sys.stderr.flush() * except: pass */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_traceback, __pyx_n_s_print_exc); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 253, __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(9, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/atimport.pxi":254 * import sys, traceback * traceback.print_exc() * try: sys.stderr.flush() # <<<<<<<<<<<<<< * except: pass * */ { __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:*/ { __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_sys, __pyx_n_s_stderr); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 254, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_flush); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 254, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __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(9, 254, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_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_L8_try_end; __pyx_L3_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; /* "mpi4py/MPI/atimport.pxi":255 * traceback.print_exc() * try: sys.stderr.flush() * except: pass # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L4_exception_handled; } __pyx_L4_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_L8_try_end:; } /* "mpi4py/MPI/atimport.pxi":250 * return -1 * * cdef inline void print_traceback(): # <<<<<<<<<<<<<< * cdef object sys, traceback * import sys, traceback */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_WriteUnraisable("mpi4py.MPI.print_traceback", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_XDECREF(__pyx_v_sys); __Pyx_XDECREF(__pyx_v_traceback); __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/atimport.pxi":266 * cdef object _pypy_sentinel = None * * cdef inline int Py_IsInitialized() nogil: # <<<<<<<<<<<<<< * if PYPY and (_pypy_sentinel) == NULL: return 0 * return _Py_IsInitialized() */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_Py_IsInitialized(void) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; /* "mpi4py/MPI/atimport.pxi":267 * * cdef inline int Py_IsInitialized() nogil: * if PYPY and (_pypy_sentinel) == NULL: return 0 # <<<<<<<<<<<<<< * return _Py_IsInitialized() * */ if (PyMPI_RUNTIME_PYPY) { } else { __pyx_t_1 = PyMPI_RUNTIME_PYPY; goto __pyx_L4_bool_binop_done; } __pyx_t_2 = ((((void *)__pyx_v_6mpi4py_3MPI__pypy_sentinel) == NULL) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/atimport.pxi":268 * cdef inline int Py_IsInitialized() nogil: * if PYPY and (_pypy_sentinel) == NULL: return 0 * return _Py_IsInitialized() # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = Py_IsInitialized(); goto __pyx_L0; /* "mpi4py/MPI/atimport.pxi":266 * cdef object _pypy_sentinel = None * * cdef inline int Py_IsInitialized() nogil: # <<<<<<<<<<<<<< * if PYPY and (_pypy_sentinel) == NULL: return 0 * return _Py_IsInitialized() */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/asstring.pxi":15 * #------------------------------------------------------------------------------ * * cdef inline object asmpistr(object ob, char *s[]): # <<<<<<<<<<<<<< * if PyUnicode_Check(ob): * if PY3: ob = PyUnicode_AsUTF8String(ob); */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asmpistr(PyObject *__pyx_v_ob, char **__pyx_v_s) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("asmpistr", 0); __Pyx_INCREF(__pyx_v_ob); /* "mpi4py/MPI/asstring.pxi":16 * * cdef inline object asmpistr(object ob, char *s[]): * if PyUnicode_Check(ob): # <<<<<<<<<<<<<< * if PY3: ob = PyUnicode_AsUTF8String(ob); * else: ob = PyUnicode_AsASCIIString(ob); */ __pyx_t_1 = (PyUnicode_Check(__pyx_v_ob) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/asstring.pxi":17 * cdef inline object asmpistr(object ob, char *s[]): * if PyUnicode_Check(ob): * if PY3: ob = PyUnicode_AsUTF8String(ob); # <<<<<<<<<<<<<< * else: ob = PyUnicode_AsASCIIString(ob); * PyBytes_AsStringAndSize(ob, s, NULL) */ if ((PY_MAJOR_VERSION>=3)) { __pyx_t_2 = PyUnicode_AsUTF8String(__pyx_v_ob); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_ob, __pyx_t_2); __pyx_t_2 = 0; goto __pyx_L4; } /* "mpi4py/MPI/asstring.pxi":18 * if PyUnicode_Check(ob): * if PY3: ob = PyUnicode_AsUTF8String(ob); * else: ob = PyUnicode_AsASCIIString(ob); # <<<<<<<<<<<<<< * PyBytes_AsStringAndSize(ob, s, NULL) * return ob */ /*else*/ { __pyx_t_2 = PyUnicode_AsASCIIString(__pyx_v_ob); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_ob, __pyx_t_2); __pyx_t_2 = 0; } __pyx_L4:; /* "mpi4py/MPI/asstring.pxi":16 * * cdef inline object asmpistr(object ob, char *s[]): * if PyUnicode_Check(ob): # <<<<<<<<<<<<<< * if PY3: ob = PyUnicode_AsUTF8String(ob); * else: ob = PyUnicode_AsASCIIString(ob); */ } /* "mpi4py/MPI/asstring.pxi":19 * if PY3: ob = PyUnicode_AsUTF8String(ob); * else: ob = PyUnicode_AsASCIIString(ob); * PyBytes_AsStringAndSize(ob, s, NULL) # <<<<<<<<<<<<<< * return ob * */ __pyx_t_3 = PyBytes_AsStringAndSize(__pyx_v_ob, __pyx_v_s, NULL); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(10, 19, __pyx_L1_error) /* "mpi4py/MPI/asstring.pxi":20 * else: ob = PyUnicode_AsASCIIString(ob); * PyBytes_AsStringAndSize(ob, s, NULL) * return ob # <<<<<<<<<<<<<< * * cdef inline object tompistr(const char s[], int n): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ob); __pyx_r = __pyx_v_ob; goto __pyx_L0; /* "mpi4py/MPI/asstring.pxi":15 * #------------------------------------------------------------------------------ * * cdef inline object asmpistr(object ob, char *s[]): # <<<<<<<<<<<<<< * if PyUnicode_Check(ob): * if PY3: ob = PyUnicode_AsUTF8String(ob); */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.asmpistr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asstring.pxi":22 * return ob * * cdef inline object tompistr(const char s[], int n): # <<<<<<<<<<<<<< * if PY3: return PyUnicode_FromStringAndSize(s, n) * else: return PyBytes_FromStringAndSize(s, n) */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_tompistr(char const *__pyx_v_s, int __pyx_v_n) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("tompistr", 0); /* "mpi4py/MPI/asstring.pxi":23 * * cdef inline object tompistr(const char s[], int n): * if PY3: return PyUnicode_FromStringAndSize(s, n) # <<<<<<<<<<<<<< * else: return PyBytes_FromStringAndSize(s, n) * */ if ((PY_MAJOR_VERSION>=3)) { __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyUnicode_FromStringAndSize(__pyx_v_s, __pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; } /* "mpi4py/MPI/asstring.pxi":24 * cdef inline object tompistr(const char s[], int n): * if PY3: return PyUnicode_FromStringAndSize(s, n) * else: return PyBytes_FromStringAndSize(s, n) # <<<<<<<<<<<<<< * * cdef inline object mpistr(const char s[]): */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyBytes_FromStringAndSize(__pyx_v_s, __pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; } /* "mpi4py/MPI/asstring.pxi":22 * return ob * * cdef inline object tompistr(const char s[], int n): # <<<<<<<<<<<<<< * if PY3: return PyUnicode_FromStringAndSize(s, n) * else: return PyBytes_FromStringAndSize(s, n) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.tompistr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asstring.pxi":26 * else: return PyBytes_FromStringAndSize(s, n) * * cdef inline object mpistr(const char s[]): # <<<<<<<<<<<<<< * if PY3: return PyUnicode_FromString(s) * else: return PyBytes_FromString(s) */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_mpistr(char const *__pyx_v_s) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("mpistr", 0); /* "mpi4py/MPI/asstring.pxi":27 * * cdef inline object mpistr(const char s[]): * if PY3: return PyUnicode_FromString(s) # <<<<<<<<<<<<<< * else: return PyBytes_FromString(s) * */ if ((PY_MAJOR_VERSION>=3)) { __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyUnicode_FromString(__pyx_v_s); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 27, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; } /* "mpi4py/MPI/asstring.pxi":28 * cdef inline object mpistr(const char s[]): * if PY3: return PyUnicode_FromString(s) * else: return PyBytes_FromString(s) # <<<<<<<<<<<<<< * * cdef inline object pystr(const char s[]): */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyBytes_FromString(__pyx_v_s); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; } /* "mpi4py/MPI/asstring.pxi":26 * else: return PyBytes_FromStringAndSize(s, n) * * cdef inline object mpistr(const char s[]): # <<<<<<<<<<<<<< * if PY3: return PyUnicode_FromString(s) * else: return PyBytes_FromString(s) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.mpistr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asstring.pxi":30 * else: return PyBytes_FromString(s) * * cdef inline object pystr(const char s[]): # <<<<<<<<<<<<<< * if PY3: return PyUnicode_FromString(s) * else: return PyBytes_FromString(s) */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_pystr(char const *__pyx_v_s) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("pystr", 0); /* "mpi4py/MPI/asstring.pxi":31 * * cdef inline object pystr(const char s[]): * if PY3: return PyUnicode_FromString(s) # <<<<<<<<<<<<<< * else: return PyBytes_FromString(s) * */ if ((PY_MAJOR_VERSION>=3)) { __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyUnicode_FromString(__pyx_v_s); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 31, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; } /* "mpi4py/MPI/asstring.pxi":32 * cdef inline object pystr(const char s[]): * if PY3: return PyUnicode_FromString(s) * else: return PyBytes_FromString(s) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyBytes_FromString(__pyx_v_s); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; } /* "mpi4py/MPI/asstring.pxi":30 * else: return PyBytes_FromString(s) * * cdef inline object pystr(const char s[]): # <<<<<<<<<<<<<< * if PY3: return PyUnicode_FromString(s) * else: return PyBytes_FromString(s) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.pystr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":81 * pass * * cdef int PyPy_GetBuffer(object obj, Py_buffer *view, int flags) except -1: # <<<<<<<<<<<<<< * cdef object addr * cdef void *buf = NULL */ static int __pyx_f_6mpi4py_3MPI_PyPy_GetBuffer(PyObject *__pyx_v_obj, Py_buffer *__pyx_v_view, int __pyx_v_flags) { PyObject *__pyx_v_addr = 0; void *__pyx_v_buf; Py_ssize_t __pyx_v_size; int __pyx_v_readonly; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_t_5; int __pyx_t_6; char *__pyx_t_7; Py_ssize_t __pyx_t_8; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *(*__pyx_t_13)(PyObject *); int __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyPy_GetBuffer", 0); /* "mpi4py/MPI/asbuffer.pxi":83 * cdef int PyPy_GetBuffer(object obj, Py_buffer *view, int flags) except -1: * cdef object addr * cdef void *buf = NULL # <<<<<<<<<<<<<< * cdef Py_ssize_t size = 0 * cdef bint readonly = 0 */ __pyx_v_buf = NULL; /* "mpi4py/MPI/asbuffer.pxi":84 * cdef object addr * cdef void *buf = NULL * cdef Py_ssize_t size = 0 # <<<<<<<<<<<<<< * cdef bint readonly = 0 * try: */ __pyx_v_size = 0; /* "mpi4py/MPI/asbuffer.pxi":85 * cdef void *buf = NULL * cdef Py_ssize_t size = 0 * cdef bint readonly = 0 # <<<<<<<<<<<<<< * try: * if not isinstance(obj, bytes): */ __pyx_v_readonly = 0; /* "mpi4py/MPI/asbuffer.pxi":86 * cdef Py_ssize_t size = 0 * cdef bint readonly = 0 * try: # <<<<<<<<<<<<<< * if not isinstance(obj, bytes): * if PyObject_CheckBuffer(obj): */ { __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:*/ { /* "mpi4py/MPI/asbuffer.pxi":87 * cdef bint readonly = 0 * try: * if not isinstance(obj, bytes): # <<<<<<<<<<<<<< * if PyObject_CheckBuffer(obj): * return PyObject_GetBuffer(obj, view, flags) */ __pyx_t_4 = PyBytes_Check(__pyx_v_obj); __pyx_t_5 = ((!(__pyx_t_4 != 0)) != 0); if (__pyx_t_5) { /* "mpi4py/MPI/asbuffer.pxi":88 * try: * if not isinstance(obj, bytes): * if PyObject_CheckBuffer(obj): # <<<<<<<<<<<<<< * return PyObject_GetBuffer(obj, view, flags) * except SystemError: */ __pyx_t_5 = (PyObject_CheckBuffer(__pyx_v_obj) != 0); if (__pyx_t_5) { /* "mpi4py/MPI/asbuffer.pxi":89 * if not isinstance(obj, bytes): * if PyObject_CheckBuffer(obj): * return PyObject_GetBuffer(obj, view, flags) # <<<<<<<<<<<<<< * except SystemError: * pass */ __pyx_t_6 = PyObject_GetBuffer(__pyx_v_obj, __pyx_v_view, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 89, __pyx_L3_error) __pyx_r = __pyx_t_6; goto __pyx_L7_try_return; /* "mpi4py/MPI/asbuffer.pxi":88 * try: * if not isinstance(obj, bytes): * if PyObject_CheckBuffer(obj): # <<<<<<<<<<<<<< * return PyObject_GetBuffer(obj, view, flags) * except SystemError: */ } /* "mpi4py/MPI/asbuffer.pxi":87 * cdef bint readonly = 0 * try: * if not isinstance(obj, bytes): # <<<<<<<<<<<<<< * if PyObject_CheckBuffer(obj): * return PyObject_GetBuffer(obj, view, flags) */ } /* "mpi4py/MPI/asbuffer.pxi":86 * cdef Py_ssize_t size = 0 * cdef bint readonly = 0 * try: # <<<<<<<<<<<<<< * if not isinstance(obj, bytes): * if PyObject_CheckBuffer(obj): */ } __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:; /* "mpi4py/MPI/asbuffer.pxi":90 * if PyObject_CheckBuffer(obj): * return PyObject_GetBuffer(obj, view, flags) * except SystemError: # <<<<<<<<<<<<<< * pass * except TypeError: */ __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_SystemError); if (__pyx_t_6) { __Pyx_ErrRestore(0,0,0); goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/asbuffer.pxi":92 * except SystemError: * pass * except TypeError: # <<<<<<<<<<<<<< * pass * if isinstance(obj, bytes): */ __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError); if (__pyx_t_6) { __Pyx_ErrRestore(0,0,0); goto __pyx_L4_exception_handled; } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "mpi4py/MPI/asbuffer.pxi":86 * cdef Py_ssize_t size = 0 * cdef bint readonly = 0 * try: # <<<<<<<<<<<<<< * if not isinstance(obj, bytes): * if PyObject_CheckBuffer(obj): */ __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_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:; } /* "mpi4py/MPI/asbuffer.pxi":94 * except TypeError: * pass * if isinstance(obj, bytes): # <<<<<<<<<<<<<< * buf = PyBytes_AsString(obj) * size = PyBytes_Size(obj) */ __pyx_t_5 = PyBytes_Check(__pyx_v_obj); __pyx_t_4 = (__pyx_t_5 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/asbuffer.pxi":95 * pass * if isinstance(obj, bytes): * buf = PyBytes_AsString(obj) # <<<<<<<<<<<<<< * size = PyBytes_Size(obj) * readonly = 1 */ __pyx_t_7 = PyBytes_AsString(__pyx_v_obj); if (unlikely(__pyx_t_7 == ((char *)NULL))) __PYX_ERR(0, 95, __pyx_L1_error) __pyx_v_buf = __pyx_t_7; /* "mpi4py/MPI/asbuffer.pxi":96 * if isinstance(obj, bytes): * buf = PyBytes_AsString(obj) * size = PyBytes_Size(obj) # <<<<<<<<<<<<<< * readonly = 1 * elif isinstance(obj, bytearray): */ __pyx_t_8 = PyBytes_Size(__pyx_v_obj); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 96, __pyx_L1_error) __pyx_v_size = __pyx_t_8; /* "mpi4py/MPI/asbuffer.pxi":97 * buf = PyBytes_AsString(obj) * size = PyBytes_Size(obj) * readonly = 1 # <<<<<<<<<<<<<< * elif isinstance(obj, bytearray): * buf = PyByteArray_AsString(obj) */ __pyx_v_readonly = 1; /* "mpi4py/MPI/asbuffer.pxi":94 * except TypeError: * pass * if isinstance(obj, bytes): # <<<<<<<<<<<<<< * buf = PyBytes_AsString(obj) * size = PyBytes_Size(obj) */ goto __pyx_L11; } /* "mpi4py/MPI/asbuffer.pxi":98 * size = PyBytes_Size(obj) * readonly = 1 * elif isinstance(obj, bytearray): # <<<<<<<<<<<<<< * buf = PyByteArray_AsString(obj) * size = PyByteArray_Size(obj) */ __pyx_t_4 = PyByteArray_Check(__pyx_v_obj); __pyx_t_5 = (__pyx_t_4 != 0); if (__pyx_t_5) { /* "mpi4py/MPI/asbuffer.pxi":99 * readonly = 1 * elif isinstance(obj, bytearray): * buf = PyByteArray_AsString(obj) # <<<<<<<<<<<<<< * size = PyByteArray_Size(obj) * readonly = 0 */ __pyx_t_7 = PyByteArray_AsString(__pyx_v_obj); if (unlikely(__pyx_t_7 == ((char *)NULL))) __PYX_ERR(0, 99, __pyx_L1_error) __pyx_v_buf = __pyx_t_7; /* "mpi4py/MPI/asbuffer.pxi":100 * elif isinstance(obj, bytearray): * buf = PyByteArray_AsString(obj) * size = PyByteArray_Size(obj) # <<<<<<<<<<<<<< * readonly = 0 * elif isinstance(obj, array_array): */ __pyx_t_8 = PyByteArray_Size(__pyx_v_obj); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 100, __pyx_L1_error) __pyx_v_size = __pyx_t_8; /* "mpi4py/MPI/asbuffer.pxi":101 * buf = PyByteArray_AsString(obj) * size = PyByteArray_Size(obj) * readonly = 0 # <<<<<<<<<<<<<< * elif isinstance(obj, array_array): * addr, size = obj.buffer_info() */ __pyx_v_readonly = 0; /* "mpi4py/MPI/asbuffer.pxi":98 * size = PyBytes_Size(obj) * readonly = 1 * elif isinstance(obj, bytearray): # <<<<<<<<<<<<<< * buf = PyByteArray_AsString(obj) * size = PyByteArray_Size(obj) */ goto __pyx_L11; } /* "mpi4py/MPI/asbuffer.pxi":102 * size = PyByteArray_Size(obj) * readonly = 0 * elif isinstance(obj, array_array): # <<<<<<<<<<<<<< * addr, size = obj.buffer_info() * buf = PyLong_AsVoidPtr(addr) */ __pyx_t_9 = ((PyObject *)__pyx_v_6mpi4py_3MPI_array_array); __Pyx_INCREF(__pyx_t_9); __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_obj, __pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_4 = (__pyx_t_5 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/asbuffer.pxi":103 * readonly = 0 * elif isinstance(obj, array_array): * addr, size = obj.buffer_info() # <<<<<<<<<<<<<< * buf = PyLong_AsVoidPtr(addr) * size *= obj.itemsize */ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_buffer_info); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_9))) || (PyList_CheckExact(__pyx_t_9))) { PyObject* sequence = __pyx_t_9; 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, 103, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_10 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_10 = PyList_GET_ITEM(sequence, 0); __pyx_t_11 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(__pyx_t_11); #else __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else { Py_ssize_t index = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_13 = Py_TYPE(__pyx_t_12)->tp_iternext; index = 0; __pyx_t_10 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_10)) goto __pyx_L12_unpacking_failed; __Pyx_GOTREF(__pyx_t_10); index = 1; __pyx_t_11 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_11)) goto __pyx_L12_unpacking_failed; __Pyx_GOTREF(__pyx_t_11); if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 2) < 0) __PYX_ERR(0, 103, __pyx_L1_error) __pyx_t_13 = NULL; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; goto __pyx_L13_unpacking_done; __pyx_L12_unpacking_failed:; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_13 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 103, __pyx_L1_error) __pyx_L13_unpacking_done:; } __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_t_11); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_v_addr = __pyx_t_10; __pyx_t_10 = 0; __pyx_v_size = __pyx_t_8; /* "mpi4py/MPI/asbuffer.pxi":104 * elif isinstance(obj, array_array): * addr, size = obj.buffer_info() * buf = PyLong_AsVoidPtr(addr) # <<<<<<<<<<<<<< * size *= obj.itemsize * readonly = 0 */ __pyx_v_buf = PyLong_AsVoidPtr(__pyx_v_addr); /* "mpi4py/MPI/asbuffer.pxi":105 * addr, size = obj.buffer_info() * buf = PyLong_AsVoidPtr(addr) * size *= obj.itemsize # <<<<<<<<<<<<<< * readonly = 0 * elif pypy_have_numpy and isinstance(obj, numpy_array): */ __pyx_t_9 = PyInt_FromSsize_t(__pyx_v_size); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = PyNumber_InPlaceMultiply(__pyx_t_9, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_t_10); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 105, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_size = __pyx_t_8; /* "mpi4py/MPI/asbuffer.pxi":106 * buf = PyLong_AsVoidPtr(addr) * size *= obj.itemsize * readonly = 0 # <<<<<<<<<<<<<< * elif pypy_have_numpy and isinstance(obj, numpy_array): * addr, readonly = obj.__array_interface__['data'] */ __pyx_v_readonly = 0; /* "mpi4py/MPI/asbuffer.pxi":102 * size = PyByteArray_Size(obj) * readonly = 0 * elif isinstance(obj, array_array): # <<<<<<<<<<<<<< * addr, size = obj.buffer_info() * buf = PyLong_AsVoidPtr(addr) */ goto __pyx_L11; } /* "mpi4py/MPI/asbuffer.pxi":107 * size *= obj.itemsize * readonly = 0 * elif pypy_have_numpy and isinstance(obj, numpy_array): # <<<<<<<<<<<<<< * addr, readonly = obj.__array_interface__['data'] * buf = PyLong_AsVoidPtr(addr) */ __pyx_t_5 = (__pyx_v_6mpi4py_3MPI_pypy_have_numpy != 0); if (__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L14_bool_binop_done; } __pyx_t_10 = ((PyObject *)__pyx_v_6mpi4py_3MPI_numpy_array); __Pyx_INCREF(__pyx_t_10); __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_obj, __pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_14 = (__pyx_t_5 != 0); __pyx_t_4 = __pyx_t_14; __pyx_L14_bool_binop_done:; if (__pyx_t_4) { /* "mpi4py/MPI/asbuffer.pxi":108 * readonly = 0 * elif pypy_have_numpy and isinstance(obj, numpy_array): * addr, readonly = obj.__array_interface__['data'] # <<<<<<<<<<<<<< * buf = PyLong_AsVoidPtr(addr) * size = obj.nbytes */ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_array_interface); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_s_data); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_11))) || (PyList_CheckExact(__pyx_t_11))) { PyObject* sequence = __pyx_t_11; 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, 108, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_10 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_10 = PyList_GET_ITEM(sequence, 0); __pyx_t_9 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(__pyx_t_9); #else __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } else { Py_ssize_t index = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_13 = Py_TYPE(__pyx_t_12)->tp_iternext; index = 0; __pyx_t_10 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_10)) goto __pyx_L16_unpacking_failed; __Pyx_GOTREF(__pyx_t_10); index = 1; __pyx_t_9 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_9)) goto __pyx_L16_unpacking_failed; __Pyx_GOTREF(__pyx_t_9); if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 2) < 0) __PYX_ERR(0, 108, __pyx_L1_error) __pyx_t_13 = NULL; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; goto __pyx_L17_unpacking_done; __pyx_L16_unpacking_failed:; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_13 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 108, __pyx_L1_error) __pyx_L17_unpacking_done:; } __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_addr = __pyx_t_10; __pyx_t_10 = 0; __pyx_v_readonly = __pyx_t_4; /* "mpi4py/MPI/asbuffer.pxi":109 * elif pypy_have_numpy and isinstance(obj, numpy_array): * addr, readonly = obj.__array_interface__['data'] * buf = PyLong_AsVoidPtr(addr) # <<<<<<<<<<<<<< * size = obj.nbytes * else: */ __pyx_v_buf = PyLong_AsVoidPtr(__pyx_v_addr); /* "mpi4py/MPI/asbuffer.pxi":110 * addr, readonly = obj.__array_interface__['data'] * buf = PyLong_AsVoidPtr(addr) * size = obj.nbytes # <<<<<<<<<<<<<< * else: * readonly = (flags & PyBUF_WRITABLE) != PyBUF_WRITABLE */ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_nbytes); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_t_11); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_v_size = __pyx_t_8; /* "mpi4py/MPI/asbuffer.pxi":107 * size *= obj.itemsize * readonly = 0 * elif pypy_have_numpy and isinstance(obj, numpy_array): # <<<<<<<<<<<<<< * addr, readonly = obj.__array_interface__['data'] * buf = PyLong_AsVoidPtr(addr) */ goto __pyx_L11; } /* "mpi4py/MPI/asbuffer.pxi":112 * size = obj.nbytes * else: * readonly = (flags & PyBUF_WRITABLE) != PyBUF_WRITABLE # <<<<<<<<<<<<<< * _Py2_AsBuffer(obj, readonly, &buf, &size) * if buf == NULL and size == 0: buf = emptybuffer */ /*else*/ { __pyx_v_readonly = ((__pyx_v_flags & PyBUF_WRITABLE) != PyBUF_WRITABLE); /* "mpi4py/MPI/asbuffer.pxi":113 * else: * readonly = (flags & PyBUF_WRITABLE) != PyBUF_WRITABLE * _Py2_AsBuffer(obj, readonly, &buf, &size) # <<<<<<<<<<<<<< * if buf == NULL and size == 0: buf = emptybuffer * PyBuffer_FillInfo(view, obj, buf, size, readonly, flags) */ __pyx_t_6 = _Py2_AsBuffer(__pyx_v_obj, __pyx_v_readonly, (&__pyx_v_buf), (&__pyx_v_size)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 113, __pyx_L1_error) } __pyx_L11:; /* "mpi4py/MPI/asbuffer.pxi":114 * readonly = (flags & PyBUF_WRITABLE) != PyBUF_WRITABLE * _Py2_AsBuffer(obj, readonly, &buf, &size) * if buf == NULL and size == 0: buf = emptybuffer # <<<<<<<<<<<<<< * PyBuffer_FillInfo(view, obj, buf, size, readonly, flags) * if (flags & PyBUF_FORMAT) == PyBUF_FORMAT: view.format = BYTE_FMT */ __pyx_t_14 = ((__pyx_v_buf == NULL) != 0); if (__pyx_t_14) { } else { __pyx_t_4 = __pyx_t_14; goto __pyx_L19_bool_binop_done; } __pyx_t_14 = ((__pyx_v_size == 0) != 0); __pyx_t_4 = __pyx_t_14; __pyx_L19_bool_binop_done:; if (__pyx_t_4) { __pyx_v_buf = ((void*)""); } /* "mpi4py/MPI/asbuffer.pxi":115 * _Py2_AsBuffer(obj, readonly, &buf, &size) * if buf == NULL and size == 0: buf = emptybuffer * PyBuffer_FillInfo(view, obj, buf, size, readonly, flags) # <<<<<<<<<<<<<< * if (flags & PyBUF_FORMAT) == PyBUF_FORMAT: view.format = BYTE_FMT * return 0 */ __pyx_t_6 = PyBuffer_FillInfo(__pyx_v_view, __pyx_v_obj, __pyx_v_buf, __pyx_v_size, __pyx_v_readonly, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 115, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":116 * if buf == NULL and size == 0: buf = emptybuffer * PyBuffer_FillInfo(view, obj, buf, size, readonly, flags) * if (flags & PyBUF_FORMAT) == PyBUF_FORMAT: view.format = BYTE_FMT # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_4 = (((__pyx_v_flags & PyBUF_FORMAT) == PyBUF_FORMAT) != 0); if (__pyx_t_4) { __pyx_v_view->format = __pyx_v_6mpi4py_3MPI_BYTE_FMT; } /* "mpi4py/MPI/asbuffer.pxi":117 * PyBuffer_FillInfo(view, obj, buf, size, readonly, flags) * if (flags & PyBUF_FORMAT) == PyBUF_FORMAT: view.format = BYTE_FMT * return 0 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":81 * pass * * cdef int PyPy_GetBuffer(object obj, Py_buffer *view, int flags) except -1: # <<<<<<<<<<<<<< * cdef object addr * cdef void *buf = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __Pyx_XDECREF(__pyx_t_12); __Pyx_AddTraceback("mpi4py.MPI.PyPy_GetBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_addr); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":121 * #------------------------------------------------------------------------------ * * cdef int Py27_GetBuffer(object obj, Py_buffer *view, int flags) except -1: # <<<<<<<<<<<<<< * # Python 3 buffer interface (PEP 3118) * if PyObject_CheckBuffer(obj): */ static int __pyx_f_6mpi4py_3MPI_Py27_GetBuffer(PyObject *__pyx_v_obj, Py_buffer *__pyx_v_view, int __pyx_v_flags) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Py27_GetBuffer", 0); /* "mpi4py/MPI/asbuffer.pxi":123 * cdef int Py27_GetBuffer(object obj, Py_buffer *view, int flags) except -1: * # Python 3 buffer interface (PEP 3118) * if PyObject_CheckBuffer(obj): # <<<<<<<<<<<<<< * return PyObject_GetBuffer(obj, view, flags) * # Python 2 buffer interface (legacy) */ __pyx_t_1 = (PyObject_CheckBuffer(__pyx_v_obj) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/asbuffer.pxi":124 * # Python 3 buffer interface (PEP 3118) * if PyObject_CheckBuffer(obj): * return PyObject_GetBuffer(obj, view, flags) # <<<<<<<<<<<<<< * # Python 2 buffer interface (legacy) * view.readonly = (flags & PyBUF_WRITABLE) != PyBUF_WRITABLE */ __pyx_t_2 = PyObject_GetBuffer(__pyx_v_obj, __pyx_v_view, __pyx_v_flags); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 124, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":123 * cdef int Py27_GetBuffer(object obj, Py_buffer *view, int flags) except -1: * # Python 3 buffer interface (PEP 3118) * if PyObject_CheckBuffer(obj): # <<<<<<<<<<<<<< * return PyObject_GetBuffer(obj, view, flags) * # Python 2 buffer interface (legacy) */ } /* "mpi4py/MPI/asbuffer.pxi":126 * return PyObject_GetBuffer(obj, view, flags) * # Python 2 buffer interface (legacy) * view.readonly = (flags & PyBUF_WRITABLE) != PyBUF_WRITABLE # <<<<<<<<<<<<<< * _Py2_AsBuffer(obj, view.readonly, &view.buf, &view.len) * if view.buf == NULL and view.len == 0: view.buf = emptybuffer */ __pyx_v_view->readonly = ((__pyx_v_flags & PyBUF_WRITABLE) != PyBUF_WRITABLE); /* "mpi4py/MPI/asbuffer.pxi":127 * # Python 2 buffer interface (legacy) * view.readonly = (flags & PyBUF_WRITABLE) != PyBUF_WRITABLE * _Py2_AsBuffer(obj, view.readonly, &view.buf, &view.len) # <<<<<<<<<<<<<< * if view.buf == NULL and view.len == 0: view.buf = emptybuffer * PyBuffer_FillInfo(view, obj, view.buf, view.len, view.readonly, flags) */ __pyx_t_2 = _Py2_AsBuffer(__pyx_v_obj, __pyx_v_view->readonly, (&__pyx_v_view->buf), (&__pyx_v_view->len)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 127, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":128 * view.readonly = (flags & PyBUF_WRITABLE) != PyBUF_WRITABLE * _Py2_AsBuffer(obj, view.readonly, &view.buf, &view.len) * if view.buf == NULL and view.len == 0: view.buf = emptybuffer # <<<<<<<<<<<<<< * PyBuffer_FillInfo(view, obj, view.buf, view.len, view.readonly, flags) * if (flags & PyBUF_FORMAT) == PyBUF_FORMAT: view.format = BYTE_FMT */ __pyx_t_3 = ((__pyx_v_view->buf == NULL) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L5_bool_binop_done; } __pyx_t_3 = ((__pyx_v_view->len == 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { __pyx_v_view->buf = ((void*)""); } /* "mpi4py/MPI/asbuffer.pxi":129 * _Py2_AsBuffer(obj, view.readonly, &view.buf, &view.len) * if view.buf == NULL and view.len == 0: view.buf = emptybuffer * PyBuffer_FillInfo(view, obj, view.buf, view.len, view.readonly, flags) # <<<<<<<<<<<<<< * if (flags & PyBUF_FORMAT) == PyBUF_FORMAT: view.format = BYTE_FMT * return 0 */ __pyx_t_2 = PyBuffer_FillInfo(__pyx_v_view, __pyx_v_obj, __pyx_v_view->buf, __pyx_v_view->len, __pyx_v_view->readonly, __pyx_v_flags); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 129, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":130 * if view.buf == NULL and view.len == 0: view.buf = emptybuffer * PyBuffer_FillInfo(view, obj, view.buf, view.len, view.readonly, flags) * if (flags & PyBUF_FORMAT) == PyBUF_FORMAT: view.format = BYTE_FMT # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_1 = (((__pyx_v_flags & PyBUF_FORMAT) == PyBUF_FORMAT) != 0); if (__pyx_t_1) { __pyx_v_view->format = __pyx_v_6mpi4py_3MPI_BYTE_FMT; } /* "mpi4py/MPI/asbuffer.pxi":131 * PyBuffer_FillInfo(view, obj, view.buf, view.len, view.readonly, flags) * if (flags & PyBUF_FORMAT) == PyBUF_FORMAT: view.format = BYTE_FMT * return 0 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":121 * #------------------------------------------------------------------------------ * * cdef int Py27_GetBuffer(object obj, Py_buffer *view, int flags) except -1: # <<<<<<<<<<<<<< * # Python 3 buffer interface (PEP 3118) * if PyObject_CheckBuffer(obj): */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Py27_GetBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":135 * #------------------------------------------------------------------------------ * * cdef int PyMPI_GetBuffer(object obj, Py_buffer *view, int flags) except -1: # <<<<<<<<<<<<<< * if PYPY: return PyPy_GetBuffer(obj, view, flags) * if PY2: return Py27_GetBuffer(obj, view, flags) */ static int __pyx_f_6mpi4py_3MPI_PyMPI_GetBuffer(PyObject *__pyx_v_obj, Py_buffer *__pyx_v_view, int __pyx_v_flags) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_GetBuffer", 0); /* "mpi4py/MPI/asbuffer.pxi":136 * * cdef int PyMPI_GetBuffer(object obj, Py_buffer *view, int flags) except -1: * if PYPY: return PyPy_GetBuffer(obj, view, flags) # <<<<<<<<<<<<<< * if PY2: return Py27_GetBuffer(obj, view, flags) * return PyObject_GetBuffer(obj, view, flags) */ if (PyMPI_RUNTIME_PYPY) { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyPy_GetBuffer(__pyx_v_obj, __pyx_v_view, __pyx_v_flags); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 136, __pyx_L1_error) __pyx_r = __pyx_t_1; goto __pyx_L0; } /* "mpi4py/MPI/asbuffer.pxi":137 * cdef int PyMPI_GetBuffer(object obj, Py_buffer *view, int flags) except -1: * if PYPY: return PyPy_GetBuffer(obj, view, flags) * if PY2: return Py27_GetBuffer(obj, view, flags) # <<<<<<<<<<<<<< * return PyObject_GetBuffer(obj, view, flags) * */ if ((PY_MAJOR_VERSION==2)) { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_Py27_GetBuffer(__pyx_v_obj, __pyx_v_view, __pyx_v_flags); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 137, __pyx_L1_error) __pyx_r = __pyx_t_1; goto __pyx_L0; } /* "mpi4py/MPI/asbuffer.pxi":138 * if PYPY: return PyPy_GetBuffer(obj, view, flags) * if PY2: return Py27_GetBuffer(obj, view, flags) * return PyObject_GetBuffer(obj, view, flags) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_t_1 = PyObject_GetBuffer(__pyx_v_obj, __pyx_v_view, __pyx_v_flags); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 138, __pyx_L1_error) __pyx_r = __pyx_t_1; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":135 * #------------------------------------------------------------------------------ * * cdef int PyMPI_GetBuffer(object obj, Py_buffer *view, int flags) except -1: # <<<<<<<<<<<<<< * if PYPY: return PyPy_GetBuffer(obj, view, flags) * if PY2: return Py27_GetBuffer(obj, view, flags) */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPI_GetBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":151 * cdef Py_buffer view * * def __cinit__(self): # <<<<<<<<<<<<<< * PyBuffer_FillInfo(&self.view, NULL, * NULL, 0, 0, PyBUF_SIMPLE) */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6memory_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6memory_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_6mpi4py_3MPI_6memory___cinit__(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6memory___cinit__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/asbuffer.pxi":152 * * def __cinit__(self): * PyBuffer_FillInfo(&self.view, NULL, # <<<<<<<<<<<<<< * NULL, 0, 0, PyBUF_SIMPLE) * */ __pyx_t_1 = PyBuffer_FillInfo((&__pyx_v_self->view), ((PyObject *)NULL), NULL, 0, 0, PyBUF_SIMPLE); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 152, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":151 * cdef Py_buffer view * * def __cinit__(self): # <<<<<<<<<<<<<< * PyBuffer_FillInfo(&self.view, NULL, * NULL, 0, 0, PyBUF_SIMPLE) */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.memory.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":155 * NULL, 0, 0, PyBUF_SIMPLE) * * def __dealloc__(self): # <<<<<<<<<<<<<< * PyBuffer_Release(&self.view) * */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_6memory_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_6memory_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_6memory_2__dealloc__(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_6memory_2__dealloc__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__", 0); /* "mpi4py/MPI/asbuffer.pxi":156 * * def __dealloc__(self): * PyBuffer_Release(&self.view) # <<<<<<<<<<<<<< * * @staticmethod */ PyBuffer_Release((&__pyx_v_self->view)); /* "mpi4py/MPI/asbuffer.pxi":155 * NULL, 0, 0, PyBUF_SIMPLE) * * def __dealloc__(self): # <<<<<<<<<<<<<< * PyBuffer_Release(&self.view) * */ /* function exit code */ __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/asbuffer.pxi":159 * * @staticmethod * def frombuffer(obj, bint readonly=False): # <<<<<<<<<<<<<< * """Memory from buffer-like object""" * cdef int flags = PyBUF_SIMPLE */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_5frombuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6memory_4frombuffer[] = "memory.frombuffer(obj, bool readonly=False)\nMemory from buffer-like object"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_6memory_5frombuffer = {"frombuffer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6memory_5frombuffer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6memory_4frombuffer}; static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_5frombuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_obj = 0; int __pyx_v_readonly; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("frombuffer (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,&__pyx_n_s_readonly,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_obj)) != 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_readonly); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "frombuffer") < 0)) __PYX_ERR(0, 159, __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_obj = values[0]; if (values[1]) { __pyx_v_readonly = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_readonly == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 159, __pyx_L3_error) } else { __pyx_v_readonly = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("frombuffer", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 159, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.memory.frombuffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_4frombuffer(__pyx_v_obj, __pyx_v_readonly); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_4frombuffer(PyObject *__pyx_v_obj, int __pyx_v_readonly) { int __pyx_v_flags; struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_mem = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("frombuffer", 0); /* "mpi4py/MPI/asbuffer.pxi":161 * def frombuffer(obj, bint readonly=False): * """Memory from buffer-like object""" * cdef int flags = PyBUF_SIMPLE # <<<<<<<<<<<<<< * if not readonly: flags |= PyBUF_WRITABLE * cdef memory mem = memory.__new__(memory) */ __pyx_v_flags = PyBUF_SIMPLE; /* "mpi4py/MPI/asbuffer.pxi":162 * """Memory from buffer-like object""" * cdef int flags = PyBUF_SIMPLE * if not readonly: flags |= PyBUF_WRITABLE # <<<<<<<<<<<<<< * cdef memory mem = memory.__new__(memory) * PyMPI_GetBuffer(obj, &mem.view, flags) */ __pyx_t_1 = ((!(__pyx_v_readonly != 0)) != 0); if (__pyx_t_1) { __pyx_v_flags = (__pyx_v_flags | PyBUF_WRITABLE); } /* "mpi4py/MPI/asbuffer.pxi":163 * cdef int flags = PyBUF_SIMPLE * if not readonly: flags |= PyBUF_WRITABLE * cdef memory mem = memory.__new__(memory) # <<<<<<<<<<<<<< * PyMPI_GetBuffer(obj, &mem.view, flags) * mem.view.readonly = readonly */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_memory(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_memory), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_mem = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/asbuffer.pxi":164 * if not readonly: flags |= PyBUF_WRITABLE * cdef memory mem = memory.__new__(memory) * PyMPI_GetBuffer(obj, &mem.view, flags) # <<<<<<<<<<<<<< * mem.view.readonly = readonly * return mem */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_PyMPI_GetBuffer(__pyx_v_obj, (&__pyx_v_mem->view), __pyx_v_flags); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 164, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":165 * cdef memory mem = memory.__new__(memory) * PyMPI_GetBuffer(obj, &mem.view, flags) * mem.view.readonly = readonly # <<<<<<<<<<<<<< * return mem * */ __pyx_v_mem->view.readonly = __pyx_v_readonly; /* "mpi4py/MPI/asbuffer.pxi":166 * PyMPI_GetBuffer(obj, &mem.view, flags) * mem.view.readonly = readonly * return mem # <<<<<<<<<<<<<< * * @staticmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_mem)); __pyx_r = ((PyObject *)__pyx_v_mem); goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":159 * * @staticmethod * def frombuffer(obj, bint readonly=False): # <<<<<<<<<<<<<< * """Memory from buffer-like object""" * cdef int flags = PyBUF_SIMPLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.memory.frombuffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_mem); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":169 * * @staticmethod * def fromaddress(address, nbytes, bint readonly=False): # <<<<<<<<<<<<<< * """Memory from address and size in bytes""" * cdef void *buf = PyLong_AsVoidPtr(address) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_7fromaddress(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6memory_6fromaddress[] = "memory.fromaddress(address, nbytes, bool readonly=False)\nMemory from address and size in bytes"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_6memory_7fromaddress = {"fromaddress", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6memory_7fromaddress, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6memory_6fromaddress}; static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_7fromaddress(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_address = 0; PyObject *__pyx_v_nbytes = 0; int __pyx_v_readonly; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("fromaddress (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_address,&__pyx_n_s_nbytes,&__pyx_n_s_readonly,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_address)) != 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_nbytes)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fromaddress", 0, 2, 3, 1); __PYX_ERR(0, 169, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_readonly); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fromaddress") < 0)) __PYX_ERR(0, 169, __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_address = values[0]; __pyx_v_nbytes = values[1]; if (values[2]) { __pyx_v_readonly = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_readonly == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 169, __pyx_L3_error) } else { __pyx_v_readonly = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("fromaddress", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 169, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.memory.fromaddress", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_6fromaddress(__pyx_v_address, __pyx_v_nbytes, __pyx_v_readonly); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_6fromaddress(PyObject *__pyx_v_address, PyObject *__pyx_v_nbytes, int __pyx_v_readonly) { void *__pyx_v_buf; Py_ssize_t __pyx_v_size; struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_mem = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; int __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("fromaddress", 0); /* "mpi4py/MPI/asbuffer.pxi":171 * def fromaddress(address, nbytes, bint readonly=False): * """Memory from address and size in bytes""" * cdef void *buf = PyLong_AsVoidPtr(address) # <<<<<<<<<<<<<< * cdef Py_ssize_t size = nbytes * if size < 0: */ __pyx_v_buf = PyLong_AsVoidPtr(__pyx_v_address); /* "mpi4py/MPI/asbuffer.pxi":172 * """Memory from address and size in bytes""" * cdef void *buf = PyLong_AsVoidPtr(address) * cdef Py_ssize_t size = nbytes # <<<<<<<<<<<<<< * if size < 0: * raise ValueError("expecting non-negative buffer length") */ __pyx_t_1 = __Pyx_PyIndex_AsSsize_t(__pyx_v_nbytes); if (unlikely((__pyx_t_1 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 172, __pyx_L1_error) __pyx_v_size = __pyx_t_1; /* "mpi4py/MPI/asbuffer.pxi":173 * cdef void *buf = PyLong_AsVoidPtr(address) * cdef Py_ssize_t size = nbytes * if size < 0: # <<<<<<<<<<<<<< * raise ValueError("expecting non-negative buffer length") * elif size > 0 and buf == NULL: */ __pyx_t_2 = ((__pyx_v_size < 0) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/asbuffer.pxi":174 * cdef Py_ssize_t size = nbytes * if size < 0: * raise ValueError("expecting non-negative buffer length") # <<<<<<<<<<<<<< * elif size > 0 and buf == NULL: * raise ValueError("expecting non-NULL address") */ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 174, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":173 * cdef void *buf = PyLong_AsVoidPtr(address) * cdef Py_ssize_t size = nbytes * if size < 0: # <<<<<<<<<<<<<< * raise ValueError("expecting non-negative buffer length") * elif size > 0 and buf == NULL: */ } /* "mpi4py/MPI/asbuffer.pxi":175 * if size < 0: * raise ValueError("expecting non-negative buffer length") * elif size > 0 and buf == NULL: # <<<<<<<<<<<<<< * raise ValueError("expecting non-NULL address") * cdef memory mem = memory.__new__(memory) */ __pyx_t_4 = ((__pyx_v_size > 0) != 0); if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } __pyx_t_4 = ((__pyx_v_buf == NULL) != 0); __pyx_t_2 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/asbuffer.pxi":176 * raise ValueError("expecting non-negative buffer length") * elif size > 0 and buf == NULL: * raise ValueError("expecting non-NULL address") # <<<<<<<<<<<<<< * cdef memory mem = memory.__new__(memory) * PyBuffer_FillInfo(&mem.view, NULL, */ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(0, 176, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":175 * if size < 0: * raise ValueError("expecting non-negative buffer length") * elif size > 0 and buf == NULL: # <<<<<<<<<<<<<< * raise ValueError("expecting non-NULL address") * cdef memory mem = memory.__new__(memory) */ } /* "mpi4py/MPI/asbuffer.pxi":177 * elif size > 0 and buf == NULL: * raise ValueError("expecting non-NULL address") * cdef memory mem = memory.__new__(memory) # <<<<<<<<<<<<<< * PyBuffer_FillInfo(&mem.view, NULL, * buf, size, readonly, PyBUF_SIMPLE) */ __pyx_t_3 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_memory(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_memory), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __pyx_t_5 = ((PyObject *)__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_v_mem = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/asbuffer.pxi":178 * raise ValueError("expecting non-NULL address") * cdef memory mem = memory.__new__(memory) * PyBuffer_FillInfo(&mem.view, NULL, # <<<<<<<<<<<<<< * buf, size, readonly, PyBUF_SIMPLE) * return mem */ __pyx_t_6 = PyBuffer_FillInfo((&__pyx_v_mem->view), ((PyObject *)NULL), __pyx_v_buf, __pyx_v_size, __pyx_v_readonly, PyBUF_SIMPLE); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 178, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":180 * PyBuffer_FillInfo(&mem.view, NULL, * buf, size, readonly, PyBUF_SIMPLE) * return mem # <<<<<<<<<<<<<< * * # properties */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_mem)); __pyx_r = ((PyObject *)__pyx_v_mem); goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":169 * * @staticmethod * def fromaddress(address, nbytes, bint readonly=False): # <<<<<<<<<<<<<< * """Memory from address and size in bytes""" * cdef void *buf = PyLong_AsVoidPtr(address) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.memory.fromaddress", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_mem); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":186 * property address: * """Memory address""" * def __get__(self): # <<<<<<<<<<<<<< * return PyLong_FromVoidPtr(self.view.buf) * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_7address_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_7address_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_7address___get__(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_7address___get__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/asbuffer.pxi":187 * """Memory address""" * def __get__(self): * return PyLong_FromVoidPtr(self.view.buf) # <<<<<<<<<<<<<< * * property nbytes: */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyLong_FromVoidPtr(__pyx_v_self->view.buf); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":186 * property address: * """Memory address""" * def __get__(self): # <<<<<<<<<<<<<< * return PyLong_FromVoidPtr(self.view.buf) * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.memory.address.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":191 * property nbytes: * """Memory size (in bytes)""" * def __get__(self): # <<<<<<<<<<<<<< * return self.view.len * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_6nbytes_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_6nbytes_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_6nbytes___get__(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_6nbytes___get__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/asbuffer.pxi":192 * """Memory size (in bytes)""" * def __get__(self): * return self.view.len # <<<<<<<<<<<<<< * * property readonly: */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_self->view.len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":191 * property nbytes: * """Memory size (in bytes)""" * def __get__(self): # <<<<<<<<<<<<<< * return self.view.len * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.memory.nbytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":196 * property readonly: * """Boolean indicating whether the memory is read-only""" * def __get__(self): # <<<<<<<<<<<<<< * return self.view.readonly * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_8readonly_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_8readonly_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_8readonly___get__(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_8readonly___get__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/asbuffer.pxi":197 * """Boolean indicating whether the memory is read-only""" * def __get__(self): * return self.view.readonly # <<<<<<<<<<<<<< * * # convenience methods */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->view.readonly); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":196 * property readonly: * """Boolean indicating whether the memory is read-only""" * def __get__(self): # <<<<<<<<<<<<<< * return self.view.readonly * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.memory.readonly.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":201 * # convenience methods * * def tobytes(self): # <<<<<<<<<<<<<< * """Return the data in the buffer as a byte string""" * return PyBytes_FromStringAndSize(self.view.buf, self.view.len) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_9tobytes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6memory_8tobytes[] = "memory.tobytes(self)\nReturn the data in the buffer as a byte string"; static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_9tobytes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("tobytes (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("tobytes", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "tobytes", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_8tobytes(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_8tobytes(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("tobytes", 0); /* "mpi4py/MPI/asbuffer.pxi":203 * def tobytes(self): * """Return the data in the buffer as a byte string""" * return PyBytes_FromStringAndSize(self.view.buf, self.view.len) # <<<<<<<<<<<<<< * * def release(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyBytes_FromStringAndSize(((char *)__pyx_v_self->view.buf), __pyx_v_self->view.len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":201 * # convenience methods * * def tobytes(self): # <<<<<<<<<<<<<< * """Return the data in the buffer as a byte string""" * return PyBytes_FromStringAndSize(self.view.buf, self.view.len) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.memory.tobytes", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":205 * return PyBytes_FromStringAndSize(self.view.buf, self.view.len) * * def release(self): # <<<<<<<<<<<<<< * """Release the underlying buffer exposed by the memory object""" * PyBuffer_Release(&self.view) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_11release(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6memory_10release[] = "memory.release(self)\nRelease the underlying buffer exposed by the memory object"; static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_11release(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("release (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("release", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "release", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_10release(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_10release(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("release", 0); /* "mpi4py/MPI/asbuffer.pxi":207 * def release(self): * """Release the underlying buffer exposed by the memory object""" * PyBuffer_Release(&self.view) # <<<<<<<<<<<<<< * PyBuffer_FillInfo(&self.view, NULL, * NULL, 0, 0, PyBUF_SIMPLE) */ PyBuffer_Release((&__pyx_v_self->view)); /* "mpi4py/MPI/asbuffer.pxi":208 * """Release the underlying buffer exposed by the memory object""" * PyBuffer_Release(&self.view) * PyBuffer_FillInfo(&self.view, NULL, # <<<<<<<<<<<<<< * NULL, 0, 0, PyBUF_SIMPLE) * */ __pyx_t_1 = PyBuffer_FillInfo((&__pyx_v_self->view), ((PyObject *)NULL), NULL, 0, 0, PyBUF_SIMPLE); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 208, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":205 * return PyBytes_FromStringAndSize(self.view.buf, self.view.len) * * def release(self): # <<<<<<<<<<<<<< * """Release the underlying buffer exposed by the memory object""" * PyBuffer_Release(&self.view) */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.memory.release", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":213 * # buffer interface (PEP 3118) * * def __getbuffer__(self, Py_buffer *view, int flags): # <<<<<<<<<<<<<< * if view.obj == Py_None: Py_CLEAR(view.obj) * PyBuffer_FillInfo(view, self, */ /* Python wrapper */ static CYTHON_UNUSED int __pyx_pw_6mpi4py_3MPI_6memory_13__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_view, int __pyx_v_flags); /*proto*/ static CYTHON_UNUSED int __pyx_pw_6mpi4py_3MPI_6memory_13__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_view, int __pyx_v_flags) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_12__getbuffer__(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self), ((Py_buffer *)__pyx_v_view), ((int)__pyx_v_flags)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6memory_12__getbuffer__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self, Py_buffer *__pyx_v_view, int __pyx_v_flags) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; if (__pyx_v_view == NULL) { PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete"); return -1; } __Pyx_RefNannySetupContext("__getbuffer__", 0); __pyx_v_view->obj = NULL; /* "mpi4py/MPI/asbuffer.pxi":214 * * def __getbuffer__(self, Py_buffer *view, int flags): * if view.obj == Py_None: Py_CLEAR(view.obj) # <<<<<<<<<<<<<< * PyBuffer_FillInfo(view, self, * self.view.buf, self.view.len, */ __pyx_t_1 = ((__pyx_v_view->obj == Py_None) != 0); if (__pyx_t_1) { Py_CLEAR(__pyx_v_view->obj); } /* "mpi4py/MPI/asbuffer.pxi":215 * def __getbuffer__(self, Py_buffer *view, int flags): * if view.obj == Py_None: Py_CLEAR(view.obj) * PyBuffer_FillInfo(view, self, # <<<<<<<<<<<<<< * self.view.buf, self.view.len, * self.view.readonly, flags) */ __pyx_t_2 = PyBuffer_FillInfo(__pyx_v_view, ((PyObject *)__pyx_v_self), __pyx_v_self->view.buf, __pyx_v_self->view.len, __pyx_v_self->view.readonly, __pyx_v_flags); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 215, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":213 * # buffer interface (PEP 3118) * * def __getbuffer__(self, Py_buffer *view, int flags): # <<<<<<<<<<<<<< * if view.obj == Py_None: Py_CLEAR(view.obj) * PyBuffer_FillInfo(view, self, */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.memory.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; Py_CLEAR(__pyx_v_view->obj); goto __pyx_L2; __pyx_L0:; __pyx_L2:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":221 * # buffer interface (legacy) * * def __getsegcount__(self, Py_ssize_t *lenp): # <<<<<<<<<<<<<< * if lenp != NULL: * lenp[0] = self.view.len */ /* Python wrapper */ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pw_6mpi4py_3MPI_6memory_15__getsegcount__(PyObject *__pyx_v_self, Py_ssize_t *__pyx_v_lenp); /*proto*/ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_6memory_15__getsegcount__(PyObject *__pyx_v_self, Py_ssize_t *__pyx_v_lenp) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getsegcount__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_14__getsegcount__(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self), ((Py_ssize_t *)__pyx_v_lenp)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_6memory_14__getsegcount__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self, Py_ssize_t *__pyx_v_lenp) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; Py_ssize_t __pyx_t_2; __Pyx_RefNannySetupContext("__getsegcount__", 0); /* "mpi4py/MPI/asbuffer.pxi":222 * * def __getsegcount__(self, Py_ssize_t *lenp): * if lenp != NULL: # <<<<<<<<<<<<<< * lenp[0] = self.view.len * return 1 */ __pyx_t_1 = ((__pyx_v_lenp != NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/asbuffer.pxi":223 * def __getsegcount__(self, Py_ssize_t *lenp): * if lenp != NULL: * lenp[0] = self.view.len # <<<<<<<<<<<<<< * return 1 * */ __pyx_t_2 = __pyx_v_self->view.len; (__pyx_v_lenp[0]) = __pyx_t_2; /* "mpi4py/MPI/asbuffer.pxi":222 * * def __getsegcount__(self, Py_ssize_t *lenp): * if lenp != NULL: # <<<<<<<<<<<<<< * lenp[0] = self.view.len * return 1 */ } /* "mpi4py/MPI/asbuffer.pxi":224 * if lenp != NULL: * lenp[0] = self.view.len * return 1 # <<<<<<<<<<<<<< * * def __getreadbuffer__(self, Py_ssize_t idx, void **p): */ __pyx_r = 1; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":221 * # buffer interface (legacy) * * def __getsegcount__(self, Py_ssize_t *lenp): # <<<<<<<<<<<<<< * if lenp != NULL: * lenp[0] = self.view.len */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ /* "mpi4py/MPI/asbuffer.pxi":226 * return 1 * * def __getreadbuffer__(self, Py_ssize_t idx, void **p): # <<<<<<<<<<<<<< * if idx != 0: * raise SystemError("accessing non-existent buffer segment") */ /* Python wrapper */ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pw_6mpi4py_3MPI_6memory_17__getreadbuffer__(PyObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_p); /*proto*/ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_6memory_17__getreadbuffer__(PyObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_p) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getreadbuffer__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_16__getreadbuffer__(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self), ((Py_ssize_t)__pyx_v_idx), ((void **)__pyx_v_p)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_6memory_16__getreadbuffer__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_p) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; void *__pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__getreadbuffer__", 0); /* "mpi4py/MPI/asbuffer.pxi":227 * * def __getreadbuffer__(self, Py_ssize_t idx, void **p): * if idx != 0: # <<<<<<<<<<<<<< * raise SystemError("accessing non-existent buffer segment") * p[0] = self.view.buf */ __pyx_t_1 = ((__pyx_v_idx != 0) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/asbuffer.pxi":228 * def __getreadbuffer__(self, Py_ssize_t idx, void **p): * if idx != 0: * raise SystemError("accessing non-existent buffer segment") # <<<<<<<<<<<<<< * p[0] = self.view.buf * return self.view.len */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_SystemError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 228, __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, 228, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":227 * * def __getreadbuffer__(self, Py_ssize_t idx, void **p): * if idx != 0: # <<<<<<<<<<<<<< * raise SystemError("accessing non-existent buffer segment") * p[0] = self.view.buf */ } /* "mpi4py/MPI/asbuffer.pxi":229 * if idx != 0: * raise SystemError("accessing non-existent buffer segment") * p[0] = self.view.buf # <<<<<<<<<<<<<< * return self.view.len * */ __pyx_t_3 = __pyx_v_self->view.buf; (__pyx_v_p[0]) = __pyx_t_3; /* "mpi4py/MPI/asbuffer.pxi":230 * raise SystemError("accessing non-existent buffer segment") * p[0] = self.view.buf * return self.view.len # <<<<<<<<<<<<<< * * def __getwritebuffer__(self, Py_ssize_t idx, void **p): */ __pyx_r = __pyx_v_self->view.len; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":226 * return 1 * * def __getreadbuffer__(self, Py_ssize_t idx, void **p): # <<<<<<<<<<<<<< * if idx != 0: * raise SystemError("accessing non-existent buffer segment") */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.memory.__getreadbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ /* "mpi4py/MPI/asbuffer.pxi":232 * return self.view.len * * def __getwritebuffer__(self, Py_ssize_t idx, void **p): # <<<<<<<<<<<<<< * if self.view.readonly: * raise TypeError("memory buffer is read-only") */ /* Python wrapper */ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pw_6mpi4py_3MPI_6memory_19__getwritebuffer__(PyObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_p); /*proto*/ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_6memory_19__getwritebuffer__(PyObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_p) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getwritebuffer__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_18__getwritebuffer__(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self), ((Py_ssize_t)__pyx_v_idx), ((void **)__pyx_v_p)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_6memory_18__getwritebuffer__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_p) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; void *__pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__getwritebuffer__", 0); /* "mpi4py/MPI/asbuffer.pxi":233 * * def __getwritebuffer__(self, Py_ssize_t idx, void **p): * if self.view.readonly: # <<<<<<<<<<<<<< * raise TypeError("memory buffer is read-only") * if idx != 0: */ __pyx_t_1 = (__pyx_v_self->view.readonly != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/asbuffer.pxi":234 * def __getwritebuffer__(self, Py_ssize_t idx, void **p): * if self.view.readonly: * raise TypeError("memory buffer is read-only") # <<<<<<<<<<<<<< * if idx != 0: * raise SystemError("accessing non-existent buffer segment") */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 234, __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, 234, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":233 * * def __getwritebuffer__(self, Py_ssize_t idx, void **p): * if self.view.readonly: # <<<<<<<<<<<<<< * raise TypeError("memory buffer is read-only") * if idx != 0: */ } /* "mpi4py/MPI/asbuffer.pxi":235 * if self.view.readonly: * raise TypeError("memory buffer is read-only") * if idx != 0: # <<<<<<<<<<<<<< * raise SystemError("accessing non-existent buffer segment") * p[0] = self.view.buf */ __pyx_t_1 = ((__pyx_v_idx != 0) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/asbuffer.pxi":236 * raise TypeError("memory buffer is read-only") * if idx != 0: * raise SystemError("accessing non-existent buffer segment") # <<<<<<<<<<<<<< * p[0] = self.view.buf * return self.view.len */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_SystemError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __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, 236, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":235 * if self.view.readonly: * raise TypeError("memory buffer is read-only") * if idx != 0: # <<<<<<<<<<<<<< * raise SystemError("accessing non-existent buffer segment") * p[0] = self.view.buf */ } /* "mpi4py/MPI/asbuffer.pxi":237 * if idx != 0: * raise SystemError("accessing non-existent buffer segment") * p[0] = self.view.buf # <<<<<<<<<<<<<< * return self.view.len * */ __pyx_t_3 = __pyx_v_self->view.buf; (__pyx_v_p[0]) = __pyx_t_3; /* "mpi4py/MPI/asbuffer.pxi":238 * raise SystemError("accessing non-existent buffer segment") * p[0] = self.view.buf * return self.view.len # <<<<<<<<<<<<<< * * # sequence interface (basic) */ __pyx_r = __pyx_v_self->view.len; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":232 * return self.view.len * * def __getwritebuffer__(self, Py_ssize_t idx, void **p): # <<<<<<<<<<<<<< * if self.view.readonly: * raise TypeError("memory buffer is read-only") */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.memory.__getwritebuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ /* "mpi4py/MPI/asbuffer.pxi":242 * # sequence interface (basic) * * def __len__(self): # <<<<<<<<<<<<<< * return self.view.len * */ /* Python wrapper */ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_6memory_21__len__(PyObject *__pyx_v_self); /*proto*/ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_6memory_21__len__(PyObject *__pyx_v_self) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__len__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_20__len__(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static Py_ssize_t __pyx_pf_6mpi4py_3MPI_6memory_20__len__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__len__", 0); /* "mpi4py/MPI/asbuffer.pxi":243 * * def __len__(self): * return self.view.len # <<<<<<<<<<<<<< * * def __getitem__(self, object item): */ __pyx_r = __pyx_v_self->view.len; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":242 * # sequence interface (basic) * * def __len__(self): # <<<<<<<<<<<<<< * return self.view.len * */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":245 * return self.view.len * * def __getitem__(self, object item): # <<<<<<<<<<<<<< * cdef Py_ssize_t start=0, stop=0, step=1, slen=0 * cdef unsigned char *buf = self.view.buf */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_23__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6memory_23__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_22__getitem__(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self), ((PyObject *)__pyx_v_item)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6memory_22__getitem__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self, PyObject *__pyx_v_item) { Py_ssize_t __pyx_v_start; Py_ssize_t __pyx_v_stop; Py_ssize_t __pyx_v_step; Py_ssize_t __pyx_v_slen; unsigned char *__pyx_v_buf; Py_ssize_t __pyx_v_blen; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__getitem__", 0); /* "mpi4py/MPI/asbuffer.pxi":246 * * def __getitem__(self, object item): * cdef Py_ssize_t start=0, stop=0, step=1, slen=0 # <<<<<<<<<<<<<< * cdef unsigned char *buf = self.view.buf * cdef Py_ssize_t blen = self.view.len */ __pyx_v_start = 0; __pyx_v_stop = 0; __pyx_v_step = 1; __pyx_v_slen = 0; /* "mpi4py/MPI/asbuffer.pxi":247 * def __getitem__(self, object item): * cdef Py_ssize_t start=0, stop=0, step=1, slen=0 * cdef unsigned char *buf = self.view.buf # <<<<<<<<<<<<<< * cdef Py_ssize_t blen = self.view.len * if PyIndex_Check(item): */ __pyx_v_buf = ((unsigned char *)__pyx_v_self->view.buf); /* "mpi4py/MPI/asbuffer.pxi":248 * cdef Py_ssize_t start=0, stop=0, step=1, slen=0 * cdef unsigned char *buf = self.view.buf * cdef Py_ssize_t blen = self.view.len # <<<<<<<<<<<<<< * if PyIndex_Check(item): * start = PyNumber_AsSsize_t(item, IndexError) */ __pyx_t_1 = __pyx_v_self->view.len; __pyx_v_blen = __pyx_t_1; /* "mpi4py/MPI/asbuffer.pxi":249 * cdef unsigned char *buf = self.view.buf * cdef Py_ssize_t blen = self.view.len * if PyIndex_Check(item): # <<<<<<<<<<<<<< * start = PyNumber_AsSsize_t(item, IndexError) * if start < 0: start += blen */ __pyx_t_2 = (PyIndex_Check(__pyx_v_item) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/asbuffer.pxi":250 * cdef Py_ssize_t blen = self.view.len * if PyIndex_Check(item): * start = PyNumber_AsSsize_t(item, IndexError) # <<<<<<<<<<<<<< * if start < 0: start += blen * if start < 0 or start >= blen: */ __pyx_t_1 = PyNumber_AsSsize_t(__pyx_v_item, __pyx_builtin_IndexError); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 250, __pyx_L1_error) __pyx_v_start = __pyx_t_1; /* "mpi4py/MPI/asbuffer.pxi":251 * if PyIndex_Check(item): * start = PyNumber_AsSsize_t(item, IndexError) * if start < 0: start += blen # <<<<<<<<<<<<<< * if start < 0 or start >= blen: * raise IndexError("index out of range") */ __pyx_t_2 = ((__pyx_v_start < 0) != 0); if (__pyx_t_2) { __pyx_v_start = (__pyx_v_start + __pyx_v_blen); } /* "mpi4py/MPI/asbuffer.pxi":252 * start = PyNumber_AsSsize_t(item, IndexError) * if start < 0: start += blen * if start < 0 or start >= blen: # <<<<<<<<<<<<<< * raise IndexError("index out of range") * return buf[start] */ __pyx_t_3 = ((__pyx_v_start < 0) != 0); if (!__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } __pyx_t_3 = ((__pyx_v_start >= __pyx_v_blen) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L6_bool_binop_done:; if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/asbuffer.pxi":253 * if start < 0: start += blen * if start < 0 or start >= blen: * raise IndexError("index out of range") # <<<<<<<<<<<<<< * return buf[start] * elif PySlice_Check(item): */ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 253, __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, 253, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":252 * start = PyNumber_AsSsize_t(item, IndexError) * if start < 0: start += blen * if start < 0 or start >= blen: # <<<<<<<<<<<<<< * raise IndexError("index out of range") * return buf[start] */ } /* "mpi4py/MPI/asbuffer.pxi":254 * if start < 0 or start >= blen: * raise IndexError("index out of range") * return buf[start] # <<<<<<<<<<<<<< * elif PySlice_Check(item): * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_PyInt_From_long(((long)(__pyx_v_buf[__pyx_v_start]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":249 * cdef unsigned char *buf = self.view.buf * cdef Py_ssize_t blen = self.view.len * if PyIndex_Check(item): # <<<<<<<<<<<<<< * start = PyNumber_AsSsize_t(item, IndexError) * if start < 0: start += blen */ } /* "mpi4py/MPI/asbuffer.pxi":255 * raise IndexError("index out of range") * return buf[start] * elif PySlice_Check(item): # <<<<<<<<<<<<<< * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) * if step != 1: raise IndexError("slice with step not supported") */ __pyx_t_2 = (PySlice_Check(__pyx_v_item) != 0); if (likely(__pyx_t_2)) { /* "mpi4py/MPI/asbuffer.pxi":256 * return buf[start] * elif PySlice_Check(item): * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) # <<<<<<<<<<<<<< * if step != 1: raise IndexError("slice with step not supported") * return asbuffer(self, buf+start, slen, self.view.readonly) */ __pyx_t_5 = PySlice_GetIndicesEx(__pyx_v_item, __pyx_v_blen, (&__pyx_v_start), (&__pyx_v_stop), (&__pyx_v_step), (&__pyx_v_slen)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 256, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":257 * elif PySlice_Check(item): * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) * if step != 1: raise IndexError("slice with step not supported") # <<<<<<<<<<<<<< * return asbuffer(self, buf+start, slen, self.view.readonly) * else: */ __pyx_t_2 = ((__pyx_v_step != 1) != 0); if (unlikely(__pyx_t_2)) { __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 257, __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, 257, __pyx_L1_error) } /* "mpi4py/MPI/asbuffer.pxi":258 * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) * if step != 1: raise IndexError("slice with step not supported") * return asbuffer(self, buf+start, slen, self.view.readonly) # <<<<<<<<<<<<<< * else: * raise TypeError("index must be integer or slice") */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = ((PyObject *)__pyx_f_6mpi4py_3MPI_asbuffer(((PyObject *)__pyx_v_self), (__pyx_v_buf + __pyx_v_start), __pyx_v_slen, __pyx_v_self->view.readonly)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":255 * raise IndexError("index out of range") * return buf[start] * elif PySlice_Check(item): # <<<<<<<<<<<<<< * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) * if step != 1: raise IndexError("slice with step not supported") */ } /* "mpi4py/MPI/asbuffer.pxi":260 * return asbuffer(self, buf+start, slen, self.view.readonly) * else: * raise TypeError("index must be integer or slice") # <<<<<<<<<<<<<< * * def __setitem__(self, object item, object value): */ /*else*/ { __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 260, __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, 260, __pyx_L1_error) } /* "mpi4py/MPI/asbuffer.pxi":245 * return self.view.len * * def __getitem__(self, object item): # <<<<<<<<<<<<<< * cdef Py_ssize_t start=0, stop=0, step=1, slen=0 * cdef unsigned char *buf = self.view.buf */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.memory.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":262 * raise TypeError("index must be integer or slice") * * def __setitem__(self, object item, object value): # <<<<<<<<<<<<<< * if self.view.readonly: * raise TypeError("memory buffer is read-only") */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6memory_25__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6memory_25__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6memory_24__setitem__(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_v_self), ((PyObject *)__pyx_v_item), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6memory_24__setitem__(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) { Py_ssize_t __pyx_v_start; Py_ssize_t __pyx_v_stop; Py_ssize_t __pyx_v_step; Py_ssize_t __pyx_v_slen; unsigned char *__pyx_v_buf; Py_ssize_t __pyx_v_blen; struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_inmem = 0; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; Py_ssize_t __pyx_t_3; int __pyx_t_4; unsigned char __pyx_t_5; int __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__setitem__", 0); /* "mpi4py/MPI/asbuffer.pxi":263 * * def __setitem__(self, object item, object value): * if self.view.readonly: # <<<<<<<<<<<<<< * raise TypeError("memory buffer is read-only") * cdef Py_ssize_t start=0, stop=0, step=1, slen=0 */ __pyx_t_1 = (__pyx_v_self->view.readonly != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/asbuffer.pxi":264 * def __setitem__(self, object item, object value): * if self.view.readonly: * raise TypeError("memory buffer is read-only") # <<<<<<<<<<<<<< * cdef Py_ssize_t start=0, stop=0, step=1, slen=0 * cdef unsigned char *buf = self.view.buf */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __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, 264, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":263 * * def __setitem__(self, object item, object value): * if self.view.readonly: # <<<<<<<<<<<<<< * raise TypeError("memory buffer is read-only") * cdef Py_ssize_t start=0, stop=0, step=1, slen=0 */ } /* "mpi4py/MPI/asbuffer.pxi":265 * if self.view.readonly: * raise TypeError("memory buffer is read-only") * cdef Py_ssize_t start=0, stop=0, step=1, slen=0 # <<<<<<<<<<<<<< * cdef unsigned char *buf = self.view.buf * cdef Py_ssize_t blen = self.view.len */ __pyx_v_start = 0; __pyx_v_stop = 0; __pyx_v_step = 1; __pyx_v_slen = 0; /* "mpi4py/MPI/asbuffer.pxi":266 * raise TypeError("memory buffer is read-only") * cdef Py_ssize_t start=0, stop=0, step=1, slen=0 * cdef unsigned char *buf = self.view.buf # <<<<<<<<<<<<<< * cdef Py_ssize_t blen = self.view.len * cdef memory inmem */ __pyx_v_buf = ((unsigned char *)__pyx_v_self->view.buf); /* "mpi4py/MPI/asbuffer.pxi":267 * cdef Py_ssize_t start=0, stop=0, step=1, slen=0 * cdef unsigned char *buf = self.view.buf * cdef Py_ssize_t blen = self.view.len # <<<<<<<<<<<<<< * cdef memory inmem * if PyIndex_Check(item): */ __pyx_t_3 = __pyx_v_self->view.len; __pyx_v_blen = __pyx_t_3; /* "mpi4py/MPI/asbuffer.pxi":269 * cdef Py_ssize_t blen = self.view.len * cdef memory inmem * if PyIndex_Check(item): # <<<<<<<<<<<<<< * start = PyNumber_AsSsize_t(item, IndexError) * if start < 0: start += blen */ __pyx_t_1 = (PyIndex_Check(__pyx_v_item) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/asbuffer.pxi":270 * cdef memory inmem * if PyIndex_Check(item): * start = PyNumber_AsSsize_t(item, IndexError) # <<<<<<<<<<<<<< * if start < 0: start += blen * if start < 0 or start >= blen: */ __pyx_t_3 = PyNumber_AsSsize_t(__pyx_v_item, __pyx_builtin_IndexError); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 270, __pyx_L1_error) __pyx_v_start = __pyx_t_3; /* "mpi4py/MPI/asbuffer.pxi":271 * if PyIndex_Check(item): * start = PyNumber_AsSsize_t(item, IndexError) * if start < 0: start += blen # <<<<<<<<<<<<<< * if start < 0 or start >= blen: * raise IndexError("index out of range") */ __pyx_t_1 = ((__pyx_v_start < 0) != 0); if (__pyx_t_1) { __pyx_v_start = (__pyx_v_start + __pyx_v_blen); } /* "mpi4py/MPI/asbuffer.pxi":272 * start = PyNumber_AsSsize_t(item, IndexError) * if start < 0: start += blen * if start < 0 or start >= blen: # <<<<<<<<<<<<<< * raise IndexError("index out of range") * buf[start] = value */ __pyx_t_4 = ((__pyx_v_start < 0) != 0); if (!__pyx_t_4) { } else { __pyx_t_1 = __pyx_t_4; goto __pyx_L7_bool_binop_done; } __pyx_t_4 = ((__pyx_v_start >= __pyx_v_blen) != 0); __pyx_t_1 = __pyx_t_4; __pyx_L7_bool_binop_done:; if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/asbuffer.pxi":273 * if start < 0: start += blen * if start < 0 or start >= blen: * raise IndexError("index out of range") # <<<<<<<<<<<<<< * buf[start] = value * elif PySlice_Check(item): */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __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, 273, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":272 * start = PyNumber_AsSsize_t(item, IndexError) * if start < 0: start += blen * if start < 0 or start >= blen: # <<<<<<<<<<<<<< * raise IndexError("index out of range") * buf[start] = value */ } /* "mpi4py/MPI/asbuffer.pxi":274 * if start < 0 or start >= blen: * raise IndexError("index out of range") * buf[start] = value # <<<<<<<<<<<<<< * elif PySlice_Check(item): * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) */ __pyx_t_5 = __Pyx_PyInt_As_unsigned_char(__pyx_v_value); if (unlikely((__pyx_t_5 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 274, __pyx_L1_error) (__pyx_v_buf[__pyx_v_start]) = ((unsigned char)__pyx_t_5); /* "mpi4py/MPI/asbuffer.pxi":269 * cdef Py_ssize_t blen = self.view.len * cdef memory inmem * if PyIndex_Check(item): # <<<<<<<<<<<<<< * start = PyNumber_AsSsize_t(item, IndexError) * if start < 0: start += blen */ goto __pyx_L4; } /* "mpi4py/MPI/asbuffer.pxi":275 * raise IndexError("index out of range") * buf[start] = value * elif PySlice_Check(item): # <<<<<<<<<<<<<< * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) * if step != 1: raise IndexError("slice with step not supported") */ __pyx_t_1 = (PySlice_Check(__pyx_v_item) != 0); if (likely(__pyx_t_1)) { /* "mpi4py/MPI/asbuffer.pxi":276 * buf[start] = value * elif PySlice_Check(item): * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) # <<<<<<<<<<<<<< * if step != 1: raise IndexError("slice with step not supported") * if PyIndex_Check(value): */ __pyx_t_6 = PySlice_GetIndicesEx(__pyx_v_item, __pyx_v_blen, (&__pyx_v_start), (&__pyx_v_stop), (&__pyx_v_step), (&__pyx_v_slen)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 276, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":277 * elif PySlice_Check(item): * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) * if step != 1: raise IndexError("slice with step not supported") # <<<<<<<<<<<<<< * if PyIndex_Check(value): * memset(buf+start, value, slen) */ __pyx_t_1 = ((__pyx_v_step != 1) != 0); if (unlikely(__pyx_t_1)) { __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __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, 277, __pyx_L1_error) } /* "mpi4py/MPI/asbuffer.pxi":278 * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) * if step != 1: raise IndexError("slice with step not supported") * if PyIndex_Check(value): # <<<<<<<<<<<<<< * memset(buf+start, value, slen) * else: */ __pyx_t_1 = (PyIndex_Check(__pyx_v_value) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/asbuffer.pxi":279 * if step != 1: raise IndexError("slice with step not supported") * if PyIndex_Check(value): * memset(buf+start, value, slen) # <<<<<<<<<<<<<< * else: * inmem = getbuffer(value, 1, 0) */ __pyx_t_5 = __Pyx_PyInt_As_unsigned_char(__pyx_v_value); if (unlikely((__pyx_t_5 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 279, __pyx_L1_error) ((void)memset((__pyx_v_buf + __pyx_v_start), ((unsigned char)__pyx_t_5), ((size_t)__pyx_v_slen))); /* "mpi4py/MPI/asbuffer.pxi":278 * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) * if step != 1: raise IndexError("slice with step not supported") * if PyIndex_Check(value): # <<<<<<<<<<<<<< * memset(buf+start, value, slen) * else: */ goto __pyx_L10; } /* "mpi4py/MPI/asbuffer.pxi":281 * memset(buf+start, value, slen) * else: * inmem = getbuffer(value, 1, 0) # <<<<<<<<<<<<<< * if inmem.view.len != slen: * raise ValueError("slice length does not match buffer") */ /*else*/ { __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer(__pyx_v_value, 1, 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_inmem = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/asbuffer.pxi":282 * else: * inmem = getbuffer(value, 1, 0) * if inmem.view.len != slen: # <<<<<<<<<<<<<< * raise ValueError("slice length does not match buffer") * memmove(buf+start, inmem.view.buf, slen) */ __pyx_t_1 = ((__pyx_v_inmem->view.len != __pyx_v_slen) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/asbuffer.pxi":283 * inmem = getbuffer(value, 1, 0) * if inmem.view.len != slen: * raise ValueError("slice length does not match buffer") # <<<<<<<<<<<<<< * memmove(buf+start, inmem.view.buf, slen) * else: */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 283, __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, 283, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":282 * else: * inmem = getbuffer(value, 1, 0) * if inmem.view.len != slen: # <<<<<<<<<<<<<< * raise ValueError("slice length does not match buffer") * memmove(buf+start, inmem.view.buf, slen) */ } /* "mpi4py/MPI/asbuffer.pxi":284 * if inmem.view.len != slen: * raise ValueError("slice length does not match buffer") * memmove(buf+start, inmem.view.buf, slen) # <<<<<<<<<<<<<< * else: * raise TypeError("index must be integer or slice") */ ((void)memmove((__pyx_v_buf + __pyx_v_start), __pyx_v_inmem->view.buf, ((size_t)__pyx_v_slen))); } __pyx_L10:; /* "mpi4py/MPI/asbuffer.pxi":275 * raise IndexError("index out of range") * buf[start] = value * elif PySlice_Check(item): # <<<<<<<<<<<<<< * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) * if step != 1: raise IndexError("slice with step not supported") */ goto __pyx_L4; } /* "mpi4py/MPI/asbuffer.pxi":286 * memmove(buf+start, inmem.view.buf, slen) * else: * raise TypeError("index must be integer or slice") # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ /*else*/ { __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 286, __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, 286, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/asbuffer.pxi":262 * raise TypeError("index must be integer or slice") * * def __setitem__(self, object item, object value): # <<<<<<<<<<<<<< * if self.view.readonly: * raise TypeError("memory buffer is read-only") */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.memory.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_inmem); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":290 * #------------------------------------------------------------------------------ * * cdef inline memory newbuffer(): # <<<<<<<<<<<<<< * return memory.__new__(memory) * */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_newbuffer(void) { struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("newbuffer", 0); /* "mpi4py/MPI/asbuffer.pxi":291 * * cdef inline memory newbuffer(): * return memory.__new__(memory) # <<<<<<<<<<<<<< * * cdef inline memory getbuffer(object ob, bint readonly, bint format): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_memory(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_memory), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __Pyx_INCREF(((PyObject *)((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_1))); __pyx_r = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":290 * #------------------------------------------------------------------------------ * * cdef inline memory newbuffer(): # <<<<<<<<<<<<<< * return memory.__new__(memory) * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.newbuffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":293 * return memory.__new__(memory) * * cdef inline memory getbuffer(object ob, bint readonly, bint format): # <<<<<<<<<<<<<< * cdef memory buf = newbuffer() * cdef int flags = PyBUF_ANY_CONTIGUOUS */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_getbuffer(PyObject *__pyx_v_ob, int __pyx_v_readonly, int __pyx_v_format) { struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_buf = 0; int __pyx_v_flags; struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("getbuffer", 0); /* "mpi4py/MPI/asbuffer.pxi":294 * * cdef inline memory getbuffer(object ob, bint readonly, bint format): * cdef memory buf = newbuffer() # <<<<<<<<<<<<<< * cdef int flags = PyBUF_ANY_CONTIGUOUS * if not readonly: */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_newbuffer()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_buf = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/asbuffer.pxi":295 * cdef inline memory getbuffer(object ob, bint readonly, bint format): * cdef memory buf = newbuffer() * cdef int flags = PyBUF_ANY_CONTIGUOUS # <<<<<<<<<<<<<< * if not readonly: * flags |= PyBUF_WRITABLE */ __pyx_v_flags = PyBUF_ANY_CONTIGUOUS; /* "mpi4py/MPI/asbuffer.pxi":296 * cdef memory buf = newbuffer() * cdef int flags = PyBUF_ANY_CONTIGUOUS * if not readonly: # <<<<<<<<<<<<<< * flags |= PyBUF_WRITABLE * if format: */ __pyx_t_2 = ((!(__pyx_v_readonly != 0)) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/asbuffer.pxi":297 * cdef int flags = PyBUF_ANY_CONTIGUOUS * if not readonly: * flags |= PyBUF_WRITABLE # <<<<<<<<<<<<<< * if format: * flags |= PyBUF_FORMAT */ __pyx_v_flags = (__pyx_v_flags | PyBUF_WRITABLE); /* "mpi4py/MPI/asbuffer.pxi":296 * cdef memory buf = newbuffer() * cdef int flags = PyBUF_ANY_CONTIGUOUS * if not readonly: # <<<<<<<<<<<<<< * flags |= PyBUF_WRITABLE * if format: */ } /* "mpi4py/MPI/asbuffer.pxi":298 * if not readonly: * flags |= PyBUF_WRITABLE * if format: # <<<<<<<<<<<<<< * flags |= PyBUF_FORMAT * PyMPI_GetBuffer(ob, &buf.view, flags) */ __pyx_t_2 = (__pyx_v_format != 0); if (__pyx_t_2) { /* "mpi4py/MPI/asbuffer.pxi":299 * flags |= PyBUF_WRITABLE * if format: * flags |= PyBUF_FORMAT # <<<<<<<<<<<<<< * PyMPI_GetBuffer(ob, &buf.view, flags) * return buf */ __pyx_v_flags = (__pyx_v_flags | PyBUF_FORMAT); /* "mpi4py/MPI/asbuffer.pxi":298 * if not readonly: * flags |= PyBUF_WRITABLE * if format: # <<<<<<<<<<<<<< * flags |= PyBUF_FORMAT * PyMPI_GetBuffer(ob, &buf.view, flags) */ } /* "mpi4py/MPI/asbuffer.pxi":300 * if format: * flags |= PyBUF_FORMAT * PyMPI_GetBuffer(ob, &buf.view, flags) # <<<<<<<<<<<<<< * return buf * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_GetBuffer(__pyx_v_ob, (&__pyx_v_buf->view), __pyx_v_flags); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 300, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":301 * flags |= PyBUF_FORMAT * PyMPI_GetBuffer(ob, &buf.view, flags) * return buf # <<<<<<<<<<<<<< * * cdef inline object getformat(memory buf): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_buf)); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":293 * return memory.__new__(memory) * * cdef inline memory getbuffer(object ob, bint readonly, bint format): # <<<<<<<<<<<<<< * cdef memory buf = newbuffer() * cdef int flags = PyBUF_ANY_CONTIGUOUS */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.getbuffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_buf); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":303 * return buf * * cdef inline object getformat(memory buf): # <<<<<<<<<<<<<< * cdef Py_buffer *view = &buf.view * # */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_getformat(struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_buf) { Py_buffer *__pyx_v_view; PyObject *__pyx_v_ob = 0; PyObject *__pyx_v_format = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; PyObject *__pyx_t_15 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("getformat", 0); /* "mpi4py/MPI/asbuffer.pxi":304 * * cdef inline object getformat(memory buf): * cdef Py_buffer *view = &buf.view # <<<<<<<<<<<<<< * # * if view.obj == NULL: */ __pyx_v_view = (&__pyx_v_buf->view); /* "mpi4py/MPI/asbuffer.pxi":306 * cdef Py_buffer *view = &buf.view * # * if view.obj == NULL: # <<<<<<<<<<<<<< * if view.format != NULL: * return pystr(view.format) */ __pyx_t_1 = ((__pyx_v_view->obj == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/asbuffer.pxi":307 * # * if view.obj == NULL: * if view.format != NULL: # <<<<<<<<<<<<<< * return pystr(view.format) * else: */ __pyx_t_1 = ((__pyx_v_view->format != NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/asbuffer.pxi":308 * if view.obj == NULL: * if view.format != NULL: * return pystr(view.format) # <<<<<<<<<<<<<< * else: * return "B" */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_pystr(__pyx_v_view->format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":307 * # * if view.obj == NULL: * if view.format != NULL: # <<<<<<<<<<<<<< * return pystr(view.format) * else: */ } /* "mpi4py/MPI/asbuffer.pxi":310 * return pystr(view.format) * else: * return "B" # <<<<<<<<<<<<<< * elif view.format != NULL: * # XXX this is a hack */ /*else*/ { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_n_s_B); __pyx_r = __pyx_n_s_B; goto __pyx_L0; } /* "mpi4py/MPI/asbuffer.pxi":306 * cdef Py_buffer *view = &buf.view * # * if view.obj == NULL: # <<<<<<<<<<<<<< * if view.format != NULL: * return pystr(view.format) */ } /* "mpi4py/MPI/asbuffer.pxi":311 * else: * return "B" * elif view.format != NULL: # <<<<<<<<<<<<<< * # XXX this is a hack * if view.format != BYTE_FMT: */ __pyx_t_1 = ((__pyx_v_view->format != NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/asbuffer.pxi":313 * elif view.format != NULL: * # XXX this is a hack * if view.format != BYTE_FMT: # <<<<<<<<<<<<<< * return pystr(view.format) * # */ __pyx_t_1 = ((__pyx_v_view->format != __pyx_v_6mpi4py_3MPI_BYTE_FMT) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/asbuffer.pxi":314 * # XXX this is a hack * if view.format != BYTE_FMT: * return pystr(view.format) # <<<<<<<<<<<<<< * # * cdef object ob = view.obj */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_pystr(__pyx_v_view->format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":313 * elif view.format != NULL: * # XXX this is a hack * if view.format != BYTE_FMT: # <<<<<<<<<<<<<< * return pystr(view.format) * # */ } /* "mpi4py/MPI/asbuffer.pxi":311 * else: * return "B" * elif view.format != NULL: # <<<<<<<<<<<<<< * # XXX this is a hack * if view.format != BYTE_FMT: */ } /* "mpi4py/MPI/asbuffer.pxi":316 * return pystr(view.format) * # * cdef object ob = view.obj # <<<<<<<<<<<<<< * cdef object format = None * try: # numpy.ndarray */ __pyx_t_2 = ((PyObject *)__pyx_v_view->obj); __Pyx_INCREF(__pyx_t_2); __pyx_v_ob = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/asbuffer.pxi":317 * # * cdef object ob = view.obj * cdef object format = None # <<<<<<<<<<<<<< * try: # numpy.ndarray * format = ob.dtype.char */ __Pyx_INCREF(Py_None); __pyx_v_format = Py_None; /* "mpi4py/MPI/asbuffer.pxi":318 * cdef object ob = view.obj * cdef object format = None * try: # numpy.ndarray # <<<<<<<<<<<<<< * format = ob.dtype.char * except (AttributeError, TypeError): */ { __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:*/ { /* "mpi4py/MPI/asbuffer.pxi":319 * cdef object format = None * try: # numpy.ndarray * format = ob.dtype.char # <<<<<<<<<<<<<< * except (AttributeError, TypeError): * try: # array.array */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_ob, __pyx_n_s_dtype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_char); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 319, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_format, __pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/asbuffer.pxi":318 * cdef object ob = view.obj * cdef object format = None * try: # numpy.ndarray # <<<<<<<<<<<<<< * format = ob.dtype.char * except (AttributeError, TypeError): */ } __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_L11_try_end; __pyx_L6_error:; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/asbuffer.pxi":320 * try: # numpy.ndarray * format = ob.dtype.char * except (AttributeError, TypeError): # <<<<<<<<<<<<<< * try: # array.array * format = ob.typecode */ __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError) || __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError); if (__pyx_t_7) { __Pyx_AddTraceback("mpi4py.MPI.getformat", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 320, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_8); /* "mpi4py/MPI/asbuffer.pxi":321 * format = ob.dtype.char * except (AttributeError, TypeError): * try: # array.array # <<<<<<<<<<<<<< * format = ob.typecode * except (AttributeError, TypeError): */ { __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:*/ { /* "mpi4py/MPI/asbuffer.pxi":322 * except (AttributeError, TypeError): * try: # array.array * format = ob.typecode # <<<<<<<<<<<<<< * except (AttributeError, TypeError): * if view.format != NULL: */ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_ob, __pyx_n_s_typecode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 322, __pyx_L14_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF_SET(__pyx_v_format, __pyx_t_12); __pyx_t_12 = 0; /* "mpi4py/MPI/asbuffer.pxi":321 * format = ob.dtype.char * except (AttributeError, TypeError): * try: # array.array # <<<<<<<<<<<<<< * format = ob.typecode * except (AttributeError, TypeError): */ } __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_L21_try_end; __pyx_L14_error:; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; /* "mpi4py/MPI/asbuffer.pxi":323 * try: # array.array * format = ob.typecode * except (AttributeError, TypeError): # <<<<<<<<<<<<<< * if view.format != NULL: * format = pystr(view.format) */ __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError) || __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError); if (__pyx_t_7) { __Pyx_AddTraceback("mpi4py.MPI.getformat", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14) < 0) __PYX_ERR(0, 323, __pyx_L16_except_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GOTREF(__pyx_t_13); __Pyx_GOTREF(__pyx_t_14); /* "mpi4py/MPI/asbuffer.pxi":324 * format = ob.typecode * except (AttributeError, TypeError): * if view.format != NULL: # <<<<<<<<<<<<<< * format = pystr(view.format) * return format */ __pyx_t_1 = ((__pyx_v_view->format != NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/asbuffer.pxi":325 * except (AttributeError, TypeError): * if view.format != NULL: * format = pystr(view.format) # <<<<<<<<<<<<<< * return format * */ __pyx_t_15 = __pyx_f_6mpi4py_3MPI_pystr(__pyx_v_view->format); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 325, __pyx_L16_except_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF_SET(__pyx_v_format, __pyx_t_15); __pyx_t_15 = 0; /* "mpi4py/MPI/asbuffer.pxi":324 * format = ob.typecode * except (AttributeError, TypeError): * if view.format != NULL: # <<<<<<<<<<<<<< * format = pystr(view.format) * return format */ } __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L15_exception_handled; } goto __pyx_L16_except_error; __pyx_L16_except_error:; /* "mpi4py/MPI/asbuffer.pxi":321 * format = ob.dtype.char * except (AttributeError, TypeError): * try: # array.array # <<<<<<<<<<<<<< * format = ob.typecode * except (AttributeError, TypeError): */ __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_L8_except_error; __pyx_L15_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_L21_try_end:; } __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L7_exception_handled; } goto __pyx_L8_except_error; __pyx_L8_except_error:; /* "mpi4py/MPI/asbuffer.pxi":318 * cdef object ob = view.obj * cdef object format = None * try: # numpy.ndarray # <<<<<<<<<<<<<< * format = ob.dtype.char * except (AttributeError, TypeError): */ __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5); goto __pyx_L1_error; __pyx_L7_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_L11_try_end:; } /* "mpi4py/MPI/asbuffer.pxi":326 * if view.format != NULL: * format = pystr(view.format) * return format # <<<<<<<<<<<<<< * * cdef inline memory getbuffer_r(object ob, void **base, MPI_Aint *size): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_format); __pyx_r = __pyx_v_format; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":303 * return buf * * cdef inline object getformat(memory buf): # <<<<<<<<<<<<<< * cdef Py_buffer *view = &buf.view * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_XDECREF(__pyx_t_14); __Pyx_XDECREF(__pyx_t_15); __Pyx_AddTraceback("mpi4py.MPI.getformat", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob); __Pyx_XDECREF(__pyx_v_format); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":328 * return format * * cdef inline memory getbuffer_r(object ob, void **base, MPI_Aint *size): # <<<<<<<<<<<<<< * cdef memory buf = getbuffer(ob, 1, 0) * if base != NULL: base[0] = buf.view.buf */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_getbuffer_r(PyObject *__pyx_v_ob, void **__pyx_v_base, MPI_Aint *__pyx_v_size) { struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_buf = 0; struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; void *__pyx_t_3; Py_ssize_t __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("getbuffer_r", 0); /* "mpi4py/MPI/asbuffer.pxi":329 * * cdef inline memory getbuffer_r(object ob, void **base, MPI_Aint *size): * cdef memory buf = getbuffer(ob, 1, 0) # <<<<<<<<<<<<<< * if base != NULL: base[0] = buf.view.buf * if size != NULL: size[0] = buf.view.len */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer(__pyx_v_ob, 1, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_buf = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/asbuffer.pxi":330 * cdef inline memory getbuffer_r(object ob, void **base, MPI_Aint *size): * cdef memory buf = getbuffer(ob, 1, 0) * if base != NULL: base[0] = buf.view.buf # <<<<<<<<<<<<<< * if size != NULL: size[0] = buf.view.len * return buf */ __pyx_t_2 = ((__pyx_v_base != NULL) != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_v_buf->view.buf; (__pyx_v_base[0]) = __pyx_t_3; } /* "mpi4py/MPI/asbuffer.pxi":331 * cdef memory buf = getbuffer(ob, 1, 0) * if base != NULL: base[0] = buf.view.buf * if size != NULL: size[0] = buf.view.len # <<<<<<<<<<<<<< * return buf * */ __pyx_t_2 = ((__pyx_v_size != NULL) != 0); if (__pyx_t_2) { __pyx_t_4 = __pyx_v_buf->view.len; (__pyx_v_size[0]) = __pyx_t_4; } /* "mpi4py/MPI/asbuffer.pxi":332 * if base != NULL: base[0] = buf.view.buf * if size != NULL: size[0] = buf.view.len * return buf # <<<<<<<<<<<<<< * * cdef inline memory getbuffer_w(object ob, void **base, MPI_Aint *size): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_buf)); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":328 * return format * * cdef inline memory getbuffer_r(object ob, void **base, MPI_Aint *size): # <<<<<<<<<<<<<< * cdef memory buf = getbuffer(ob, 1, 0) * if base != NULL: base[0] = buf.view.buf */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.getbuffer_r", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_buf); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":334 * return buf * * cdef inline memory getbuffer_w(object ob, void **base, MPI_Aint *size): # <<<<<<<<<<<<<< * cdef memory buf = getbuffer(ob, 0, 0) * if base != NULL: base[0] = buf.view.buf */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_getbuffer_w(PyObject *__pyx_v_ob, void **__pyx_v_base, MPI_Aint *__pyx_v_size) { struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_buf = 0; struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; void *__pyx_t_3; Py_ssize_t __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("getbuffer_w", 0); /* "mpi4py/MPI/asbuffer.pxi":335 * * cdef inline memory getbuffer_w(object ob, void **base, MPI_Aint *size): * cdef memory buf = getbuffer(ob, 0, 0) # <<<<<<<<<<<<<< * if base != NULL: base[0] = buf.view.buf * if size != NULL: size[0] = buf.view.len */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer(__pyx_v_ob, 0, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_buf = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/asbuffer.pxi":336 * cdef inline memory getbuffer_w(object ob, void **base, MPI_Aint *size): * cdef memory buf = getbuffer(ob, 0, 0) * if base != NULL: base[0] = buf.view.buf # <<<<<<<<<<<<<< * if size != NULL: size[0] = buf.view.len * return buf */ __pyx_t_2 = ((__pyx_v_base != NULL) != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_v_buf->view.buf; (__pyx_v_base[0]) = __pyx_t_3; } /* "mpi4py/MPI/asbuffer.pxi":337 * cdef memory buf = getbuffer(ob, 0, 0) * if base != NULL: base[0] = buf.view.buf * if size != NULL: size[0] = buf.view.len # <<<<<<<<<<<<<< * return buf * */ __pyx_t_2 = ((__pyx_v_size != NULL) != 0); if (__pyx_t_2) { __pyx_t_4 = __pyx_v_buf->view.len; (__pyx_v_size[0]) = __pyx_t_4; } /* "mpi4py/MPI/asbuffer.pxi":338 * if base != NULL: base[0] = buf.view.buf * if size != NULL: size[0] = buf.view.len * return buf # <<<<<<<<<<<<<< * * cdef inline memory asbuffer(object ob, void *base, MPI_Aint size, bint ro): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_buf)); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":334 * return buf * * cdef inline memory getbuffer_w(object ob, void **base, MPI_Aint *size): # <<<<<<<<<<<<<< * cdef memory buf = getbuffer(ob, 0, 0) * if base != NULL: base[0] = buf.view.buf */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.getbuffer_w", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_buf); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":340 * return buf * * cdef inline memory asbuffer(object ob, void *base, MPI_Aint size, bint ro): # <<<<<<<<<<<<<< * cdef memory buf = newbuffer() * PyBuffer_FillInfo(&buf.view, ob, base, size, ro, PyBUF_SIMPLE) */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_asbuffer(PyObject *__pyx_v_ob, void *__pyx_v_base, MPI_Aint __pyx_v_size, int __pyx_v_ro) { struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_buf = 0; struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("asbuffer", 0); /* "mpi4py/MPI/asbuffer.pxi":341 * * cdef inline memory asbuffer(object ob, void *base, MPI_Aint size, bint ro): * cdef memory buf = newbuffer() # <<<<<<<<<<<<<< * PyBuffer_FillInfo(&buf.view, ob, base, size, ro, PyBUF_SIMPLE) * return buf */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_newbuffer()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_buf = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/asbuffer.pxi":342 * cdef inline memory asbuffer(object ob, void *base, MPI_Aint size, bint ro): * cdef memory buf = newbuffer() * PyBuffer_FillInfo(&buf.view, ob, base, size, ro, PyBUF_SIMPLE) # <<<<<<<<<<<<<< * return buf * */ __pyx_t_2 = PyBuffer_FillInfo((&__pyx_v_buf->view), __pyx_v_ob, __pyx_v_base, __pyx_v_size, __pyx_v_ro, PyBUF_SIMPLE); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 342, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":343 * cdef memory buf = newbuffer() * PyBuffer_FillInfo(&buf.view, ob, base, size, ro, PyBUF_SIMPLE) * return buf # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_buf)); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":340 * return buf * * cdef inline memory asbuffer(object ob, void *base, MPI_Aint size, bint ro): # <<<<<<<<<<<<<< * cdef memory buf = newbuffer() * PyBuffer_FillInfo(&buf.view, ob, base, size, ro, PyBUF_SIMPLE) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.asbuffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_buf); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":347 * #------------------------------------------------------------------------------ * * cdef inline memory asmemory(object ob, void **base, MPI_Aint *size): # <<<<<<<<<<<<<< * cdef memory mem * if type(ob) is memory: */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_asmemory(PyObject *__pyx_v_ob, void **__pyx_v_base, MPI_Aint *__pyx_v_size) { struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_mem = 0; struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; void *__pyx_t_4; Py_ssize_t __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("asmemory", 0); /* "mpi4py/MPI/asbuffer.pxi":349 * cdef inline memory asmemory(object ob, void **base, MPI_Aint *size): * cdef memory mem * if type(ob) is memory: # <<<<<<<<<<<<<< * mem = ob * else: */ __pyx_t_1 = (((PyObject *)Py_TYPE(__pyx_v_ob)) == ((PyObject *)__pyx_ptype_6mpi4py_3MPI_memory)); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/asbuffer.pxi":350 * cdef memory mem * if type(ob) is memory: * mem = ob # <<<<<<<<<<<<<< * else: * mem = getbuffer(ob, 1, 0) */ __pyx_t_3 = __pyx_v_ob; __Pyx_INCREF(__pyx_t_3); __pyx_v_mem = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/asbuffer.pxi":349 * cdef inline memory asmemory(object ob, void **base, MPI_Aint *size): * cdef memory mem * if type(ob) is memory: # <<<<<<<<<<<<<< * mem = ob * else: */ goto __pyx_L3; } /* "mpi4py/MPI/asbuffer.pxi":352 * mem = ob * else: * mem = getbuffer(ob, 1, 0) # <<<<<<<<<<<<<< * if base != NULL: base[0] = mem.view.buf * if size != NULL: size[0] = mem.view.len */ /*else*/ { __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer(__pyx_v_ob, 1, 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mem = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_3); __pyx_t_3 = 0; } __pyx_L3:; /* "mpi4py/MPI/asbuffer.pxi":353 * else: * mem = getbuffer(ob, 1, 0) * if base != NULL: base[0] = mem.view.buf # <<<<<<<<<<<<<< * if size != NULL: size[0] = mem.view.len * return mem */ __pyx_t_2 = ((__pyx_v_base != NULL) != 0); if (__pyx_t_2) { __pyx_t_4 = __pyx_v_mem->view.buf; (__pyx_v_base[0]) = __pyx_t_4; } /* "mpi4py/MPI/asbuffer.pxi":354 * mem = getbuffer(ob, 1, 0) * if base != NULL: base[0] = mem.view.buf * if size != NULL: size[0] = mem.view.len # <<<<<<<<<<<<<< * return mem * */ __pyx_t_2 = ((__pyx_v_size != NULL) != 0); if (__pyx_t_2) { __pyx_t_5 = __pyx_v_mem->view.len; (__pyx_v_size[0]) = __pyx_t_5; } /* "mpi4py/MPI/asbuffer.pxi":355 * if base != NULL: base[0] = mem.view.buf * if size != NULL: size[0] = mem.view.len * return mem # <<<<<<<<<<<<<< * * cdef inline memory tomemory(void *base, MPI_Aint size): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_mem)); __pyx_r = __pyx_v_mem; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":347 * #------------------------------------------------------------------------------ * * cdef inline memory asmemory(object ob, void **base, MPI_Aint *size): # <<<<<<<<<<<<<< * cdef memory mem * if type(ob) is memory: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.asmemory", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_mem); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asbuffer.pxi":357 * return mem * * cdef inline memory tomemory(void *base, MPI_Aint size): # <<<<<<<<<<<<<< * cdef memory mem = memory.__new__(memory) * PyBuffer_FillInfo(&mem.view, NULL, base, size, 0, PyBUF_SIMPLE) */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_f_6mpi4py_3MPI_tomemory(void *__pyx_v_base, MPI_Aint __pyx_v_size) { struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_mem = 0; struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("tomemory", 0); /* "mpi4py/MPI/asbuffer.pxi":358 * * cdef inline memory tomemory(void *base, MPI_Aint size): * cdef memory mem = memory.__new__(memory) # <<<<<<<<<<<<<< * PyBuffer_FillInfo(&mem.view, NULL, base, size, 0, PyBUF_SIMPLE) * return mem */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_memory(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_memory), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 358, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_mem = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/asbuffer.pxi":359 * cdef inline memory tomemory(void *base, MPI_Aint size): * cdef memory mem = memory.__new__(memory) * PyBuffer_FillInfo(&mem.view, NULL, base, size, 0, PyBUF_SIMPLE) # <<<<<<<<<<<<<< * return mem * */ __pyx_t_3 = PyBuffer_FillInfo((&__pyx_v_mem->view), ((PyObject *)NULL), __pyx_v_base, __pyx_v_size, 0, PyBUF_SIMPLE); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 359, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":360 * cdef memory mem = memory.__new__(memory) * PyBuffer_FillInfo(&mem.view, NULL, base, size, 0, PyBUF_SIMPLE) * return mem # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_mem)); __pyx_r = __pyx_v_mem; goto __pyx_L0; /* "mpi4py/MPI/asbuffer.pxi":357 * return mem * * cdef inline memory tomemory(void *base, MPI_Aint size): # <<<<<<<<<<<<<< * cdef memory mem = memory.__new__(memory) * PyBuffer_FillInfo(&mem.view, NULL, base, size, 0, PyBUF_SIMPLE) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.tomemory", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_mem); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asmemory.pxi":15 * cdef class _p_mem: * cdef void *buf * def __cinit__(self): # <<<<<<<<<<<<<< * self.buf = NULL * def __dealloc__(self): */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6_p_mem_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6_p_mem_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_6mpi4py_3MPI_6_p_mem___cinit__(((struct __pyx_obj_6mpi4py_3MPI__p_mem *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6_p_mem___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_mem *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/asmemory.pxi":16 * cdef void *buf * def __cinit__(self): * self.buf = NULL # <<<<<<<<<<<<<< * def __dealloc__(self): * PyMem_Free(self.buf) */ __pyx_v_self->buf = NULL; /* "mpi4py/MPI/asmemory.pxi":15 * cdef class _p_mem: * cdef void *buf * def __cinit__(self): # <<<<<<<<<<<<<< * self.buf = NULL * def __dealloc__(self): */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asmemory.pxi":17 * def __cinit__(self): * self.buf = NULL * def __dealloc__(self): # <<<<<<<<<<<<<< * PyMem_Free(self.buf) * */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_6_p_mem_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_6_p_mem_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_6_p_mem_2__dealloc__(((struct __pyx_obj_6mpi4py_3MPI__p_mem *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_6_p_mem_2__dealloc__(struct __pyx_obj_6mpi4py_3MPI__p_mem *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__", 0); /* "mpi4py/MPI/asmemory.pxi":18 * self.buf = NULL * def __dealloc__(self): * PyMem_Free(self.buf) # <<<<<<<<<<<<<< * * cdef inline _p_mem allocate(Py_ssize_t m, size_t b, void *buf): */ PyMem_Free(__pyx_v_self->buf); /* "mpi4py/MPI/asmemory.pxi":17 * def __cinit__(self): * self.buf = NULL * def __dealloc__(self): # <<<<<<<<<<<<<< * PyMem_Free(self.buf) * */ /* function exit code */ __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/asmemory.pxi":20 * PyMem_Free(self.buf) * * cdef inline _p_mem allocate(Py_ssize_t m, size_t b, void *buf): # <<<<<<<<<<<<<< * if m > PY_SSIZE_T_MAX/b: * raise MemoryError("memory allocation size too large") */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_mem *__pyx_f_6mpi4py_3MPI_allocate(Py_ssize_t __pyx_v_m, size_t __pyx_v_b, void *__pyx_v_buf) { size_t __pyx_v_n; struct __pyx_obj_6mpi4py_3MPI__p_mem *__pyx_v_ob = 0; struct __pyx_obj_6mpi4py_3MPI__p_mem *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; void *__pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("allocate", 0); /* "mpi4py/MPI/asmemory.pxi":21 * * cdef inline _p_mem allocate(Py_ssize_t m, size_t b, void *buf): * if m > PY_SSIZE_T_MAX/b: # <<<<<<<<<<<<<< * raise MemoryError("memory allocation size too large") * if m < 0: */ __pyx_t_1 = ((__pyx_v_m > (PY_SSIZE_T_MAX / ((Py_ssize_t)__pyx_v_b))) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/asmemory.pxi":22 * cdef inline _p_mem allocate(Py_ssize_t m, size_t b, void *buf): * if m > PY_SSIZE_T_MAX/b: * raise MemoryError("memory allocation size too large") # <<<<<<<<<<<<<< * if m < 0: * raise RuntimeError("memory allocation with negative size") */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(2, 22, __pyx_L1_error) /* "mpi4py/MPI/asmemory.pxi":21 * * cdef inline _p_mem allocate(Py_ssize_t m, size_t b, void *buf): * if m > PY_SSIZE_T_MAX/b: # <<<<<<<<<<<<<< * raise MemoryError("memory allocation size too large") * if m < 0: */ } /* "mpi4py/MPI/asmemory.pxi":23 * if m > PY_SSIZE_T_MAX/b: * raise MemoryError("memory allocation size too large") * if m < 0: # <<<<<<<<<<<<<< * raise RuntimeError("memory allocation with negative size") * cdef size_t n = m * b */ __pyx_t_1 = ((__pyx_v_m < 0) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/asmemory.pxi":24 * raise MemoryError("memory allocation size too large") * if m < 0: * raise RuntimeError("memory allocation with negative size") # <<<<<<<<<<<<<< * cdef size_t n = m * b * cdef _p_mem ob = <_p_mem>_p_mem.__new__(_p_mem) */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(2, 24, __pyx_L1_error) /* "mpi4py/MPI/asmemory.pxi":23 * if m > PY_SSIZE_T_MAX/b: * raise MemoryError("memory allocation size too large") * if m < 0: # <<<<<<<<<<<<<< * raise RuntimeError("memory allocation with negative size") * cdef size_t n = m * b */ } /* "mpi4py/MPI/asmemory.pxi":25 * if m < 0: * raise RuntimeError("memory allocation with negative size") * cdef size_t n = m * b # <<<<<<<<<<<<<< * cdef _p_mem ob = <_p_mem>_p_mem.__new__(_p_mem) * ob.buf = PyMem_Malloc(n) */ __pyx_v_n = (((size_t)__pyx_v_m) * __pyx_v_b); /* "mpi4py/MPI/asmemory.pxi":26 * raise RuntimeError("memory allocation with negative size") * cdef size_t n = m * b * cdef _p_mem ob = <_p_mem>_p_mem.__new__(_p_mem) # <<<<<<<<<<<<<< * ob.buf = PyMem_Malloc(n) * if ob.buf == NULL: raise MemoryError */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI__p_mem(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI__p_mem), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 26, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_ob = ((struct __pyx_obj_6mpi4py_3MPI__p_mem *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/asmemory.pxi":27 * cdef size_t n = m * b * cdef _p_mem ob = <_p_mem>_p_mem.__new__(_p_mem) * ob.buf = PyMem_Malloc(n) # <<<<<<<<<<<<<< * if ob.buf == NULL: raise MemoryError * if buf != NULL: (buf)[0] = ob.buf */ __pyx_v_ob->buf = PyMem_Malloc(__pyx_v_n); /* "mpi4py/MPI/asmemory.pxi":28 * cdef _p_mem ob = <_p_mem>_p_mem.__new__(_p_mem) * ob.buf = PyMem_Malloc(n) * if ob.buf == NULL: raise MemoryError # <<<<<<<<<<<<<< * if buf != NULL: (buf)[0] = ob.buf * return ob */ __pyx_t_1 = ((__pyx_v_ob->buf == NULL) != 0); if (unlikely(__pyx_t_1)) { PyErr_NoMemory(); __PYX_ERR(2, 28, __pyx_L1_error) } /* "mpi4py/MPI/asmemory.pxi":29 * ob.buf = PyMem_Malloc(n) * if ob.buf == NULL: raise MemoryError * if buf != NULL: (buf)[0] = ob.buf # <<<<<<<<<<<<<< * return ob * */ __pyx_t_1 = ((__pyx_v_buf != NULL) != 0); if (__pyx_t_1) { __pyx_t_4 = __pyx_v_ob->buf; (((void **)__pyx_v_buf)[0]) = __pyx_t_4; } /* "mpi4py/MPI/asmemory.pxi":30 * if ob.buf == NULL: raise MemoryError * if buf != NULL: (buf)[0] = ob.buf * return ob # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_ob)); __pyx_r = __pyx_v_ob; goto __pyx_L0; /* "mpi4py/MPI/asmemory.pxi":20 * PyMem_Free(self.buf) * * cdef inline _p_mem allocate(Py_ssize_t m, size_t b, void *buf): # <<<<<<<<<<<<<< * if m > PY_SSIZE_T_MAX/b: * raise MemoryError("memory allocation size too large") */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.allocate", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_ob); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asarray.pxi":7 * MPI_Aint * * cdef inline object newarray(int n, integral_t **p): # <<<<<<<<<<<<<< * return allocate(n, sizeof(integral_t), p) * */ static CYTHON_INLINE PyObject *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(int __pyx_v_n, int **__pyx_v_p) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_0newarray", 0); /* "mpi4py/MPI/asarray.pxi":8 * * cdef inline object newarray(int n, integral_t **p): * return allocate(n, sizeof(integral_t), p) # <<<<<<<<<<<<<< * * cdef inline object getarray(object ob, int *n, integral_t **p): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_n, (sizeof(int)), __pyx_v_p)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 8, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":7 * MPI_Aint * * cdef inline object newarray(int n, integral_t **p): # <<<<<<<<<<<<<< * return allocate(n, sizeof(integral_t), p) * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.newarray", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE PyObject *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_newarray(int __pyx_v_n, MPI_Aint **__pyx_v_p) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_1newarray", 0); /* "mpi4py/MPI/asarray.pxi":8 * * cdef inline object newarray(int n, integral_t **p): * return allocate(n, sizeof(integral_t), p) # <<<<<<<<<<<<<< * * cdef inline object getarray(object ob, int *n, integral_t **p): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_n, (sizeof(MPI_Aint)), __pyx_v_p)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 8, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":7 * MPI_Aint * * cdef inline object newarray(int n, integral_t **p): # <<<<<<<<<<<<<< * return allocate(n, sizeof(integral_t), p) * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.newarray", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asarray.pxi":10 * return allocate(n, sizeof(integral_t), p) * * cdef inline object getarray(object ob, int *n, integral_t **p): # <<<<<<<<<<<<<< * cdef Py_ssize_t olen = len(ob) * cdef integral_t *base = NULL */ static CYTHON_INLINE PyObject *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(PyObject *__pyx_v_ob, int *__pyx_v_n, int **__pyx_v_p) { Py_ssize_t __pyx_v_olen; int *__pyx_v_base; int __pyx_v_i; int __pyx_v_size; PyObject *__pyx_v_mem = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_0getarray", 0); /* "mpi4py/MPI/asarray.pxi":11 * * cdef inline object getarray(object ob, int *n, integral_t **p): * cdef Py_ssize_t olen = len(ob) # <<<<<<<<<<<<<< * cdef integral_t *base = NULL * cdef int i = 0, size = downcast(olen) */ __pyx_t_1 = PyObject_Length(__pyx_v_ob); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(11, 11, __pyx_L1_error) __pyx_v_olen = __pyx_t_1; /* "mpi4py/MPI/asarray.pxi":12 * cdef inline object getarray(object ob, int *n, integral_t **p): * cdef Py_ssize_t olen = len(ob) * cdef integral_t *base = NULL # <<<<<<<<<<<<<< * cdef int i = 0, size = downcast(olen) * cdef object mem = newarray(size, &base) */ __pyx_v_base = NULL; /* "mpi4py/MPI/asarray.pxi":13 * cdef Py_ssize_t olen = len(ob) * cdef integral_t *base = NULL * cdef int i = 0, size = downcast(olen) # <<<<<<<<<<<<<< * cdef object mem = newarray(size, &base) * for i from 0 <= i < size: base[i] = ob[i] */ __pyx_v_i = 0; __pyx_t_2 = __pyx_f_6mpi4py_3MPI_downcast(__pyx_v_olen); if (unlikely(__pyx_t_2 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(11, 13, __pyx_L1_error) __pyx_v_size = __pyx_t_2; /* "mpi4py/MPI/asarray.pxi":14 * cdef integral_t *base = NULL * cdef int i = 0, size = downcast(olen) * cdef object mem = newarray(size, &base) # <<<<<<<<<<<<<< * for i from 0 <= i < size: base[i] = ob[i] * n[0] = size */ __pyx_t_3 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_size, (&__pyx_v_base)); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mem = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/asarray.pxi":15 * cdef int i = 0, size = downcast(olen) * cdef object mem = newarray(size, &base) * for i from 0 <= i < size: base[i] = ob[i] # <<<<<<<<<<<<<< * n[0] = size * p[0] = base */ __pyx_t_2 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_2; __pyx_v_i++) { __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_ob, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 15, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 15, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; (__pyx_v_base[__pyx_v_i]) = __pyx_t_4; } /* "mpi4py/MPI/asarray.pxi":16 * cdef object mem = newarray(size, &base) * for i from 0 <= i < size: base[i] = ob[i] * n[0] = size # <<<<<<<<<<<<<< * p[0] = base * return mem */ (__pyx_v_n[0]) = __pyx_v_size; /* "mpi4py/MPI/asarray.pxi":17 * for i from 0 <= i < size: base[i] = ob[i] * n[0] = size * p[0] = base # <<<<<<<<<<<<<< * return mem * */ (__pyx_v_p[0]) = __pyx_v_base; /* "mpi4py/MPI/asarray.pxi":18 * n[0] = size * p[0] = base * return mem # <<<<<<<<<<<<<< * * cdef inline object chkarray(object ob, int n, integral_t **p): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_mem); __pyx_r = __pyx_v_mem; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":10 * return allocate(n, sizeof(integral_t), p) * * cdef inline object getarray(object ob, int *n, integral_t **p): # <<<<<<<<<<<<<< * cdef Py_ssize_t olen = len(ob) * cdef integral_t *base = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.getarray", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_mem); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE PyObject *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_getarray(PyObject *__pyx_v_ob, int *__pyx_v_n, MPI_Aint **__pyx_v_p) { Py_ssize_t __pyx_v_olen; MPI_Aint *__pyx_v_base; int __pyx_v_i; int __pyx_v_size; PyObject *__pyx_v_mem = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; MPI_Aint __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_1getarray", 0); /* "mpi4py/MPI/asarray.pxi":11 * * cdef inline object getarray(object ob, int *n, integral_t **p): * cdef Py_ssize_t olen = len(ob) # <<<<<<<<<<<<<< * cdef integral_t *base = NULL * cdef int i = 0, size = downcast(olen) */ __pyx_t_1 = PyObject_Length(__pyx_v_ob); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(11, 11, __pyx_L1_error) __pyx_v_olen = __pyx_t_1; /* "mpi4py/MPI/asarray.pxi":12 * cdef inline object getarray(object ob, int *n, integral_t **p): * cdef Py_ssize_t olen = len(ob) * cdef integral_t *base = NULL # <<<<<<<<<<<<<< * cdef int i = 0, size = downcast(olen) * cdef object mem = newarray(size, &base) */ __pyx_v_base = NULL; /* "mpi4py/MPI/asarray.pxi":13 * cdef Py_ssize_t olen = len(ob) * cdef integral_t *base = NULL * cdef int i = 0, size = downcast(olen) # <<<<<<<<<<<<<< * cdef object mem = newarray(size, &base) * for i from 0 <= i < size: base[i] = ob[i] */ __pyx_v_i = 0; __pyx_t_2 = __pyx_f_6mpi4py_3MPI_downcast(__pyx_v_olen); if (unlikely(__pyx_t_2 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(11, 13, __pyx_L1_error) __pyx_v_size = __pyx_t_2; /* "mpi4py/MPI/asarray.pxi":14 * cdef integral_t *base = NULL * cdef int i = 0, size = downcast(olen) * cdef object mem = newarray(size, &base) # <<<<<<<<<<<<<< * for i from 0 <= i < size: base[i] = ob[i] * n[0] = size */ __pyx_t_3 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_size, (&__pyx_v_base)); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mem = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/asarray.pxi":15 * cdef int i = 0, size = downcast(olen) * cdef object mem = newarray(size, &base) * for i from 0 <= i < size: base[i] = ob[i] # <<<<<<<<<<<<<< * n[0] = size * p[0] = base */ __pyx_t_2 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_2; __pyx_v_i++) { __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_ob, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 15, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_As_MPI_Aint(__pyx_t_3); if (unlikely((__pyx_t_4 == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(11, 15, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; (__pyx_v_base[__pyx_v_i]) = __pyx_t_4; } /* "mpi4py/MPI/asarray.pxi":16 * cdef object mem = newarray(size, &base) * for i from 0 <= i < size: base[i] = ob[i] * n[0] = size # <<<<<<<<<<<<<< * p[0] = base * return mem */ (__pyx_v_n[0]) = __pyx_v_size; /* "mpi4py/MPI/asarray.pxi":17 * for i from 0 <= i < size: base[i] = ob[i] * n[0] = size * p[0] = base # <<<<<<<<<<<<<< * return mem * */ (__pyx_v_p[0]) = __pyx_v_base; /* "mpi4py/MPI/asarray.pxi":18 * n[0] = size * p[0] = base * return mem # <<<<<<<<<<<<<< * * cdef inline object chkarray(object ob, int n, integral_t **p): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_mem); __pyx_r = __pyx_v_mem; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":10 * return allocate(n, sizeof(integral_t), p) * * cdef inline object getarray(object ob, int *n, integral_t **p): # <<<<<<<<<<<<<< * cdef Py_ssize_t olen = len(ob) * cdef integral_t *base = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.getarray", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_mem); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asarray.pxi":20 * return mem * * cdef inline object chkarray(object ob, int n, integral_t **p): # <<<<<<<<<<<<<< * cdef int size = 0 * cdef object mem = getarray(ob, &size, p) */ static CYTHON_INLINE PyObject *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(PyObject *__pyx_v_ob, int __pyx_v_n, int **__pyx_v_p) { int __pyx_v_size; PyObject *__pyx_v_mem = 0; 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_0chkarray", 0); /* "mpi4py/MPI/asarray.pxi":21 * * cdef inline object chkarray(object ob, int n, integral_t **p): * cdef int size = 0 # <<<<<<<<<<<<<< * cdef object mem = getarray(ob, &size, p) * if n != size: raise ValueError( */ __pyx_v_size = 0; /* "mpi4py/MPI/asarray.pxi":22 * cdef inline object chkarray(object ob, int n, integral_t **p): * cdef int size = 0 * cdef object mem = getarray(ob, &size, p) # <<<<<<<<<<<<<< * if n != size: raise ValueError( * "expecting %d items, got %d" % (n, size)) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_ob, (&__pyx_v_size), __pyx_v_p); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_mem = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/asarray.pxi":23 * cdef int size = 0 * cdef object mem = getarray(ob, &size, p) * if n != size: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (n, size)) * return mem */ __pyx_t_2 = ((__pyx_v_n != __pyx_v_size) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/asarray.pxi":24 * cdef object mem = getarray(ob, &size, p) * if n != size: raise ValueError( * "expecting %d items, got %d" % (n, size)) # <<<<<<<<<<<<<< * return mem * */ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_expecting_d_items_got_d, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/asarray.pxi":23 * cdef int size = 0 * cdef object mem = getarray(ob, &size, p) * if n != size: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (n, size)) * return mem */ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(11, 23, __pyx_L1_error) } /* "mpi4py/MPI/asarray.pxi":25 * if n != size: raise ValueError( * "expecting %d items, got %d" % (n, size)) * return mem # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_mem); __pyx_r = __pyx_v_mem; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":20 * return mem * * cdef inline object chkarray(object ob, int n, integral_t **p): # <<<<<<<<<<<<<< * cdef int size = 0 * cdef object mem = getarray(ob, &size, p) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.chkarray", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_mem); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE PyObject *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_chkarray(PyObject *__pyx_v_ob, int __pyx_v_n, MPI_Aint **__pyx_v_p) { int __pyx_v_size; PyObject *__pyx_v_mem = 0; 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_1chkarray", 0); /* "mpi4py/MPI/asarray.pxi":21 * * cdef inline object chkarray(object ob, int n, integral_t **p): * cdef int size = 0 # <<<<<<<<<<<<<< * cdef object mem = getarray(ob, &size, p) * if n != size: raise ValueError( */ __pyx_v_size = 0; /* "mpi4py/MPI/asarray.pxi":22 * cdef inline object chkarray(object ob, int n, integral_t **p): * cdef int size = 0 * cdef object mem = getarray(ob, &size, p) # <<<<<<<<<<<<<< * if n != size: raise ValueError( * "expecting %d items, got %d" % (n, size)) */ __pyx_t_1 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_ob, (&__pyx_v_size), __pyx_v_p); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_mem = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/asarray.pxi":23 * cdef int size = 0 * cdef object mem = getarray(ob, &size, p) * if n != size: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (n, size)) * return mem */ __pyx_t_2 = ((__pyx_v_n != __pyx_v_size) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/asarray.pxi":24 * cdef object mem = getarray(ob, &size, p) * if n != size: raise ValueError( * "expecting %d items, got %d" % (n, size)) # <<<<<<<<<<<<<< * return mem * */ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_expecting_d_items_got_d, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/asarray.pxi":23 * cdef int size = 0 * cdef object mem = getarray(ob, &size, p) * if n != size: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (n, size)) * return mem */ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(11, 23, __pyx_L1_error) } /* "mpi4py/MPI/asarray.pxi":25 * if n != size: raise ValueError( * "expecting %d items, got %d" % (n, size)) * return mem # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_mem); __pyx_r = __pyx_v_mem; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":20 * return mem * * cdef inline object chkarray(object ob, int n, integral_t **p): # <<<<<<<<<<<<<< * cdef int size = 0 * cdef object mem = getarray(ob, &size, p) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.chkarray", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_mem); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asarray.pxi":29 * # ----------------------------------------------------------------------------- * * cdef inline object asarray_Datatype(object sequence, # <<<<<<<<<<<<<< * int size, MPI_Datatype **p): * cdef int i = 0 */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_Datatype(PyObject *__pyx_v_sequence, int __pyx_v_size, MPI_Datatype **__pyx_v_p) { int __pyx_v_i; MPI_Datatype *__pyx_v_array; PyObject *__pyx_v_ob = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; int __pyx_t_6; MPI_Datatype __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("asarray_Datatype", 0); /* "mpi4py/MPI/asarray.pxi":31 * cdef inline object asarray_Datatype(object sequence, * int size, MPI_Datatype **p): * cdef int i = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype *array = NULL * if size != len(sequence): raise ValueError( */ __pyx_v_i = 0; /* "mpi4py/MPI/asarray.pxi":32 * int size, MPI_Datatype **p): * cdef int i = 0 * cdef MPI_Datatype *array = NULL # <<<<<<<<<<<<<< * if size != len(sequence): raise ValueError( * "expecting %d items, got %d" % (size, len(sequence))) */ __pyx_v_array = NULL; /* "mpi4py/MPI/asarray.pxi":33 * cdef int i = 0 * cdef MPI_Datatype *array = NULL * if size != len(sequence): raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, len(sequence))) * cdef object ob = allocate(size, sizeof(MPI_Datatype), &array) */ __pyx_t_1 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(11, 33, __pyx_L1_error) __pyx_t_2 = ((__pyx_v_size != __pyx_t_1) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/asarray.pxi":34 * cdef MPI_Datatype *array = NULL * if size != len(sequence): raise ValueError( * "expecting %d items, got %d" % (size, len(sequence))) # <<<<<<<<<<<<<< * cdef object ob = allocate(size, sizeof(MPI_Datatype), &array) * for i from 0 <= i < size: */ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(11, 34, __pyx_L1_error) __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_expecting_d_items_got_d, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/asarray.pxi":33 * cdef int i = 0 * cdef MPI_Datatype *array = NULL * if size != len(sequence): raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, len(sequence))) * cdef object ob = allocate(size, sizeof(MPI_Datatype), &array) */ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 33, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(11, 33, __pyx_L1_error) } /* "mpi4py/MPI/asarray.pxi":35 * if size != len(sequence): raise ValueError( * "expecting %d items, got %d" % (size, len(sequence))) * cdef object ob = allocate(size, sizeof(MPI_Datatype), &array) # <<<<<<<<<<<<<< * for i from 0 <= i < size: * array[i] = (sequence[i]).ob_mpi */ __pyx_t_5 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_size, (sizeof(MPI_Datatype)), (&__pyx_v_array))); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_ob = __pyx_t_5; __pyx_t_5 = 0; /* "mpi4py/MPI/asarray.pxi":36 * "expecting %d items, got %d" % (size, len(sequence))) * cdef object ob = allocate(size, sizeof(MPI_Datatype), &array) * for i from 0 <= i < size: # <<<<<<<<<<<<<< * array[i] = (sequence[i]).ob_mpi * p[0] = array */ __pyx_t_6 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_6; __pyx_v_i++) { /* "mpi4py/MPI/asarray.pxi":37 * cdef object ob = allocate(size, sizeof(MPI_Datatype), &array) * for i from 0 <= i < size: * array[i] = (sequence[i]).ob_mpi # <<<<<<<<<<<<<< * p[0] = array * return ob */ __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_sequence, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 37, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (!(likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_6mpi4py_3MPI_Datatype)))) __PYX_ERR(11, 37, __pyx_L1_error) __pyx_t_7 = ((struct PyMPIDatatypeObject *)__pyx_t_5)->ob_mpi; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; (__pyx_v_array[__pyx_v_i]) = __pyx_t_7; } /* "mpi4py/MPI/asarray.pxi":38 * for i from 0 <= i < size: * array[i] = (sequence[i]).ob_mpi * p[0] = array # <<<<<<<<<<<<<< * return ob * */ (__pyx_v_p[0]) = __pyx_v_array; /* "mpi4py/MPI/asarray.pxi":39 * array[i] = (sequence[i]).ob_mpi * p[0] = array * return ob # <<<<<<<<<<<<<< * * cdef inline object asarray_Info(object sequence, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ob); __pyx_r = __pyx_v_ob; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":29 * # ----------------------------------------------------------------------------- * * cdef inline object asarray_Datatype(object sequence, # <<<<<<<<<<<<<< * int size, MPI_Datatype **p): * cdef int i = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.asarray_Datatype", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asarray.pxi":41 * return ob * * cdef inline object asarray_Info(object sequence, # <<<<<<<<<<<<<< * int size, MPI_Info **p): * cdef int i = 0 */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_Info(PyObject *__pyx_v_sequence, int __pyx_v_size, MPI_Info **__pyx_v_p) { int __pyx_v_i; MPI_Info *__pyx_v_array; MPI_Info __pyx_v_info; PyObject *__pyx_v_ob = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; MPI_Info __pyx_t_4; PyObject *__pyx_t_5 = NULL; int __pyx_t_6; Py_ssize_t __pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("asarray_Info", 0); /* "mpi4py/MPI/asarray.pxi":43 * cdef inline object asarray_Info(object sequence, * int size, MPI_Info **p): * cdef int i = 0 # <<<<<<<<<<<<<< * cdef MPI_Info *array = NULL * cdef MPI_Info info = MPI_INFO_NULL */ __pyx_v_i = 0; /* "mpi4py/MPI/asarray.pxi":44 * int size, MPI_Info **p): * cdef int i = 0 * cdef MPI_Info *array = NULL # <<<<<<<<<<<<<< * cdef MPI_Info info = MPI_INFO_NULL * cdef object ob */ __pyx_v_array = NULL; /* "mpi4py/MPI/asarray.pxi":45 * cdef int i = 0 * cdef MPI_Info *array = NULL * cdef MPI_Info info = MPI_INFO_NULL # <<<<<<<<<<<<<< * cdef object ob * if sequence is None or isinstance(sequence, Info): */ __pyx_v_info = MPI_INFO_NULL; /* "mpi4py/MPI/asarray.pxi":47 * cdef MPI_Info info = MPI_INFO_NULL * cdef object ob * if sequence is None or isinstance(sequence, Info): # <<<<<<<<<<<<<< * if sequence is not None: * info = (sequence).ob_mpi */ __pyx_t_2 = (__pyx_v_sequence == Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_sequence, __pyx_ptype_6mpi4py_3MPI_Info); __pyx_t_2 = (__pyx_t_3 != 0); __pyx_t_1 = __pyx_t_2; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/asarray.pxi":48 * cdef object ob * if sequence is None or isinstance(sequence, Info): * if sequence is not None: # <<<<<<<<<<<<<< * info = (sequence).ob_mpi * ob = allocate(size, sizeof(MPI_Info), &array) */ __pyx_t_1 = (__pyx_v_sequence != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/asarray.pxi":49 * if sequence is None or isinstance(sequence, Info): * if sequence is not None: * info = (sequence).ob_mpi # <<<<<<<<<<<<<< * ob = allocate(size, sizeof(MPI_Info), &array) * for i from 0 <= i < size: */ if (!(likely(__Pyx_TypeTest(__pyx_v_sequence, __pyx_ptype_6mpi4py_3MPI_Info)))) __PYX_ERR(11, 49, __pyx_L1_error) __pyx_t_4 = ((struct PyMPIInfoObject *)__pyx_v_sequence)->ob_mpi; __pyx_v_info = __pyx_t_4; /* "mpi4py/MPI/asarray.pxi":48 * cdef object ob * if sequence is None or isinstance(sequence, Info): * if sequence is not None: # <<<<<<<<<<<<<< * info = (sequence).ob_mpi * ob = allocate(size, sizeof(MPI_Info), &array) */ } /* "mpi4py/MPI/asarray.pxi":50 * if sequence is not None: * info = (sequence).ob_mpi * ob = allocate(size, sizeof(MPI_Info), &array) # <<<<<<<<<<<<<< * for i from 0 <= i < size: * array[i] = info */ __pyx_t_5 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_size, (sizeof(MPI_Info)), (&__pyx_v_array))); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_ob = __pyx_t_5; __pyx_t_5 = 0; /* "mpi4py/MPI/asarray.pxi":51 * info = (sequence).ob_mpi * ob = allocate(size, sizeof(MPI_Info), &array) * for i from 0 <= i < size: # <<<<<<<<<<<<<< * array[i] = info * else: */ __pyx_t_6 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_6; __pyx_v_i++) { /* "mpi4py/MPI/asarray.pxi":52 * ob = allocate(size, sizeof(MPI_Info), &array) * for i from 0 <= i < size: * array[i] = info # <<<<<<<<<<<<<< * else: * if size != len(sequence): raise ValueError( */ (__pyx_v_array[__pyx_v_i]) = __pyx_v_info; } /* "mpi4py/MPI/asarray.pxi":47 * cdef MPI_Info info = MPI_INFO_NULL * cdef object ob * if sequence is None or isinstance(sequence, Info): # <<<<<<<<<<<<<< * if sequence is not None: * info = (sequence).ob_mpi */ goto __pyx_L3; } /* "mpi4py/MPI/asarray.pxi":54 * array[i] = info * else: * if size != len(sequence): raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, len(sequence))) * ob = allocate(size, sizeof(MPI_Datatype), &array) */ /*else*/ { __pyx_t_7 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(11, 54, __pyx_L1_error) __pyx_t_2 = ((__pyx_v_size != __pyx_t_7) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/asarray.pxi":55 * else: * if size != len(sequence): raise ValueError( * "expecting %d items, got %d" % (size, len(sequence))) # <<<<<<<<<<<<<< * ob = allocate(size, sizeof(MPI_Datatype), &array) * for i from 0 <= i < size: */ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(11, 55, __pyx_L1_error) __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_8); __pyx_t_5 = 0; __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_expecting_d_items_got_d, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* "mpi4py/MPI/asarray.pxi":54 * array[i] = info * else: * if size != len(sequence): raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, len(sequence))) * ob = allocate(size, sizeof(MPI_Datatype), &array) */ __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 54, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(11, 54, __pyx_L1_error) } /* "mpi4py/MPI/asarray.pxi":56 * if size != len(sequence): raise ValueError( * "expecting %d items, got %d" % (size, len(sequence))) * ob = allocate(size, sizeof(MPI_Datatype), &array) # <<<<<<<<<<<<<< * for i from 0 <= i < size: * array[i] = (sequence[i]).ob_mpi */ __pyx_t_9 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_size, (sizeof(MPI_Datatype)), (&__pyx_v_array))); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_v_ob = __pyx_t_9; __pyx_t_9 = 0; /* "mpi4py/MPI/asarray.pxi":57 * "expecting %d items, got %d" % (size, len(sequence))) * ob = allocate(size, sizeof(MPI_Datatype), &array) * for i from 0 <= i < size: # <<<<<<<<<<<<<< * array[i] = (sequence[i]).ob_mpi * p[0] = array */ __pyx_t_6 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_6; __pyx_v_i++) { /* "mpi4py/MPI/asarray.pxi":58 * ob = allocate(size, sizeof(MPI_Datatype), &array) * for i from 0 <= i < size: * array[i] = (sequence[i]).ob_mpi # <<<<<<<<<<<<<< * p[0] = array * return ob */ __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_sequence, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (!(likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_6mpi4py_3MPI_Info)))) __PYX_ERR(11, 58, __pyx_L1_error) __pyx_t_4 = ((struct PyMPIInfoObject *)__pyx_t_9)->ob_mpi; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; (__pyx_v_array[__pyx_v_i]) = __pyx_t_4; } } __pyx_L3:; /* "mpi4py/MPI/asarray.pxi":59 * for i from 0 <= i < size: * array[i] = (sequence[i]).ob_mpi * p[0] = array # <<<<<<<<<<<<<< * return ob * */ (__pyx_v_p[0]) = __pyx_v_array; /* "mpi4py/MPI/asarray.pxi":60 * array[i] = (sequence[i]).ob_mpi * p[0] = array * return ob # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ob); __pyx_r = __pyx_v_ob; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":41 * return ob * * cdef inline object asarray_Info(object sequence, # <<<<<<<<<<<<<< * int size, MPI_Info **p): * cdef int i = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_AddTraceback("mpi4py.MPI.asarray_Info", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asarray.pxi":64 * # ----------------------------------------------------------------------------- * * cdef inline int is_string(object obj): # <<<<<<<<<<<<<< * return (isinstance(obj, str) or * isinstance(obj, bytes) or */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_is_string(PyObject *__pyx_v_obj) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("is_string", 0); /* "mpi4py/MPI/asarray.pxi":65 * * cdef inline int is_string(object obj): * return (isinstance(obj, str) or # <<<<<<<<<<<<<< * isinstance(obj, bytes) or * isinstance(obj, unicode)) */ __pyx_t_2 = PyString_Check(__pyx_v_obj); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/asarray.pxi":66 * cdef inline int is_string(object obj): * return (isinstance(obj, str) or * isinstance(obj, bytes) or # <<<<<<<<<<<<<< * isinstance(obj, unicode)) * */ __pyx_t_2 = PyBytes_Check(__pyx_v_obj); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/asarray.pxi":67 * return (isinstance(obj, str) or * isinstance(obj, bytes) or * isinstance(obj, unicode)) # <<<<<<<<<<<<<< * * cdef inline object asstring(object ob, char *s[]): */ __pyx_t_2 = PyUnicode_Check(__pyx_v_obj); __pyx_t_1 = __pyx_t_2; __pyx_L3_bool_binop_done:; __pyx_r = __pyx_t_1; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":64 * # ----------------------------------------------------------------------------- * * cdef inline int is_string(object obj): # <<<<<<<<<<<<<< * return (isinstance(obj, str) or * isinstance(obj, bytes) or */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asarray.pxi":69 * isinstance(obj, unicode)) * * cdef inline object asstring(object ob, char *s[]): # <<<<<<<<<<<<<< * cdef Py_ssize_t n = 0 * cdef char *p = NULL, *q = NULL */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asstring(PyObject *__pyx_v_ob, char **__pyx_v_s) { Py_ssize_t __pyx_v_n; char *__pyx_v_p; char *__pyx_v_q; PyObject *__pyx_v_mem = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("asstring", 0); __Pyx_INCREF(__pyx_v_ob); /* "mpi4py/MPI/asarray.pxi":70 * * cdef inline object asstring(object ob, char *s[]): * cdef Py_ssize_t n = 0 # <<<<<<<<<<<<<< * cdef char *p = NULL, *q = NULL * ob = asmpistr(ob, &p) */ __pyx_v_n = 0; /* "mpi4py/MPI/asarray.pxi":71 * cdef inline object asstring(object ob, char *s[]): * cdef Py_ssize_t n = 0 * cdef char *p = NULL, *q = NULL # <<<<<<<<<<<<<< * ob = asmpistr(ob, &p) * PyBytes_AsStringAndSize(ob, &p, &n) */ __pyx_v_p = NULL; __pyx_v_q = NULL; /* "mpi4py/MPI/asarray.pxi":72 * cdef Py_ssize_t n = 0 * cdef char *p = NULL, *q = NULL * ob = asmpistr(ob, &p) # <<<<<<<<<<<<<< * PyBytes_AsStringAndSize(ob, &p, &n) * cdef object mem = allocate(n+1, sizeof(char), &q) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_ob, (&__pyx_v_p)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_ob, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/asarray.pxi":73 * cdef char *p = NULL, *q = NULL * ob = asmpistr(ob, &p) * PyBytes_AsStringAndSize(ob, &p, &n) # <<<<<<<<<<<<<< * cdef object mem = allocate(n+1, sizeof(char), &q) * memcpy(q, p, n) */ __pyx_t_2 = PyBytes_AsStringAndSize(__pyx_v_ob, (&__pyx_v_p), (&__pyx_v_n)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(11, 73, __pyx_L1_error) /* "mpi4py/MPI/asarray.pxi":74 * ob = asmpistr(ob, &p) * PyBytes_AsStringAndSize(ob, &p, &n) * cdef object mem = allocate(n+1, sizeof(char), &q) # <<<<<<<<<<<<<< * memcpy(q, p, n) * q[n] = 0; s[0] = q; */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate((__pyx_v_n + 1), (sizeof(char)), (&__pyx_v_q))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_mem = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/asarray.pxi":75 * PyBytes_AsStringAndSize(ob, &p, &n) * cdef object mem = allocate(n+1, sizeof(char), &q) * memcpy(q, p, n) # <<<<<<<<<<<<<< * q[n] = 0; s[0] = q; * return mem */ ((void)memcpy(__pyx_v_q, __pyx_v_p, ((size_t)__pyx_v_n))); /* "mpi4py/MPI/asarray.pxi":76 * cdef object mem = allocate(n+1, sizeof(char), &q) * memcpy(q, p, n) * q[n] = 0; s[0] = q; # <<<<<<<<<<<<<< * return mem * */ (__pyx_v_q[__pyx_v_n]) = 0; (__pyx_v_s[0]) = __pyx_v_q; /* "mpi4py/MPI/asarray.pxi":77 * memcpy(q, p, n) * q[n] = 0; s[0] = q; * return mem # <<<<<<<<<<<<<< * * cdef inline object asarray_str(object sequence, char ***p): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_mem); __pyx_r = __pyx_v_mem; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":69 * isinstance(obj, unicode)) * * cdef inline object asstring(object ob, char *s[]): # <<<<<<<<<<<<<< * cdef Py_ssize_t n = 0 * cdef char *p = NULL, *q = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.asstring", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_mem); __Pyx_XDECREF(__pyx_v_ob); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asarray.pxi":79 * return mem * * cdef inline object asarray_str(object sequence, char ***p): # <<<<<<<<<<<<<< * cdef char** array = NULL * cdef Py_ssize_t i = 0, size = len(sequence) */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_str(PyObject *__pyx_v_sequence, char ***__pyx_v_p) { char **__pyx_v_array; Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_size; PyObject *__pyx_v_ob = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("asarray_str", 0); /* "mpi4py/MPI/asarray.pxi":80 * * cdef inline object asarray_str(object sequence, char ***p): * cdef char** array = NULL # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0, size = len(sequence) * cdef object ob = allocate(size+1, sizeof(char*), &array) */ __pyx_v_array = NULL; /* "mpi4py/MPI/asarray.pxi":81 * cdef inline object asarray_str(object sequence, char ***p): * cdef char** array = NULL * cdef Py_ssize_t i = 0, size = len(sequence) # <<<<<<<<<<<<<< * cdef object ob = allocate(size+1, sizeof(char*), &array) * for i from 0 <= i < size: */ __pyx_v_i = 0; __pyx_t_1 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(11, 81, __pyx_L1_error) __pyx_v_size = __pyx_t_1; /* "mpi4py/MPI/asarray.pxi":82 * cdef char** array = NULL * cdef Py_ssize_t i = 0, size = len(sequence) * cdef object ob = allocate(size+1, sizeof(char*), &array) # <<<<<<<<<<<<<< * for i from 0 <= i < size: * sequence[i] = asstring(sequence[i], &array[i]) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate((__pyx_v_size + 1), (sizeof(char *)), (&__pyx_v_array))); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_ob = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/asarray.pxi":83 * cdef Py_ssize_t i = 0, size = len(sequence) * cdef object ob = allocate(size+1, sizeof(char*), &array) * for i from 0 <= i < size: # <<<<<<<<<<<<<< * sequence[i] = asstring(sequence[i], &array[i]) * array[size] = NULL */ __pyx_t_1 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { /* "mpi4py/MPI/asarray.pxi":84 * cdef object ob = allocate(size+1, sizeof(char*), &array) * for i from 0 <= i < size: * sequence[i] = asstring(sequence[i], &array[i]) # <<<<<<<<<<<<<< * array[size] = NULL * p[0] = array */ __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_sequence, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asstring(__pyx_t_2, (&(__pyx_v_array[__pyx_v_i]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_v_sequence, __pyx_v_i, __pyx_t_3, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(11, 84, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/asarray.pxi":85 * for i from 0 <= i < size: * sequence[i] = asstring(sequence[i], &array[i]) * array[size] = NULL # <<<<<<<<<<<<<< * p[0] = array * return (sequence, ob) */ (__pyx_v_array[__pyx_v_size]) = NULL; /* "mpi4py/MPI/asarray.pxi":86 * sequence[i] = asstring(sequence[i], &array[i]) * array[size] = NULL * p[0] = array # <<<<<<<<<<<<<< * return (sequence, ob) * */ (__pyx_v_p[0]) = __pyx_v_array; /* "mpi4py/MPI/asarray.pxi":87 * array[size] = NULL * p[0] = array * return (sequence, ob) # <<<<<<<<<<<<<< * * cdef inline object asarray_argv(object sequence, char ***p): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_sequence); __Pyx_GIVEREF(__pyx_v_sequence); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_sequence); __Pyx_INCREF(__pyx_v_ob); __Pyx_GIVEREF(__pyx_v_ob); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_ob); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":79 * return mem * * cdef inline object asarray_str(object sequence, char ***p): # <<<<<<<<<<<<<< * cdef char** array = NULL * cdef Py_ssize_t i = 0, size = len(sequence) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.asarray_str", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asarray.pxi":89 * return (sequence, ob) * * cdef inline object asarray_argv(object sequence, char ***p): # <<<<<<<<<<<<<< * if sequence is None: * p[0] = MPI_ARGV_NULL */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_argv(PyObject *__pyx_v_sequence, char ***__pyx_v_p) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("asarray_argv", 0); __Pyx_INCREF(__pyx_v_sequence); /* "mpi4py/MPI/asarray.pxi":90 * * cdef inline object asarray_argv(object sequence, char ***p): * if sequence is None: # <<<<<<<<<<<<<< * p[0] = MPI_ARGV_NULL * return None */ __pyx_t_1 = (__pyx_v_sequence == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/asarray.pxi":91 * cdef inline object asarray_argv(object sequence, char ***p): * if sequence is None: * p[0] = MPI_ARGV_NULL # <<<<<<<<<<<<<< * return None * if is_string(sequence): */ (__pyx_v_p[0]) = MPI_ARGV_NULL; /* "mpi4py/MPI/asarray.pxi":92 * if sequence is None: * p[0] = MPI_ARGV_NULL * return None # <<<<<<<<<<<<<< * if is_string(sequence): * sequence = [sequence] */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":90 * * cdef inline object asarray_argv(object sequence, char ***p): * if sequence is None: # <<<<<<<<<<<<<< * p[0] = MPI_ARGV_NULL * return None */ } /* "mpi4py/MPI/asarray.pxi":93 * p[0] = MPI_ARGV_NULL * return None * if is_string(sequence): # <<<<<<<<<<<<<< * sequence = [sequence] * else: */ __pyx_t_2 = (__pyx_f_6mpi4py_3MPI_is_string(__pyx_v_sequence) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/asarray.pxi":94 * return None * if is_string(sequence): * sequence = [sequence] # <<<<<<<<<<<<<< * else: * sequence = list(sequence) */ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_sequence); __Pyx_GIVEREF(__pyx_v_sequence); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_v_sequence); __Pyx_DECREF_SET(__pyx_v_sequence, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/asarray.pxi":93 * p[0] = MPI_ARGV_NULL * return None * if is_string(sequence): # <<<<<<<<<<<<<< * sequence = [sequence] * else: */ goto __pyx_L4; } /* "mpi4py/MPI/asarray.pxi":96 * sequence = [sequence] * else: * sequence = list(sequence) # <<<<<<<<<<<<<< * return asarray_str(sequence, p) * */ /*else*/ { __pyx_t_3 = PySequence_List(__pyx_v_sequence); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_sequence, __pyx_t_3); __pyx_t_3 = 0; } __pyx_L4:; /* "mpi4py/MPI/asarray.pxi":97 * else: * sequence = list(sequence) * return asarray_str(sequence, p) # <<<<<<<<<<<<<< * * cdef inline object asarray_cmds(object sequence, int *count, char ***p): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asarray_str(__pyx_v_sequence, __pyx_v_p); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":89 * return (sequence, ob) * * cdef inline object asarray_argv(object sequence, char ***p): # <<<<<<<<<<<<<< * if sequence is None: * p[0] = MPI_ARGV_NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.asarray_argv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_sequence); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asarray.pxi":99 * return asarray_str(sequence, p) * * cdef inline object asarray_cmds(object sequence, int *count, char ***p): # <<<<<<<<<<<<<< * if is_string(sequence): * raise ValueError("expecting a sequence of strings") */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_cmds(PyObject *__pyx_v_sequence, int *__pyx_v_count, char ***__pyx_v_p) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; Py_ssize_t __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("asarray_cmds", 0); __Pyx_INCREF(__pyx_v_sequence); /* "mpi4py/MPI/asarray.pxi":100 * * cdef inline object asarray_cmds(object sequence, int *count, char ***p): * if is_string(sequence): # <<<<<<<<<<<<<< * raise ValueError("expecting a sequence of strings") * sequence = list(sequence) */ __pyx_t_1 = (__pyx_f_6mpi4py_3MPI_is_string(__pyx_v_sequence) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/asarray.pxi":101 * cdef inline object asarray_cmds(object sequence, int *count, char ***p): * if is_string(sequence): * raise ValueError("expecting a sequence of strings") # <<<<<<<<<<<<<< * sequence = list(sequence) * count[0] = len(sequence) */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 101, __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(11, 101, __pyx_L1_error) /* "mpi4py/MPI/asarray.pxi":100 * * cdef inline object asarray_cmds(object sequence, int *count, char ***p): * if is_string(sequence): # <<<<<<<<<<<<<< * raise ValueError("expecting a sequence of strings") * sequence = list(sequence) */ } /* "mpi4py/MPI/asarray.pxi":102 * if is_string(sequence): * raise ValueError("expecting a sequence of strings") * sequence = list(sequence) # <<<<<<<<<<<<<< * count[0] = len(sequence) * return asarray_str(sequence, p) */ __pyx_t_2 = PySequence_List(__pyx_v_sequence); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_sequence, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/asarray.pxi":103 * raise ValueError("expecting a sequence of strings") * sequence = list(sequence) * count[0] = len(sequence) # <<<<<<<<<<<<<< * return asarray_str(sequence, p) * */ __pyx_t_3 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(11, 103, __pyx_L1_error) (__pyx_v_count[0]) = ((int)__pyx_t_3); /* "mpi4py/MPI/asarray.pxi":104 * sequence = list(sequence) * count[0] = len(sequence) * return asarray_str(sequence, p) # <<<<<<<<<<<<<< * * cdef inline object asarray_argvs(object sequence, int size, char ****p): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_asarray_str(__pyx_v_sequence, __pyx_v_p); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":99 * return asarray_str(sequence, p) * * cdef inline object asarray_cmds(object sequence, int *count, char ***p): # <<<<<<<<<<<<<< * if is_string(sequence): * raise ValueError("expecting a sequence of strings") */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.asarray_cmds", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_sequence); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asarray.pxi":106 * return asarray_str(sequence, p) * * cdef inline object asarray_argvs(object sequence, int size, char ****p): # <<<<<<<<<<<<<< * if sequence is None: * p[0] = MPI_ARGVS_NULL */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_argvs(PyObject *__pyx_v_sequence, int __pyx_v_size, char ****__pyx_v_p) { int __pyx_v_i; char ***__pyx_v_array; PyObject *__pyx_v_ob = 0; PyObject *__pyx_v_argv = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("asarray_argvs", 0); __Pyx_INCREF(__pyx_v_sequence); /* "mpi4py/MPI/asarray.pxi":107 * * cdef inline object asarray_argvs(object sequence, int size, char ****p): * if sequence is None: # <<<<<<<<<<<<<< * p[0] = MPI_ARGVS_NULL * return None */ __pyx_t_1 = (__pyx_v_sequence == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/asarray.pxi":108 * cdef inline object asarray_argvs(object sequence, int size, char ****p): * if sequence is None: * p[0] = MPI_ARGVS_NULL # <<<<<<<<<<<<<< * return None * if is_string(sequence): */ (__pyx_v_p[0]) = MPI_ARGVS_NULL; /* "mpi4py/MPI/asarray.pxi":109 * if sequence is None: * p[0] = MPI_ARGVS_NULL * return None # <<<<<<<<<<<<<< * if is_string(sequence): * sequence = [sequence] * size */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":107 * * cdef inline object asarray_argvs(object sequence, int size, char ****p): * if sequence is None: # <<<<<<<<<<<<<< * p[0] = MPI_ARGVS_NULL * return None */ } /* "mpi4py/MPI/asarray.pxi":110 * p[0] = MPI_ARGVS_NULL * return None * if is_string(sequence): # <<<<<<<<<<<<<< * sequence = [sequence] * size * else: */ __pyx_t_2 = (__pyx_f_6mpi4py_3MPI_is_string(__pyx_v_sequence) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/asarray.pxi":111 * return None * if is_string(sequence): * sequence = [sequence] * size # <<<<<<<<<<<<<< * else: * sequence = list(sequence) */ __pyx_t_3 = PyList_New(1 * ((__pyx_v_size<0) ? 0:__pyx_v_size)); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < __pyx_v_size; __pyx_temp++) { __Pyx_INCREF(__pyx_v_sequence); __Pyx_GIVEREF(__pyx_v_sequence); PyList_SET_ITEM(__pyx_t_3, __pyx_temp, __pyx_v_sequence); } } __Pyx_DECREF_SET(__pyx_v_sequence, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/asarray.pxi":110 * p[0] = MPI_ARGVS_NULL * return None * if is_string(sequence): # <<<<<<<<<<<<<< * sequence = [sequence] * size * else: */ goto __pyx_L4; } /* "mpi4py/MPI/asarray.pxi":113 * sequence = [sequence] * size * else: * sequence = list(sequence) # <<<<<<<<<<<<<< * if size != len(sequence): raise ValueError( * "expecting %d items, got %d" % (size, len(sequence))) */ /*else*/ { __pyx_t_3 = PySequence_List(__pyx_v_sequence); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_sequence, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/asarray.pxi":114 * else: * sequence = list(sequence) * if size != len(sequence): raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, len(sequence))) * cdef int i = 0 */ __pyx_t_4 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(11, 114, __pyx_L1_error) __pyx_t_2 = ((__pyx_v_size != __pyx_t_4) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/asarray.pxi":115 * sequence = list(sequence) * if size != len(sequence): raise ValueError( * "expecting %d items, got %d" % (size, len(sequence))) # <<<<<<<<<<<<<< * cdef int i = 0 * cdef char*** array = NULL */ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(11, 115, __pyx_L1_error) __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_expecting_d_items_got_d, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/asarray.pxi":114 * else: * sequence = list(sequence) * if size != len(sequence): raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, len(sequence))) * cdef int i = 0 */ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 114, __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(11, 114, __pyx_L1_error) } } __pyx_L4:; /* "mpi4py/MPI/asarray.pxi":116 * if size != len(sequence): raise ValueError( * "expecting %d items, got %d" % (size, len(sequence))) * cdef int i = 0 # <<<<<<<<<<<<<< * cdef char*** array = NULL * cdef object ob = allocate(size+1, sizeof(char**), &array) */ __pyx_v_i = 0; /* "mpi4py/MPI/asarray.pxi":117 * "expecting %d items, got %d" % (size, len(sequence))) * cdef int i = 0 * cdef char*** array = NULL # <<<<<<<<<<<<<< * cdef object ob = allocate(size+1, sizeof(char**), &array) * cdef object argv */ __pyx_v_array = NULL; /* "mpi4py/MPI/asarray.pxi":118 * cdef int i = 0 * cdef char*** array = NULL * cdef object ob = allocate(size+1, sizeof(char**), &array) # <<<<<<<<<<<<<< * cdef object argv * for i from 0 <= i < size: */ __pyx_t_6 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate((__pyx_v_size + 1), (sizeof(char **)), (&__pyx_v_array))); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_v_ob = __pyx_t_6; __pyx_t_6 = 0; /* "mpi4py/MPI/asarray.pxi":120 * cdef object ob = allocate(size+1, sizeof(char**), &array) * cdef object argv * for i from 0 <= i < size: # <<<<<<<<<<<<<< * argv = sequence[i] * if argv is None: argv = [] */ __pyx_t_7 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_7; __pyx_v_i++) { /* "mpi4py/MPI/asarray.pxi":121 * cdef object argv * for i from 0 <= i < size: * argv = sequence[i] # <<<<<<<<<<<<<< * if argv is None: argv = [] * sequence[i] = asarray_argv(argv, &array[i]) */ __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_sequence, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_argv, __pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/asarray.pxi":122 * for i from 0 <= i < size: * argv = sequence[i] * if argv is None: argv = [] # <<<<<<<<<<<<<< * sequence[i] = asarray_argv(argv, &array[i]) * array[size] = NULL */ __pyx_t_2 = (__pyx_v_argv == Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_argv, __pyx_t_6); __pyx_t_6 = 0; } /* "mpi4py/MPI/asarray.pxi":123 * argv = sequence[i] * if argv is None: argv = [] * sequence[i] = asarray_argv(argv, &array[i]) # <<<<<<<<<<<<<< * array[size] = NULL * p[0] = array */ __pyx_t_6 = __pyx_f_6mpi4py_3MPI_asarray_argv(__pyx_v_argv, (&(__pyx_v_array[__pyx_v_i]))); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_SetItemInt(__pyx_v_sequence, __pyx_v_i, __pyx_t_6, int, 1, __Pyx_PyInt_From_int, 0, 1, 1) < 0)) __PYX_ERR(11, 123, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } /* "mpi4py/MPI/asarray.pxi":124 * if argv is None: argv = [] * sequence[i] = asarray_argv(argv, &array[i]) * array[size] = NULL # <<<<<<<<<<<<<< * p[0] = array * return (sequence, ob) */ (__pyx_v_array[__pyx_v_size]) = NULL; /* "mpi4py/MPI/asarray.pxi":125 * sequence[i] = asarray_argv(argv, &array[i]) * array[size] = NULL * p[0] = array # <<<<<<<<<<<<<< * return (sequence, ob) * */ (__pyx_v_p[0]) = __pyx_v_array; /* "mpi4py/MPI/asarray.pxi":126 * array[size] = NULL * p[0] = array * return (sequence, ob) # <<<<<<<<<<<<<< * * cdef inline object asarray_nprocs(object sequence, int size, int **p): */ __Pyx_XDECREF(__pyx_r); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_sequence); __Pyx_GIVEREF(__pyx_v_sequence); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_sequence); __Pyx_INCREF(__pyx_v_ob); __Pyx_GIVEREF(__pyx_v_ob); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_ob); __pyx_r = __pyx_t_6; __pyx_t_6 = 0; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":106 * return asarray_str(sequence, p) * * cdef inline object asarray_argvs(object sequence, int size, char ****p): # <<<<<<<<<<<<<< * if sequence is None: * p[0] = MPI_ARGVS_NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("mpi4py.MPI.asarray_argvs", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob); __Pyx_XDECREF(__pyx_v_argv); __Pyx_XDECREF(__pyx_v_sequence); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/asarray.pxi":128 * return (sequence, ob) * * cdef inline object asarray_nprocs(object sequence, int size, int **p): # <<<<<<<<<<<<<< * cdef object ob * cdef int *array = NULL */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_nprocs(PyObject *__pyx_v_sequence, int __pyx_v_size, int **__pyx_v_p) { PyObject *__pyx_v_ob = 0; int *__pyx_v_array; int __pyx_v_i; int __pyx_v_value; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("asarray_nprocs", 0); /* "mpi4py/MPI/asarray.pxi":130 * cdef inline object asarray_nprocs(object sequence, int size, int **p): * cdef object ob * cdef int *array = NULL # <<<<<<<<<<<<<< * cdef int i = 0, value = 1 * if sequence is None or is_integral(sequence): */ __pyx_v_array = NULL; /* "mpi4py/MPI/asarray.pxi":131 * cdef object ob * cdef int *array = NULL * cdef int i = 0, value = 1 # <<<<<<<<<<<<<< * if sequence is None or is_integral(sequence): * if sequence is not None: */ __pyx_v_i = 0; __pyx_v_value = 1; /* "mpi4py/MPI/asarray.pxi":132 * cdef int *array = NULL * cdef int i = 0, value = 1 * if sequence is None or is_integral(sequence): # <<<<<<<<<<<<<< * if sequence is not None: * value = sequence */ __pyx_t_2 = (__pyx_v_sequence == Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = (__pyx_f_6mpi4py_3MPI_is_integral(__pyx_v_sequence) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/asarray.pxi":133 * cdef int i = 0, value = 1 * if sequence is None or is_integral(sequence): * if sequence is not None: # <<<<<<<<<<<<<< * value = sequence * ob = newarray(size, &array) */ __pyx_t_1 = (__pyx_v_sequence != Py_None); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/asarray.pxi":134 * if sequence is None or is_integral(sequence): * if sequence is not None: * value = sequence # <<<<<<<<<<<<<< * ob = newarray(size, &array) * for i from 0 <= i < size: */ __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_v_sequence); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 134, __pyx_L1_error) __pyx_v_value = __pyx_t_4; /* "mpi4py/MPI/asarray.pxi":133 * cdef int i = 0, value = 1 * if sequence is None or is_integral(sequence): * if sequence is not None: # <<<<<<<<<<<<<< * value = sequence * ob = newarray(size, &array) */ } /* "mpi4py/MPI/asarray.pxi":135 * if sequence is not None: * value = sequence * ob = newarray(size, &array) # <<<<<<<<<<<<<< * for i from 0 <= i < size: * array[i] = value */ __pyx_t_5 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_size, (&__pyx_v_array)); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_ob = __pyx_t_5; __pyx_t_5 = 0; /* "mpi4py/MPI/asarray.pxi":136 * value = sequence * ob = newarray(size, &array) * for i from 0 <= i < size: # <<<<<<<<<<<<<< * array[i] = value * else: */ __pyx_t_4 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_4; __pyx_v_i++) { /* "mpi4py/MPI/asarray.pxi":137 * ob = newarray(size, &array) * for i from 0 <= i < size: * array[i] = value # <<<<<<<<<<<<<< * else: * ob = chkarray(sequence, size, &array) */ (__pyx_v_array[__pyx_v_i]) = __pyx_v_value; } /* "mpi4py/MPI/asarray.pxi":132 * cdef int *array = NULL * cdef int i = 0, value = 1 * if sequence is None or is_integral(sequence): # <<<<<<<<<<<<<< * if sequence is not None: * value = sequence */ goto __pyx_L3; } /* "mpi4py/MPI/asarray.pxi":139 * array[i] = value * else: * ob = chkarray(sequence, size, &array) # <<<<<<<<<<<<<< * p[0] = array * return ob */ /*else*/ { __pyx_t_5 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_sequence, __pyx_v_size, (&__pyx_v_array)); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_ob = __pyx_t_5; __pyx_t_5 = 0; } __pyx_L3:; /* "mpi4py/MPI/asarray.pxi":140 * else: * ob = chkarray(sequence, size, &array) * p[0] = array # <<<<<<<<<<<<<< * return ob * */ (__pyx_v_p[0]) = __pyx_v_array; /* "mpi4py/MPI/asarray.pxi":141 * ob = chkarray(sequence, size, &array) * p[0] = array * return ob # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ob); __pyx_r = __pyx_v_ob; goto __pyx_L0; /* "mpi4py/MPI/asarray.pxi":128 * return (sequence, ob) * * cdef inline object asarray_nprocs(object sequence, int size, int **p): # <<<<<<<<<<<<<< * cdef object ob * cdef int *array = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.asarray_nprocs", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":19 * # Status * * cdef inline MPI_Status *arg_Status(object status): # <<<<<<<<<<<<<< * if status is None: return MPI_STATUS_IGNORE * return &((status).ob_mpi) */ static CYTHON_INLINE MPI_Status *__pyx_f_6mpi4py_3MPI_arg_Status(PyObject *__pyx_v_status) { MPI_Status *__pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("arg_Status", 0); /* "mpi4py/MPI/helpers.pxi":20 * * cdef inline MPI_Status *arg_Status(object status): * if status is None: return MPI_STATUS_IGNORE # <<<<<<<<<<<<<< * return &((status).ob_mpi) * */ __pyx_t_1 = (__pyx_v_status == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = MPI_STATUS_IGNORE; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":21 * cdef inline MPI_Status *arg_Status(object status): * if status is None: return MPI_STATUS_IGNORE * return &((status).ob_mpi) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = (&((struct PyMPIStatusObject *)__pyx_v_status)->ob_mpi); goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":19 * # Status * * cdef inline MPI_Status *arg_Status(object status): # <<<<<<<<<<<<<< * if status is None: return MPI_STATUS_IGNORE * return &((status).ob_mpi) */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":26 * # Datatype * * cdef inline int builtin_Datatype(MPI_Datatype ob): # <<<<<<<<<<<<<< * cdef int ni = 0, na = 0, nt = 0, combiner = MPI_UNDEFINED * if ob == MPI_DATATYPE_NULL: return 1 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_builtin_Datatype(MPI_Datatype __pyx_v_ob) { int __pyx_v_ni; int __pyx_v_na; int __pyx_v_nt; int __pyx_v_combiner; int __pyx_v_ierr; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("builtin_Datatype", 0); /* "mpi4py/MPI/helpers.pxi":27 * * cdef inline int builtin_Datatype(MPI_Datatype ob): * cdef int ni = 0, na = 0, nt = 0, combiner = MPI_UNDEFINED # <<<<<<<<<<<<<< * if ob == MPI_DATATYPE_NULL: return 1 * cdef int ierr = MPI_Type_get_envelope(ob, &ni, &na, &nt, &combiner) */ __pyx_v_ni = 0; __pyx_v_na = 0; __pyx_v_nt = 0; __pyx_v_combiner = MPI_UNDEFINED; /* "mpi4py/MPI/helpers.pxi":28 * cdef inline int builtin_Datatype(MPI_Datatype ob): * cdef int ni = 0, na = 0, nt = 0, combiner = MPI_UNDEFINED * if ob == MPI_DATATYPE_NULL: return 1 # <<<<<<<<<<<<<< * cdef int ierr = MPI_Type_get_envelope(ob, &ni, &na, &nt, &combiner) * if ierr != MPI_SUCCESS: return 0 # XXX */ __pyx_t_1 = ((__pyx_v_ob == MPI_DATATYPE_NULL) != 0); if (__pyx_t_1) { __pyx_r = 1; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":29 * cdef int ni = 0, na = 0, nt = 0, combiner = MPI_UNDEFINED * if ob == MPI_DATATYPE_NULL: return 1 * cdef int ierr = MPI_Type_get_envelope(ob, &ni, &na, &nt, &combiner) # <<<<<<<<<<<<<< * if ierr != MPI_SUCCESS: return 0 # XXX * return (combiner == MPI_COMBINER_NAMED or */ __pyx_v_ierr = MPI_Type_get_envelope(__pyx_v_ob, (&__pyx_v_ni), (&__pyx_v_na), (&__pyx_v_nt), (&__pyx_v_combiner)); /* "mpi4py/MPI/helpers.pxi":30 * if ob == MPI_DATATYPE_NULL: return 1 * cdef int ierr = MPI_Type_get_envelope(ob, &ni, &na, &nt, &combiner) * if ierr != MPI_SUCCESS: return 0 # XXX # <<<<<<<<<<<<<< * return (combiner == MPI_COMBINER_NAMED or * combiner == MPI_COMBINER_F90_INTEGER or */ __pyx_t_1 = ((__pyx_v_ierr != MPI_SUCCESS) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":31 * cdef int ierr = MPI_Type_get_envelope(ob, &ni, &na, &nt, &combiner) * if ierr != MPI_SUCCESS: return 0 # XXX * return (combiner == MPI_COMBINER_NAMED or # <<<<<<<<<<<<<< * combiner == MPI_COMBINER_F90_INTEGER or * combiner == MPI_COMBINER_F90_REAL or */ __pyx_t_1 = (__pyx_v_combiner == MPI_COMBINER_NAMED); if (!__pyx_t_1) { } else { __pyx_t_2 = __pyx_t_1; goto __pyx_L5_bool_binop_done; } /* "mpi4py/MPI/helpers.pxi":32 * if ierr != MPI_SUCCESS: return 0 # XXX * return (combiner == MPI_COMBINER_NAMED or * combiner == MPI_COMBINER_F90_INTEGER or # <<<<<<<<<<<<<< * combiner == MPI_COMBINER_F90_REAL or * combiner == MPI_COMBINER_F90_COMPLEX) */ __pyx_t_1 = (__pyx_v_combiner == MPI_COMBINER_F90_INTEGER); if (!__pyx_t_1) { } else { __pyx_t_2 = __pyx_t_1; goto __pyx_L5_bool_binop_done; } /* "mpi4py/MPI/helpers.pxi":33 * return (combiner == MPI_COMBINER_NAMED or * combiner == MPI_COMBINER_F90_INTEGER or * combiner == MPI_COMBINER_F90_REAL or # <<<<<<<<<<<<<< * combiner == MPI_COMBINER_F90_COMPLEX) * */ __pyx_t_1 = (__pyx_v_combiner == MPI_COMBINER_F90_REAL); if (!__pyx_t_1) { } else { __pyx_t_2 = __pyx_t_1; goto __pyx_L5_bool_binop_done; } /* "mpi4py/MPI/helpers.pxi":34 * combiner == MPI_COMBINER_F90_INTEGER or * combiner == MPI_COMBINER_F90_REAL or * combiner == MPI_COMBINER_F90_COMPLEX) # <<<<<<<<<<<<<< * * cdef inline Datatype new_Datatype(MPI_Datatype ob): */ __pyx_t_1 = (__pyx_v_combiner == MPI_COMBINER_F90_COMPLEX); __pyx_t_2 = __pyx_t_1; __pyx_L5_bool_binop_done:; __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":26 * # Datatype * * cdef inline int builtin_Datatype(MPI_Datatype ob): # <<<<<<<<<<<<<< * cdef int ni = 0, na = 0, nt = 0, combiner = MPI_UNDEFINED * if ob == MPI_DATATYPE_NULL: return 1 */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":36 * combiner == MPI_COMBINER_F90_COMPLEX) * * cdef inline Datatype new_Datatype(MPI_Datatype ob): # <<<<<<<<<<<<<< * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIDatatypeObject *__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_Datatype __pyx_v_ob) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; struct PyMPIDatatypeObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("new_Datatype", 0); /* "mpi4py/MPI/helpers.pxi":37 * * cdef inline Datatype new_Datatype(MPI_Datatype ob): * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * datatype.ob_mpi = ob * return datatype */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 37, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":38 * cdef inline Datatype new_Datatype(MPI_Datatype ob): * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = ob # <<<<<<<<<<<<<< * return datatype * */ __pyx_v_datatype->ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":39 * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = ob * return datatype # <<<<<<<<<<<<<< * * cdef inline Datatype ref_Datatype(MPI_Datatype ob): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = __pyx_v_datatype; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":36 * combiner == MPI_COMBINER_F90_COMPLEX) * * cdef inline Datatype new_Datatype(MPI_Datatype ob): # <<<<<<<<<<<<<< * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.new_Datatype", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":41 * return datatype * * cdef inline Datatype ref_Datatype(MPI_Datatype ob): # <<<<<<<<<<<<<< * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIDatatypeObject *__pyx_f_6mpi4py_3MPI_ref_Datatype(MPI_Datatype __pyx_v_ob) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; struct PyMPIDatatypeObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("ref_Datatype", 0); /* "mpi4py/MPI/helpers.pxi":42 * * cdef inline Datatype ref_Datatype(MPI_Datatype ob): * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * datatype.ob_mpi = ob * return datatype */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 42, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":43 * cdef inline Datatype ref_Datatype(MPI_Datatype ob): * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = ob # <<<<<<<<<<<<<< * return datatype * */ __pyx_v_datatype->ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":44 * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = ob * return datatype # <<<<<<<<<<<<<< * * cdef inline int del_Datatype(MPI_Datatype* ob): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = __pyx_v_datatype; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":41 * return datatype * * cdef inline Datatype ref_Datatype(MPI_Datatype ob): # <<<<<<<<<<<<<< * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.ref_Datatype", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":46 * return datatype * * cdef inline int del_Datatype(MPI_Datatype* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_DATATYPE_NULL : return 0 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Datatype(MPI_Datatype *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("del_Datatype", 0); /* "mpi4py/MPI/helpers.pxi":47 * * cdef inline int del_Datatype(MPI_Datatype* ob): * if ob == NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_DATATYPE_NULL : return 0 * if ob[0] == MPI_UB : return 0 */ __pyx_t_1 = ((__pyx_v_ob == NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":48 * cdef inline int del_Datatype(MPI_Datatype* ob): * if ob == NULL : return 0 * if ob[0] == MPI_DATATYPE_NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_UB : return 0 * if ob[0] == MPI_LB : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_DATATYPE_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":49 * if ob == NULL : return 0 * if ob[0] == MPI_DATATYPE_NULL : return 0 * if ob[0] == MPI_UB : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LB : return 0 * if ob[0] == MPI_PACKED : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_UB) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":50 * if ob[0] == MPI_DATATYPE_NULL : return 0 * if ob[0] == MPI_UB : return 0 * if ob[0] == MPI_LB : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_PACKED : return 0 * if ob[0] == MPI_BYTE : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LB) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":51 * if ob[0] == MPI_UB : return 0 * if ob[0] == MPI_LB : return 0 * if ob[0] == MPI_PACKED : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_BYTE : return 0 * if ob[0] == MPI_AINT : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_PACKED) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":52 * if ob[0] == MPI_LB : return 0 * if ob[0] == MPI_PACKED : return 0 * if ob[0] == MPI_BYTE : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_AINT : return 0 * if ob[0] == MPI_OFFSET : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_BYTE) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":53 * if ob[0] == MPI_PACKED : return 0 * if ob[0] == MPI_BYTE : return 0 * if ob[0] == MPI_AINT : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_OFFSET : return 0 * if ob[0] == MPI_COUNT : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_AINT) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":54 * if ob[0] == MPI_BYTE : return 0 * if ob[0] == MPI_AINT : return 0 * if ob[0] == MPI_OFFSET : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_COUNT : return 0 * if ob[0] == MPI_CHAR : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_OFFSET) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":55 * if ob[0] == MPI_AINT : return 0 * if ob[0] == MPI_OFFSET : return 0 * if ob[0] == MPI_COUNT : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_CHAR : return 0 * if ob[0] == MPI_WCHAR : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_COUNT) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":56 * if ob[0] == MPI_OFFSET : return 0 * if ob[0] == MPI_COUNT : return 0 * if ob[0] == MPI_CHAR : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_WCHAR : return 0 * if ob[0] == MPI_SIGNED_CHAR : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_CHAR) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":57 * if ob[0] == MPI_COUNT : return 0 * if ob[0] == MPI_CHAR : return 0 * if ob[0] == MPI_WCHAR : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_SIGNED_CHAR : return 0 * if ob[0] == MPI_SHORT : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_WCHAR) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":58 * if ob[0] == MPI_CHAR : return 0 * if ob[0] == MPI_WCHAR : return 0 * if ob[0] == MPI_SIGNED_CHAR : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_SHORT : return 0 * if ob[0] == MPI_INT : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_SIGNED_CHAR) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":59 * if ob[0] == MPI_WCHAR : return 0 * if ob[0] == MPI_SIGNED_CHAR : return 0 * if ob[0] == MPI_SHORT : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INT : return 0 * if ob[0] == MPI_LONG : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_SHORT) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":60 * if ob[0] == MPI_SIGNED_CHAR : return 0 * if ob[0] == MPI_SHORT : return 0 * if ob[0] == MPI_INT : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LONG : return 0 * if ob[0] == MPI_LONG_LONG : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INT) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":61 * if ob[0] == MPI_SHORT : return 0 * if ob[0] == MPI_INT : return 0 * if ob[0] == MPI_LONG : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LONG_LONG : return 0 * if ob[0] == MPI_UNSIGNED_CHAR : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LONG) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":62 * if ob[0] == MPI_INT : return 0 * if ob[0] == MPI_LONG : return 0 * if ob[0] == MPI_LONG_LONG : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_UNSIGNED_CHAR : return 0 * if ob[0] == MPI_UNSIGNED_SHORT : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LONG_LONG) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":63 * if ob[0] == MPI_LONG : return 0 * if ob[0] == MPI_LONG_LONG : return 0 * if ob[0] == MPI_UNSIGNED_CHAR : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_UNSIGNED_SHORT : return 0 * if ob[0] == MPI_UNSIGNED : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_UNSIGNED_CHAR) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":64 * if ob[0] == MPI_LONG_LONG : return 0 * if ob[0] == MPI_UNSIGNED_CHAR : return 0 * if ob[0] == MPI_UNSIGNED_SHORT : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_UNSIGNED : return 0 * if ob[0] == MPI_UNSIGNED_LONG : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_UNSIGNED_SHORT) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":65 * if ob[0] == MPI_UNSIGNED_CHAR : return 0 * if ob[0] == MPI_UNSIGNED_SHORT : return 0 * if ob[0] == MPI_UNSIGNED : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_UNSIGNED_LONG : return 0 * if ob[0] == MPI_UNSIGNED_LONG_LONG : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_UNSIGNED) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":66 * if ob[0] == MPI_UNSIGNED_SHORT : return 0 * if ob[0] == MPI_UNSIGNED : return 0 * if ob[0] == MPI_UNSIGNED_LONG : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_UNSIGNED_LONG_LONG : return 0 * if ob[0] == MPI_FLOAT : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_UNSIGNED_LONG) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":67 * if ob[0] == MPI_UNSIGNED : return 0 * if ob[0] == MPI_UNSIGNED_LONG : return 0 * if ob[0] == MPI_UNSIGNED_LONG_LONG : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_FLOAT : return 0 * if ob[0] == MPI_DOUBLE : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_UNSIGNED_LONG_LONG) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":68 * if ob[0] == MPI_UNSIGNED_LONG : return 0 * if ob[0] == MPI_UNSIGNED_LONG_LONG : return 0 * if ob[0] == MPI_FLOAT : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_DOUBLE : return 0 * if ob[0] == MPI_LONG_DOUBLE : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_FLOAT) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":69 * if ob[0] == MPI_UNSIGNED_LONG_LONG : return 0 * if ob[0] == MPI_FLOAT : return 0 * if ob[0] == MPI_DOUBLE : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LONG_DOUBLE : return 0 * if ob[0] == MPI_C_BOOL : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_DOUBLE) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":70 * if ob[0] == MPI_FLOAT : return 0 * if ob[0] == MPI_DOUBLE : return 0 * if ob[0] == MPI_LONG_DOUBLE : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_C_BOOL : return 0 * if ob[0] == MPI_INT8_T : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LONG_DOUBLE) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":71 * if ob[0] == MPI_DOUBLE : return 0 * if ob[0] == MPI_LONG_DOUBLE : return 0 * if ob[0] == MPI_C_BOOL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INT8_T : return 0 * if ob[0] == MPI_INT16_T : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_C_BOOL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":72 * if ob[0] == MPI_LONG_DOUBLE : return 0 * if ob[0] == MPI_C_BOOL : return 0 * if ob[0] == MPI_INT8_T : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INT16_T : return 0 * if ob[0] == MPI_INT32_T : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INT8_T) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":73 * if ob[0] == MPI_C_BOOL : return 0 * if ob[0] == MPI_INT8_T : return 0 * if ob[0] == MPI_INT16_T : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INT32_T : return 0 * if ob[0] == MPI_INT64_T : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INT16_T) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":74 * if ob[0] == MPI_INT8_T : return 0 * if ob[0] == MPI_INT16_T : return 0 * if ob[0] == MPI_INT32_T : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INT64_T : return 0 * if ob[0] == MPI_UINT8_T : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INT32_T) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":75 * if ob[0] == MPI_INT16_T : return 0 * if ob[0] == MPI_INT32_T : return 0 * if ob[0] == MPI_INT64_T : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_UINT8_T : return 0 * if ob[0] == MPI_UINT16_T : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INT64_T) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":76 * if ob[0] == MPI_INT32_T : return 0 * if ob[0] == MPI_INT64_T : return 0 * if ob[0] == MPI_UINT8_T : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_UINT16_T : return 0 * if ob[0] == MPI_UINT32_T : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_UINT8_T) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":77 * if ob[0] == MPI_INT64_T : return 0 * if ob[0] == MPI_UINT8_T : return 0 * if ob[0] == MPI_UINT16_T : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_UINT32_T : return 0 * if ob[0] == MPI_UINT64_T : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_UINT16_T) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":78 * if ob[0] == MPI_UINT8_T : return 0 * if ob[0] == MPI_UINT16_T : return 0 * if ob[0] == MPI_UINT32_T : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_UINT64_T : return 0 * if ob[0] == MPI_C_COMPLEX : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_UINT32_T) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":79 * if ob[0] == MPI_UINT16_T : return 0 * if ob[0] == MPI_UINT32_T : return 0 * if ob[0] == MPI_UINT64_T : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_C_COMPLEX : return 0 * if ob[0] == MPI_C_FLOAT_COMPLEX : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_UINT64_T) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":80 * if ob[0] == MPI_UINT32_T : return 0 * if ob[0] == MPI_UINT64_T : return 0 * if ob[0] == MPI_C_COMPLEX : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_C_FLOAT_COMPLEX : return 0 * if ob[0] == MPI_C_DOUBLE_COMPLEX : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_C_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":81 * if ob[0] == MPI_UINT64_T : return 0 * if ob[0] == MPI_C_COMPLEX : return 0 * if ob[0] == MPI_C_FLOAT_COMPLEX : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_C_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_C_LONG_DOUBLE_COMPLEX : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_C_FLOAT_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":82 * if ob[0] == MPI_C_COMPLEX : return 0 * if ob[0] == MPI_C_FLOAT_COMPLEX : return 0 * if ob[0] == MPI_C_DOUBLE_COMPLEX : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_C_LONG_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_CXX_BOOL : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_C_DOUBLE_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":83 * if ob[0] == MPI_C_FLOAT_COMPLEX : return 0 * if ob[0] == MPI_C_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_C_LONG_DOUBLE_COMPLEX : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_CXX_BOOL : return 0 * if ob[0] == MPI_CXX_FLOAT_COMPLEX : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_C_LONG_DOUBLE_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":84 * if ob[0] == MPI_C_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_C_LONG_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_CXX_BOOL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_CXX_FLOAT_COMPLEX : return 0 * if ob[0] == MPI_CXX_DOUBLE_COMPLEX : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_CXX_BOOL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":85 * if ob[0] == MPI_C_LONG_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_CXX_BOOL : return 0 * if ob[0] == MPI_CXX_FLOAT_COMPLEX : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_CXX_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_CXX_LONG_DOUBLE_COMPLEX : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_CXX_FLOAT_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":86 * if ob[0] == MPI_CXX_BOOL : return 0 * if ob[0] == MPI_CXX_FLOAT_COMPLEX : return 0 * if ob[0] == MPI_CXX_DOUBLE_COMPLEX : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_CXX_LONG_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_SHORT_INT : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_CXX_DOUBLE_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":87 * if ob[0] == MPI_CXX_FLOAT_COMPLEX : return 0 * if ob[0] == MPI_CXX_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_CXX_LONG_DOUBLE_COMPLEX : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_SHORT_INT : return 0 * if ob[0] == MPI_2INT : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_CXX_LONG_DOUBLE_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":88 * if ob[0] == MPI_CXX_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_CXX_LONG_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_SHORT_INT : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_2INT : return 0 * if ob[0] == MPI_LONG_INT : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_SHORT_INT) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":89 * if ob[0] == MPI_CXX_LONG_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_SHORT_INT : return 0 * if ob[0] == MPI_2INT : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LONG_INT : return 0 * if ob[0] == MPI_FLOAT_INT : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_2INT) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":90 * if ob[0] == MPI_SHORT_INT : return 0 * if ob[0] == MPI_2INT : return 0 * if ob[0] == MPI_LONG_INT : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_FLOAT_INT : return 0 * if ob[0] == MPI_DOUBLE_INT : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LONG_INT) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":91 * if ob[0] == MPI_2INT : return 0 * if ob[0] == MPI_LONG_INT : return 0 * if ob[0] == MPI_FLOAT_INT : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_DOUBLE_INT : return 0 * if ob[0] == MPI_LONG_DOUBLE_INT : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_FLOAT_INT) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":92 * if ob[0] == MPI_LONG_INT : return 0 * if ob[0] == MPI_FLOAT_INT : return 0 * if ob[0] == MPI_DOUBLE_INT : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LONG_DOUBLE_INT : return 0 * if ob[0] == MPI_CHARACTER : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_DOUBLE_INT) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":93 * if ob[0] == MPI_FLOAT_INT : return 0 * if ob[0] == MPI_DOUBLE_INT : return 0 * if ob[0] == MPI_LONG_DOUBLE_INT : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_CHARACTER : return 0 * if ob[0] == MPI_LOGICAL : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LONG_DOUBLE_INT) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":94 * if ob[0] == MPI_DOUBLE_INT : return 0 * if ob[0] == MPI_LONG_DOUBLE_INT : return 0 * if ob[0] == MPI_CHARACTER : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LOGICAL : return 0 * if ob[0] == MPI_INTEGER : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_CHARACTER) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":95 * if ob[0] == MPI_LONG_DOUBLE_INT : return 0 * if ob[0] == MPI_CHARACTER : return 0 * if ob[0] == MPI_LOGICAL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INTEGER : return 0 * if ob[0] == MPI_REAL : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LOGICAL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":96 * if ob[0] == MPI_CHARACTER : return 0 * if ob[0] == MPI_LOGICAL : return 0 * if ob[0] == MPI_INTEGER : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_REAL : return 0 * if ob[0] == MPI_DOUBLE_PRECISION : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INTEGER) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":97 * if ob[0] == MPI_LOGICAL : return 0 * if ob[0] == MPI_INTEGER : return 0 * if ob[0] == MPI_REAL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_DOUBLE_PRECISION : return 0 * if ob[0] == MPI_COMPLEX : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_REAL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":98 * if ob[0] == MPI_INTEGER : return 0 * if ob[0] == MPI_REAL : return 0 * if ob[0] == MPI_DOUBLE_PRECISION : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_COMPLEX : return 0 * if ob[0] == MPI_DOUBLE_COMPLEX : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_DOUBLE_PRECISION) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":99 * if ob[0] == MPI_REAL : return 0 * if ob[0] == MPI_DOUBLE_PRECISION : return 0 * if ob[0] == MPI_COMPLEX : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_LOGICAL1 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":100 * if ob[0] == MPI_DOUBLE_PRECISION : return 0 * if ob[0] == MPI_COMPLEX : return 0 * if ob[0] == MPI_DOUBLE_COMPLEX : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LOGICAL1 : return 0 * if ob[0] == MPI_LOGICAL2 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_DOUBLE_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":101 * if ob[0] == MPI_COMPLEX : return 0 * if ob[0] == MPI_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_LOGICAL1 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LOGICAL2 : return 0 * if ob[0] == MPI_LOGICAL4 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LOGICAL1) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":102 * if ob[0] == MPI_DOUBLE_COMPLEX : return 0 * if ob[0] == MPI_LOGICAL1 : return 0 * if ob[0] == MPI_LOGICAL2 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LOGICAL4 : return 0 * if ob[0] == MPI_LOGICAL8 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LOGICAL2) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":103 * if ob[0] == MPI_LOGICAL1 : return 0 * if ob[0] == MPI_LOGICAL2 : return 0 * if ob[0] == MPI_LOGICAL4 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LOGICAL8 : return 0 * if ob[0] == MPI_INTEGER1 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LOGICAL4) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":104 * if ob[0] == MPI_LOGICAL2 : return 0 * if ob[0] == MPI_LOGICAL4 : return 0 * if ob[0] == MPI_LOGICAL8 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INTEGER1 : return 0 * if ob[0] == MPI_INTEGER2 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LOGICAL8) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":105 * if ob[0] == MPI_LOGICAL4 : return 0 * if ob[0] == MPI_LOGICAL8 : return 0 * if ob[0] == MPI_INTEGER1 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INTEGER2 : return 0 * if ob[0] == MPI_INTEGER4 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INTEGER1) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":106 * if ob[0] == MPI_LOGICAL8 : return 0 * if ob[0] == MPI_INTEGER1 : return 0 * if ob[0] == MPI_INTEGER2 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INTEGER4 : return 0 * if ob[0] == MPI_INTEGER8 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INTEGER2) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":107 * if ob[0] == MPI_INTEGER1 : return 0 * if ob[0] == MPI_INTEGER2 : return 0 * if ob[0] == MPI_INTEGER4 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INTEGER8 : return 0 * if ob[0] == MPI_INTEGER16 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INTEGER4) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":108 * if ob[0] == MPI_INTEGER2 : return 0 * if ob[0] == MPI_INTEGER4 : return 0 * if ob[0] == MPI_INTEGER8 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INTEGER16 : return 0 * if ob[0] == MPI_REAL2 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INTEGER8) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":109 * if ob[0] == MPI_INTEGER4 : return 0 * if ob[0] == MPI_INTEGER8 : return 0 * if ob[0] == MPI_INTEGER16 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_REAL2 : return 0 * if ob[0] == MPI_REAL4 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INTEGER16) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":110 * if ob[0] == MPI_INTEGER8 : return 0 * if ob[0] == MPI_INTEGER16 : return 0 * if ob[0] == MPI_REAL2 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_REAL4 : return 0 * if ob[0] == MPI_REAL8 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_REAL2) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":111 * if ob[0] == MPI_INTEGER16 : return 0 * if ob[0] == MPI_REAL2 : return 0 * if ob[0] == MPI_REAL4 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_REAL8 : return 0 * if ob[0] == MPI_REAL16 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_REAL4) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":112 * if ob[0] == MPI_REAL2 : return 0 * if ob[0] == MPI_REAL4 : return 0 * if ob[0] == MPI_REAL8 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_REAL16 : return 0 * if ob[0] == MPI_COMPLEX4 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_REAL8) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":113 * if ob[0] == MPI_REAL4 : return 0 * if ob[0] == MPI_REAL8 : return 0 * if ob[0] == MPI_REAL16 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_COMPLEX4 : return 0 * if ob[0] == MPI_COMPLEX8 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_REAL16) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":114 * if ob[0] == MPI_REAL8 : return 0 * if ob[0] == MPI_REAL16 : return 0 * if ob[0] == MPI_COMPLEX4 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_COMPLEX8 : return 0 * if ob[0] == MPI_COMPLEX16 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_COMPLEX4) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":115 * if ob[0] == MPI_REAL16 : return 0 * if ob[0] == MPI_COMPLEX4 : return 0 * if ob[0] == MPI_COMPLEX8 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_COMPLEX16 : return 0 * if ob[0] == MPI_COMPLEX32 : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_COMPLEX8) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":116 * if ob[0] == MPI_COMPLEX4 : return 0 * if ob[0] == MPI_COMPLEX8 : return 0 * if ob[0] == MPI_COMPLEX16 : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_COMPLEX32 : return 0 * # */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_COMPLEX16) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":117 * if ob[0] == MPI_COMPLEX8 : return 0 * if ob[0] == MPI_COMPLEX16 : return 0 * if ob[0] == MPI_COMPLEX32 : return 0 # <<<<<<<<<<<<<< * # * if not mpi_active(): return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_COMPLEX32) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":119 * if ob[0] == MPI_COMPLEX32 : return 0 * # * if not mpi_active(): return 0 # <<<<<<<<<<<<<< * if builtin_Datatype(ob[0]): return 0 * # */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":120 * # * if not mpi_active(): return 0 * if builtin_Datatype(ob[0]): return 0 # <<<<<<<<<<<<<< * # * return MPI_Type_free(ob) */ __pyx_t_1 = (__pyx_f_6mpi4py_3MPI_builtin_Datatype((__pyx_v_ob[0])) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":122 * if builtin_Datatype(ob[0]): return 0 * # * return MPI_Type_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Type_free(__pyx_v_ob); goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":46 * return datatype * * cdef inline int del_Datatype(MPI_Datatype* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_DATATYPE_NULL : return 0 */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/reqimpl.pxi":8 * empty_status.MPI_ERROR = MPI_SUCCESS * * cdef object acquire_rs(object requests, # <<<<<<<<<<<<<< * object statuses, * int *count, */ static PyObject *__pyx_f_6mpi4py_3MPI_acquire_rs(PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses, int *__pyx_v_count, MPI_Request **__pyx_v_rp, MPI_Status **__pyx_v_sp) { MPI_Request *__pyx_v_array_r; MPI_Status *__pyx_v_array_s; PyObject *__pyx_v_ob_r = 0; PyObject *__pyx_v_ob_s = 0; Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_n; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; MPI_Request __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("acquire_rs", 0); /* "mpi4py/MPI/reqimpl.pxi":13 * MPI_Request *rp[], * MPI_Status *sp[]): * cdef MPI_Request *array_r = NULL # <<<<<<<<<<<<<< * cdef MPI_Status *array_s = NULL * cdef object ob_r = None, ob_s = None */ __pyx_v_array_r = NULL; /* "mpi4py/MPI/reqimpl.pxi":14 * MPI_Status *sp[]): * cdef MPI_Request *array_r = NULL * cdef MPI_Status *array_s = NULL # <<<<<<<<<<<<<< * cdef object ob_r = None, ob_s = None * cdef Py_ssize_t i = 0, n = len(requests) */ __pyx_v_array_s = NULL; /* "mpi4py/MPI/reqimpl.pxi":15 * cdef MPI_Request *array_r = NULL * cdef MPI_Status *array_s = NULL * cdef object ob_r = None, ob_s = None # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0, n = len(requests) * count[0] = n */ __Pyx_INCREF(Py_None); __pyx_v_ob_r = Py_None; __Pyx_INCREF(Py_None); __pyx_v_ob_s = Py_None; /* "mpi4py/MPI/reqimpl.pxi":16 * cdef MPI_Status *array_s = NULL * cdef object ob_r = None, ob_s = None * cdef Py_ssize_t i = 0, n = len(requests) # <<<<<<<<<<<<<< * count[0] = n * ob_r = allocate(n, sizeof(MPI_Request), &array_r) */ __pyx_v_i = 0; __pyx_t_1 = PyObject_Length(__pyx_v_requests); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(13, 16, __pyx_L1_error) __pyx_v_n = __pyx_t_1; /* "mpi4py/MPI/reqimpl.pxi":17 * cdef object ob_r = None, ob_s = None * cdef Py_ssize_t i = 0, n = len(requests) * count[0] = n # <<<<<<<<<<<<<< * ob_r = allocate(n, sizeof(MPI_Request), &array_r) * for i from 0 <= i < n: */ (__pyx_v_count[0]) = ((int)__pyx_v_n); /* "mpi4py/MPI/reqimpl.pxi":18 * cdef Py_ssize_t i = 0, n = len(requests) * count[0] = n * ob_r = allocate(n, sizeof(MPI_Request), &array_r) # <<<<<<<<<<<<<< * for i from 0 <= i < n: * array_r[i] = (requests[i]).ob_mpi */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_n, (sizeof(MPI_Request)), (&__pyx_v_array_r))); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_ob_r, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/reqimpl.pxi":19 * count[0] = n * ob_r = allocate(n, sizeof(MPI_Request), &array_r) * for i from 0 <= i < n: # <<<<<<<<<<<<<< * array_r[i] = (requests[i]).ob_mpi * rp[0] = array_r */ __pyx_t_1 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { /* "mpi4py/MPI/reqimpl.pxi":20 * ob_r = allocate(n, sizeof(MPI_Request), &array_r) * for i from 0 <= i < n: * array_r[i] = (requests[i]).ob_mpi # <<<<<<<<<<<<<< * rp[0] = array_r * if statuses is not None: */ __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_requests, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (!(likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Request)))) __PYX_ERR(13, 20, __pyx_L1_error) __pyx_t_3 = ((struct PyMPIRequestObject *)__pyx_t_2)->ob_mpi; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; (__pyx_v_array_r[__pyx_v_i]) = __pyx_t_3; } /* "mpi4py/MPI/reqimpl.pxi":21 * for i from 0 <= i < n: * array_r[i] = (requests[i]).ob_mpi * rp[0] = array_r # <<<<<<<<<<<<<< * if statuses is not None: * ob_s = allocate(n, sizeof(MPI_Status), &array_s) */ (__pyx_v_rp[0]) = __pyx_v_array_r; /* "mpi4py/MPI/reqimpl.pxi":22 * array_r[i] = (requests[i]).ob_mpi * rp[0] = array_r * if statuses is not None: # <<<<<<<<<<<<<< * ob_s = allocate(n, sizeof(MPI_Status), &array_s) * for i from 0 <= i < n: */ __pyx_t_4 = (__pyx_v_statuses != Py_None); __pyx_t_5 = (__pyx_t_4 != 0); if (__pyx_t_5) { /* "mpi4py/MPI/reqimpl.pxi":23 * rp[0] = array_r * if statuses is not None: * ob_s = allocate(n, sizeof(MPI_Status), &array_s) # <<<<<<<<<<<<<< * for i from 0 <= i < n: * array_s[i] = empty_status */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_n, (sizeof(MPI_Status)), (&__pyx_v_array_s))); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_ob_s, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/reqimpl.pxi":24 * if statuses is not None: * ob_s = allocate(n, sizeof(MPI_Status), &array_s) * for i from 0 <= i < n: # <<<<<<<<<<<<<< * array_s[i] = empty_status * sp[0] = array_s */ __pyx_t_1 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { /* "mpi4py/MPI/reqimpl.pxi":25 * ob_s = allocate(n, sizeof(MPI_Status), &array_s) * for i from 0 <= i < n: * array_s[i] = empty_status # <<<<<<<<<<<<<< * sp[0] = array_s * return (ob_r, ob_s) */ (__pyx_v_array_s[__pyx_v_i]) = __pyx_v_6mpi4py_3MPI_empty_status; } /* "mpi4py/MPI/reqimpl.pxi":26 * for i from 0 <= i < n: * array_s[i] = empty_status * sp[0] = array_s # <<<<<<<<<<<<<< * return (ob_r, ob_s) * */ (__pyx_v_sp[0]) = __pyx_v_array_s; /* "mpi4py/MPI/reqimpl.pxi":22 * array_r[i] = (requests[i]).ob_mpi * rp[0] = array_r * if statuses is not None: # <<<<<<<<<<<<<< * ob_s = allocate(n, sizeof(MPI_Status), &array_s) * for i from 0 <= i < n: */ } /* "mpi4py/MPI/reqimpl.pxi":27 * array_s[i] = empty_status * sp[0] = array_s * return (ob_r, ob_s) # <<<<<<<<<<<<<< * * cdef int release_rs(object requests, */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 27, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_ob_r); __Pyx_GIVEREF(__pyx_v_ob_r); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_ob_r); __Pyx_INCREF(__pyx_v_ob_s); __Pyx_GIVEREF(__pyx_v_ob_s); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_ob_s); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":8 * empty_status.MPI_ERROR = MPI_SUCCESS * * cdef object acquire_rs(object requests, # <<<<<<<<<<<<<< * object statuses, * int *count, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.acquire_rs", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob_r); __Pyx_XDECREF(__pyx_v_ob_s); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/reqimpl.pxi":29 * return (ob_r, ob_s) * * cdef int release_rs(object requests, # <<<<<<<<<<<<<< * object statuses, * int count, */ static int __pyx_f_6mpi4py_3MPI_release_rs(PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses, int __pyx_v_count, MPI_Request *__pyx_v_rp, MPI_Status *__pyx_v_sp) { Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_nr; Py_ssize_t __pyx_v_ns; struct PyMPIRequestObject *__pyx_v_req = 0; int __pyx_r; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("release_rs", 0); __Pyx_INCREF(__pyx_v_statuses); /* "mpi4py/MPI/reqimpl.pxi":34 * MPI_Request rp[], * MPI_Status sp[]) except -1: * cdef Py_ssize_t i = 0, nr = count, ns = 0 # <<<<<<<<<<<<<< * cdef Request req = None * for i from 0 <= i < nr: */ __pyx_v_i = 0; __pyx_v_nr = __pyx_v_count; __pyx_v_ns = 0; /* "mpi4py/MPI/reqimpl.pxi":35 * MPI_Status sp[]) except -1: * cdef Py_ssize_t i = 0, nr = count, ns = 0 * cdef Request req = None # <<<<<<<<<<<<<< * for i from 0 <= i < nr: * req = requests[i] */ __Pyx_INCREF(Py_None); __pyx_v_req = ((struct PyMPIRequestObject *)Py_None); /* "mpi4py/MPI/reqimpl.pxi":36 * cdef Py_ssize_t i = 0, nr = count, ns = 0 * cdef Request req = None * for i from 0 <= i < nr: # <<<<<<<<<<<<<< * req = requests[i] * req.ob_mpi = rp[i] */ __pyx_t_1 = __pyx_v_nr; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { /* "mpi4py/MPI/reqimpl.pxi":37 * cdef Request req = None * for i from 0 <= i < nr: * req = requests[i] # <<<<<<<<<<<<<< * req.ob_mpi = rp[i] * if rp[i] == MPI_REQUEST_NULL: */ __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_requests, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 37, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_req, ((struct PyMPIRequestObject *)__pyx_t_3)); __pyx_t_3 = 0; /* "mpi4py/MPI/reqimpl.pxi":38 * for i from 0 <= i < nr: * req = requests[i] * req.ob_mpi = rp[i] # <<<<<<<<<<<<<< * if rp[i] == MPI_REQUEST_NULL: * req.ob_buf = None */ __pyx_v_req->ob_mpi = (__pyx_v_rp[__pyx_v_i]); /* "mpi4py/MPI/reqimpl.pxi":39 * req = requests[i] * req.ob_mpi = rp[i] * if rp[i] == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * req.ob_buf = None * if statuses is not None: */ __pyx_t_4 = (((__pyx_v_rp[__pyx_v_i]) == MPI_REQUEST_NULL) != 0); if (__pyx_t_4) { /* "mpi4py/MPI/reqimpl.pxi":40 * req.ob_mpi = rp[i] * if rp[i] == MPI_REQUEST_NULL: * req.ob_buf = None # <<<<<<<<<<<<<< * if statuses is not None: * ns = len(statuses) */ __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_req->ob_buf); __Pyx_DECREF(__pyx_v_req->ob_buf); __pyx_v_req->ob_buf = Py_None; /* "mpi4py/MPI/reqimpl.pxi":39 * req = requests[i] * req.ob_mpi = rp[i] * if rp[i] == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * req.ob_buf = None * if statuses is not None: */ } } /* "mpi4py/MPI/reqimpl.pxi":41 * if rp[i] == MPI_REQUEST_NULL: * req.ob_buf = None * if statuses is not None: # <<<<<<<<<<<<<< * ns = len(statuses) * if nr > ns : */ __pyx_t_4 = (__pyx_v_statuses != Py_None); __pyx_t_5 = (__pyx_t_4 != 0); if (__pyx_t_5) { /* "mpi4py/MPI/reqimpl.pxi":42 * req.ob_buf = None * if statuses is not None: * ns = len(statuses) # <<<<<<<<<<<<<< * if nr > ns : * if isinstance(statuses, list): */ __pyx_t_1 = PyObject_Length(__pyx_v_statuses); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(13, 42, __pyx_L1_error) __pyx_v_ns = __pyx_t_1; /* "mpi4py/MPI/reqimpl.pxi":43 * if statuses is not None: * ns = len(statuses) * if nr > ns : # <<<<<<<<<<<<<< * if isinstance(statuses, list): * statuses += [Status.__new__(Status) */ __pyx_t_5 = ((__pyx_v_nr > __pyx_v_ns) != 0); if (__pyx_t_5) { /* "mpi4py/MPI/reqimpl.pxi":44 * ns = len(statuses) * if nr > ns : * if isinstance(statuses, list): # <<<<<<<<<<<<<< * statuses += [Status.__new__(Status) * for i from ns <= i < nr] */ __pyx_t_5 = PyList_Check(__pyx_v_statuses); __pyx_t_4 = (__pyx_t_5 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/reqimpl.pxi":45 * if nr > ns : * if isinstance(statuses, list): * statuses += [Status.__new__(Status) # <<<<<<<<<<<<<< * for i from ns <= i < nr] * ns = nr */ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/reqimpl.pxi":46 * if isinstance(statuses, list): * statuses += [Status.__new__(Status) * for i from ns <= i < nr] # <<<<<<<<<<<<<< * ns = nr * for i from 0 <= i < ns: */ __pyx_t_1 = __pyx_v_nr; for (__pyx_v_i = __pyx_v_ns; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { /* "mpi4py/MPI/reqimpl.pxi":45 * if nr > ns : * if isinstance(statuses, list): * statuses += [Status.__new__(Status) # <<<<<<<<<<<<<< * for i from ns <= i < nr] * ns = nr */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Status(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Status), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 45, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) __PYX_ERR(13, 45, __pyx_L1_error) __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; } __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_statuses, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_statuses, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/reqimpl.pxi":47 * statuses += [Status.__new__(Status) * for i from ns <= i < nr] * ns = nr # <<<<<<<<<<<<<< * for i from 0 <= i < ns: * (statuses[i]).ob_mpi = sp[i] */ __pyx_v_ns = __pyx_v_nr; /* "mpi4py/MPI/reqimpl.pxi":44 * ns = len(statuses) * if nr > ns : * if isinstance(statuses, list): # <<<<<<<<<<<<<< * statuses += [Status.__new__(Status) * for i from ns <= i < nr] */ } /* "mpi4py/MPI/reqimpl.pxi":43 * if statuses is not None: * ns = len(statuses) * if nr > ns : # <<<<<<<<<<<<<< * if isinstance(statuses, list): * statuses += [Status.__new__(Status) */ } /* "mpi4py/MPI/reqimpl.pxi":48 * for i from ns <= i < nr] * ns = nr * for i from 0 <= i < ns: # <<<<<<<<<<<<<< * (statuses[i]).ob_mpi = sp[i] * return 0 */ __pyx_t_1 = __pyx_v_ns; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { /* "mpi4py/MPI/reqimpl.pxi":49 * ns = nr * for i from 0 <= i < ns: * (statuses[i]).ob_mpi = sp[i] # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_statuses, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 49, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (!(likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Status)))) __PYX_ERR(13, 49, __pyx_L1_error) ((struct PyMPIStatusObject *)__pyx_t_2)->ob_mpi = (__pyx_v_sp[__pyx_v_i]); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } /* "mpi4py/MPI/reqimpl.pxi":41 * if rp[i] == MPI_REQUEST_NULL: * req.ob_buf = None * if statuses is not None: # <<<<<<<<<<<<<< * ns = len(statuses) * if nr > ns : */ } /* "mpi4py/MPI/reqimpl.pxi":50 * for i from 0 <= i < ns: * (statuses[i]).ob_mpi = sp[i] * return 0 # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":29 * return (ob_r, ob_s) * * cdef int release_rs(object requests, # <<<<<<<<<<<<<< * object statuses, * int count, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.release_rs", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_req); __Pyx_XDECREF(__pyx_v_statuses); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/reqimpl.pxi":64 * cdef dict kargs * * def __cinit__(self, query_fn, free_fn, cancel_fn, args, kargs): # <<<<<<<<<<<<<< * self.query_fn = query_fn * self.free_fn = free_fn */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_7_p_greq_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_7_p_greq_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_query_fn = 0; PyObject *__pyx_v_free_fn = 0; PyObject *__pyx_v_cancel_fn = 0; PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kargs = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_query_fn,&__pyx_n_s_free_fn,&__pyx_n_s_cancel_fn,&__pyx_n_s_args,&__pyx_n_s_kargs,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_query_fn)) != 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_free_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 1); __PYX_ERR(13, 64, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cancel_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 2); __PYX_ERR(13, 64, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_args)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 3); __PYX_ERR(13, 64, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kargs)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 4); __PYX_ERR(13, 64, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(13, 64, __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_query_fn = values[0]; __pyx_v_free_fn = values[1]; __pyx_v_cancel_fn = values[2]; __pyx_v_args = values[3]; __pyx_v_kargs = values[4]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(13, 64, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI._p_greq.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_7_p_greq___cinit__(((struct __pyx_obj_6mpi4py_3MPI__p_greq *)__pyx_v_self), __pyx_v_query_fn, __pyx_v_free_fn, __pyx_v_cancel_fn, __pyx_v_args, __pyx_v_kargs); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_7_p_greq___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_greq *__pyx_v_self, PyObject *__pyx_v_query_fn, PyObject *__pyx_v_free_fn, PyObject *__pyx_v_cancel_fn, PyObject *__pyx_v_args, PyObject *__pyx_v_kargs) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/reqimpl.pxi":65 * * def __cinit__(self, query_fn, free_fn, cancel_fn, args, kargs): * self.query_fn = query_fn # <<<<<<<<<<<<<< * self.free_fn = free_fn * self.cancel_fn = cancel_fn */ __Pyx_INCREF(__pyx_v_query_fn); __Pyx_GIVEREF(__pyx_v_query_fn); __Pyx_GOTREF(__pyx_v_self->query_fn); __Pyx_DECREF(__pyx_v_self->query_fn); __pyx_v_self->query_fn = __pyx_v_query_fn; /* "mpi4py/MPI/reqimpl.pxi":66 * def __cinit__(self, query_fn, free_fn, cancel_fn, args, kargs): * self.query_fn = query_fn * self.free_fn = free_fn # <<<<<<<<<<<<<< * self.cancel_fn = cancel_fn * self.args = tuple(args) if args is not None else () */ __Pyx_INCREF(__pyx_v_free_fn); __Pyx_GIVEREF(__pyx_v_free_fn); __Pyx_GOTREF(__pyx_v_self->free_fn); __Pyx_DECREF(__pyx_v_self->free_fn); __pyx_v_self->free_fn = __pyx_v_free_fn; /* "mpi4py/MPI/reqimpl.pxi":67 * self.query_fn = query_fn * self.free_fn = free_fn * self.cancel_fn = cancel_fn # <<<<<<<<<<<<<< * self.args = tuple(args) if args is not None else () * self.kargs = dict(kargs) if kargs is not None else {} */ __Pyx_INCREF(__pyx_v_cancel_fn); __Pyx_GIVEREF(__pyx_v_cancel_fn); __Pyx_GOTREF(__pyx_v_self->cancel_fn); __Pyx_DECREF(__pyx_v_self->cancel_fn); __pyx_v_self->cancel_fn = __pyx_v_cancel_fn; /* "mpi4py/MPI/reqimpl.pxi":68 * self.free_fn = free_fn * self.cancel_fn = cancel_fn * self.args = tuple(args) if args is not None else () # <<<<<<<<<<<<<< * self.kargs = dict(kargs) if kargs is not None else {} * */ __pyx_t_2 = (__pyx_v_args != Py_None); if ((__pyx_t_2 != 0)) { __pyx_t_3 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; } else { __Pyx_INCREF(__pyx_empty_tuple); __pyx_t_1 = __pyx_empty_tuple; } __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->args); __Pyx_DECREF(__pyx_v_self->args); __pyx_v_self->args = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/reqimpl.pxi":69 * self.cancel_fn = cancel_fn * self.args = tuple(args) if args is not None else () * self.kargs = dict(kargs) if kargs is not None else {} # <<<<<<<<<<<<<< * * cdef int query(self, MPI_Status *status) except -1: */ __pyx_t_2 = (__pyx_v_kargs != Py_None); if ((__pyx_t_2 != 0)) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyDict_Type)), __pyx_v_kargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; } else { __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; } __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->kargs); __Pyx_DECREF(__pyx_v_self->kargs); __pyx_v_self->kargs = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/reqimpl.pxi":64 * cdef dict kargs * * def __cinit__(self, query_fn, free_fn, cancel_fn, args, kargs): # <<<<<<<<<<<<<< * self.query_fn = query_fn * self.free_fn = free_fn */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI._p_greq.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/reqimpl.pxi":71 * self.kargs = dict(kargs) if kargs is not None else {} * * cdef int query(self, MPI_Status *status) except -1: # <<<<<<<<<<<<<< * status.MPI_SOURCE = MPI_ANY_SOURCE * status.MPI_TAG = MPI_ANY_TAG */ static int __pyx_f_6mpi4py_3MPI_7_p_greq_query(struct __pyx_obj_6mpi4py_3MPI__p_greq *__pyx_v_self, MPI_Status *__pyx_v_status) { struct PyMPIStatusObject *__pyx_v_sts = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; MPI_Status __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("query", 0); /* "mpi4py/MPI/reqimpl.pxi":72 * * cdef int query(self, MPI_Status *status) except -1: * status.MPI_SOURCE = MPI_ANY_SOURCE # <<<<<<<<<<<<<< * status.MPI_TAG = MPI_ANY_TAG * MPI_Status_set_elements(status, MPI_BYTE, 0) */ __pyx_v_status->MPI_SOURCE = MPI_ANY_SOURCE; /* "mpi4py/MPI/reqimpl.pxi":73 * cdef int query(self, MPI_Status *status) except -1: * status.MPI_SOURCE = MPI_ANY_SOURCE * status.MPI_TAG = MPI_ANY_TAG # <<<<<<<<<<<<<< * MPI_Status_set_elements(status, MPI_BYTE, 0) * MPI_Status_set_cancelled(status, 0) */ __pyx_v_status->MPI_TAG = MPI_ANY_TAG; /* "mpi4py/MPI/reqimpl.pxi":74 * status.MPI_SOURCE = MPI_ANY_SOURCE * status.MPI_TAG = MPI_ANY_TAG * MPI_Status_set_elements(status, MPI_BYTE, 0) # <<<<<<<<<<<<<< * MPI_Status_set_cancelled(status, 0) * cdef Status sts = Status.__new__(Status) */ ((void)MPI_Status_set_elements(__pyx_v_status, MPI_BYTE, 0)); /* "mpi4py/MPI/reqimpl.pxi":75 * status.MPI_TAG = MPI_ANY_TAG * MPI_Status_set_elements(status, MPI_BYTE, 0) * MPI_Status_set_cancelled(status, 0) # <<<<<<<<<<<<<< * cdef Status sts = Status.__new__(Status) * if self.query_fn is not None: */ ((void)MPI_Status_set_cancelled(__pyx_v_status, 0)); /* "mpi4py/MPI/reqimpl.pxi":76 * MPI_Status_set_elements(status, MPI_BYTE, 0) * MPI_Status_set_cancelled(status, 0) * cdef Status sts = Status.__new__(Status) # <<<<<<<<<<<<<< * if self.query_fn is not None: * sts.ob_mpi = status[0] */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Status(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Status), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 76, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_sts = ((struct PyMPIStatusObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/reqimpl.pxi":77 * MPI_Status_set_cancelled(status, 0) * cdef Status sts = Status.__new__(Status) * if self.query_fn is not None: # <<<<<<<<<<<<<< * sts.ob_mpi = status[0] * self.query_fn(sts, *self.args, **self.kargs) */ __pyx_t_3 = (__pyx_v_self->query_fn != Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/reqimpl.pxi":78 * cdef Status sts = Status.__new__(Status) * if self.query_fn is not None: * sts.ob_mpi = status[0] # <<<<<<<<<<<<<< * self.query_fn(sts, *self.args, **self.kargs) * status[0] = sts.ob_mpi */ __pyx_v_sts->ob_mpi = (__pyx_v_status[0]); /* "mpi4py/MPI/reqimpl.pxi":79 * if self.query_fn is not None: * sts.ob_mpi = status[0] * self.query_fn(sts, *self.args, **self.kargs) # <<<<<<<<<<<<<< * status[0] = sts.ob_mpi * if self.cancel_fn is None: */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 79, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_sts)); __Pyx_GIVEREF(((PyObject *)__pyx_v_sts)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_sts)); if (unlikely(__pyx_v_self->args == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(13, 79, __pyx_L1_error) } __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_v_self->args); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 79, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(__pyx_v_self->kargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(13, 79, __pyx_L1_error) } __pyx_t_2 = PyDict_Copy(__pyx_v_self->kargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 79, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_self->query_fn, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(13, 79, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/reqimpl.pxi":80 * sts.ob_mpi = status[0] * self.query_fn(sts, *self.args, **self.kargs) * status[0] = sts.ob_mpi # <<<<<<<<<<<<<< * if self.cancel_fn is None: * MPI_Status_set_cancelled(status, 0) */ __pyx_t_6 = __pyx_v_sts->ob_mpi; (__pyx_v_status[0]) = __pyx_t_6; /* "mpi4py/MPI/reqimpl.pxi":81 * self.query_fn(sts, *self.args, **self.kargs) * status[0] = sts.ob_mpi * if self.cancel_fn is None: # <<<<<<<<<<<<<< * MPI_Status_set_cancelled(status, 0) * return MPI_SUCCESS */ __pyx_t_4 = (__pyx_v_self->cancel_fn == Py_None); __pyx_t_3 = (__pyx_t_4 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/reqimpl.pxi":82 * status[0] = sts.ob_mpi * if self.cancel_fn is None: * MPI_Status_set_cancelled(status, 0) # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ ((void)MPI_Status_set_cancelled(__pyx_v_status, 0)); /* "mpi4py/MPI/reqimpl.pxi":81 * self.query_fn(sts, *self.args, **self.kargs) * status[0] = sts.ob_mpi * if self.cancel_fn is None: # <<<<<<<<<<<<<< * MPI_Status_set_cancelled(status, 0) * return MPI_SUCCESS */ } /* "mpi4py/MPI/reqimpl.pxi":77 * MPI_Status_set_cancelled(status, 0) * cdef Status sts = Status.__new__(Status) * if self.query_fn is not None: # <<<<<<<<<<<<<< * sts.ob_mpi = status[0] * self.query_fn(sts, *self.args, **self.kargs) */ } /* "mpi4py/MPI/reqimpl.pxi":83 * if self.cancel_fn is None: * MPI_Status_set_cancelled(status, 0) * return MPI_SUCCESS # <<<<<<<<<<<<<< * * cdef int free(self) except -1: */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":71 * self.kargs = dict(kargs) if kargs is not None else {} * * cdef int query(self, MPI_Status *status) except -1: # <<<<<<<<<<<<<< * status.MPI_SOURCE = MPI_ANY_SOURCE * status.MPI_TAG = MPI_ANY_TAG */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI._p_greq.query", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_sts); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/reqimpl.pxi":85 * return MPI_SUCCESS * * cdef int free(self) except -1: # <<<<<<<<<<<<<< * if self.free_fn is not None: * self.free_fn(*self.args, **self.kargs) */ static int __pyx_f_6mpi4py_3MPI_7_p_greq_free(struct __pyx_obj_6mpi4py_3MPI__p_greq *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("free", 0); /* "mpi4py/MPI/reqimpl.pxi":86 * * cdef int free(self) except -1: * if self.free_fn is not None: # <<<<<<<<<<<<<< * self.free_fn(*self.args, **self.kargs) * return MPI_SUCCESS */ __pyx_t_1 = (__pyx_v_self->free_fn != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/reqimpl.pxi":87 * cdef int free(self) except -1: * if self.free_fn is not None: * self.free_fn(*self.args, **self.kargs) # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ if (unlikely(__pyx_v_self->args == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(13, 87, __pyx_L1_error) } if (unlikely(__pyx_v_self->kargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(13, 87, __pyx_L1_error) } __pyx_t_3 = PyDict_Copy(__pyx_v_self->kargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_self->free_fn, __pyx_v_self->args, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/reqimpl.pxi":86 * * cdef int free(self) except -1: * if self.free_fn is not None: # <<<<<<<<<<<<<< * self.free_fn(*self.args, **self.kargs) * return MPI_SUCCESS */ } /* "mpi4py/MPI/reqimpl.pxi":88 * if self.free_fn is not None: * self.free_fn(*self.args, **self.kargs) * return MPI_SUCCESS # <<<<<<<<<<<<<< * * cdef int cancel(self, bint completed) except -1: */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":85 * return MPI_SUCCESS * * cdef int free(self) except -1: # <<<<<<<<<<<<<< * if self.free_fn is not None: * self.free_fn(*self.args, **self.kargs) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI._p_greq.free", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/reqimpl.pxi":90 * return MPI_SUCCESS * * cdef int cancel(self, bint completed) except -1: # <<<<<<<<<<<<<< * if self.cancel_fn is not None: * self.cancel_fn(completed, *self.args, **self.kargs) */ static int __pyx_f_6mpi4py_3MPI_7_p_greq_cancel(struct __pyx_obj_6mpi4py_3MPI__p_greq *__pyx_v_self, int __pyx_v_completed) { 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("cancel", 0); /* "mpi4py/MPI/reqimpl.pxi":91 * * cdef int cancel(self, bint completed) except -1: * if self.cancel_fn is not None: # <<<<<<<<<<<<<< * self.cancel_fn(completed, *self.args, **self.kargs) * return MPI_SUCCESS */ __pyx_t_1 = (__pyx_v_self->cancel_fn != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/reqimpl.pxi":92 * cdef int cancel(self, bint completed) except -1: * if self.cancel_fn is not None: * self.cancel_fn(completed, *self.args, **self.kargs) # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_completed); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = 0; if (unlikely(__pyx_v_self->args == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(13, 92, __pyx_L1_error) } __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_v_self->args); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(__pyx_v_self->kargs == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); __PYX_ERR(13, 92, __pyx_L1_error) } __pyx_t_4 = PyDict_Copy(__pyx_v_self->kargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_self->cancel_fn, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(13, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __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; /* "mpi4py/MPI/reqimpl.pxi":91 * * cdef int cancel(self, bint completed) except -1: * if self.cancel_fn is not None: # <<<<<<<<<<<<<< * self.cancel_fn(completed, *self.args, **self.kargs) * return MPI_SUCCESS */ } /* "mpi4py/MPI/reqimpl.pxi":93 * if self.cancel_fn is not None: * self.cancel_fn(completed, *self.args, **self.kargs) * return MPI_SUCCESS # <<<<<<<<<<<<<< * * # --- */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":90 * return MPI_SUCCESS * * cdef int cancel(self, bint completed) except -1: # <<<<<<<<<<<<<< * if self.cancel_fn is not None: * self.cancel_fn(completed, *self.args, **self.kargs) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI._p_greq.cancel", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/reqimpl.pxi":97 * # --- * * cdef int greq_query(void *extra_state, MPI_Status *status) \ # <<<<<<<<<<<<<< * except MPI_ERR_UNKNOWN with gil: * cdef _p_greq state = <_p_greq>extra_state */ static int __pyx_f_6mpi4py_3MPI_greq_query(void *__pyx_v_extra_state, MPI_Status *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_greq *__pyx_v_state = 0; int __pyx_v_ierr; PyObject *__pyx_v_exc = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("greq_query", 0); /* "mpi4py/MPI/reqimpl.pxi":99 * cdef int greq_query(void *extra_state, MPI_Status *status) \ * except MPI_ERR_UNKNOWN with gil: * cdef _p_greq state = <_p_greq>extra_state # <<<<<<<<<<<<<< * cdef int ierr = MPI_SUCCESS * cdef object exc */ __pyx_t_1 = ((PyObject *)__pyx_v_extra_state); __Pyx_INCREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_greq *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/reqimpl.pxi":100 * except MPI_ERR_UNKNOWN with gil: * cdef _p_greq state = <_p_greq>extra_state * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/reqimpl.pxi":102 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.query(status) * except MPIException as exc: */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { /* "mpi4py/MPI/reqimpl.pxi":103 * cdef object exc * try: * state.query(status) # <<<<<<<<<<<<<< * except MPIException as exc: * print_traceback() */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_7_p_greq_query(__pyx_v_state, __pyx_v_status); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(13, 103, __pyx_L3_error) /* "mpi4py/MPI/reqimpl.pxi":102 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.query(status) * except MPIException as exc: */ } __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; goto __pyx_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/reqimpl.pxi":104 * try: * state.query(status) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * ierr = exc.Get_error_code() */ __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_5) { __Pyx_AddTraceback("mpi4py.MPI.greq_query", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(13, 104, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_v_exc = __pyx_t_6; /* "mpi4py/MPI/reqimpl.pxi":105 * state.query(status) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/reqimpl.pxi":106 * except MPIException as exc: * print_traceback() * ierr = exc.Get_error_code() # <<<<<<<<<<<<<< * except: * print_traceback() */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(13, 106, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(13, 106, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(13, 106, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_5; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/reqimpl.pxi":107 * print_traceback() * ierr = exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * ierr = MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.greq_query", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(13, 107, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/reqimpl.pxi":108 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/reqimpl.pxi":109 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/reqimpl.pxi":102 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.query(status) * except MPIException as exc: */ __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); goto __pyx_L1_error; __pyx_L4_exception_handled:; __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); __pyx_L8_try_end:; } /* "mpi4py/MPI/reqimpl.pxi":110 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * cdef int greq_free(void *extra_state) \ */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":97 * # --- * * cdef int greq_query(void *extra_state, MPI_Status *status) \ # <<<<<<<<<<<<<< * except MPI_ERR_UNKNOWN with gil: * cdef _p_greq state = <_p_greq>extra_state */ /* 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("mpi4py.MPI.greq_query", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "mpi4py/MPI/reqimpl.pxi":112 * return ierr * * cdef int greq_free(void *extra_state) \ # <<<<<<<<<<<<<< * except MPI_ERR_UNKNOWN with gil: * cdef _p_greq state = <_p_greq>extra_state */ static int __pyx_f_6mpi4py_3MPI_greq_free(void *__pyx_v_extra_state) { struct __pyx_obj_6mpi4py_3MPI__p_greq *__pyx_v_state = 0; int __pyx_v_ierr; PyObject *__pyx_v_exc = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("greq_free", 0); /* "mpi4py/MPI/reqimpl.pxi":114 * cdef int greq_free(void *extra_state) \ * except MPI_ERR_UNKNOWN with gil: * cdef _p_greq state = <_p_greq>extra_state # <<<<<<<<<<<<<< * cdef int ierr = MPI_SUCCESS * cdef object exc */ __pyx_t_1 = ((PyObject *)__pyx_v_extra_state); __Pyx_INCREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_greq *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/reqimpl.pxi":115 * except MPI_ERR_UNKNOWN with gil: * cdef _p_greq state = <_p_greq>extra_state * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/reqimpl.pxi":117 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.free() * except MPIException as exc: */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { /* "mpi4py/MPI/reqimpl.pxi":118 * cdef object exc * try: * state.free() # <<<<<<<<<<<<<< * except MPIException as exc: * print_traceback() */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_7_p_greq_free(__pyx_v_state); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(13, 118, __pyx_L3_error) /* "mpi4py/MPI/reqimpl.pxi":117 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.free() * except MPIException as exc: */ } __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; goto __pyx_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/reqimpl.pxi":119 * try: * state.free() * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * ierr = exc.Get_error_code() */ __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_5) { __Pyx_AddTraceback("mpi4py.MPI.greq_free", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(13, 119, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_v_exc = __pyx_t_6; /* "mpi4py/MPI/reqimpl.pxi":120 * state.free() * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/reqimpl.pxi":121 * except MPIException as exc: * print_traceback() * ierr = exc.Get_error_code() # <<<<<<<<<<<<<< * except: * print_traceback() */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(13, 121, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(13, 121, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(13, 121, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_5; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/reqimpl.pxi":122 * print_traceback() * ierr = exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * ierr = MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.greq_free", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(13, 122, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/reqimpl.pxi":123 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * Py_DECREF(extra_state) */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/reqimpl.pxi":124 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * Py_DECREF(extra_state) * return ierr */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/reqimpl.pxi":117 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.free() * except MPIException as exc: */ __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); goto __pyx_L1_error; __pyx_L4_exception_handled:; __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); __pyx_L8_try_end:; } /* "mpi4py/MPI/reqimpl.pxi":125 * print_traceback() * ierr = MPI_ERR_OTHER * Py_DECREF(extra_state) # <<<<<<<<<<<<<< * return ierr * */ Py_DECREF(((PyObject *)__pyx_v_extra_state)); /* "mpi4py/MPI/reqimpl.pxi":126 * ierr = MPI_ERR_OTHER * Py_DECREF(extra_state) * return ierr # <<<<<<<<<<<<<< * * cdef int greq_cancel(void *extra_state, int completed) \ */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":112 * return ierr * * cdef int greq_free(void *extra_state) \ # <<<<<<<<<<<<<< * except MPI_ERR_UNKNOWN with gil: * cdef _p_greq state = <_p_greq>extra_state */ /* 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("mpi4py.MPI.greq_free", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "mpi4py/MPI/reqimpl.pxi":128 * return ierr * * cdef int greq_cancel(void *extra_state, int completed) \ # <<<<<<<<<<<<<< * except MPI_ERR_UNKNOWN with gil: * cdef _p_greq state = <_p_greq>extra_state */ static int __pyx_f_6mpi4py_3MPI_greq_cancel(void *__pyx_v_extra_state, int __pyx_v_completed) { struct __pyx_obj_6mpi4py_3MPI__p_greq *__pyx_v_state = 0; int __pyx_v_ierr; PyObject *__pyx_v_exc = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("greq_cancel", 0); /* "mpi4py/MPI/reqimpl.pxi":130 * cdef int greq_cancel(void *extra_state, int completed) \ * except MPI_ERR_UNKNOWN with gil: * cdef _p_greq state = <_p_greq>extra_state # <<<<<<<<<<<<<< * cdef int ierr = MPI_SUCCESS * cdef object exc */ __pyx_t_1 = ((PyObject *)__pyx_v_extra_state); __Pyx_INCREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_greq *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/reqimpl.pxi":131 * except MPI_ERR_UNKNOWN with gil: * cdef _p_greq state = <_p_greq>extra_state * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/reqimpl.pxi":133 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.cancel(completed) * except MPIException as exc: */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { /* "mpi4py/MPI/reqimpl.pxi":134 * cdef object exc * try: * state.cancel(completed) # <<<<<<<<<<<<<< * except MPIException as exc: * print_traceback() */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_7_p_greq_cancel(__pyx_v_state, __pyx_v_completed); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(13, 134, __pyx_L3_error) /* "mpi4py/MPI/reqimpl.pxi":133 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.cancel(completed) * except MPIException as exc: */ } __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; goto __pyx_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/reqimpl.pxi":135 * try: * state.cancel(completed) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * ierr = exc.Get_error_code() */ __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_5) { __Pyx_AddTraceback("mpi4py.MPI.greq_cancel", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(13, 135, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_v_exc = __pyx_t_6; /* "mpi4py/MPI/reqimpl.pxi":136 * state.cancel(completed) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/reqimpl.pxi":137 * except MPIException as exc: * print_traceback() * ierr = exc.Get_error_code() # <<<<<<<<<<<<<< * except: * print_traceback() */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(13, 137, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(13, 137, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(13, 137, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_5; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/reqimpl.pxi":138 * print_traceback() * ierr = exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * ierr = MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.greq_cancel", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(13, 138, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/reqimpl.pxi":139 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/reqimpl.pxi":140 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/reqimpl.pxi":133 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.cancel(completed) * except MPIException as exc: */ __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); goto __pyx_L1_error; __pyx_L4_exception_handled:; __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); __pyx_L8_try_end:; } /* "mpi4py/MPI/reqimpl.pxi":141 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * # --- */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":128 * return ierr * * cdef int greq_cancel(void *extra_state, int completed) \ # <<<<<<<<<<<<<< * except MPI_ERR_UNKNOWN with gil: * cdef _p_greq state = <_p_greq>extra_state */ /* 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("mpi4py.MPI.greq_cancel", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "mpi4py/MPI/reqimpl.pxi":146 * * @cython.callspec("MPIAPI") * cdef int greq_query_fn(void *extra_state, MPI_Status *status) nogil: # <<<<<<<<<<<<<< * if extra_state == NULL: * return MPI_ERR_INTERN */ static int MPIAPI __pyx_f_6mpi4py_3MPI_greq_query_fn(void *__pyx_v_extra_state, MPI_Status *__pyx_v_status) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/reqimpl.pxi":147 * @cython.callspec("MPIAPI") * cdef int greq_query_fn(void *extra_state, MPI_Status *status) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if status == NULL: */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/reqimpl.pxi":148 * cdef int greq_query_fn(void *extra_state, MPI_Status *status) nogil: * if extra_state == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if status == NULL: * return MPI_ERR_INTERN */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":147 * @cython.callspec("MPIAPI") * cdef int greq_query_fn(void *extra_state, MPI_Status *status) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if status == NULL: */ } /* "mpi4py/MPI/reqimpl.pxi":149 * if extra_state == NULL: * return MPI_ERR_INTERN * if status == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_status == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/reqimpl.pxi":150 * return MPI_ERR_INTERN * if status == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_ERR_INTERN */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":149 * if extra_state == NULL: * return MPI_ERR_INTERN * if status == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/reqimpl.pxi":151 * if status == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return greq_query(extra_state, status) */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/reqimpl.pxi":152 * return MPI_ERR_INTERN * if not Py_IsInitialized(): * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * return greq_query(extra_state, status) * */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":151 * if status == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return greq_query(extra_state, status) */ } /* "mpi4py/MPI/reqimpl.pxi":153 * if not Py_IsInitialized(): * return MPI_ERR_INTERN * return greq_query(extra_state, status) # <<<<<<<<<<<<<< * * @cython.callspec("MPIAPI") */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_greq_query(__pyx_v_extra_state, __pyx_v_status); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(13, 153, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":146 * * @cython.callspec("MPIAPI") * cdef int greq_query_fn(void *extra_state, MPI_Status *status) nogil: # <<<<<<<<<<<<<< * if extra_state == NULL: * return MPI_ERR_INTERN */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.greq_query_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/reqimpl.pxi":156 * * @cython.callspec("MPIAPI") * cdef int greq_free_fn(void *extra_state) nogil: # <<<<<<<<<<<<<< * if extra_state == NULL: * return MPI_ERR_INTERN */ static int MPIAPI __pyx_f_6mpi4py_3MPI_greq_free_fn(void *__pyx_v_extra_state) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/reqimpl.pxi":157 * @cython.callspec("MPIAPI") * cdef int greq_free_fn(void *extra_state) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/reqimpl.pxi":158 * cdef int greq_free_fn(void *extra_state) nogil: * if extra_state == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_ERR_INTERN */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":157 * @cython.callspec("MPIAPI") * cdef int greq_free_fn(void *extra_state) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/reqimpl.pxi":159 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return greq_free(extra_state) */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/reqimpl.pxi":160 * return MPI_ERR_INTERN * if not Py_IsInitialized(): * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * return greq_free(extra_state) * */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":159 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return greq_free(extra_state) */ } /* "mpi4py/MPI/reqimpl.pxi":161 * if not Py_IsInitialized(): * return MPI_ERR_INTERN * return greq_free(extra_state) # <<<<<<<<<<<<<< * * @cython.callspec("MPIAPI") */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_greq_free(__pyx_v_extra_state); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(13, 161, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":156 * * @cython.callspec("MPIAPI") * cdef int greq_free_fn(void *extra_state) nogil: # <<<<<<<<<<<<<< * if extra_state == NULL: * return MPI_ERR_INTERN */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.greq_free_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/reqimpl.pxi":164 * * @cython.callspec("MPIAPI") * cdef int greq_cancel_fn(void *extra_state, int completed) nogil: # <<<<<<<<<<<<<< * if extra_state == NULL: * return MPI_ERR_INTERN */ static int MPIAPI __pyx_f_6mpi4py_3MPI_greq_cancel_fn(void *__pyx_v_extra_state, int __pyx_v_completed) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/reqimpl.pxi":165 * @cython.callspec("MPIAPI") * cdef int greq_cancel_fn(void *extra_state, int completed) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/reqimpl.pxi":166 * cdef int greq_cancel_fn(void *extra_state, int completed) nogil: * if extra_state == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_ERR_INTERN */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":165 * @cython.callspec("MPIAPI") * cdef int greq_cancel_fn(void *extra_state, int completed) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/reqimpl.pxi":167 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return greq_cancel(extra_state, completed) */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/reqimpl.pxi":168 * return MPI_ERR_INTERN * if not Py_IsInitialized(): * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * return greq_cancel(extra_state, completed) * */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":167 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return greq_cancel(extra_state, completed) */ } /* "mpi4py/MPI/reqimpl.pxi":169 * if not Py_IsInitialized(): * return MPI_ERR_INTERN * return greq_cancel(extra_state, completed) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_greq_cancel(__pyx_v_extra_state, __pyx_v_completed); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(13, 169, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/reqimpl.pxi":164 * * @cython.callspec("MPIAPI") * cdef int greq_cancel_fn(void *extra_state, int completed) nogil: # <<<<<<<<<<<<<< * if extra_state == NULL: * return MPI_ERR_INTERN */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.greq_cancel_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":129 * include "reqimpl.pxi" * * cdef inline Request new_Request(MPI_Request ob): # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * request.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIRequestObject *__pyx_f_6mpi4py_3MPI_new_Request(MPI_Request __pyx_v_ob) { struct PyMPIRequestObject *__pyx_v_request = 0; struct PyMPIRequestObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("new_Request", 0); /* "mpi4py/MPI/helpers.pxi":130 * * cdef inline Request new_Request(MPI_Request ob): * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * request.ob_mpi = ob * return request */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 130, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":131 * cdef inline Request new_Request(MPI_Request ob): * cdef Request request = Request.__new__(Request) * request.ob_mpi = ob # <<<<<<<<<<<<<< * return request * */ __pyx_v_request->ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":132 * cdef Request request = Request.__new__(Request) * request.ob_mpi = ob * return request # <<<<<<<<<<<<<< * * cdef inline int del_Request(MPI_Request* ob): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = __pyx_v_request; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":129 * include "reqimpl.pxi" * * cdef inline Request new_Request(MPI_Request ob): # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * request.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.new_Request", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":134 * return request * * cdef inline int del_Request(MPI_Request* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_REQUEST_NULL : return 0 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Request(MPI_Request *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("del_Request", 0); /* "mpi4py/MPI/helpers.pxi":135 * * cdef inline int del_Request(MPI_Request* ob): * if ob == NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_REQUEST_NULL : return 0 * # */ __pyx_t_1 = ((__pyx_v_ob == NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":136 * cdef inline int del_Request(MPI_Request* ob): * if ob == NULL : return 0 * if ob[0] == MPI_REQUEST_NULL : return 0 # <<<<<<<<<<<<<< * # * if not mpi_active(): return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_REQUEST_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":138 * if ob[0] == MPI_REQUEST_NULL : return 0 * # * if not mpi_active(): return 0 # <<<<<<<<<<<<<< * return MPI_Request_free(ob) * */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":139 * # * if not mpi_active(): return 0 * return MPI_Request_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Request_free(__pyx_v_ob); goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":134 * return request * * cdef inline int del_Request(MPI_Request* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_REQUEST_NULL : return 0 */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":144 * # Message * * cdef inline Message new_Message(MPI_Message ob): # <<<<<<<<<<<<<< * cdef Message message = Message.__new__(Message) * message.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIMessageObject *__pyx_f_6mpi4py_3MPI_new_Message(MPI_Message __pyx_v_ob) { struct PyMPIMessageObject *__pyx_v_message = 0; struct PyMPIMessageObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("new_Message", 0); /* "mpi4py/MPI/helpers.pxi":145 * * cdef inline Message new_Message(MPI_Message ob): * cdef Message message = Message.__new__(Message) # <<<<<<<<<<<<<< * message.ob_mpi = ob * return message */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 145, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_message = ((struct PyMPIMessageObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":146 * cdef inline Message new_Message(MPI_Message ob): * cdef Message message = Message.__new__(Message) * message.ob_mpi = ob # <<<<<<<<<<<<<< * return message * */ __pyx_v_message->ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":147 * cdef Message message = Message.__new__(Message) * message.ob_mpi = ob * return message # <<<<<<<<<<<<<< * * cdef inline int del_Message(MPI_Message* ob): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_message)); __pyx_r = __pyx_v_message; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":144 * # Message * * cdef inline Message new_Message(MPI_Message ob): # <<<<<<<<<<<<<< * cdef Message message = Message.__new__(Message) * message.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.new_Message", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_message); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":149 * return message * * cdef inline int del_Message(MPI_Message* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_MESSAGE_NULL : return 0 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Message(MPI_Message *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("del_Message", 0); /* "mpi4py/MPI/helpers.pxi":150 * * cdef inline int del_Message(MPI_Message* ob): * if ob == NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_MESSAGE_NULL : return 0 * if ob[0] == MPI_MESSAGE_NO_PROC : return 0 */ __pyx_t_1 = ((__pyx_v_ob == NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":151 * cdef inline int del_Message(MPI_Message* ob): * if ob == NULL : return 0 * if ob[0] == MPI_MESSAGE_NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_MESSAGE_NO_PROC : return 0 * # */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_MESSAGE_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":152 * if ob == NULL : return 0 * if ob[0] == MPI_MESSAGE_NULL : return 0 * if ob[0] == MPI_MESSAGE_NO_PROC : return 0 # <<<<<<<<<<<<<< * # * if not mpi_active(): return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_MESSAGE_NO_PROC) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":154 * if ob[0] == MPI_MESSAGE_NO_PROC : return 0 * # * if not mpi_active(): return 0 # <<<<<<<<<<<<<< * # ob[0] = MPI_MESSAGE_NULL * return 0 */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":156 * if not mpi_active(): return 0 * # ob[0] = MPI_MESSAGE_NULL * return 0 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":149 * return message * * cdef inline int del_Message(MPI_Message* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_MESSAGE_NULL : return 0 */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":3 * # ----------------------------------------------------------------------------- * * cdef object _op_MAX(object x, object y): # <<<<<<<<<<<<<< * """maximum""" * if y > x: */ static PyObject *__pyx_f_6mpi4py_3MPI__op_MAX(PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_op_MAX", 0); /* "mpi4py/MPI/opimpl.pxi":5 * cdef object _op_MAX(object x, object y): * """maximum""" * if y > x: # <<<<<<<<<<<<<< * return y * else: */ __pyx_t_1 = PyObject_RichCompare(__pyx_v_y, __pyx_v_x, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 5, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(14, 5, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* "mpi4py/MPI/opimpl.pxi":6 * """maximum""" * if y > x: * return y # <<<<<<<<<<<<<< * else: * return x */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_y); __pyx_r = __pyx_v_y; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":5 * cdef object _op_MAX(object x, object y): * """maximum""" * if y > x: # <<<<<<<<<<<<<< * return y * else: */ } /* "mpi4py/MPI/opimpl.pxi":8 * return y * else: * return x # <<<<<<<<<<<<<< * * cdef object _op_MIN(object x, object y): */ /*else*/ { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_x); __pyx_r = __pyx_v_x; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":3 * # ----------------------------------------------------------------------------- * * cdef object _op_MAX(object x, object y): # <<<<<<<<<<<<<< * """maximum""" * if y > x: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._op_MAX", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":10 * return x * * cdef object _op_MIN(object x, object y): # <<<<<<<<<<<<<< * """minimum""" * if y < x: */ static PyObject *__pyx_f_6mpi4py_3MPI__op_MIN(PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_op_MIN", 0); /* "mpi4py/MPI/opimpl.pxi":12 * cdef object _op_MIN(object x, object y): * """minimum""" * if y < x: # <<<<<<<<<<<<<< * return y * else: */ __pyx_t_1 = PyObject_RichCompare(__pyx_v_y, __pyx_v_x, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 12, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(14, 12, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* "mpi4py/MPI/opimpl.pxi":13 * """minimum""" * if y < x: * return y # <<<<<<<<<<<<<< * else: * return x */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_y); __pyx_r = __pyx_v_y; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":12 * cdef object _op_MIN(object x, object y): * """minimum""" * if y < x: # <<<<<<<<<<<<<< * return y * else: */ } /* "mpi4py/MPI/opimpl.pxi":15 * return y * else: * return x # <<<<<<<<<<<<<< * * cdef object _op_SUM(object x, object y): */ /*else*/ { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_x); __pyx_r = __pyx_v_x; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":10 * return x * * cdef object _op_MIN(object x, object y): # <<<<<<<<<<<<<< * """minimum""" * if y < x: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._op_MIN", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":17 * return x * * cdef object _op_SUM(object x, object y): # <<<<<<<<<<<<<< * """sum""" * return x + y */ static PyObject *__pyx_f_6mpi4py_3MPI__op_SUM(PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_op_SUM", 0); /* "mpi4py/MPI/opimpl.pxi":19 * cdef object _op_SUM(object x, object y): * """sum""" * return x + y # <<<<<<<<<<<<<< * * cdef object _op_PROD(object x, object y): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyNumber_Add(__pyx_v_x, __pyx_v_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":17 * return x * * cdef object _op_SUM(object x, object y): # <<<<<<<<<<<<<< * """sum""" * return x + y */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._op_SUM", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":21 * return x + y * * cdef object _op_PROD(object x, object y): # <<<<<<<<<<<<<< * """product""" * return x * y */ static PyObject *__pyx_f_6mpi4py_3MPI__op_PROD(PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_op_PROD", 0); /* "mpi4py/MPI/opimpl.pxi":23 * cdef object _op_PROD(object x, object y): * """product""" * return x * y # <<<<<<<<<<<<<< * * cdef object _op_BAND(object x, object y): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyNumber_Multiply(__pyx_v_x, __pyx_v_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":21 * return x + y * * cdef object _op_PROD(object x, object y): # <<<<<<<<<<<<<< * """product""" * return x * y */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._op_PROD", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":25 * return x * y * * cdef object _op_BAND(object x, object y): # <<<<<<<<<<<<<< * """bit-wise and""" * return x & y */ static PyObject *__pyx_f_6mpi4py_3MPI__op_BAND(PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_op_BAND", 0); /* "mpi4py/MPI/opimpl.pxi":27 * cdef object _op_BAND(object x, object y): * """bit-wise and""" * return x & y # <<<<<<<<<<<<<< * * cdef object _op_BOR(object x, object y): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyNumber_And(__pyx_v_x, __pyx_v_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 27, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":25 * return x * y * * cdef object _op_BAND(object x, object y): # <<<<<<<<<<<<<< * """bit-wise and""" * return x & y */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._op_BAND", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":29 * return x & y * * cdef object _op_BOR(object x, object y): # <<<<<<<<<<<<<< * """bit-wise or""" * return x | y */ static PyObject *__pyx_f_6mpi4py_3MPI__op_BOR(PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_op_BOR", 0); /* "mpi4py/MPI/opimpl.pxi":31 * cdef object _op_BOR(object x, object y): * """bit-wise or""" * return x | y # <<<<<<<<<<<<<< * * cdef object _op_BXOR(object x, object y): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyNumber_Or(__pyx_v_x, __pyx_v_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 31, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":29 * return x & y * * cdef object _op_BOR(object x, object y): # <<<<<<<<<<<<<< * """bit-wise or""" * return x | y */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._op_BOR", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":33 * return x | y * * cdef object _op_BXOR(object x, object y): # <<<<<<<<<<<<<< * """bit-wise xor""" * return x ^ y */ static PyObject *__pyx_f_6mpi4py_3MPI__op_BXOR(PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_op_BXOR", 0); /* "mpi4py/MPI/opimpl.pxi":35 * cdef object _op_BXOR(object x, object y): * """bit-wise xor""" * return x ^ y # <<<<<<<<<<<<<< * * cdef object _op_LAND(object x, object y): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyNumber_Xor(__pyx_v_x, __pyx_v_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":33 * return x | y * * cdef object _op_BXOR(object x, object y): # <<<<<<<<<<<<<< * """bit-wise xor""" * return x ^ y */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._op_BXOR", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":37 * return x ^ y * * cdef object _op_LAND(object x, object y): # <<<<<<<<<<<<<< * """logical and""" * return bool(x) & bool(y) */ static PyObject *__pyx_f_6mpi4py_3MPI__op_LAND(PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_op_LAND", 0); /* "mpi4py/MPI/opimpl.pxi":39 * cdef object _op_LAND(object x, object y): * """logical and""" * return bool(x) & bool(y) # <<<<<<<<<<<<<< * * cdef object _op_LOR(object x, object y): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_x); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(14, 39, __pyx_L1_error) __pyx_t_2 = __Pyx_PyBool_FromLong((!(!__pyx_t_1))); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 39, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_y); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(14, 39, __pyx_L1_error) __pyx_t_3 = __Pyx_PyBool_FromLong((!(!__pyx_t_1))); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 39, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyNumber_And(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 39, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":37 * return x ^ y * * cdef object _op_LAND(object x, object y): # <<<<<<<<<<<<<< * """logical and""" * return bool(x) & bool(y) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI._op_LAND", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":41 * return bool(x) & bool(y) * * cdef object _op_LOR(object x, object y): # <<<<<<<<<<<<<< * """logical or""" * return bool(x) | bool(y) */ static PyObject *__pyx_f_6mpi4py_3MPI__op_LOR(PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_op_LOR", 0); /* "mpi4py/MPI/opimpl.pxi":43 * cdef object _op_LOR(object x, object y): * """logical or""" * return bool(x) | bool(y) # <<<<<<<<<<<<<< * * cdef object _op_LXOR(object x, object y): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_x); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(14, 43, __pyx_L1_error) __pyx_t_2 = __Pyx_PyBool_FromLong((!(!__pyx_t_1))); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_y); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(14, 43, __pyx_L1_error) __pyx_t_3 = __Pyx_PyBool_FromLong((!(!__pyx_t_1))); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyNumber_Or(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":41 * return bool(x) & bool(y) * * cdef object _op_LOR(object x, object y): # <<<<<<<<<<<<<< * """logical or""" * return bool(x) | bool(y) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI._op_LOR", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":45 * return bool(x) | bool(y) * * cdef object _op_LXOR(object x, object y): # <<<<<<<<<<<<<< * """logical xor""" * return bool(x) ^ bool(y) */ static PyObject *__pyx_f_6mpi4py_3MPI__op_LXOR(PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_op_LXOR", 0); /* "mpi4py/MPI/opimpl.pxi":47 * cdef object _op_LXOR(object x, object y): * """logical xor""" * return bool(x) ^ bool(y) # <<<<<<<<<<<<<< * * cdef object _op_MAXLOC(object x, object y): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_x); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(14, 47, __pyx_L1_error) __pyx_t_2 = __Pyx_PyBool_FromLong((!(!__pyx_t_1))); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_y); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(14, 47, __pyx_L1_error) __pyx_t_3 = __Pyx_PyBool_FromLong((!(!__pyx_t_1))); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyNumber_Xor(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":45 * return bool(x) | bool(y) * * cdef object _op_LXOR(object x, object y): # <<<<<<<<<<<<<< * """logical xor""" * return bool(x) ^ bool(y) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI._op_LXOR", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":49 * return bool(x) ^ bool(y) * * cdef object _op_MAXLOC(object x, object y): # <<<<<<<<<<<<<< * """maximum and location""" * cdef object i, j, u, v */ static PyObject *__pyx_f_6mpi4py_3MPI__op_MAXLOC(PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_v_i = 0; PyObject *__pyx_v_j = 0; PyObject *__pyx_v_u = 0; PyObject *__pyx_v_v = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *(*__pyx_t_4)(PyObject *); int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_op_MAXLOC", 0); /* "mpi4py/MPI/opimpl.pxi":52 * """maximum and location""" * cdef object i, j, u, v * u, i = x # <<<<<<<<<<<<<< * v, j = y * if u > v: */ if ((likely(PyTuple_CheckExact(__pyx_v_x))) || (PyList_CheckExact(__pyx_v_x))) { PyObject* sequence = __pyx_v_x; 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(14, 52, __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(14, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { Py_ssize_t index = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 52, __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(14, 52, __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(14, 52, __pyx_L1_error) __pyx_L4_unpacking_done:; } __pyx_v_u = __pyx_t_1; __pyx_t_1 = 0; __pyx_v_i = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/opimpl.pxi":53 * cdef object i, j, u, v * u, i = x * v, j = y # <<<<<<<<<<<<<< * if u > v: * return u, i */ if ((likely(PyTuple_CheckExact(__pyx_v_y))) || (PyList_CheckExact(__pyx_v_y))) { PyObject* sequence = __pyx_v_y; 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(14, 53, __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); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_1 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); #else __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { Py_ssize_t index = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_y); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = Py_TYPE(__pyx_t_3)->tp_iternext; index = 0; __pyx_t_2 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_2); index = 1; __pyx_t_1 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_1)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); if (__Pyx_IternextUnpackEndCheck(__pyx_t_4(__pyx_t_3), 2) < 0) __PYX_ERR(14, 53, __pyx_L1_error) __pyx_t_4 = NULL; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(14, 53, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_v_v = __pyx_t_2; __pyx_t_2 = 0; __pyx_v_j = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/opimpl.pxi":54 * u, i = x * v, j = y * if u > v: # <<<<<<<<<<<<<< * return u, i * elif v > u: */ __pyx_t_1 = PyObject_RichCompare(__pyx_v_u, __pyx_v_v, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 54, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(14, 54, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* "mpi4py/MPI/opimpl.pxi":55 * v, j = y * if u > v: * return u, i # <<<<<<<<<<<<<< * elif v > u: * return v, j */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_u); __Pyx_GIVEREF(__pyx_v_u); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_u); __Pyx_INCREF(__pyx_v_i); __Pyx_GIVEREF(__pyx_v_i); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_i); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":54 * u, i = x * v, j = y * if u > v: # <<<<<<<<<<<<<< * return u, i * elif v > u: */ } /* "mpi4py/MPI/opimpl.pxi":56 * if u > v: * return u, i * elif v > u: # <<<<<<<<<<<<<< * return v, j * elif j < i: */ __pyx_t_1 = PyObject_RichCompare(__pyx_v_v, __pyx_v_u, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 56, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(14, 56, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* "mpi4py/MPI/opimpl.pxi":57 * return u, i * elif v > u: * return v, j # <<<<<<<<<<<<<< * elif j < i: * return v, j */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 57, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_v); __Pyx_GIVEREF(__pyx_v_v); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_v); __Pyx_INCREF(__pyx_v_j); __Pyx_GIVEREF(__pyx_v_j); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_j); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":56 * if u > v: * return u, i * elif v > u: # <<<<<<<<<<<<<< * return v, j * elif j < i: */ } /* "mpi4py/MPI/opimpl.pxi":58 * elif v > u: * return v, j * elif j < i: # <<<<<<<<<<<<<< * return v, j * else: */ __pyx_t_1 = PyObject_RichCompare(__pyx_v_j, __pyx_v_i, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 58, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(14, 58, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* "mpi4py/MPI/opimpl.pxi":59 * return v, j * elif j < i: * return v, j # <<<<<<<<<<<<<< * else: * return u, i */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_v); __Pyx_GIVEREF(__pyx_v_v); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_v); __Pyx_INCREF(__pyx_v_j); __Pyx_GIVEREF(__pyx_v_j); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_j); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":58 * elif v > u: * return v, j * elif j < i: # <<<<<<<<<<<<<< * return v, j * else: */ } /* "mpi4py/MPI/opimpl.pxi":61 * return v, j * else: * return u, i # <<<<<<<<<<<<<< * * cdef object _op_MINLOC(object x, object y): */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_u); __Pyx_GIVEREF(__pyx_v_u); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_u); __Pyx_INCREF(__pyx_v_i); __Pyx_GIVEREF(__pyx_v_i); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_i); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":49 * return bool(x) ^ bool(y) * * cdef object _op_MAXLOC(object x, object y): # <<<<<<<<<<<<<< * """maximum and location""" * cdef object i, j, u, v */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI._op_MAXLOC", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_i); __Pyx_XDECREF(__pyx_v_j); __Pyx_XDECREF(__pyx_v_u); __Pyx_XDECREF(__pyx_v_v); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":63 * return u, i * * cdef object _op_MINLOC(object x, object y): # <<<<<<<<<<<<<< * """minimum and location""" * cdef object i, j, u, v */ static PyObject *__pyx_f_6mpi4py_3MPI__op_MINLOC(PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_v_i = 0; PyObject *__pyx_v_j = 0; PyObject *__pyx_v_u = 0; PyObject *__pyx_v_v = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *(*__pyx_t_4)(PyObject *); int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_op_MINLOC", 0); /* "mpi4py/MPI/opimpl.pxi":66 * """minimum and location""" * cdef object i, j, u, v * u, i = x # <<<<<<<<<<<<<< * v, j = y * if u < v: */ if ((likely(PyTuple_CheckExact(__pyx_v_x))) || (PyList_CheckExact(__pyx_v_x))) { PyObject* sequence = __pyx_v_x; 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(14, 66, __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(14, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { Py_ssize_t index = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 66, __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(14, 66, __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(14, 66, __pyx_L1_error) __pyx_L4_unpacking_done:; } __pyx_v_u = __pyx_t_1; __pyx_t_1 = 0; __pyx_v_i = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/opimpl.pxi":67 * cdef object i, j, u, v * u, i = x * v, j = y # <<<<<<<<<<<<<< * if u < v: * return u, i */ if ((likely(PyTuple_CheckExact(__pyx_v_y))) || (PyList_CheckExact(__pyx_v_y))) { PyObject* sequence = __pyx_v_y; 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(14, 67, __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); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_1 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); #else __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { Py_ssize_t index = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_y); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = Py_TYPE(__pyx_t_3)->tp_iternext; index = 0; __pyx_t_2 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_2); index = 1; __pyx_t_1 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_1)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); if (__Pyx_IternextUnpackEndCheck(__pyx_t_4(__pyx_t_3), 2) < 0) __PYX_ERR(14, 67, __pyx_L1_error) __pyx_t_4 = NULL; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(14, 67, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_v_v = __pyx_t_2; __pyx_t_2 = 0; __pyx_v_j = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/opimpl.pxi":68 * u, i = x * v, j = y * if u < v: # <<<<<<<<<<<<<< * return u, i * elif v < u: */ __pyx_t_1 = PyObject_RichCompare(__pyx_v_u, __pyx_v_v, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 68, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(14, 68, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* "mpi4py/MPI/opimpl.pxi":69 * v, j = y * if u < v: * return u, i # <<<<<<<<<<<<<< * elif v < u: * return v, j */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_u); __Pyx_GIVEREF(__pyx_v_u); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_u); __Pyx_INCREF(__pyx_v_i); __Pyx_GIVEREF(__pyx_v_i); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_i); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":68 * u, i = x * v, j = y * if u < v: # <<<<<<<<<<<<<< * return u, i * elif v < u: */ } /* "mpi4py/MPI/opimpl.pxi":70 * if u < v: * return u, i * elif v < u: # <<<<<<<<<<<<<< * return v, j * elif j < i: */ __pyx_t_1 = PyObject_RichCompare(__pyx_v_v, __pyx_v_u, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 70, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(14, 70, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* "mpi4py/MPI/opimpl.pxi":71 * return u, i * elif v < u: * return v, j # <<<<<<<<<<<<<< * elif j < i: * return v, j */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_v); __Pyx_GIVEREF(__pyx_v_v); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_v); __Pyx_INCREF(__pyx_v_j); __Pyx_GIVEREF(__pyx_v_j); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_j); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":70 * if u < v: * return u, i * elif v < u: # <<<<<<<<<<<<<< * return v, j * elif j < i: */ } /* "mpi4py/MPI/opimpl.pxi":72 * elif v < u: * return v, j * elif j < i: # <<<<<<<<<<<<<< * return v, j * else: */ __pyx_t_1 = PyObject_RichCompare(__pyx_v_j, __pyx_v_i, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 72, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(14, 72, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* "mpi4py/MPI/opimpl.pxi":73 * return v, j * elif j < i: * return v, j # <<<<<<<<<<<<<< * else: * return u, i */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_v); __Pyx_GIVEREF(__pyx_v_v); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_v); __Pyx_INCREF(__pyx_v_j); __Pyx_GIVEREF(__pyx_v_j); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_j); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":72 * elif v < u: * return v, j * elif j < i: # <<<<<<<<<<<<<< * return v, j * else: */ } /* "mpi4py/MPI/opimpl.pxi":75 * return v, j * else: * return u, i # <<<<<<<<<<<<<< * * cdef object _op_REPLACE(object x, object y): */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 75, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_u); __Pyx_GIVEREF(__pyx_v_u); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_u); __Pyx_INCREF(__pyx_v_i); __Pyx_GIVEREF(__pyx_v_i); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_i); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":63 * return u, i * * cdef object _op_MINLOC(object x, object y): # <<<<<<<<<<<<<< * """minimum and location""" * cdef object i, j, u, v */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI._op_MINLOC", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_i); __Pyx_XDECREF(__pyx_v_j); __Pyx_XDECREF(__pyx_v_u); __Pyx_XDECREF(__pyx_v_v); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":77 * return u, i * * cdef object _op_REPLACE(object x, object y): # <<<<<<<<<<<<<< * """replace, (x, y) -> y""" * return y */ static PyObject *__pyx_f_6mpi4py_3MPI__op_REPLACE(CYTHON_UNUSED PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_op_REPLACE", 0); /* "mpi4py/MPI/opimpl.pxi":79 * cdef object _op_REPLACE(object x, object y): * """replace, (x, y) -> y""" * return y # <<<<<<<<<<<<<< * * cdef object _op_NO_OP(object x, object y): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_y); __pyx_r = __pyx_v_y; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":77 * return u, i * * cdef object _op_REPLACE(object x, object y): # <<<<<<<<<<<<<< * """replace, (x, y) -> y""" * return y */ /* function exit code */ __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":81 * return y * * cdef object _op_NO_OP(object x, object y): # <<<<<<<<<<<<<< * """no-op, (x, y) -> x""" * return x */ static PyObject *__pyx_f_6mpi4py_3MPI__op_NO_OP(PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_op_NO_OP", 0); /* "mpi4py/MPI/opimpl.pxi":83 * cdef object _op_NO_OP(object x, object y): * """no-op, (x, y) -> x""" * return x # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_x); __pyx_r = __pyx_v_x; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":81 * return y * * cdef object _op_NO_OP(object x, object y): # <<<<<<<<<<<<<< * """no-op, (x, y) -> x""" * return x */ /* function exit code */ __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":89 * cdef list op_user_registry = [None]*(1+32) * * cdef inline object op_user_py(int index, object x, object y, object dt): # <<<<<<<<<<<<<< * return op_user_registry[index](x, y, dt) * */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_op_user_py(int __pyx_v_index, PyObject *__pyx_v_x, PyObject *__pyx_v_y, PyObject *__pyx_v_dt) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("op_user_py", 0); /* "mpi4py/MPI/opimpl.pxi":90 * * cdef inline object op_user_py(int index, object x, object y, object dt): * return op_user_registry[index](x, y, dt) # <<<<<<<<<<<<<< * * cdef inline void op_user_mpi( */ __Pyx_XDECREF(__pyx_r); if (unlikely(__pyx_v_6mpi4py_3MPI_op_user_registry == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(14, 90, __pyx_L1_error) } __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_6mpi4py_3MPI_op_user_registry, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 1, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(14, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; 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_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_x, __pyx_v_y, __pyx_v_dt}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 90, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_x, __pyx_v_y, __pyx_v_dt}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 90, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(14, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_x); __Pyx_GIVEREF(__pyx_v_x); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_x); __Pyx_INCREF(__pyx_v_y); __Pyx_GIVEREF(__pyx_v_y); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_y); __Pyx_INCREF(__pyx_v_dt); __Pyx_GIVEREF(__pyx_v_dt); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_dt); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":89 * cdef list op_user_registry = [None]*(1+32) * * cdef inline object op_user_py(int index, object x, object y, object dt): # <<<<<<<<<<<<<< * return op_user_registry[index](x, y, dt) * */ /* 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("mpi4py.MPI.op_user_py", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":92 * return op_user_registry[index](x, y, dt) * * cdef inline void op_user_mpi( # <<<<<<<<<<<<<< * int index, void *a, void *b, MPI_Aint n, MPI_Datatype *t) with gil: * cdef Datatype datatype */ static CYTHON_INLINE void __pyx_f_6mpi4py_3MPI_op_user_mpi(int __pyx_v_index, void *__pyx_v_a, void *__pyx_v_b, MPI_Aint __pyx_v_n, MPI_Datatype *__pyx_v_t) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; __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; int __pyx_t_7; int __pyx_t_8; char const *__pyx_t_9; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; PyObject *__pyx_t_15 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("op_user_mpi", 0); /* "mpi4py/MPI/opimpl.pxi":96 * cdef Datatype datatype * # errors in user-defined reduction operations are unrecoverable * try: # <<<<<<<<<<<<<< * datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = t[0] */ { __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:*/ { /* "mpi4py/MPI/opimpl.pxi":97 * # errors in user-defined reduction operations are unrecoverable * try: * datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * datatype.ob_mpi = t[0] * try: op_user_py(index, tomemory(a, n), tomemory(b, n), datatype) */ __pyx_t_4 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 97, __pyx_L3_error) __Pyx_GOTREF(((PyObject *)__pyx_t_4)); __pyx_t_5 = ((PyObject *)__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/opimpl.pxi":98 * try: * datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = t[0] # <<<<<<<<<<<<<< * try: op_user_py(index, tomemory(a, n), tomemory(b, n), datatype) * finally: datatype.ob_mpi = MPI_DATATYPE_NULL */ __pyx_v_datatype->ob_mpi = (__pyx_v_t[0]); /* "mpi4py/MPI/opimpl.pxi":99 * datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = t[0] * try: op_user_py(index, tomemory(a, n), tomemory(b, n), datatype) # <<<<<<<<<<<<<< * finally: datatype.ob_mpi = MPI_DATATYPE_NULL * except: */ /*try:*/ { __pyx_t_5 = ((PyObject *)__pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_a, __pyx_v_n)); if (unlikely(!__pyx_t_5)) __PYX_ERR(14, 99, __pyx_L10_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = ((PyObject *)__pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_b, __pyx_v_n)); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 99, __pyx_L10_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __pyx_f_6mpi4py_3MPI_op_user_py(__pyx_v_index, __pyx_t_5, __pyx_t_4, ((PyObject *)__pyx_v_datatype)); if (unlikely(!__pyx_t_6)) __PYX_ERR(14, 99, __pyx_L10_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } /* "mpi4py/MPI/opimpl.pxi":100 * datatype.ob_mpi = t[0] * try: op_user_py(index, tomemory(a, n), tomemory(b, n), datatype) * finally: datatype.ob_mpi = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * except: * # print the full exception traceback and abort. */ /*finally:*/ { /*normal exit:*/{ __pyx_v_datatype->ob_mpi = MPI_DATATYPE_NULL; goto __pyx_L11; } __pyx_L10_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 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; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); __Pyx_XGOTREF(__pyx_t_10); __Pyx_XGOTREF(__pyx_t_11); __Pyx_XGOTREF(__pyx_t_12); __Pyx_XGOTREF(__pyx_t_13); __Pyx_XGOTREF(__pyx_t_14); __Pyx_XGOTREF(__pyx_t_15); __pyx_t_7 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; { __pyx_v_datatype->ob_mpi = MPI_DATATYPE_NULL; } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_13); __Pyx_XGIVEREF(__pyx_t_14); __Pyx_XGIVEREF(__pyx_t_15); __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); } __Pyx_XGIVEREF(__pyx_t_10); __Pyx_XGIVEREF(__pyx_t_11); __Pyx_XGIVEREF(__pyx_t_12); __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; goto __pyx_L3_error; } __pyx_L11:; } /* "mpi4py/MPI/opimpl.pxi":96 * cdef Datatype datatype * # errors in user-defined reduction operations are unrecoverable * try: # <<<<<<<<<<<<<< * datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = t[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; 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; /* "mpi4py/MPI/opimpl.pxi":101 * try: op_user_py(index, tomemory(a, n), tomemory(b, n), datatype) * finally: datatype.ob_mpi = MPI_DATATYPE_NULL * except: # <<<<<<<<<<<<<< * # print the full exception traceback and abort. * PySys_WriteStderr(b"Fatal Python error: %s\n", */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.op_user_mpi", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_5) < 0) __PYX_ERR(14, 101, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_5); /* "mpi4py/MPI/opimpl.pxi":103 * except: * # print the full exception traceback and abort. * PySys_WriteStderr(b"Fatal Python error: %s\n", # <<<<<<<<<<<<<< * b"exception in user-defined reduction operation") * try: print_traceback() */ PySys_WriteStderr(((char *)"Fatal Python error: %s\n"), ((char *)"exception in user-defined reduction operation")); /* "mpi4py/MPI/opimpl.pxi":105 * PySys_WriteStderr(b"Fatal Python error: %s\n", * b"exception in user-defined reduction operation") * try: print_traceback() # <<<<<<<<<<<<<< * finally: MPI_Abort(MPI_COMM_WORLD, 1) * */ /*try:*/ { __pyx_f_6mpi4py_3MPI_print_traceback(); } /* "mpi4py/MPI/opimpl.pxi":106 * b"exception in user-defined reduction operation") * try: print_traceback() * finally: MPI_Abort(MPI_COMM_WORLD, 1) # <<<<<<<<<<<<<< * * cdef inline void op_user_call( */ /*finally:*/ { /*normal exit:*/{ ((void)MPI_Abort(MPI_COMM_WORLD, 1)); goto __pyx_L20; } __pyx_L20:; } __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_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/opimpl.pxi":96 * cdef Datatype datatype * # errors in user-defined reduction operations are unrecoverable * try: # <<<<<<<<<<<<<< * datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = t[0] */ __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:; } /* "mpi4py/MPI/opimpl.pxi":92 * return op_user_registry[index](x, y, dt) * * cdef inline void op_user_mpi( # <<<<<<<<<<<<<< * int index, void *a, void *b, MPI_Aint n, MPI_Datatype *t) with gil: * cdef Datatype datatype */ /* 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_WriteUnraisable("mpi4py.MPI.op_user_mpi", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif } /* "mpi4py/MPI/opimpl.pxi":108 * finally: MPI_Abort(MPI_COMM_WORLD, 1) * * cdef inline void op_user_call( # <<<<<<<<<<<<<< * int index, void *a, void *b, int *plen, MPI_Datatype *t) nogil: * # make it abort if Python has finalized */ static CYTHON_INLINE void __pyx_f_6mpi4py_3MPI_op_user_call(int __pyx_v_index, void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_plen, MPI_Datatype *__pyx_v_t) { MPI_Aint __pyx_v_lb; MPI_Aint __pyx_v_extent; MPI_Aint __pyx_v_n; int __pyx_t_1; /* "mpi4py/MPI/opimpl.pxi":111 * int index, void *a, void *b, int *plen, MPI_Datatype *t) nogil: * # make it abort if Python has finalized * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * MPI_Abort(MPI_COMM_WORLD, 1) * # make it abort if module clenaup has been done */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/opimpl.pxi":112 * # make it abort if Python has finalized * if not Py_IsInitialized(): * MPI_Abort(MPI_COMM_WORLD, 1) # <<<<<<<<<<<<<< * # make it abort if module clenaup has been done * if (op_user_registry) == NULL: */ ((void)MPI_Abort(MPI_COMM_WORLD, 1)); /* "mpi4py/MPI/opimpl.pxi":111 * int index, void *a, void *b, int *plen, MPI_Datatype *t) nogil: * # make it abort if Python has finalized * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * MPI_Abort(MPI_COMM_WORLD, 1) * # make it abort if module clenaup has been done */ } /* "mpi4py/MPI/opimpl.pxi":114 * MPI_Abort(MPI_COMM_WORLD, 1) * # make it abort if module clenaup has been done * if (op_user_registry) == NULL: # <<<<<<<<<<<<<< * MPI_Abort(MPI_COMM_WORLD, 1) * # compute the byte-size of memory buffers */ __pyx_t_1 = ((((void *)__pyx_v_6mpi4py_3MPI_op_user_registry) == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/opimpl.pxi":115 * # make it abort if module clenaup has been done * if (op_user_registry) == NULL: * MPI_Abort(MPI_COMM_WORLD, 1) # <<<<<<<<<<<<<< * # compute the byte-size of memory buffers * cdef MPI_Aint lb=0, extent=0 */ ((void)MPI_Abort(MPI_COMM_WORLD, 1)); /* "mpi4py/MPI/opimpl.pxi":114 * MPI_Abort(MPI_COMM_WORLD, 1) * # make it abort if module clenaup has been done * if (op_user_registry) == NULL: # <<<<<<<<<<<<<< * MPI_Abort(MPI_COMM_WORLD, 1) * # compute the byte-size of memory buffers */ } /* "mpi4py/MPI/opimpl.pxi":117 * MPI_Abort(MPI_COMM_WORLD, 1) * # compute the byte-size of memory buffers * cdef MPI_Aint lb=0, extent=0 # <<<<<<<<<<<<<< * MPI_Type_get_extent(t[0], &lb, &extent) * cdef MPI_Aint n = plen[0] * extent */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/opimpl.pxi":118 * # compute the byte-size of memory buffers * cdef MPI_Aint lb=0, extent=0 * MPI_Type_get_extent(t[0], &lb, &extent) # <<<<<<<<<<<<<< * cdef MPI_Aint n = plen[0] * extent * # make the actual GIL-safe Python call */ ((void)MPI_Type_get_extent((__pyx_v_t[0]), (&__pyx_v_lb), (&__pyx_v_extent))); /* "mpi4py/MPI/opimpl.pxi":119 * cdef MPI_Aint lb=0, extent=0 * MPI_Type_get_extent(t[0], &lb, &extent) * cdef MPI_Aint n = plen[0] * extent # <<<<<<<<<<<<<< * # make the actual GIL-safe Python call * op_user_mpi(index, a, b, n, t) */ __pyx_v_n = (((MPI_Aint)(__pyx_v_plen[0])) * __pyx_v_extent); /* "mpi4py/MPI/opimpl.pxi":121 * cdef MPI_Aint n = plen[0] * extent * # make the actual GIL-safe Python call * op_user_mpi(index, a, b, n, t) # <<<<<<<<<<<<<< * * @cython.callspec("MPIAPI") */ __pyx_f_6mpi4py_3MPI_op_user_mpi(__pyx_v_index, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":108 * finally: MPI_Abort(MPI_COMM_WORLD, 1) * * cdef inline void op_user_call( # <<<<<<<<<<<<<< * int index, void *a, void *b, int *plen, MPI_Datatype *t) nogil: * # make it abort if Python has finalized */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":124 * * @cython.callspec("MPIAPI") * cdef void op_user_01(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 1, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_01(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":125 * @cython.callspec("MPIAPI") * cdef void op_user_01(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call( 1, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_02(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(1, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":124 * * @cython.callspec("MPIAPI") * cdef void op_user_01(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 1, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":127 * op_user_call( 1, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_02(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 2, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_02(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":128 * @cython.callspec("MPIAPI") * cdef void op_user_02(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call( 2, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_03(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(2, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":127 * op_user_call( 1, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_02(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 2, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":130 * op_user_call( 2, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_03(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 3, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_03(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":131 * @cython.callspec("MPIAPI") * cdef void op_user_03(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call( 3, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_04(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(3, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":130 * op_user_call( 2, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_03(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 3, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":133 * op_user_call( 3, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_04(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 4, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_04(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":134 * @cython.callspec("MPIAPI") * cdef void op_user_04(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call( 4, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_05(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(4, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":133 * op_user_call( 3, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_04(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 4, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":136 * op_user_call( 4, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_05(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 5, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_05(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":137 * @cython.callspec("MPIAPI") * cdef void op_user_05(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call( 5, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_06(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(5, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":136 * op_user_call( 4, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_05(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 5, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":139 * op_user_call( 5, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_06(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 6, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_06(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":140 * @cython.callspec("MPIAPI") * cdef void op_user_06(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call( 6, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_07(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(6, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":139 * op_user_call( 5, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_06(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 6, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":142 * op_user_call( 6, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_07(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 7, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_07(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":143 * @cython.callspec("MPIAPI") * cdef void op_user_07(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call( 7, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_08(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(7, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":142 * op_user_call( 6, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_07(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 7, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":145 * op_user_call( 7, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_08(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 8, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_08(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":146 * @cython.callspec("MPIAPI") * cdef void op_user_08(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call( 8, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_09(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(8, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":145 * op_user_call( 7, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_08(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 8, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":148 * op_user_call( 8, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_09(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 9, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_09(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":149 * @cython.callspec("MPIAPI") * cdef void op_user_09(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call( 9, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_10(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(9, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":148 * op_user_call( 8, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_09(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call( 9, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":151 * op_user_call( 9, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_10(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(10, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_10(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":152 * @cython.callspec("MPIAPI") * cdef void op_user_10(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(10, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_11(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(10, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":151 * op_user_call( 9, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_10(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(10, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":154 * op_user_call(10, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_11(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(11, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_11(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":155 * @cython.callspec("MPIAPI") * cdef void op_user_11(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(11, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_12(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(11, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":154 * op_user_call(10, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_11(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(11, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":157 * op_user_call(11, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_12(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(12, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_12(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":158 * @cython.callspec("MPIAPI") * cdef void op_user_12(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(12, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_13(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(12, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":157 * op_user_call(11, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_12(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(12, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":160 * op_user_call(12, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_13(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(13, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_13(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":161 * @cython.callspec("MPIAPI") * cdef void op_user_13(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(13, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_14(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(13, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":160 * op_user_call(12, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_13(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(13, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":163 * op_user_call(13, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_14(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(14, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_14(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":164 * @cython.callspec("MPIAPI") * cdef void op_user_14(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(14, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_15(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(14, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":163 * op_user_call(13, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_14(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(14, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":166 * op_user_call(14, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_15(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(15, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_15(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":167 * @cython.callspec("MPIAPI") * cdef void op_user_15(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(15, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_16(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(15, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":166 * op_user_call(14, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_15(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(15, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":169 * op_user_call(15, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_16(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(16, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_16(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":170 * @cython.callspec("MPIAPI") * cdef void op_user_16(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(16, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_17(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(16, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":169 * op_user_call(15, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_16(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(16, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":172 * op_user_call(16, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_17(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(17, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_17(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":173 * @cython.callspec("MPIAPI") * cdef void op_user_17(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(17, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_18(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(17, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":172 * op_user_call(16, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_17(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(17, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":175 * op_user_call(17, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_18(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(18, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_18(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":176 * @cython.callspec("MPIAPI") * cdef void op_user_18(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(18, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_19(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(18, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":175 * op_user_call(17, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_18(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(18, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":178 * op_user_call(18, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_19(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(19, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_19(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":179 * @cython.callspec("MPIAPI") * cdef void op_user_19(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(19, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_20(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(19, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":178 * op_user_call(18, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_19(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(19, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":181 * op_user_call(19, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_20(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(20, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_20(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":182 * @cython.callspec("MPIAPI") * cdef void op_user_20(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(20, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_21(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(20, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":181 * op_user_call(19, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_20(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(20, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":184 * op_user_call(20, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_21(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(21, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_21(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":185 * @cython.callspec("MPIAPI") * cdef void op_user_21(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(21, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_22(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(21, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":184 * op_user_call(20, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_21(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(21, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":187 * op_user_call(21, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_22(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(22, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_22(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":188 * @cython.callspec("MPIAPI") * cdef void op_user_22(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(22, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_23(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(22, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":187 * op_user_call(21, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_22(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(22, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":190 * op_user_call(22, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_23(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(23, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_23(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":191 * @cython.callspec("MPIAPI") * cdef void op_user_23(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(23, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_24(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(23, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":190 * op_user_call(22, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_23(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(23, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":193 * op_user_call(23, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_24(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(24, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_24(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":194 * @cython.callspec("MPIAPI") * cdef void op_user_24(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(24, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_25(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(24, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":193 * op_user_call(23, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_24(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(24, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":196 * op_user_call(24, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_25(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(25, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_25(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":197 * @cython.callspec("MPIAPI") * cdef void op_user_25(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(25, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_26(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(25, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":196 * op_user_call(24, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_25(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(25, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":199 * op_user_call(25, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_26(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(26, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_26(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":200 * @cython.callspec("MPIAPI") * cdef void op_user_26(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(26, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_27(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(26, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":199 * op_user_call(25, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_26(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(26, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":202 * op_user_call(26, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_27(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(27, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_27(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":203 * @cython.callspec("MPIAPI") * cdef void op_user_27(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(27, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_28(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(27, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":202 * op_user_call(26, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_27(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(27, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":205 * op_user_call(27, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_28(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(28, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_28(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":206 * @cython.callspec("MPIAPI") * cdef void op_user_28(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(28, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_29(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(28, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":205 * op_user_call(27, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_28(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(28, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":208 * op_user_call(28, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_29(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(29, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_29(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":209 * @cython.callspec("MPIAPI") * cdef void op_user_29(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(29, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_30(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(29, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":208 * op_user_call(28, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_29(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(29, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":211 * op_user_call(29, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_30(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(30, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_30(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":212 * @cython.callspec("MPIAPI") * cdef void op_user_30(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(30, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_31(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(30, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":211 * op_user_call(29, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_30(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(30, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":214 * op_user_call(30, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_31(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(31, a, b, n, t) * @cython.callspec("MPIAPI") */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_31(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":215 * @cython.callspec("MPIAPI") * cdef void op_user_31(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(31, a, b, n, t) # <<<<<<<<<<<<<< * @cython.callspec("MPIAPI") * cdef void op_user_32(void *a, void *b, int *n, MPI_Datatype *t) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(31, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":214 * op_user_call(30, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_31(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(31, a, b, n, t) * @cython.callspec("MPIAPI") */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":217 * op_user_call(31, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_32(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(32, a, b, n, t) * */ static void MPIAPI __pyx_f_6mpi4py_3MPI_op_user_32(void *__pyx_v_a, void *__pyx_v_b, int *__pyx_v_n, MPI_Datatype *__pyx_v_t) { /* "mpi4py/MPI/opimpl.pxi":218 * @cython.callspec("MPIAPI") * cdef void op_user_32(void *a, void *b, int *n, MPI_Datatype *t) nogil: * op_user_call(32, a, b, n, t) # <<<<<<<<<<<<<< * * cdef MPI_User_function *op_user_map(int index) nogil: */ __pyx_f_6mpi4py_3MPI_op_user_call(32, __pyx_v_a, __pyx_v_b, __pyx_v_n, __pyx_v_t); /* "mpi4py/MPI/opimpl.pxi":217 * op_user_call(31, a, b, n, t) * @cython.callspec("MPIAPI") * cdef void op_user_32(void *a, void *b, int *n, MPI_Datatype *t) nogil: # <<<<<<<<<<<<<< * op_user_call(32, a, b, n, t) * */ /* function exit code */ } /* "mpi4py/MPI/opimpl.pxi":220 * op_user_call(32, a, b, n, t) * * cdef MPI_User_function *op_user_map(int index) nogil: # <<<<<<<<<<<<<< * if index == 1: return op_user_01 * elif index == 2: return op_user_02 */ static MPI_User_function *__pyx_f_6mpi4py_3MPI_op_user_map(int __pyx_v_index) { MPI_User_function *__pyx_r; int __pyx_t_1; /* "mpi4py/MPI/opimpl.pxi":221 * * cdef MPI_User_function *op_user_map(int index) nogil: * if index == 1: return op_user_01 # <<<<<<<<<<<<<< * elif index == 2: return op_user_02 * elif index == 3: return op_user_03 */ __pyx_t_1 = ((__pyx_v_index == 1) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_01; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":222 * cdef MPI_User_function *op_user_map(int index) nogil: * if index == 1: return op_user_01 * elif index == 2: return op_user_02 # <<<<<<<<<<<<<< * elif index == 3: return op_user_03 * elif index == 4: return op_user_04 */ __pyx_t_1 = ((__pyx_v_index == 2) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_02; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":223 * if index == 1: return op_user_01 * elif index == 2: return op_user_02 * elif index == 3: return op_user_03 # <<<<<<<<<<<<<< * elif index == 4: return op_user_04 * elif index == 5: return op_user_05 */ __pyx_t_1 = ((__pyx_v_index == 3) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_03; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":224 * elif index == 2: return op_user_02 * elif index == 3: return op_user_03 * elif index == 4: return op_user_04 # <<<<<<<<<<<<<< * elif index == 5: return op_user_05 * elif index == 6: return op_user_06 */ __pyx_t_1 = ((__pyx_v_index == 4) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_04; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":225 * elif index == 3: return op_user_03 * elif index == 4: return op_user_04 * elif index == 5: return op_user_05 # <<<<<<<<<<<<<< * elif index == 6: return op_user_06 * elif index == 7: return op_user_07 */ __pyx_t_1 = ((__pyx_v_index == 5) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_05; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":226 * elif index == 4: return op_user_04 * elif index == 5: return op_user_05 * elif index == 6: return op_user_06 # <<<<<<<<<<<<<< * elif index == 7: return op_user_07 * elif index == 8: return op_user_08 */ __pyx_t_1 = ((__pyx_v_index == 6) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_06; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":227 * elif index == 5: return op_user_05 * elif index == 6: return op_user_06 * elif index == 7: return op_user_07 # <<<<<<<<<<<<<< * elif index == 8: return op_user_08 * elif index == 9: return op_user_09 */ __pyx_t_1 = ((__pyx_v_index == 7) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_07; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":228 * elif index == 6: return op_user_06 * elif index == 7: return op_user_07 * elif index == 8: return op_user_08 # <<<<<<<<<<<<<< * elif index == 9: return op_user_09 * elif index == 10: return op_user_10 */ __pyx_t_1 = ((__pyx_v_index == 8) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_08; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":229 * elif index == 7: return op_user_07 * elif index == 8: return op_user_08 * elif index == 9: return op_user_09 # <<<<<<<<<<<<<< * elif index == 10: return op_user_10 * elif index == 11: return op_user_11 */ __pyx_t_1 = ((__pyx_v_index == 9) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_09; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":230 * elif index == 8: return op_user_08 * elif index == 9: return op_user_09 * elif index == 10: return op_user_10 # <<<<<<<<<<<<<< * elif index == 11: return op_user_11 * elif index == 12: return op_user_12 */ __pyx_t_1 = ((__pyx_v_index == 10) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_10; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":231 * elif index == 9: return op_user_09 * elif index == 10: return op_user_10 * elif index == 11: return op_user_11 # <<<<<<<<<<<<<< * elif index == 12: return op_user_12 * elif index == 13: return op_user_13 */ __pyx_t_1 = ((__pyx_v_index == 11) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_11; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":232 * elif index == 10: return op_user_10 * elif index == 11: return op_user_11 * elif index == 12: return op_user_12 # <<<<<<<<<<<<<< * elif index == 13: return op_user_13 * elif index == 14: return op_user_14 */ __pyx_t_1 = ((__pyx_v_index == 12) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_12; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":233 * elif index == 11: return op_user_11 * elif index == 12: return op_user_12 * elif index == 13: return op_user_13 # <<<<<<<<<<<<<< * elif index == 14: return op_user_14 * elif index == 15: return op_user_15 */ __pyx_t_1 = ((__pyx_v_index == 13) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_13; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":234 * elif index == 12: return op_user_12 * elif index == 13: return op_user_13 * elif index == 14: return op_user_14 # <<<<<<<<<<<<<< * elif index == 15: return op_user_15 * elif index == 16: return op_user_16 */ __pyx_t_1 = ((__pyx_v_index == 14) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_14; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":235 * elif index == 13: return op_user_13 * elif index == 14: return op_user_14 * elif index == 15: return op_user_15 # <<<<<<<<<<<<<< * elif index == 16: return op_user_16 * elif index == 17: return op_user_17 */ __pyx_t_1 = ((__pyx_v_index == 15) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_15; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":236 * elif index == 14: return op_user_14 * elif index == 15: return op_user_15 * elif index == 16: return op_user_16 # <<<<<<<<<<<<<< * elif index == 17: return op_user_17 * elif index == 18: return op_user_18 */ __pyx_t_1 = ((__pyx_v_index == 16) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_16; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":237 * elif index == 15: return op_user_15 * elif index == 16: return op_user_16 * elif index == 17: return op_user_17 # <<<<<<<<<<<<<< * elif index == 18: return op_user_18 * elif index == 19: return op_user_19 */ __pyx_t_1 = ((__pyx_v_index == 17) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_17; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":238 * elif index == 16: return op_user_16 * elif index == 17: return op_user_17 * elif index == 18: return op_user_18 # <<<<<<<<<<<<<< * elif index == 19: return op_user_19 * elif index == 20: return op_user_20 */ __pyx_t_1 = ((__pyx_v_index == 18) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_18; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":239 * elif index == 17: return op_user_17 * elif index == 18: return op_user_18 * elif index == 19: return op_user_19 # <<<<<<<<<<<<<< * elif index == 20: return op_user_20 * elif index == 21: return op_user_21 */ __pyx_t_1 = ((__pyx_v_index == 19) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_19; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":240 * elif index == 18: return op_user_18 * elif index == 19: return op_user_19 * elif index == 20: return op_user_20 # <<<<<<<<<<<<<< * elif index == 21: return op_user_21 * elif index == 22: return op_user_22 */ __pyx_t_1 = ((__pyx_v_index == 20) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_20; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":241 * elif index == 19: return op_user_19 * elif index == 20: return op_user_20 * elif index == 21: return op_user_21 # <<<<<<<<<<<<<< * elif index == 22: return op_user_22 * elif index == 23: return op_user_23 */ __pyx_t_1 = ((__pyx_v_index == 21) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_21; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":242 * elif index == 20: return op_user_20 * elif index == 21: return op_user_21 * elif index == 22: return op_user_22 # <<<<<<<<<<<<<< * elif index == 23: return op_user_23 * elif index == 24: return op_user_24 */ __pyx_t_1 = ((__pyx_v_index == 22) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_22; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":243 * elif index == 21: return op_user_21 * elif index == 22: return op_user_22 * elif index == 23: return op_user_23 # <<<<<<<<<<<<<< * elif index == 24: return op_user_24 * elif index == 25: return op_user_25 */ __pyx_t_1 = ((__pyx_v_index == 23) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_23; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":244 * elif index == 22: return op_user_22 * elif index == 23: return op_user_23 * elif index == 24: return op_user_24 # <<<<<<<<<<<<<< * elif index == 25: return op_user_25 * elif index == 26: return op_user_26 */ __pyx_t_1 = ((__pyx_v_index == 24) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_24; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":245 * elif index == 23: return op_user_23 * elif index == 24: return op_user_24 * elif index == 25: return op_user_25 # <<<<<<<<<<<<<< * elif index == 26: return op_user_26 * elif index == 27: return op_user_27 */ __pyx_t_1 = ((__pyx_v_index == 25) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_25; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":246 * elif index == 24: return op_user_24 * elif index == 25: return op_user_25 * elif index == 26: return op_user_26 # <<<<<<<<<<<<<< * elif index == 27: return op_user_27 * elif index == 28: return op_user_28 */ __pyx_t_1 = ((__pyx_v_index == 26) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_26; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":247 * elif index == 25: return op_user_25 * elif index == 26: return op_user_26 * elif index == 27: return op_user_27 # <<<<<<<<<<<<<< * elif index == 28: return op_user_28 * elif index == 29: return op_user_29 */ __pyx_t_1 = ((__pyx_v_index == 27) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_27; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":248 * elif index == 26: return op_user_26 * elif index == 27: return op_user_27 * elif index == 28: return op_user_28 # <<<<<<<<<<<<<< * elif index == 29: return op_user_29 * elif index == 30: return op_user_30 */ __pyx_t_1 = ((__pyx_v_index == 28) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_28; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":249 * elif index == 27: return op_user_27 * elif index == 28: return op_user_28 * elif index == 29: return op_user_29 # <<<<<<<<<<<<<< * elif index == 30: return op_user_30 * elif index == 31: return op_user_31 */ __pyx_t_1 = ((__pyx_v_index == 29) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_29; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":250 * elif index == 28: return op_user_28 * elif index == 29: return op_user_29 * elif index == 30: return op_user_30 # <<<<<<<<<<<<<< * elif index == 31: return op_user_31 * elif index == 32: return op_user_32 */ __pyx_t_1 = ((__pyx_v_index == 30) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_30; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":251 * elif index == 29: return op_user_29 * elif index == 30: return op_user_30 * elif index == 31: return op_user_31 # <<<<<<<<<<<<<< * elif index == 32: return op_user_32 * else: return NULL */ __pyx_t_1 = ((__pyx_v_index == 31) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_31; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":252 * elif index == 30: return op_user_30 * elif index == 31: return op_user_31 * elif index == 32: return op_user_32 # <<<<<<<<<<<<<< * else: return NULL * */ __pyx_t_1 = ((__pyx_v_index == 32) != 0); if (__pyx_t_1) { __pyx_r = __pyx_f_6mpi4py_3MPI_op_user_32; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":253 * elif index == 31: return op_user_31 * elif index == 32: return op_user_32 * else: return NULL # <<<<<<<<<<<<<< * * cdef int op_user_new(object function, MPI_User_function **cfunction) except -1: */ /*else*/ { __pyx_r = NULL; goto __pyx_L0; } /* "mpi4py/MPI/opimpl.pxi":220 * op_user_call(32, a, b, n, t) * * cdef MPI_User_function *op_user_map(int index) nogil: # <<<<<<<<<<<<<< * if index == 1: return op_user_01 * elif index == 2: return op_user_02 */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":255 * else: return NULL * * cdef int op_user_new(object function, MPI_User_function **cfunction) except -1: # <<<<<<<<<<<<<< * # find a free slot in the registry * cdef int index = 0 */ static int __pyx_f_6mpi4py_3MPI_op_user_new(PyObject *__pyx_v_function, MPI_User_function **__pyx_v_cfunction) { int __pyx_v_index; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("op_user_new", 0); /* "mpi4py/MPI/opimpl.pxi":257 * cdef int op_user_new(object function, MPI_User_function **cfunction) except -1: * # find a free slot in the registry * cdef int index = 0 # <<<<<<<<<<<<<< * try: * index = op_user_registry.index(None, 1) */ __pyx_v_index = 0; /* "mpi4py/MPI/opimpl.pxi":258 * # find a free slot in the registry * cdef int index = 0 * try: # <<<<<<<<<<<<<< * index = op_user_registry.index(None, 1) * except ValueError: */ { __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:*/ { /* "mpi4py/MPI/opimpl.pxi":259 * cdef int index = 0 * try: * index = op_user_registry.index(None, 1) # <<<<<<<<<<<<<< * except ValueError: * raise RuntimeError("cannot create too many " */ __pyx_t_4 = __Pyx_CallUnboundCMethod2(&__pyx_umethod_PyList_Type_index, __pyx_v_6mpi4py_3MPI_op_user_registry, Py_None, __pyx_int_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 259, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(14, 259, __pyx_L3_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_index = __pyx_t_5; /* "mpi4py/MPI/opimpl.pxi":258 * # find a free slot in the registry * cdef int index = 0 * try: # <<<<<<<<<<<<<< * index = op_user_registry.index(None, 1) * except ValueError: */ } __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; /* "mpi4py/MPI/opimpl.pxi":260 * try: * index = op_user_registry.index(None, 1) * except ValueError: # <<<<<<<<<<<<<< * raise RuntimeError("cannot create too many " * "user-defined reduction operations") */ __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError); if (__pyx_t_5) { __Pyx_AddTraceback("mpi4py.MPI.op_user_new", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(14, 260, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); /* "mpi4py/MPI/opimpl.pxi":261 * index = op_user_registry.index(None, 1) * except ValueError: * raise RuntimeError("cannot create too many " # <<<<<<<<<<<<<< * "user-defined reduction operations") * # the line below will fail */ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(14, 261, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(14, 261, __pyx_L5_except_error) } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "mpi4py/MPI/opimpl.pxi":258 * # find a free slot in the registry * cdef int index = 0 * try: # <<<<<<<<<<<<<< * index = op_user_registry.index(None, 1) * except ValueError: */ __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:; } /* "mpi4py/MPI/opimpl.pxi":265 * # the line below will fail * # if the function is not callable * function.__call__ # <<<<<<<<<<<<<< * # register the Python function, * # map it to the associated C function, */ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_function, __pyx_n_s_call); if (unlikely(!__pyx_t_7)) __PYX_ERR(14, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/opimpl.pxi":269 * # map it to the associated C function, * # and return the slot index in registry * op_user_registry[index] = function # <<<<<<<<<<<<<< * cfunction[0] = op_user_map(index) * return index */ if (unlikely(__pyx_v_6mpi4py_3MPI_op_user_registry == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(14, 269, __pyx_L1_error) } if (unlikely(__Pyx_SetItemInt(__pyx_v_6mpi4py_3MPI_op_user_registry, __pyx_v_index, __pyx_v_function, int, 1, __Pyx_PyInt_From_int, 1, 1, 1) < 0)) __PYX_ERR(14, 269, __pyx_L1_error) /* "mpi4py/MPI/opimpl.pxi":270 * # and return the slot index in registry * op_user_registry[index] = function * cfunction[0] = op_user_map(index) # <<<<<<<<<<<<<< * return index * */ (__pyx_v_cfunction[0]) = __pyx_f_6mpi4py_3MPI_op_user_map(__pyx_v_index); /* "mpi4py/MPI/opimpl.pxi":271 * op_user_registry[index] = function * cfunction[0] = op_user_map(index) * return index # <<<<<<<<<<<<<< * * cdef int op_user_del(int *indexp) except -1: */ __pyx_r = __pyx_v_index; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":255 * else: return NULL * * cdef int op_user_new(object function, MPI_User_function **cfunction) except -1: # <<<<<<<<<<<<<< * # find a free slot in the registry * cdef int index = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("mpi4py.MPI.op_user_new", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/opimpl.pxi":273 * return index * * cdef int op_user_del(int *indexp) except -1: # <<<<<<<<<<<<<< * # free slot in the registry * cdef int index = indexp[0] */ static int __pyx_f_6mpi4py_3MPI_op_user_del(int *__pyx_v_indexp) { int __pyx_v_index; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("op_user_del", 0); /* "mpi4py/MPI/opimpl.pxi":275 * cdef int op_user_del(int *indexp) except -1: * # free slot in the registry * cdef int index = indexp[0] # <<<<<<<<<<<<<< * indexp[0] = 0 # clear the value * op_user_registry[index] = None */ __pyx_v_index = (__pyx_v_indexp[0]); /* "mpi4py/MPI/opimpl.pxi":276 * # free slot in the registry * cdef int index = indexp[0] * indexp[0] = 0 # clear the value # <<<<<<<<<<<<<< * op_user_registry[index] = None * return 0 */ (__pyx_v_indexp[0]) = 0; /* "mpi4py/MPI/opimpl.pxi":277 * cdef int index = indexp[0] * indexp[0] = 0 # clear the value * op_user_registry[index] = None # <<<<<<<<<<<<<< * return 0 * */ if (unlikely(__pyx_v_6mpi4py_3MPI_op_user_registry == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(14, 277, __pyx_L1_error) } if (unlikely(__Pyx_SetItemInt(__pyx_v_6mpi4py_3MPI_op_user_registry, __pyx_v_index, Py_None, int, 1, __Pyx_PyInt_From_int, 1, 1, 1) < 0)) __PYX_ERR(14, 277, __pyx_L1_error) /* "mpi4py/MPI/opimpl.pxi":278 * indexp[0] = 0 # clear the value * op_user_registry[index] = None * return 0 # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/opimpl.pxi":273 * return index * * cdef int op_user_del(int *indexp) except -1: # <<<<<<<<<<<<<< * # free slot in the registry * cdef int index = indexp[0] */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.op_user_del", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":163 * include "opimpl.pxi" * * cdef inline Op new_Op(MPI_Op ob): # <<<<<<<<<<<<<< * cdef Op op = Op.__new__(Op) * op.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIOpObject *__pyx_f_6mpi4py_3MPI_new_Op(MPI_Op __pyx_v_ob) { struct PyMPIOpObject *__pyx_v_op = 0; struct PyMPIOpObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("new_Op", 0); /* "mpi4py/MPI/helpers.pxi":164 * * cdef inline Op new_Op(MPI_Op ob): * cdef Op op = Op.__new__(Op) # <<<<<<<<<<<<<< * op.ob_mpi = ob * if ob == MPI_OP_NULL : op.ob_func = NULL */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Op(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Op), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 164, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_op = ((struct PyMPIOpObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":165 * cdef inline Op new_Op(MPI_Op ob): * cdef Op op = Op.__new__(Op) * op.ob_mpi = ob # <<<<<<<<<<<<<< * if ob == MPI_OP_NULL : op.ob_func = NULL * elif ob == MPI_MAX : op.ob_func = _op_MAX */ __pyx_v_op->ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":166 * cdef Op op = Op.__new__(Op) * op.ob_mpi = ob * if ob == MPI_OP_NULL : op.ob_func = NULL # <<<<<<<<<<<<<< * elif ob == MPI_MAX : op.ob_func = _op_MAX * elif ob == MPI_MIN : op.ob_func = _op_MIN */ __pyx_t_3 = ((__pyx_v_ob == MPI_OP_NULL) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = NULL; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":167 * op.ob_mpi = ob * if ob == MPI_OP_NULL : op.ob_func = NULL * elif ob == MPI_MAX : op.ob_func = _op_MAX # <<<<<<<<<<<<<< * elif ob == MPI_MIN : op.ob_func = _op_MIN * elif ob == MPI_SUM : op.ob_func = _op_SUM */ __pyx_t_3 = ((__pyx_v_ob == MPI_MAX) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_MAX; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":168 * if ob == MPI_OP_NULL : op.ob_func = NULL * elif ob == MPI_MAX : op.ob_func = _op_MAX * elif ob == MPI_MIN : op.ob_func = _op_MIN # <<<<<<<<<<<<<< * elif ob == MPI_SUM : op.ob_func = _op_SUM * elif ob == MPI_PROD : op.ob_func = _op_PROD */ __pyx_t_3 = ((__pyx_v_ob == MPI_MIN) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_MIN; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":169 * elif ob == MPI_MAX : op.ob_func = _op_MAX * elif ob == MPI_MIN : op.ob_func = _op_MIN * elif ob == MPI_SUM : op.ob_func = _op_SUM # <<<<<<<<<<<<<< * elif ob == MPI_PROD : op.ob_func = _op_PROD * elif ob == MPI_LAND : op.ob_func = _op_LAND */ __pyx_t_3 = ((__pyx_v_ob == MPI_SUM) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_SUM; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":170 * elif ob == MPI_MIN : op.ob_func = _op_MIN * elif ob == MPI_SUM : op.ob_func = _op_SUM * elif ob == MPI_PROD : op.ob_func = _op_PROD # <<<<<<<<<<<<<< * elif ob == MPI_LAND : op.ob_func = _op_LAND * elif ob == MPI_BAND : op.ob_func = _op_BAND */ __pyx_t_3 = ((__pyx_v_ob == MPI_PROD) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_PROD; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":171 * elif ob == MPI_SUM : op.ob_func = _op_SUM * elif ob == MPI_PROD : op.ob_func = _op_PROD * elif ob == MPI_LAND : op.ob_func = _op_LAND # <<<<<<<<<<<<<< * elif ob == MPI_BAND : op.ob_func = _op_BAND * elif ob == MPI_LOR : op.ob_func = _op_LOR */ __pyx_t_3 = ((__pyx_v_ob == MPI_LAND) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_LAND; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":172 * elif ob == MPI_PROD : op.ob_func = _op_PROD * elif ob == MPI_LAND : op.ob_func = _op_LAND * elif ob == MPI_BAND : op.ob_func = _op_BAND # <<<<<<<<<<<<<< * elif ob == MPI_LOR : op.ob_func = _op_LOR * elif ob == MPI_BOR : op.ob_func = _op_BOR */ __pyx_t_3 = ((__pyx_v_ob == MPI_BAND) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_BAND; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":173 * elif ob == MPI_LAND : op.ob_func = _op_LAND * elif ob == MPI_BAND : op.ob_func = _op_BAND * elif ob == MPI_LOR : op.ob_func = _op_LOR # <<<<<<<<<<<<<< * elif ob == MPI_BOR : op.ob_func = _op_BOR * elif ob == MPI_LXOR : op.ob_func = _op_LXOR */ __pyx_t_3 = ((__pyx_v_ob == MPI_LOR) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_LOR; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":174 * elif ob == MPI_BAND : op.ob_func = _op_BAND * elif ob == MPI_LOR : op.ob_func = _op_LOR * elif ob == MPI_BOR : op.ob_func = _op_BOR # <<<<<<<<<<<<<< * elif ob == MPI_LXOR : op.ob_func = _op_LXOR * elif ob == MPI_BXOR : op.ob_func = _op_BXOR */ __pyx_t_3 = ((__pyx_v_ob == MPI_BOR) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_BOR; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":175 * elif ob == MPI_LOR : op.ob_func = _op_LOR * elif ob == MPI_BOR : op.ob_func = _op_BOR * elif ob == MPI_LXOR : op.ob_func = _op_LXOR # <<<<<<<<<<<<<< * elif ob == MPI_BXOR : op.ob_func = _op_BXOR * elif ob == MPI_MAXLOC : op.ob_func = _op_MAXLOC */ __pyx_t_3 = ((__pyx_v_ob == MPI_LXOR) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_LXOR; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":176 * elif ob == MPI_BOR : op.ob_func = _op_BOR * elif ob == MPI_LXOR : op.ob_func = _op_LXOR * elif ob == MPI_BXOR : op.ob_func = _op_BXOR # <<<<<<<<<<<<<< * elif ob == MPI_MAXLOC : op.ob_func = _op_MAXLOC * elif ob == MPI_MINLOC : op.ob_func = _op_MINLOC */ __pyx_t_3 = ((__pyx_v_ob == MPI_BXOR) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_BXOR; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":177 * elif ob == MPI_LXOR : op.ob_func = _op_LXOR * elif ob == MPI_BXOR : op.ob_func = _op_BXOR * elif ob == MPI_MAXLOC : op.ob_func = _op_MAXLOC # <<<<<<<<<<<<<< * elif ob == MPI_MINLOC : op.ob_func = _op_MINLOC * elif ob == MPI_REPLACE : op.ob_func = _op_REPLACE */ __pyx_t_3 = ((__pyx_v_ob == MPI_MAXLOC) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_MAXLOC; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":178 * elif ob == MPI_BXOR : op.ob_func = _op_BXOR * elif ob == MPI_MAXLOC : op.ob_func = _op_MAXLOC * elif ob == MPI_MINLOC : op.ob_func = _op_MINLOC # <<<<<<<<<<<<<< * elif ob == MPI_REPLACE : op.ob_func = _op_REPLACE * elif ob == MPI_NO_OP : op.ob_func = _op_NO_OP */ __pyx_t_3 = ((__pyx_v_ob == MPI_MINLOC) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_MINLOC; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":179 * elif ob == MPI_MAXLOC : op.ob_func = _op_MAXLOC * elif ob == MPI_MINLOC : op.ob_func = _op_MINLOC * elif ob == MPI_REPLACE : op.ob_func = _op_REPLACE # <<<<<<<<<<<<<< * elif ob == MPI_NO_OP : op.ob_func = _op_NO_OP * return op */ __pyx_t_3 = ((__pyx_v_ob == MPI_REPLACE) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_REPLACE; goto __pyx_L3; } /* "mpi4py/MPI/helpers.pxi":180 * elif ob == MPI_MINLOC : op.ob_func = _op_MINLOC * elif ob == MPI_REPLACE : op.ob_func = _op_REPLACE * elif ob == MPI_NO_OP : op.ob_func = _op_NO_OP # <<<<<<<<<<<<<< * return op * */ __pyx_t_3 = ((__pyx_v_ob == MPI_NO_OP) != 0); if (__pyx_t_3) { __pyx_v_op->ob_func = __pyx_f_6mpi4py_3MPI__op_NO_OP; } __pyx_L3:; /* "mpi4py/MPI/helpers.pxi":181 * elif ob == MPI_REPLACE : op.ob_func = _op_REPLACE * elif ob == MPI_NO_OP : op.ob_func = _op_NO_OP * return op # <<<<<<<<<<<<<< * * cdef inline int del_Op(MPI_Op* ob): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_op)); __pyx_r = __pyx_v_op; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":163 * include "opimpl.pxi" * * cdef inline Op new_Op(MPI_Op ob): # <<<<<<<<<<<<<< * cdef Op op = Op.__new__(Op) * op.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.new_Op", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_op); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":183 * return op * * cdef inline int del_Op(MPI_Op* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_OP_NULL : return 0 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Op(MPI_Op *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("del_Op", 0); /* "mpi4py/MPI/helpers.pxi":184 * * cdef inline int del_Op(MPI_Op* ob): * if ob == NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_OP_NULL : return 0 * if ob[0] == MPI_MAX : return 0 */ __pyx_t_1 = ((__pyx_v_ob == NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":185 * cdef inline int del_Op(MPI_Op* ob): * if ob == NULL : return 0 * if ob[0] == MPI_OP_NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_MAX : return 0 * if ob[0] == MPI_MIN : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_OP_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":186 * if ob == NULL : return 0 * if ob[0] == MPI_OP_NULL : return 0 * if ob[0] == MPI_MAX : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_MIN : return 0 * if ob[0] == MPI_SUM : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_MAX) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":187 * if ob[0] == MPI_OP_NULL : return 0 * if ob[0] == MPI_MAX : return 0 * if ob[0] == MPI_MIN : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_SUM : return 0 * if ob[0] == MPI_PROD : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_MIN) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":188 * if ob[0] == MPI_MAX : return 0 * if ob[0] == MPI_MIN : return 0 * if ob[0] == MPI_SUM : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_PROD : return 0 * if ob[0] == MPI_LAND : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_SUM) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":189 * if ob[0] == MPI_MIN : return 0 * if ob[0] == MPI_SUM : return 0 * if ob[0] == MPI_PROD : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LAND : return 0 * if ob[0] == MPI_BAND : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_PROD) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":190 * if ob[0] == MPI_SUM : return 0 * if ob[0] == MPI_PROD : return 0 * if ob[0] == MPI_LAND : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_BAND : return 0 * if ob[0] == MPI_LOR : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LAND) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":191 * if ob[0] == MPI_PROD : return 0 * if ob[0] == MPI_LAND : return 0 * if ob[0] == MPI_BAND : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LOR : return 0 * if ob[0] == MPI_BOR : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_BAND) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":192 * if ob[0] == MPI_LAND : return 0 * if ob[0] == MPI_BAND : return 0 * if ob[0] == MPI_LOR : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_BOR : return 0 * if ob[0] == MPI_LXOR : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LOR) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":193 * if ob[0] == MPI_BAND : return 0 * if ob[0] == MPI_LOR : return 0 * if ob[0] == MPI_BOR : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_LXOR : return 0 * if ob[0] == MPI_BXOR : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_BOR) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":194 * if ob[0] == MPI_LOR : return 0 * if ob[0] == MPI_BOR : return 0 * if ob[0] == MPI_LXOR : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_BXOR : return 0 * if ob[0] == MPI_MAXLOC : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_LXOR) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":195 * if ob[0] == MPI_BOR : return 0 * if ob[0] == MPI_LXOR : return 0 * if ob[0] == MPI_BXOR : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_MAXLOC : return 0 * if ob[0] == MPI_MINLOC : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_BXOR) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":196 * if ob[0] == MPI_LXOR : return 0 * if ob[0] == MPI_BXOR : return 0 * if ob[0] == MPI_MAXLOC : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_MINLOC : return 0 * if ob[0] == MPI_REPLACE : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_MAXLOC) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":197 * if ob[0] == MPI_BXOR : return 0 * if ob[0] == MPI_MAXLOC : return 0 * if ob[0] == MPI_MINLOC : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_REPLACE : return 0 * if ob[0] == MPI_NO_OP : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_MINLOC) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":198 * if ob[0] == MPI_MAXLOC : return 0 * if ob[0] == MPI_MINLOC : return 0 * if ob[0] == MPI_REPLACE : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_NO_OP : return 0 * # */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_REPLACE) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":199 * if ob[0] == MPI_MINLOC : return 0 * if ob[0] == MPI_REPLACE : return 0 * if ob[0] == MPI_NO_OP : return 0 # <<<<<<<<<<<<<< * # * if not mpi_active(): return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_NO_OP) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":201 * if ob[0] == MPI_NO_OP : return 0 * # * if not mpi_active(): return 0 # <<<<<<<<<<<<<< * return MPI_Op_free(ob) * */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":202 * # * if not mpi_active(): return 0 * return MPI_Op_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Op_free(__pyx_v_ob); goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":183 * return op * * cdef inline int del_Op(MPI_Op* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_OP_NULL : return 0 */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":207 * # Info * * cdef inline Info new_Info(MPI_Info ob): # <<<<<<<<<<<<<< * cdef Info info = Info.__new__(Info) * info.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIInfoObject *__pyx_f_6mpi4py_3MPI_new_Info(MPI_Info __pyx_v_ob) { struct PyMPIInfoObject *__pyx_v_info = 0; struct PyMPIInfoObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("new_Info", 0); /* "mpi4py/MPI/helpers.pxi":208 * * cdef inline Info new_Info(MPI_Info ob): * cdef Info info = Info.__new__(Info) # <<<<<<<<<<<<<< * info.ob_mpi = ob * return info */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 208, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":209 * cdef inline Info new_Info(MPI_Info ob): * cdef Info info = Info.__new__(Info) * info.ob_mpi = ob # <<<<<<<<<<<<<< * return info * */ __pyx_v_info->ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":210 * cdef Info info = Info.__new__(Info) * info.ob_mpi = ob * return info # <<<<<<<<<<<<<< * * cdef inline int del_Info(MPI_Info* ob): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_info)); __pyx_r = __pyx_v_info; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":207 * # Info * * cdef inline Info new_Info(MPI_Info ob): # <<<<<<<<<<<<<< * cdef Info info = Info.__new__(Info) * info.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.new_Info", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_info); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":212 * return info * * cdef inline int del_Info(MPI_Info* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_INFO_NULL : return 0 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Info(MPI_Info *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("del_Info", 0); /* "mpi4py/MPI/helpers.pxi":213 * * cdef inline int del_Info(MPI_Info* ob): * if ob == NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INFO_NULL : return 0 * if ob[0] == MPI_INFO_ENV : return 0 */ __pyx_t_1 = ((__pyx_v_ob == NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":214 * cdef inline int del_Info(MPI_Info* ob): * if ob == NULL : return 0 * if ob[0] == MPI_INFO_NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_INFO_ENV : return 0 * # */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INFO_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":215 * if ob == NULL : return 0 * if ob[0] == MPI_INFO_NULL : return 0 * if ob[0] == MPI_INFO_ENV : return 0 # <<<<<<<<<<<<<< * # * if not mpi_active(): return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_INFO_ENV) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":217 * if ob[0] == MPI_INFO_ENV : return 0 * # * if not mpi_active(): return 0 # <<<<<<<<<<<<<< * return MPI_Info_free(ob) * */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":218 * # * if not mpi_active(): return 0 * return MPI_Info_free(ob) # <<<<<<<<<<<<<< * * cdef inline MPI_Info arg_Info(object info): */ __pyx_r = MPI_Info_free(__pyx_v_ob); goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":212 * return info * * cdef inline int del_Info(MPI_Info* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_INFO_NULL : return 0 */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":220 * return MPI_Info_free(ob) * * cdef inline MPI_Info arg_Info(object info): # <<<<<<<<<<<<<< * if info is None: return MPI_INFO_NULL * return (info).ob_mpi */ static CYTHON_INLINE MPI_Info __pyx_f_6mpi4py_3MPI_arg_Info(PyObject *__pyx_v_info) { MPI_Info __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("arg_Info", 0); /* "mpi4py/MPI/helpers.pxi":221 * * cdef inline MPI_Info arg_Info(object info): * if info is None: return MPI_INFO_NULL # <<<<<<<<<<<<<< * return (info).ob_mpi * */ __pyx_t_1 = (__pyx_v_info == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = MPI_INFO_NULL; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":222 * cdef inline MPI_Info arg_Info(object info): * if info is None: return MPI_INFO_NULL * return (info).ob_mpi # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = ((struct PyMPIInfoObject *)__pyx_v_info)->ob_mpi; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":220 * return MPI_Info_free(ob) * * cdef inline MPI_Info arg_Info(object info): # <<<<<<<<<<<<<< * if info is None: return MPI_INFO_NULL * return (info).ob_mpi */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":227 * # Group * * cdef inline Group new_Group(MPI_Group ob): # <<<<<<<<<<<<<< * cdef Group group = Group.__new__(Group) * group.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIGroupObject *__pyx_f_6mpi4py_3MPI_new_Group(MPI_Group __pyx_v_ob) { struct PyMPIGroupObject *__pyx_v_group = 0; struct PyMPIGroupObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("new_Group", 0); /* "mpi4py/MPI/helpers.pxi":228 * * cdef inline Group new_Group(MPI_Group ob): * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * group.ob_mpi = ob * return group */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 228, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":229 * cdef inline Group new_Group(MPI_Group ob): * cdef Group group = Group.__new__(Group) * group.ob_mpi = ob # <<<<<<<<<<<<<< * return group * */ __pyx_v_group->ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":230 * cdef Group group = Group.__new__(Group) * group.ob_mpi = ob * return group # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = __pyx_v_group; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":227 * # Group * * cdef inline Group new_Group(MPI_Group ob): # <<<<<<<<<<<<<< * cdef Group group = Group.__new__(Group) * group.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.new_Group", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":233 * * * cdef inline int del_Group(MPI_Group* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_GROUP_NULL : return 0 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Group(MPI_Group *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("del_Group", 0); /* "mpi4py/MPI/helpers.pxi":234 * * cdef inline int del_Group(MPI_Group* ob): * if ob == NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_GROUP_NULL : return 0 * if ob[0] == MPI_GROUP_EMPTY : return 0 */ __pyx_t_1 = ((__pyx_v_ob == NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":235 * cdef inline int del_Group(MPI_Group* ob): * if ob == NULL : return 0 * if ob[0] == MPI_GROUP_NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_GROUP_EMPTY : return 0 * # */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_GROUP_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":236 * if ob == NULL : return 0 * if ob[0] == MPI_GROUP_NULL : return 0 * if ob[0] == MPI_GROUP_EMPTY : return 0 # <<<<<<<<<<<<<< * # * if not mpi_active(): return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_GROUP_EMPTY) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":238 * if ob[0] == MPI_GROUP_EMPTY : return 0 * # * if not mpi_active(): return 0 # <<<<<<<<<<<<<< * return MPI_Group_free(ob) * */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":239 * # * if not mpi_active(): return 0 * return MPI_Group_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Group_free(__pyx_v_ob); goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":233 * * * cdef inline int del_Group(MPI_Group* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_GROUP_NULL : return 0 */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/commimpl.pxi":5 * cdef memory _buffer = None * * cdef inline int attach_buffer(ob, void **p, int *n) except -1: # <<<<<<<<<<<<<< * global _buffer * cdef void *bptr = NULL */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_attach_buffer(PyObject *__pyx_v_ob, void **__pyx_v_p, int *__pyx_v_n) { void *__pyx_v_bptr; MPI_Aint __pyx_v_blen; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("attach_buffer", 0); /* "mpi4py/MPI/commimpl.pxi":7 * cdef inline int attach_buffer(ob, void **p, int *n) except -1: * global _buffer * cdef void *bptr = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint blen = 0 * _buffer = getbuffer_w(ob, &bptr, &blen) */ __pyx_v_bptr = NULL; /* "mpi4py/MPI/commimpl.pxi":8 * global _buffer * cdef void *bptr = NULL * cdef MPI_Aint blen = 0 # <<<<<<<<<<<<<< * _buffer = getbuffer_w(ob, &bptr, &blen) * p[0] = bptr */ __pyx_v_blen = 0; /* "mpi4py/MPI/commimpl.pxi":9 * cdef void *bptr = NULL * cdef MPI_Aint blen = 0 * _buffer = getbuffer_w(ob, &bptr, &blen) # <<<<<<<<<<<<<< * p[0] = bptr * n[0] = clipcount(blen) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_ob, (&__pyx_v_bptr), (&__pyx_v_blen))); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI__buffer)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI__buffer, ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/commimpl.pxi":10 * cdef MPI_Aint blen = 0 * _buffer = getbuffer_w(ob, &bptr, &blen) * p[0] = bptr # <<<<<<<<<<<<<< * n[0] = clipcount(blen) * return 0 */ (__pyx_v_p[0]) = __pyx_v_bptr; /* "mpi4py/MPI/commimpl.pxi":11 * _buffer = getbuffer_w(ob, &bptr, &blen) * p[0] = bptr * n[0] = clipcount(blen) # <<<<<<<<<<<<<< * return 0 * */ (__pyx_v_n[0]) = __pyx_f_6mpi4py_3MPI_clipcount(__pyx_v_blen); /* "mpi4py/MPI/commimpl.pxi":12 * p[0] = bptr * n[0] = clipcount(blen) * return 0 # <<<<<<<<<<<<<< * * cdef inline object detach_buffer(void *p, int n): */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":5 * cdef memory _buffer = None * * cdef inline int attach_buffer(ob, void **p, int *n) except -1: # <<<<<<<<<<<<<< * global _buffer * cdef void *bptr = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.attach_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/commimpl.pxi":14 * return 0 * * cdef inline object detach_buffer(void *p, int n): # <<<<<<<<<<<<<< * global _buffer * cdef object ob = None */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_detach_buffer(void *__pyx_v_p, int __pyx_v_n) { PyObject *__pyx_v_ob = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_t_6; char const *__pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("detach_buffer", 0); /* "mpi4py/MPI/commimpl.pxi":16 * cdef inline object detach_buffer(void *p, int n): * global _buffer * cdef object ob = None # <<<<<<<<<<<<<< * try: * if (_buffer is not None and */ __Pyx_INCREF(Py_None); __pyx_v_ob = Py_None; /* "mpi4py/MPI/commimpl.pxi":17 * global _buffer * cdef object ob = None * try: # <<<<<<<<<<<<<< * if (_buffer is not None and * _buffer.view.buf == p and */ /*try:*/ { /* "mpi4py/MPI/commimpl.pxi":18 * cdef object ob = None * try: * if (_buffer is not None and # <<<<<<<<<<<<<< * _buffer.view.buf == p and * _buffer.view.obj != NULL): */ __pyx_t_2 = (((PyObject *)__pyx_v_6mpi4py_3MPI__buffer) != Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L7_bool_binop_done; } /* "mpi4py/MPI/commimpl.pxi":19 * try: * if (_buffer is not None and * _buffer.view.buf == p and # <<<<<<<<<<<<<< * _buffer.view.obj != NULL): * ob = _buffer.view.obj */ __pyx_t_3 = ((__pyx_v_6mpi4py_3MPI__buffer->view.buf == __pyx_v_p) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L7_bool_binop_done; } /* "mpi4py/MPI/commimpl.pxi":20 * if (_buffer is not None and * _buffer.view.buf == p and * _buffer.view.obj != NULL): # <<<<<<<<<<<<<< * ob = _buffer.view.obj * else: */ __pyx_t_3 = ((__pyx_v_6mpi4py_3MPI__buffer->view.obj != NULL) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L7_bool_binop_done:; /* "mpi4py/MPI/commimpl.pxi":18 * cdef object ob = None * try: * if (_buffer is not None and # <<<<<<<<<<<<<< * _buffer.view.buf == p and * _buffer.view.obj != NULL): */ if (__pyx_t_1) { /* "mpi4py/MPI/commimpl.pxi":21 * _buffer.view.buf == p and * _buffer.view.obj != NULL): * ob = _buffer.view.obj # <<<<<<<<<<<<<< * else: * ob = tomemory(p, n) */ __pyx_t_4 = ((PyObject *)__pyx_v_6mpi4py_3MPI__buffer->view.obj); __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_ob, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/commimpl.pxi":18 * cdef object ob = None * try: * if (_buffer is not None and # <<<<<<<<<<<<<< * _buffer.view.buf == p and * _buffer.view.obj != NULL): */ goto __pyx_L6; } /* "mpi4py/MPI/commimpl.pxi":23 * ob = _buffer.view.obj * else: * ob = tomemory(p, n) # <<<<<<<<<<<<<< * finally: * _buffer = None */ /*else*/ { __pyx_t_4 = ((PyObject *)__pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_p, __pyx_v_n)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 23, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_ob, __pyx_t_4); __pyx_t_4 = 0; } __pyx_L6:; } /* "mpi4py/MPI/commimpl.pxi":25 * ob = tomemory(p, n) * finally: * _buffer = None # <<<<<<<<<<<<<< * return ob * */ /*finally:*/ { /*normal exit:*/{ __Pyx_INCREF(Py_None); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI__buffer)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI__buffer, ((struct __pyx_obj_6mpi4py_3MPI_memory *)Py_None)); __Pyx_GIVEREF(Py_None); goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); __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_XGOTREF(__pyx_t_13); __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename; { __Pyx_INCREF(Py_None); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI__buffer)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI__buffer, ((struct __pyx_obj_6mpi4py_3MPI_memory *)Py_None)); __Pyx_GIVEREF(Py_None); } if (PY_MAJOR_VERSION >= 3) { __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_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10); __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/commimpl.pxi":26 * finally: * _buffer = None * return ob # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ob); __pyx_r = __pyx_v_ob; goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":14 * return 0 * * cdef inline object detach_buffer(void *p, int n): # <<<<<<<<<<<<<< * global _buffer * cdef object ob = None */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.detach_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/commimpl.pxi":34 * cdef object __WEIGHTS_EMPTY__ = MPI_WEIGHTS_EMPTY * * cdef object asarray_weights(object weights, int nweight, int **iweight): # <<<<<<<<<<<<<< * if weights is None: * iweight[0] = MPI_UNWEIGHTED */ static PyObject *__pyx_f_6mpi4py_3MPI_asarray_weights(PyObject *__pyx_v_weights, int __pyx_v_nweight, int **__pyx_v_iweight) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("asarray_weights", 0); /* "mpi4py/MPI/commimpl.pxi":35 * * cdef object asarray_weights(object weights, int nweight, int **iweight): * if weights is None: # <<<<<<<<<<<<<< * iweight[0] = MPI_UNWEIGHTED * return None */ __pyx_t_1 = (__pyx_v_weights == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/commimpl.pxi":36 * cdef object asarray_weights(object weights, int nweight, int **iweight): * if weights is None: * iweight[0] = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * return None * if weights is __UNWEIGHTED__: */ (__pyx_v_iweight[0]) = MPI_UNWEIGHTED; /* "mpi4py/MPI/commimpl.pxi":37 * if weights is None: * iweight[0] = MPI_UNWEIGHTED * return None # <<<<<<<<<<<<<< * if weights is __UNWEIGHTED__: * iweight[0] = MPI_UNWEIGHTED */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":35 * * cdef object asarray_weights(object weights, int nweight, int **iweight): * if weights is None: # <<<<<<<<<<<<<< * iweight[0] = MPI_UNWEIGHTED * return None */ } /* "mpi4py/MPI/commimpl.pxi":38 * iweight[0] = MPI_UNWEIGHTED * return None * if weights is __UNWEIGHTED__: # <<<<<<<<<<<<<< * iweight[0] = MPI_UNWEIGHTED * return None */ __pyx_t_2 = (__pyx_v_weights == __pyx_v_6mpi4py_3MPI___UNWEIGHTED__); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/commimpl.pxi":39 * return None * if weights is __UNWEIGHTED__: * iweight[0] = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * return None * if weights is __WEIGHTS_EMPTY__: */ (__pyx_v_iweight[0]) = MPI_UNWEIGHTED; /* "mpi4py/MPI/commimpl.pxi":40 * if weights is __UNWEIGHTED__: * iweight[0] = MPI_UNWEIGHTED * return None # <<<<<<<<<<<<<< * if weights is __WEIGHTS_EMPTY__: * if nweight > 0: raise ValueError("empty weights but nonzero degree") */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":38 * iweight[0] = MPI_UNWEIGHTED * return None * if weights is __UNWEIGHTED__: # <<<<<<<<<<<<<< * iweight[0] = MPI_UNWEIGHTED * return None */ } /* "mpi4py/MPI/commimpl.pxi":41 * iweight[0] = MPI_UNWEIGHTED * return None * if weights is __WEIGHTS_EMPTY__: # <<<<<<<<<<<<<< * if nweight > 0: raise ValueError("empty weights but nonzero degree") * iweight[0] = MPI_WEIGHTS_EMPTY */ __pyx_t_1 = (__pyx_v_weights == __pyx_v_6mpi4py_3MPI___WEIGHTS_EMPTY__); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/commimpl.pxi":42 * return None * if weights is __WEIGHTS_EMPTY__: * if nweight > 0: raise ValueError("empty weights but nonzero degree") # <<<<<<<<<<<<<< * iweight[0] = MPI_WEIGHTS_EMPTY * return None */ __pyx_t_2 = ((__pyx_v_nweight > 0) != 0); if (unlikely(__pyx_t_2)) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(3, 42, __pyx_L1_error) } /* "mpi4py/MPI/commimpl.pxi":43 * if weights is __WEIGHTS_EMPTY__: * if nweight > 0: raise ValueError("empty weights but nonzero degree") * iweight[0] = MPI_WEIGHTS_EMPTY # <<<<<<<<<<<<<< * return None * return chkarray(weights, nweight, iweight) */ (__pyx_v_iweight[0]) = MPI_WEIGHTS_EMPTY; /* "mpi4py/MPI/commimpl.pxi":44 * if nweight > 0: raise ValueError("empty weights but nonzero degree") * iweight[0] = MPI_WEIGHTS_EMPTY * return None # <<<<<<<<<<<<<< * return chkarray(weights, nweight, iweight) * */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":41 * iweight[0] = MPI_UNWEIGHTED * return None * if weights is __WEIGHTS_EMPTY__: # <<<<<<<<<<<<<< * if nweight > 0: raise ValueError("empty weights but nonzero degree") * iweight[0] = MPI_WEIGHTS_EMPTY */ } /* "mpi4py/MPI/commimpl.pxi":45 * iweight[0] = MPI_WEIGHTS_EMPTY * return None * return chkarray(weights, nweight, iweight) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_weights, __pyx_v_nweight, __pyx_v_iweight); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":34 * cdef object __WEIGHTS_EMPTY__ = MPI_WEIGHTS_EMPTY * * cdef object asarray_weights(object weights, int nweight, int **iweight): # <<<<<<<<<<<<<< * if weights is None: * iweight[0] = MPI_UNWEIGHTED */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.asarray_weights", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/commimpl.pxi":49 * # ----------------------------------------------------------------------------- * * cdef inline int comm_neighbors_count(MPI_Comm comm, # <<<<<<<<<<<<<< * int *incoming, * int *outgoing, */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_comm_neighbors_count(MPI_Comm __pyx_v_comm, int *__pyx_v_incoming, int *__pyx_v_outgoing) { int __pyx_v_topo; int __pyx_v_size; int __pyx_v_ndims; int __pyx_v_rank; int __pyx_v_nneighbors; int __pyx_v_indegree; int __pyx_v_outdegree; int __pyx_v_weighted; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("comm_neighbors_count", 0); /* "mpi4py/MPI/commimpl.pxi":53 * int *outgoing, * ) except -1: * cdef int topo = MPI_UNDEFINED # <<<<<<<<<<<<<< * cdef int size=0, ndims=0, rank=0, nneighbors=0 * cdef int indegree=0, outdegree=0, weighted=0 */ __pyx_v_topo = MPI_UNDEFINED; /* "mpi4py/MPI/commimpl.pxi":54 * ) except -1: * cdef int topo = MPI_UNDEFINED * cdef int size=0, ndims=0, rank=0, nneighbors=0 # <<<<<<<<<<<<<< * cdef int indegree=0, outdegree=0, weighted=0 * CHKERR( MPI_Topo_test(comm, &topo) ) */ __pyx_v_size = 0; __pyx_v_ndims = 0; __pyx_v_rank = 0; __pyx_v_nneighbors = 0; /* "mpi4py/MPI/commimpl.pxi":55 * cdef int topo = MPI_UNDEFINED * cdef int size=0, ndims=0, rank=0, nneighbors=0 * cdef int indegree=0, outdegree=0, weighted=0 # <<<<<<<<<<<<<< * CHKERR( MPI_Topo_test(comm, &topo) ) * if topo == MPI_UNDEFINED: # XXX */ __pyx_v_indegree = 0; __pyx_v_outdegree = 0; __pyx_v_weighted = 0; /* "mpi4py/MPI/commimpl.pxi":56 * cdef int size=0, ndims=0, rank=0, nneighbors=0 * cdef int indegree=0, outdegree=0, weighted=0 * CHKERR( MPI_Topo_test(comm, &topo) ) # <<<<<<<<<<<<<< * if topo == MPI_UNDEFINED: # XXX * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Topo_test(__pyx_v_comm, (&__pyx_v_topo))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(3, 56, __pyx_L1_error) /* "mpi4py/MPI/commimpl.pxi":57 * cdef int indegree=0, outdegree=0, weighted=0 * CHKERR( MPI_Topo_test(comm, &topo) ) * if topo == MPI_UNDEFINED: # XXX # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * indegree = outdegree = size */ __pyx_t_2 = ((__pyx_v_topo == MPI_UNDEFINED) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/commimpl.pxi":58 * CHKERR( MPI_Topo_test(comm, &topo) ) * if topo == MPI_UNDEFINED: # XXX * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * indegree = outdegree = size * elif topo == MPI_CART: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(3, 58, __pyx_L1_error) /* "mpi4py/MPI/commimpl.pxi":59 * if topo == MPI_UNDEFINED: # XXX * CHKERR( MPI_Comm_size(comm, &size) ) * indegree = outdegree = size # <<<<<<<<<<<<<< * elif topo == MPI_CART: * CHKERR( MPI_Cartdim_get(comm, &ndims) ) */ __pyx_v_indegree = __pyx_v_size; __pyx_v_outdegree = __pyx_v_size; /* "mpi4py/MPI/commimpl.pxi":57 * cdef int indegree=0, outdegree=0, weighted=0 * CHKERR( MPI_Topo_test(comm, &topo) ) * if topo == MPI_UNDEFINED: # XXX # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * indegree = outdegree = size */ goto __pyx_L3; } /* "mpi4py/MPI/commimpl.pxi":60 * CHKERR( MPI_Comm_size(comm, &size) ) * indegree = outdegree = size * elif topo == MPI_CART: # <<<<<<<<<<<<<< * CHKERR( MPI_Cartdim_get(comm, &ndims) ) * indegree = outdegree = 2*ndims */ __pyx_t_2 = ((__pyx_v_topo == MPI_CART) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/commimpl.pxi":61 * indegree = outdegree = size * elif topo == MPI_CART: * CHKERR( MPI_Cartdim_get(comm, &ndims) ) # <<<<<<<<<<<<<< * indegree = outdegree = 2*ndims * elif topo == MPI_GRAPH: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cartdim_get(__pyx_v_comm, (&__pyx_v_ndims))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(3, 61, __pyx_L1_error) /* "mpi4py/MPI/commimpl.pxi":62 * elif topo == MPI_CART: * CHKERR( MPI_Cartdim_get(comm, &ndims) ) * indegree = outdegree = 2*ndims # <<<<<<<<<<<<<< * elif topo == MPI_GRAPH: * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_t_1 = (((int)2) * __pyx_v_ndims); __pyx_v_indegree = __pyx_t_1; __pyx_v_outdegree = __pyx_t_1; /* "mpi4py/MPI/commimpl.pxi":60 * CHKERR( MPI_Comm_size(comm, &size) ) * indegree = outdegree = size * elif topo == MPI_CART: # <<<<<<<<<<<<<< * CHKERR( MPI_Cartdim_get(comm, &ndims) ) * indegree = outdegree = 2*ndims */ goto __pyx_L3; } /* "mpi4py/MPI/commimpl.pxi":63 * CHKERR( MPI_Cartdim_get(comm, &ndims) ) * indegree = outdegree = 2*ndims * elif topo == MPI_GRAPH: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * CHKERR( MPI_Graph_neighbors_count( */ __pyx_t_2 = ((__pyx_v_topo == MPI_GRAPH) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/commimpl.pxi":64 * indegree = outdegree = 2*ndims * elif topo == MPI_GRAPH: * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Graph_neighbors_count( * comm, rank, &nneighbors) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(3, 64, __pyx_L1_error) /* "mpi4py/MPI/commimpl.pxi":65 * elif topo == MPI_GRAPH: * CHKERR( MPI_Comm_rank(comm, &rank) ) * CHKERR( MPI_Graph_neighbors_count( # <<<<<<<<<<<<<< * comm, rank, &nneighbors) ) * indegree = outdegree = nneighbors */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Graph_neighbors_count(__pyx_v_comm, __pyx_v_rank, (&__pyx_v_nneighbors))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(3, 65, __pyx_L1_error) /* "mpi4py/MPI/commimpl.pxi":67 * CHKERR( MPI_Graph_neighbors_count( * comm, rank, &nneighbors) ) * indegree = outdegree = nneighbors # <<<<<<<<<<<<<< * elif topo == MPI_DIST_GRAPH: * CHKERR( MPI_Dist_graph_neighbors_count( */ __pyx_v_indegree = __pyx_v_nneighbors; __pyx_v_outdegree = __pyx_v_nneighbors; /* "mpi4py/MPI/commimpl.pxi":63 * CHKERR( MPI_Cartdim_get(comm, &ndims) ) * indegree = outdegree = 2*ndims * elif topo == MPI_GRAPH: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * CHKERR( MPI_Graph_neighbors_count( */ goto __pyx_L3; } /* "mpi4py/MPI/commimpl.pxi":68 * comm, rank, &nneighbors) ) * indegree = outdegree = nneighbors * elif topo == MPI_DIST_GRAPH: # <<<<<<<<<<<<<< * CHKERR( MPI_Dist_graph_neighbors_count( * comm, &indegree, &outdegree, &weighted) ) */ __pyx_t_2 = ((__pyx_v_topo == MPI_DIST_GRAPH) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/commimpl.pxi":69 * indegree = outdegree = nneighbors * elif topo == MPI_DIST_GRAPH: * CHKERR( MPI_Dist_graph_neighbors_count( # <<<<<<<<<<<<<< * comm, &indegree, &outdegree, &weighted) ) * if incoming != NULL: incoming[0] = indegree */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Dist_graph_neighbors_count(__pyx_v_comm, (&__pyx_v_indegree), (&__pyx_v_outdegree), (&__pyx_v_weighted))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(3, 69, __pyx_L1_error) /* "mpi4py/MPI/commimpl.pxi":68 * comm, rank, &nneighbors) ) * indegree = outdegree = nneighbors * elif topo == MPI_DIST_GRAPH: # <<<<<<<<<<<<<< * CHKERR( MPI_Dist_graph_neighbors_count( * comm, &indegree, &outdegree, &weighted) ) */ } __pyx_L3:; /* "mpi4py/MPI/commimpl.pxi":71 * CHKERR( MPI_Dist_graph_neighbors_count( * comm, &indegree, &outdegree, &weighted) ) * if incoming != NULL: incoming[0] = indegree # <<<<<<<<<<<<<< * if outgoing != NULL: outgoing[0] = outdegree * return 0 */ __pyx_t_2 = ((__pyx_v_incoming != NULL) != 0); if (__pyx_t_2) { (__pyx_v_incoming[0]) = __pyx_v_indegree; } /* "mpi4py/MPI/commimpl.pxi":72 * comm, &indegree, &outdegree, &weighted) ) * if incoming != NULL: incoming[0] = indegree * if outgoing != NULL: outgoing[0] = outdegree # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_2 = ((__pyx_v_outgoing != NULL) != 0); if (__pyx_t_2) { (__pyx_v_outgoing[0]) = __pyx_v_outdegree; } /* "mpi4py/MPI/commimpl.pxi":73 * if incoming != NULL: incoming[0] = indegree * if outgoing != NULL: outgoing[0] = outdegree * return 0 # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":49 * # ----------------------------------------------------------------------------- * * cdef inline int comm_neighbors_count(MPI_Comm comm, # <<<<<<<<<<<<<< * int *incoming, * int *outgoing, */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.comm_neighbors_count", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/commimpl.pxi":92 * cdef dict lock_registry = {} * * cdef inline int lock_free_cb(MPI_Comm comm) \ # <<<<<<<<<<<<<< * except MPI_ERR_UNKNOWN with gil: * try: del lock_registry[comm] */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_lock_free_cb(MPI_Comm __pyx_v_comm) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("lock_free_cb", 0); /* "mpi4py/MPI/commimpl.pxi":94 * cdef inline int lock_free_cb(MPI_Comm comm) \ * except MPI_ERR_UNKNOWN with gil: * try: del lock_registry[comm] # <<<<<<<<<<<<<< * except KeyError: pass * return MPI_SUCCESS */ { __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:*/ { if (unlikely(__pyx_v_6mpi4py_3MPI_lock_registry == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(3, 94, __pyx_L3_error) } __pyx_t_4 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)__pyx_v_comm)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 94, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(PyDict_DelItem(__pyx_v_6mpi4py_3MPI_lock_registry, __pyx_t_4) < 0)) __PYX_ERR(3, 94, __pyx_L3_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 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; goto __pyx_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/commimpl.pxi":95 * except MPI_ERR_UNKNOWN with gil: * try: del lock_registry[comm] * except KeyError: pass # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); if (__pyx_t_5) { __Pyx_ErrRestore(0,0,0); goto __pyx_L4_exception_handled; } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "mpi4py/MPI/commimpl.pxi":94 * cdef inline int lock_free_cb(MPI_Comm comm) \ * except MPI_ERR_UNKNOWN with gil: * try: del lock_registry[comm] # <<<<<<<<<<<<<< * except KeyError: pass * return MPI_SUCCESS */ __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:; } /* "mpi4py/MPI/commimpl.pxi":96 * try: del lock_registry[comm] * except KeyError: pass * return MPI_SUCCESS # <<<<<<<<<<<<<< * * @cython.callspec("MPIAPI") */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":92 * cdef dict lock_registry = {} * * cdef inline int lock_free_cb(MPI_Comm comm) \ # <<<<<<<<<<<<<< * except MPI_ERR_UNKNOWN with gil: * try: del lock_registry[comm] */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.lock_free_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "mpi4py/MPI/commimpl.pxi":99 * * @cython.callspec("MPIAPI") * cdef int lock_free_fn(MPI_Comm comm, int keyval, # <<<<<<<<<<<<<< * void *attrval, void *xstate) nogil: * if comm == MPI_COMM_SELF: */ static int MPIAPI __pyx_f_6mpi4py_3MPI_lock_free_fn(MPI_Comm __pyx_v_comm, CYTHON_UNUSED int __pyx_v_keyval, CYTHON_UNUSED void *__pyx_v_attrval, CYTHON_UNUSED void *__pyx_v_xstate) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/commimpl.pxi":101 * cdef int lock_free_fn(MPI_Comm comm, int keyval, * void *attrval, void *xstate) nogil: * if comm == MPI_COMM_SELF: # <<<<<<<<<<<<<< * return MPI_Comm_free_keyval(&lock_keyval) * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_SELF) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/commimpl.pxi":102 * void *attrval, void *xstate) nogil: * if comm == MPI_COMM_SELF: * return MPI_Comm_free_keyval(&lock_keyval) # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_SUCCESS */ __pyx_r = MPI_Comm_free_keyval((&__pyx_v_6mpi4py_3MPI_lock_keyval)); goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":101 * cdef int lock_free_fn(MPI_Comm comm, int keyval, * void *attrval, void *xstate) nogil: * if comm == MPI_COMM_SELF: # <<<<<<<<<<<<<< * return MPI_Comm_free_keyval(&lock_keyval) * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/commimpl.pxi":103 * if comm == MPI_COMM_SELF: * return MPI_Comm_free_keyval(&lock_keyval) * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * if lock_registry == NULL: */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/commimpl.pxi":104 * return MPI_Comm_free_keyval(&lock_keyval) * if not Py_IsInitialized(): * return MPI_SUCCESS # <<<<<<<<<<<<<< * if lock_registry == NULL: * return MPI_SUCCESS */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":103 * if comm == MPI_COMM_SELF: * return MPI_Comm_free_keyval(&lock_keyval) * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * if lock_registry == NULL: */ } /* "mpi4py/MPI/commimpl.pxi":105 * if not Py_IsInitialized(): * return MPI_SUCCESS * if lock_registry == NULL: # <<<<<<<<<<<<<< * return MPI_SUCCESS * return lock_free_cb(comm) */ __pyx_t_1 = ((((void *)__pyx_v_6mpi4py_3MPI_lock_registry) == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/commimpl.pxi":106 * return MPI_SUCCESS * if lock_registry == NULL: * return MPI_SUCCESS # <<<<<<<<<<<<<< * return lock_free_cb(comm) * */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":105 * if not Py_IsInitialized(): * return MPI_SUCCESS * if lock_registry == NULL: # <<<<<<<<<<<<<< * return MPI_SUCCESS * return lock_free_cb(comm) */ } /* "mpi4py/MPI/commimpl.pxi":107 * if lock_registry == NULL: * return MPI_SUCCESS * return lock_free_cb(comm) # <<<<<<<<<<<<<< * * cdef inline dict PyMPI_Lock_table(MPI_Comm comm): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_lock_free_cb(__pyx_v_comm); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(3, 107, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":99 * * @cython.callspec("MPIAPI") * cdef int lock_free_fn(MPI_Comm comm, int keyval, # <<<<<<<<<<<<<< * void *attrval, void *xstate) nogil: * if comm == MPI_COMM_SELF: */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.lock_free_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/commimpl.pxi":109 * return lock_free_cb(comm) * * cdef inline dict PyMPI_Lock_table(MPI_Comm comm): # <<<<<<<<<<<<<< * cdef dict table * cdef int found = 0 */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_Lock_table(MPI_Comm __pyx_v_comm) { PyObject *__pyx_v_table = 0; int __pyx_v_found; void *__pyx_v_attrval; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_Lock_table", 0); /* "mpi4py/MPI/commimpl.pxi":111 * cdef inline dict PyMPI_Lock_table(MPI_Comm comm): * cdef dict table * cdef int found = 0 # <<<<<<<<<<<<<< * cdef void *attrval = NULL * if lock_keyval == MPI_KEYVAL_INVALID: */ __pyx_v_found = 0; /* "mpi4py/MPI/commimpl.pxi":112 * cdef dict table * cdef int found = 0 * cdef void *attrval = NULL # <<<<<<<<<<<<<< * if lock_keyval == MPI_KEYVAL_INVALID: * CHKERR( MPI_Comm_create_keyval( */ __pyx_v_attrval = NULL; /* "mpi4py/MPI/commimpl.pxi":113 * cdef int found = 0 * cdef void *attrval = NULL * if lock_keyval == MPI_KEYVAL_INVALID: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_create_keyval( * MPI_COMM_NULL_COPY_FN, lock_free_fn, &lock_keyval, NULL) ) */ __pyx_t_1 = ((__pyx_v_6mpi4py_3MPI_lock_keyval == MPI_KEYVAL_INVALID) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/commimpl.pxi":114 * cdef void *attrval = NULL * if lock_keyval == MPI_KEYVAL_INVALID: * CHKERR( MPI_Comm_create_keyval( # <<<<<<<<<<<<<< * MPI_COMM_NULL_COPY_FN, lock_free_fn, &lock_keyval, NULL) ) * lock_registry[MPI_COMM_SELF] = table = {} */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_create_keyval(MPI_COMM_NULL_COPY_FN, __pyx_f_6mpi4py_3MPI_lock_free_fn, (&__pyx_v_6mpi4py_3MPI_lock_keyval), NULL)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(3, 114, __pyx_L1_error) /* "mpi4py/MPI/commimpl.pxi":116 * CHKERR( MPI_Comm_create_keyval( * MPI_COMM_NULL_COPY_FN, lock_free_fn, &lock_keyval, NULL) ) * lock_registry[MPI_COMM_SELF] = table = {} # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_set_attr(MPI_COMM_SELF, lock_keyval, table) ) * CHKERR( MPI_Comm_get_attr(comm, lock_keyval, &attrval, &found) ) */ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__pyx_v_6mpi4py_3MPI_lock_registry == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(3, 116, __pyx_L1_error) } __pyx_t_4 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)MPI_COMM_SELF)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(PyDict_SetItem(__pyx_v_6mpi4py_3MPI_lock_registry, __pyx_t_4, __pyx_t_3) < 0)) __PYX_ERR(3, 116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_t_3); __pyx_v_table = __pyx_t_3; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/commimpl.pxi":117 * MPI_COMM_NULL_COPY_FN, lock_free_fn, &lock_keyval, NULL) ) * lock_registry[MPI_COMM_SELF] = table = {} * CHKERR( MPI_Comm_set_attr(MPI_COMM_SELF, lock_keyval, table) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_get_attr(comm, lock_keyval, &attrval, &found) ) * if not found: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_set_attr(MPI_COMM_SELF, __pyx_v_6mpi4py_3MPI_lock_keyval, ((void *)__pyx_v_table))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(3, 117, __pyx_L1_error) /* "mpi4py/MPI/commimpl.pxi":113 * cdef int found = 0 * cdef void *attrval = NULL * if lock_keyval == MPI_KEYVAL_INVALID: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_create_keyval( * MPI_COMM_NULL_COPY_FN, lock_free_fn, &lock_keyval, NULL) ) */ } /* "mpi4py/MPI/commimpl.pxi":118 * lock_registry[MPI_COMM_SELF] = table = {} * CHKERR( MPI_Comm_set_attr(MPI_COMM_SELF, lock_keyval, table) ) * CHKERR( MPI_Comm_get_attr(comm, lock_keyval, &attrval, &found) ) # <<<<<<<<<<<<<< * if not found: * lock_registry[comm] = table = {} */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_get_attr(__pyx_v_comm, __pyx_v_6mpi4py_3MPI_lock_keyval, (&__pyx_v_attrval), (&__pyx_v_found))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(3, 118, __pyx_L1_error) /* "mpi4py/MPI/commimpl.pxi":119 * CHKERR( MPI_Comm_set_attr(MPI_COMM_SELF, lock_keyval, table) ) * CHKERR( MPI_Comm_get_attr(comm, lock_keyval, &attrval, &found) ) * if not found: # <<<<<<<<<<<<<< * lock_registry[comm] = table = {} * CHKERR( MPI_Comm_set_attr(comm, lock_keyval, table) ) */ __pyx_t_1 = ((!(__pyx_v_found != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/commimpl.pxi":120 * CHKERR( MPI_Comm_get_attr(comm, lock_keyval, &attrval, &found) ) * if not found: * lock_registry[comm] = table = {} # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_set_attr(comm, lock_keyval, table) ) * else: */ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__pyx_v_6mpi4py_3MPI_lock_registry == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(3, 120, __pyx_L1_error) } __pyx_t_4 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)__pyx_v_comm)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(PyDict_SetItem(__pyx_v_6mpi4py_3MPI_lock_registry, __pyx_t_4, __pyx_t_3) < 0)) __PYX_ERR(3, 120, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_table, __pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/commimpl.pxi":121 * if not found: * lock_registry[comm] = table = {} * CHKERR( MPI_Comm_set_attr(comm, lock_keyval, table) ) # <<<<<<<<<<<<<< * else: * if PYPY: table = lock_registry[comm] */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_set_attr(__pyx_v_comm, __pyx_v_6mpi4py_3MPI_lock_keyval, ((void *)__pyx_v_table))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(3, 121, __pyx_L1_error) /* "mpi4py/MPI/commimpl.pxi":119 * CHKERR( MPI_Comm_set_attr(MPI_COMM_SELF, lock_keyval, table) ) * CHKERR( MPI_Comm_get_attr(comm, lock_keyval, &attrval, &found) ) * if not found: # <<<<<<<<<<<<<< * lock_registry[comm] = table = {} * CHKERR( MPI_Comm_set_attr(comm, lock_keyval, table) ) */ goto __pyx_L4; } /* "mpi4py/MPI/commimpl.pxi":123 * CHKERR( MPI_Comm_set_attr(comm, lock_keyval, table) ) * else: * if PYPY: table = lock_registry[comm] # <<<<<<<<<<<<<< * else: table = attrval * return table */ /*else*/ { if (PyMPI_RUNTIME_PYPY) { if (unlikely(__pyx_v_6mpi4py_3MPI_lock_registry == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(3, 123, __pyx_L1_error) } __pyx_t_3 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)__pyx_v_comm)); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_6mpi4py_3MPI_lock_registry, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(3, 123, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_table, ((PyObject*)__pyx_t_4)); __pyx_t_4 = 0; goto __pyx_L5; } /* "mpi4py/MPI/commimpl.pxi":124 * else: * if PYPY: table = lock_registry[comm] * else: table = attrval # <<<<<<<<<<<<<< * return table * */ /*else*/ { __pyx_t_4 = ((PyObject *)__pyx_v_attrval); __Pyx_INCREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_table, ((PyObject*)__pyx_t_4)); __pyx_t_4 = 0; } __pyx_L5:; } __pyx_L4:; /* "mpi4py/MPI/commimpl.pxi":125 * if PYPY: table = lock_registry[comm] * else: table = attrval * return table # <<<<<<<<<<<<<< * * cdef inline object PyMPI_Lock(MPI_Comm comm, object key): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_table); __pyx_r = __pyx_v_table; goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":109 * return lock_free_cb(comm) * * cdef inline dict PyMPI_Lock_table(MPI_Comm comm): # <<<<<<<<<<<<<< * cdef dict table * cdef int found = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_Lock_table", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_table); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/commimpl.pxi":127 * return table * * cdef inline object PyMPI_Lock(MPI_Comm comm, object key): # <<<<<<<<<<<<<< * cdef dict table = PyMPI_Lock_table(comm) * cdef object lock */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_Lock(MPI_Comm __pyx_v_comm, PyObject *__pyx_v_key) { PyObject *__pyx_v_table = 0; PyObject *__pyx_v_lock = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_Lock", 0); /* "mpi4py/MPI/commimpl.pxi":128 * * cdef inline object PyMPI_Lock(MPI_Comm comm, object key): * cdef dict table = PyMPI_Lock_table(comm) # <<<<<<<<<<<<<< * cdef object lock * try: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock_table(__pyx_v_comm); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_table = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/commimpl.pxi":130 * cdef dict table = PyMPI_Lock_table(comm) * cdef object lock * try: # <<<<<<<<<<<<<< * lock = table[key] * except KeyError: */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { /* "mpi4py/MPI/commimpl.pxi":131 * cdef object lock * try: * lock = table[key] # <<<<<<<<<<<<<< * except KeyError: * lock = table[key] = allocate_lock() */ if (unlikely(__pyx_v_table == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(3, 131, __pyx_L3_error) } __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_table, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 131, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_lock = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/commimpl.pxi":130 * cdef dict table = PyMPI_Lock_table(comm) * cdef object lock * try: # <<<<<<<<<<<<<< * lock = table[key] * except KeyError: */ } __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; goto __pyx_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/commimpl.pxi":132 * try: * lock = table[key] * except KeyError: # <<<<<<<<<<<<<< * lock = table[key] = allocate_lock() * return lock */ __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); if (__pyx_t_5) { __Pyx_AddTraceback("mpi4py.MPI.PyMPI_Lock", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(3, 132, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); /* "mpi4py/MPI/commimpl.pxi":133 * lock = table[key] * except KeyError: * lock = table[key] = allocate_lock() # <<<<<<<<<<<<<< * return lock * */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_allocate_lock); __pyx_t_9 = __pyx_v_6mpi4py_3MPI_allocate_lock; __pyx_t_10 = NULL; 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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 133, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_t_8); __Pyx_XDECREF_SET(__pyx_v_lock, __pyx_t_8); if (unlikely(__pyx_v_table == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(3, 133, __pyx_L5_except_error) } if (unlikely(PyDict_SetItem(__pyx_v_table, __pyx_v_key, __pyx_t_8) < 0)) __PYX_ERR(3, 133, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "mpi4py/MPI/commimpl.pxi":130 * cdef dict table = PyMPI_Lock_table(comm) * cdef object lock * try: # <<<<<<<<<<<<<< * lock = table[key] * except KeyError: */ __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); goto __pyx_L1_error; __pyx_L4_exception_handled:; __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); __pyx_L8_try_end:; } /* "mpi4py/MPI/commimpl.pxi":134 * except KeyError: * lock = table[key] = allocate_lock() * return lock # <<<<<<<<<<<<<< * * def _lock_table(Comm comm): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_lock); __pyx_r = __pyx_v_lock; goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":127 * return table * * cdef inline object PyMPI_Lock(MPI_Comm comm, object key): # <<<<<<<<<<<<<< * cdef dict table = PyMPI_Lock_table(comm) * cdef object lock */ /* 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("mpi4py.MPI.PyMPI_Lock", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_table); __Pyx_XDECREF(__pyx_v_lock); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/commimpl.pxi":136 * return lock * * def _lock_table(Comm comm): # <<<<<<<<<<<<<< * "Internal communicator lock table" * return PyMPI_Lock_table(comm.ob_mpi) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3_lock_table(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_2_lock_table[] = "_lock_table(Comm comm)\nInternal communicator lock table"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_3_lock_table = {"_lock_table", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3_lock_table, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2_lock_table}; static PyObject *__pyx_pw_6mpi4py_3MPI_3_lock_table(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_lock_table (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,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_comm)) != 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, "_lock_table") < 0)) __PYX_ERR(3, 136, __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_comm = ((struct PyMPICommObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_lock_table", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(3, 136, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI._lock_table", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 0, "comm", 0))) __PYX_ERR(3, 136, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_2_lock_table(__pyx_self, __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_2_lock_table(CYTHON_UNUSED PyObject *__pyx_self, struct PyMPICommObject *__pyx_v_comm) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_lock_table", 0); /* "mpi4py/MPI/commimpl.pxi":138 * def _lock_table(Comm comm): * "Internal communicator lock table" * return PyMPI_Lock_table(comm.ob_mpi) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock_table(__pyx_v_comm->ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/commimpl.pxi":136 * return lock * * def _lock_table(Comm comm): # <<<<<<<<<<<<<< * "Internal communicator lock table" * return PyMPI_Lock_table(comm.ob_mpi) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._lock_table", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":246 * include "commimpl.pxi" * * cdef inline Comm new_Comm(MPI_Comm ob): # <<<<<<<<<<<<<< * cdef Comm comm = Comm.__new__(Comm) * comm.ob_mpi = ob */ static CYTHON_INLINE struct PyMPICommObject *__pyx_f_6mpi4py_3MPI_new_Comm(MPI_Comm __pyx_v_ob) { struct PyMPICommObject *__pyx_v_comm = 0; struct PyMPICommObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("new_Comm", 0); /* "mpi4py/MPI/helpers.pxi":247 * * cdef inline Comm new_Comm(MPI_Comm ob): * cdef Comm comm = Comm.__new__(Comm) # <<<<<<<<<<<<<< * comm.ob_mpi = ob * return comm */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Comm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Comm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 247, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPICommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":248 * cdef inline Comm new_Comm(MPI_Comm ob): * cdef Comm comm = Comm.__new__(Comm) * comm.ob_mpi = ob # <<<<<<<<<<<<<< * return comm * */ __pyx_v_comm->ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":249 * cdef Comm comm = Comm.__new__(Comm) * comm.ob_mpi = ob * return comm # <<<<<<<<<<<<<< * * cdef inline Intracomm new_Intracomm(MPI_Comm ob): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = __pyx_v_comm; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":246 * include "commimpl.pxi" * * cdef inline Comm new_Comm(MPI_Comm ob): # <<<<<<<<<<<<<< * cdef Comm comm = Comm.__new__(Comm) * comm.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.new_Comm", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":251 * return comm * * cdef inline Intracomm new_Intracomm(MPI_Comm ob): # <<<<<<<<<<<<<< * cdef Intracomm comm = Intracomm.__new__(Intracomm) * comm.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIIntracommObject *__pyx_f_6mpi4py_3MPI_new_Intracomm(MPI_Comm __pyx_v_ob) { struct PyMPIIntracommObject *__pyx_v_comm = 0; struct PyMPIIntracommObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("new_Intracomm", 0); /* "mpi4py/MPI/helpers.pxi":252 * * cdef inline Intracomm new_Intracomm(MPI_Comm ob): * cdef Intracomm comm = Intracomm.__new__(Intracomm) # <<<<<<<<<<<<<< * comm.ob_mpi = ob * return comm */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Intracomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intracomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 252, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPIIntracommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":253 * cdef inline Intracomm new_Intracomm(MPI_Comm ob): * cdef Intracomm comm = Intracomm.__new__(Intracomm) * comm.ob_mpi = ob # <<<<<<<<<<<<<< * return comm * */ __pyx_v_comm->__pyx_base.ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":254 * cdef Intracomm comm = Intracomm.__new__(Intracomm) * comm.ob_mpi = ob * return comm # <<<<<<<<<<<<<< * * cdef inline Intercomm new_Intercomm(MPI_Comm ob): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = __pyx_v_comm; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":251 * return comm * * cdef inline Intracomm new_Intracomm(MPI_Comm ob): # <<<<<<<<<<<<<< * cdef Intracomm comm = Intracomm.__new__(Intracomm) * comm.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.new_Intracomm", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":256 * return comm * * cdef inline Intercomm new_Intercomm(MPI_Comm ob): # <<<<<<<<<<<<<< * cdef Intercomm comm = Intercomm.__new__(Intercomm) * comm.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIIntercommObject *__pyx_f_6mpi4py_3MPI_new_Intercomm(MPI_Comm __pyx_v_ob) { struct PyMPIIntercommObject *__pyx_v_comm = 0; struct PyMPIIntercommObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("new_Intercomm", 0); /* "mpi4py/MPI/helpers.pxi":257 * * cdef inline Intercomm new_Intercomm(MPI_Comm ob): * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * comm.ob_mpi = ob * return comm */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 257, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPIIntercommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":258 * cdef inline Intercomm new_Intercomm(MPI_Comm ob): * cdef Intercomm comm = Intercomm.__new__(Intercomm) * comm.ob_mpi = ob # <<<<<<<<<<<<<< * return comm * */ __pyx_v_comm->__pyx_base.ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":259 * cdef Intercomm comm = Intercomm.__new__(Intercomm) * comm.ob_mpi = ob * return comm # <<<<<<<<<<<<<< * * cdef inline int del_Comm(MPI_Comm* ob): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = __pyx_v_comm; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":256 * return comm * * cdef inline Intercomm new_Intercomm(MPI_Comm ob): # <<<<<<<<<<<<<< * cdef Intercomm comm = Intercomm.__new__(Intercomm) * comm.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.new_Intercomm", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":261 * return comm * * cdef inline int del_Comm(MPI_Comm* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_COMM_NULL : return 0 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Comm(MPI_Comm *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("del_Comm", 0); /* "mpi4py/MPI/helpers.pxi":262 * * cdef inline int del_Comm(MPI_Comm* ob): * if ob == NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_COMM_NULL : return 0 * if ob[0] == MPI_COMM_SELF : return 0 */ __pyx_t_1 = ((__pyx_v_ob == NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":263 * cdef inline int del_Comm(MPI_Comm* ob): * if ob == NULL : return 0 * if ob[0] == MPI_COMM_NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_COMM_SELF : return 0 * if ob[0] == MPI_COMM_WORLD : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":264 * if ob == NULL : return 0 * if ob[0] == MPI_COMM_NULL : return 0 * if ob[0] == MPI_COMM_SELF : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_COMM_WORLD : return 0 * # */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_COMM_SELF) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":265 * if ob[0] == MPI_COMM_NULL : return 0 * if ob[0] == MPI_COMM_SELF : return 0 * if ob[0] == MPI_COMM_WORLD : return 0 # <<<<<<<<<<<<<< * # * if not mpi_active(): return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_COMM_WORLD) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":267 * if ob[0] == MPI_COMM_WORLD : return 0 * # * if not mpi_active(): return 0 # <<<<<<<<<<<<<< * return MPI_Comm_free(ob) * */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":268 * # * if not mpi_active(): return 0 * return MPI_Comm_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Comm_free(__pyx_v_ob); goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":261 * return comm * * cdef inline int del_Comm(MPI_Comm* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_COMM_NULL : return 0 */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/winimpl.pxi":3 * #------------------------------------------------------------------------------ * * cdef inline int win_get_base(MPI_Win win,void **base) except -1: # <<<<<<<<<<<<<< * cdef int flag = 0 * cdef void *attr = NULL */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_win_get_base(MPI_Win __pyx_v_win, void **__pyx_v_base) { int __pyx_v_flag; void *__pyx_v_attr; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; void *__pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("win_get_base", 0); /* "mpi4py/MPI/winimpl.pxi":4 * * cdef inline int win_get_base(MPI_Win win,void **base) except -1: * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef void *attr = NULL * CHKERR( MPI_Win_get_attr(win, MPI_WIN_BASE, &attr, &flag) ) */ __pyx_v_flag = 0; /* "mpi4py/MPI/winimpl.pxi":5 * cdef inline int win_get_base(MPI_Win win,void **base) except -1: * cdef int flag = 0 * cdef void *attr = NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(win, MPI_WIN_BASE, &attr, &flag) ) * base[0] = attr if flag and attr != NULL else NULL */ __pyx_v_attr = NULL; /* "mpi4py/MPI/winimpl.pxi":6 * cdef int flag = 0 * cdef void *attr = NULL * CHKERR( MPI_Win_get_attr(win, MPI_WIN_BASE, &attr, &flag) ) # <<<<<<<<<<<<<< * base[0] = attr if flag and attr != NULL else NULL * return 0 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_win, MPI_WIN_BASE, (&__pyx_v_attr), (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(15, 6, __pyx_L1_error) /* "mpi4py/MPI/winimpl.pxi":7 * cdef void *attr = NULL * CHKERR( MPI_Win_get_attr(win, MPI_WIN_BASE, &attr, &flag) ) * base[0] = attr if flag and attr != NULL else NULL # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_4 = (__pyx_v_flag != 0); if (__pyx_t_4) { } else { __pyx_t_3 = __pyx_t_4; goto __pyx_L3_bool_binop_done; } __pyx_t_4 = ((__pyx_v_attr != NULL) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L3_bool_binop_done:; if (__pyx_t_3) { __pyx_t_2 = __pyx_v_attr; } else { __pyx_t_2 = NULL; } (__pyx_v_base[0]) = __pyx_t_2; /* "mpi4py/MPI/winimpl.pxi":8 * CHKERR( MPI_Win_get_attr(win, MPI_WIN_BASE, &attr, &flag) ) * base[0] = attr if flag and attr != NULL else NULL * return 0 # <<<<<<<<<<<<<< * * cdef inline int win_get_size(MPI_Win win,MPI_Aint *size) except -1: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/winimpl.pxi":3 * #------------------------------------------------------------------------------ * * cdef inline int win_get_base(MPI_Win win,void **base) except -1: # <<<<<<<<<<<<<< * cdef int flag = 0 * cdef void *attr = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.win_get_base", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/winimpl.pxi":10 * return 0 * * cdef inline int win_get_size(MPI_Win win,MPI_Aint *size) except -1: # <<<<<<<<<<<<<< * cdef int flag = 0 * cdef MPI_Aint *attr = NULL */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_win_get_size(MPI_Win __pyx_v_win, MPI_Aint *__pyx_v_size) { int __pyx_v_flag; MPI_Aint *__pyx_v_attr; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; MPI_Aint __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("win_get_size", 0); /* "mpi4py/MPI/winimpl.pxi":11 * * cdef inline int win_get_size(MPI_Win win,MPI_Aint *size) except -1: * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef MPI_Aint *attr = NULL * CHKERR( MPI_Win_get_attr(win, MPI_WIN_SIZE, &attr, &flag) ) */ __pyx_v_flag = 0; /* "mpi4py/MPI/winimpl.pxi":12 * cdef inline int win_get_size(MPI_Win win,MPI_Aint *size) except -1: * cdef int flag = 0 * cdef MPI_Aint *attr = NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(win, MPI_WIN_SIZE, &attr, &flag) ) * size[0] = attr[0] if flag and attr != NULL else 0 */ __pyx_v_attr = NULL; /* "mpi4py/MPI/winimpl.pxi":13 * cdef int flag = 0 * cdef MPI_Aint *attr = NULL * CHKERR( MPI_Win_get_attr(win, MPI_WIN_SIZE, &attr, &flag) ) # <<<<<<<<<<<<<< * size[0] = attr[0] if flag and attr != NULL else 0 * return 0 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_win, MPI_WIN_SIZE, (&__pyx_v_attr), (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(15, 13, __pyx_L1_error) /* "mpi4py/MPI/winimpl.pxi":14 * cdef MPI_Aint *attr = NULL * CHKERR( MPI_Win_get_attr(win, MPI_WIN_SIZE, &attr, &flag) ) * size[0] = attr[0] if flag and attr != NULL else 0 # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_4 = (__pyx_v_flag != 0); if (__pyx_t_4) { } else { __pyx_t_3 = __pyx_t_4; goto __pyx_L3_bool_binop_done; } __pyx_t_4 = ((__pyx_v_attr != NULL) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L3_bool_binop_done:; if (__pyx_t_3) { __pyx_t_2 = (__pyx_v_attr[0]); } else { __pyx_t_2 = 0; } (__pyx_v_size[0]) = __pyx_t_2; /* "mpi4py/MPI/winimpl.pxi":15 * CHKERR( MPI_Win_get_attr(win, MPI_WIN_SIZE, &attr, &flag) ) * size[0] = attr[0] if flag and attr != NULL else 0 * return 0 # <<<<<<<<<<<<<< * * cdef inline int win_get_unit(MPI_Win win,int *disp_unit) except -1: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/winimpl.pxi":10 * return 0 * * cdef inline int win_get_size(MPI_Win win,MPI_Aint *size) except -1: # <<<<<<<<<<<<<< * cdef int flag = 0 * cdef MPI_Aint *attr = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.win_get_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/winimpl.pxi":17 * return 0 * * cdef inline int win_get_unit(MPI_Win win,int *disp_unit) except -1: # <<<<<<<<<<<<<< * cdef int flag = 0 * cdef int *attr = NULL */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_win_get_unit(MPI_Win __pyx_v_win, int *__pyx_v_disp_unit) { int __pyx_v_flag; int *__pyx_v_attr; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("win_get_unit", 0); /* "mpi4py/MPI/winimpl.pxi":18 * * cdef inline int win_get_unit(MPI_Win win,int *disp_unit) except -1: * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef int *attr = NULL * CHKERR( MPI_Win_get_attr(win, MPI_WIN_DISP_UNIT, &attr, &flag) ) */ __pyx_v_flag = 0; /* "mpi4py/MPI/winimpl.pxi":19 * cdef inline int win_get_unit(MPI_Win win,int *disp_unit) except -1: * cdef int flag = 0 * cdef int *attr = NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(win, MPI_WIN_DISP_UNIT, &attr, &flag) ) * disp_unit[0] = attr[0] if flag and attr != NULL else 1 */ __pyx_v_attr = NULL; /* "mpi4py/MPI/winimpl.pxi":20 * cdef int flag = 0 * cdef int *attr = NULL * CHKERR( MPI_Win_get_attr(win, MPI_WIN_DISP_UNIT, &attr, &flag) ) # <<<<<<<<<<<<<< * disp_unit[0] = attr[0] if flag and attr != NULL else 1 * return 0 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_win, MPI_WIN_DISP_UNIT, (&__pyx_v_attr), (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(15, 20, __pyx_L1_error) /* "mpi4py/MPI/winimpl.pxi":21 * cdef int *attr = NULL * CHKERR( MPI_Win_get_attr(win, MPI_WIN_DISP_UNIT, &attr, &flag) ) * disp_unit[0] = attr[0] if flag and attr != NULL else 1 # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_3 = (__pyx_v_flag != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L3_bool_binop_done; } __pyx_t_3 = ((__pyx_v_attr != NULL) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L3_bool_binop_done:; if (__pyx_t_2) { __pyx_t_1 = (__pyx_v_attr[0]); } else { __pyx_t_1 = 1; } (__pyx_v_disp_unit[0]) = __pyx_t_1; /* "mpi4py/MPI/winimpl.pxi":22 * CHKERR( MPI_Win_get_attr(win, MPI_WIN_DISP_UNIT, &attr, &flag) ) * disp_unit[0] = attr[0] if flag and attr != NULL else 1 * return 0 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/winimpl.pxi":17 * return 0 * * cdef inline int win_get_unit(MPI_Win win,int *disp_unit) except -1: # <<<<<<<<<<<<<< * cdef int flag = 0 * cdef int *attr = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.win_get_unit", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":275 * include "winimpl.pxi" * * cdef inline Win new_Win(MPI_Win ob): # <<<<<<<<<<<<<< * cdef Win win = Win.__new__(Win) * win.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIWinObject *__pyx_f_6mpi4py_3MPI_new_Win(MPI_Win __pyx_v_ob) { struct PyMPIWinObject *__pyx_v_win = 0; struct PyMPIWinObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("new_Win", 0); /* "mpi4py/MPI/helpers.pxi":276 * * cdef inline Win new_Win(MPI_Win ob): * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * win.ob_mpi = ob * return win */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 276, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_win = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":277 * cdef inline Win new_Win(MPI_Win ob): * cdef Win win = Win.__new__(Win) * win.ob_mpi = ob # <<<<<<<<<<<<<< * return win * */ __pyx_v_win->ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":278 * cdef Win win = Win.__new__(Win) * win.ob_mpi = ob * return win # <<<<<<<<<<<<<< * * cdef inline int del_Win(MPI_Win* ob): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_win)); __pyx_r = __pyx_v_win; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":275 * include "winimpl.pxi" * * cdef inline Win new_Win(MPI_Win ob): # <<<<<<<<<<<<<< * cdef Win win = Win.__new__(Win) * win.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.new_Win", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_win); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":280 * return win * * cdef inline int del_Win(MPI_Win* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_WIN_NULL : return 0 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Win(MPI_Win *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("del_Win", 0); /* "mpi4py/MPI/helpers.pxi":281 * * cdef inline int del_Win(MPI_Win* ob): * if ob == NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_WIN_NULL : return 0 * # */ __pyx_t_1 = ((__pyx_v_ob == NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":282 * cdef inline int del_Win(MPI_Win* ob): * if ob == NULL : return 0 * if ob[0] == MPI_WIN_NULL : return 0 # <<<<<<<<<<<<<< * # * if not mpi_active(): return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_WIN_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":284 * if ob[0] == MPI_WIN_NULL : return 0 * # * if not mpi_active(): return 0 # <<<<<<<<<<<<<< * return MPI_Win_free(ob) * */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":285 * # * if not mpi_active(): return 0 * return MPI_Win_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Win_free(__pyx_v_ob); goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":280 * return win * * cdef inline int del_Win(MPI_Win* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_WIN_NULL : return 0 */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/drepimpl.pxi":13 * cdef object extent_fn * * def __cinit__(self, read_fn, write_fn, extent_fn): # <<<<<<<<<<<<<< * self.read_fn = read_fn * self.write_fn = write_fn */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_10_p_datarep_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_10_p_datarep_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_read_fn = 0; PyObject *__pyx_v_write_fn = 0; PyObject *__pyx_v_extent_fn = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_read_fn,&__pyx_n_s_write_fn,&__pyx_n_s_extent_fn,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_read_fn)) != 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_write_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(16, 13, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_extent_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(16, 13, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(16, 13, __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_read_fn = values[0]; __pyx_v_write_fn = values[1]; __pyx_v_extent_fn = 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(16, 13, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI._p_datarep.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_10_p_datarep___cinit__(((struct __pyx_obj_6mpi4py_3MPI__p_datarep *)__pyx_v_self), __pyx_v_read_fn, __pyx_v_write_fn, __pyx_v_extent_fn); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_10_p_datarep___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_datarep *__pyx_v_self, PyObject *__pyx_v_read_fn, PyObject *__pyx_v_write_fn, PyObject *__pyx_v_extent_fn) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/drepimpl.pxi":14 * * def __cinit__(self, read_fn, write_fn, extent_fn): * self.read_fn = read_fn # <<<<<<<<<<<<<< * self.write_fn = write_fn * self.extent_fn = extent_fn */ __Pyx_INCREF(__pyx_v_read_fn); __Pyx_GIVEREF(__pyx_v_read_fn); __Pyx_GOTREF(__pyx_v_self->read_fn); __Pyx_DECREF(__pyx_v_self->read_fn); __pyx_v_self->read_fn = __pyx_v_read_fn; /* "mpi4py/MPI/drepimpl.pxi":15 * def __cinit__(self, read_fn, write_fn, extent_fn): * self.read_fn = read_fn * self.write_fn = write_fn # <<<<<<<<<<<<<< * self.extent_fn = extent_fn * */ __Pyx_INCREF(__pyx_v_write_fn); __Pyx_GIVEREF(__pyx_v_write_fn); __Pyx_GOTREF(__pyx_v_self->write_fn); __Pyx_DECREF(__pyx_v_self->write_fn); __pyx_v_self->write_fn = __pyx_v_write_fn; /* "mpi4py/MPI/drepimpl.pxi":16 * self.read_fn = read_fn * self.write_fn = write_fn * self.extent_fn = extent_fn # <<<<<<<<<<<<<< * * cdef int read(self, */ __Pyx_INCREF(__pyx_v_extent_fn); __Pyx_GIVEREF(__pyx_v_extent_fn); __Pyx_GOTREF(__pyx_v_self->extent_fn); __Pyx_DECREF(__pyx_v_self->extent_fn); __pyx_v_self->extent_fn = __pyx_v_extent_fn; /* "mpi4py/MPI/drepimpl.pxi":13 * cdef object extent_fn * * def __cinit__(self, read_fn, write_fn, extent_fn): # <<<<<<<<<<<<<< * self.read_fn = read_fn * self.write_fn = write_fn */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/drepimpl.pxi":18 * self.extent_fn = extent_fn * * cdef int read(self, # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ static int __pyx_f_6mpi4py_3MPI_10_p_datarep_read(struct __pyx_obj_6mpi4py_3MPI__p_datarep *__pyx_v_self, void *__pyx_v_userbuf, MPI_Datatype __pyx_v_datatype, int __pyx_v_count, void *__pyx_v_filebuf, MPI_Offset __pyx_v_position) { MPI_Aint __pyx_v_lb; MPI_Aint __pyx_v_extent; int __pyx_v_ierr; MPI_Aint __pyx_v_ulen; MPI_Aint __pyx_v_flen; PyObject *__pyx_v_ubuf = 0; PyObject *__pyx_v_fbuf = 0; struct PyMPIDatatypeObject *__pyx_v_dtype = 0; int __pyx_r; __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; int __pyx_t_7; PyObject *__pyx_t_8 = NULL; int __pyx_t_9; char const *__pyx_t_10; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; PyObject *__pyx_t_15 = NULL; PyObject *__pyx_t_16 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("read", 0); /* "mpi4py/MPI/drepimpl.pxi":25 * MPI_Offset position, * ) except -1: * cdef MPI_Aint lb=0, extent=0 # <<<<<<<<<<<<<< * cdef int ierr = MPI_Type_get_extent(datatype, &lb, &extent) * if ierr != MPI_SUCCESS: return ierr */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/drepimpl.pxi":26 * ) except -1: * cdef MPI_Aint lb=0, extent=0 * cdef int ierr = MPI_Type_get_extent(datatype, &lb, &extent) # <<<<<<<<<<<<<< * if ierr != MPI_SUCCESS: return ierr * cdef MPI_Aint ulen = (position+count) * extent */ __pyx_v_ierr = MPI_Type_get_extent(__pyx_v_datatype, (&__pyx_v_lb), (&__pyx_v_extent)); /* "mpi4py/MPI/drepimpl.pxi":27 * cdef MPI_Aint lb=0, extent=0 * cdef int ierr = MPI_Type_get_extent(datatype, &lb, &extent) * if ierr != MPI_SUCCESS: return ierr # <<<<<<<<<<<<<< * cdef MPI_Aint ulen = (position+count) * extent * cdef MPI_Aint flen = PY_SSIZE_T_MAX # XXX */ __pyx_t_1 = ((__pyx_v_ierr != MPI_SUCCESS) != 0); if (__pyx_t_1) { __pyx_r = __pyx_v_ierr; goto __pyx_L0; } /* "mpi4py/MPI/drepimpl.pxi":28 * cdef int ierr = MPI_Type_get_extent(datatype, &lb, &extent) * if ierr != MPI_SUCCESS: return ierr * cdef MPI_Aint ulen = (position+count) * extent # <<<<<<<<<<<<<< * cdef MPI_Aint flen = PY_SSIZE_T_MAX # XXX * cdef object ubuf = tomemory(userbuf, ulen) */ __pyx_v_ulen = (((MPI_Aint)(__pyx_v_position + __pyx_v_count)) * __pyx_v_extent); /* "mpi4py/MPI/drepimpl.pxi":29 * if ierr != MPI_SUCCESS: return ierr * cdef MPI_Aint ulen = (position+count) * extent * cdef MPI_Aint flen = PY_SSIZE_T_MAX # XXX # <<<<<<<<<<<<<< * cdef object ubuf = tomemory(userbuf, ulen) * cdef object fbuf = tomemory(filebuf, flen) */ __pyx_v_flen = ((MPI_Aint)PY_SSIZE_T_MAX); /* "mpi4py/MPI/drepimpl.pxi":30 * cdef MPI_Aint ulen = (position+count) * extent * cdef MPI_Aint flen = PY_SSIZE_T_MAX # XXX * cdef object ubuf = tomemory(userbuf, ulen) # <<<<<<<<<<<<<< * cdef object fbuf = tomemory(filebuf, flen) * cdef Datatype dtype = Datatype.__new__(Datatype) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_userbuf, __pyx_v_ulen)); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 30, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_ubuf = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/drepimpl.pxi":31 * cdef MPI_Aint flen = PY_SSIZE_T_MAX # XXX * cdef object ubuf = tomemory(userbuf, ulen) * cdef object fbuf = tomemory(filebuf, flen) # <<<<<<<<<<<<<< * cdef Datatype dtype = Datatype.__new__(Datatype) * dtype.ob_mpi = datatype */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_filebuf, __pyx_v_flen)); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 31, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_fbuf = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/drepimpl.pxi":32 * cdef object ubuf = tomemory(userbuf, ulen) * cdef object fbuf = tomemory(filebuf, flen) * cdef Datatype dtype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * dtype.ob_mpi = datatype * try: self.read_fn(ubuf, dtype, count, fbuf, position) */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 32, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_dtype = ((struct PyMPIDatatypeObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/drepimpl.pxi":33 * cdef object fbuf = tomemory(filebuf, flen) * cdef Datatype dtype = Datatype.__new__(Datatype) * dtype.ob_mpi = datatype # <<<<<<<<<<<<<< * try: self.read_fn(ubuf, dtype, count, fbuf, position) * finally: dtype.ob_mpi = MPI_DATATYPE_NULL */ __pyx_v_dtype->ob_mpi = __pyx_v_datatype; /* "mpi4py/MPI/drepimpl.pxi":34 * cdef Datatype dtype = Datatype.__new__(Datatype) * dtype.ob_mpi = datatype * try: self.read_fn(ubuf, dtype, count, fbuf, position) # <<<<<<<<<<<<<< * finally: dtype.ob_mpi = MPI_DATATYPE_NULL * return MPI_SUCCESS */ /*try:*/ { __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 34, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyInt_From_MPI_Offset(__pyx_v_position); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 34, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_self->read_fn); __pyx_t_5 = __pyx_v_self->read_fn; __pyx_t_6 = NULL; __pyx_t_7 = 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_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[6] = {__pyx_t_6, __pyx_v_ubuf, ((PyObject *)__pyx_v_dtype), __pyx_t_2, __pyx_v_fbuf, __pyx_t_4}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 5+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 34, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[6] = {__pyx_t_6, __pyx_v_ubuf, ((PyObject *)__pyx_v_dtype), __pyx_t_2, __pyx_v_fbuf, __pyx_t_4}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 5+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 34, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_8 = PyTuple_New(5+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(16, 34, __pyx_L5_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_ubuf); __Pyx_GIVEREF(__pyx_v_ubuf); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_ubuf); __Pyx_INCREF(((PyObject *)__pyx_v_dtype)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dtype)); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, ((PyObject *)__pyx_v_dtype)); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_t_2); __Pyx_INCREF(__pyx_v_fbuf); __Pyx_GIVEREF(__pyx_v_fbuf); PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_7, __pyx_v_fbuf); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 4+__pyx_t_7, __pyx_t_4); __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 34, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/drepimpl.pxi":35 * dtype.ob_mpi = datatype * try: self.read_fn(ubuf, dtype, count, fbuf, position) * finally: dtype.ob_mpi = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ /*finally:*/ { /*normal exit:*/{ __pyx_v_dtype->ob_mpi = MPI_DATATYPE_NULL; goto __pyx_L6; } __pyx_L5_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __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_14, &__pyx_t_15, &__pyx_t_16); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13) < 0)) __Pyx_ErrFetch(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); __Pyx_XGOTREF(__pyx_t_11); __Pyx_XGOTREF(__pyx_t_12); __Pyx_XGOTREF(__pyx_t_13); __Pyx_XGOTREF(__pyx_t_14); __Pyx_XGOTREF(__pyx_t_15); __Pyx_XGOTREF(__pyx_t_16); __pyx_t_7 = __pyx_lineno; __pyx_t_9 = __pyx_clineno; __pyx_t_10 = __pyx_filename; { __pyx_v_dtype->ob_mpi = MPI_DATATYPE_NULL; } 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_11); __Pyx_XGIVEREF(__pyx_t_12); __Pyx_XGIVEREF(__pyx_t_13); __Pyx_ErrRestore(__pyx_t_11, __pyx_t_12, __pyx_t_13); __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_9; __pyx_filename = __pyx_t_10; goto __pyx_L1_error; } __pyx_L6:; } /* "mpi4py/MPI/drepimpl.pxi":36 * try: self.read_fn(ubuf, dtype, count, fbuf, position) * finally: dtype.ob_mpi = MPI_DATATYPE_NULL * return MPI_SUCCESS # <<<<<<<<<<<<<< * * cdef int write(self, */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":18 * self.extent_fn = extent_fn * * cdef int read(self, # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ /* 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_8); __Pyx_AddTraceback("mpi4py.MPI._p_datarep.read", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ubuf); __Pyx_XDECREF(__pyx_v_fbuf); __Pyx_XDECREF((PyObject *)__pyx_v_dtype); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/drepimpl.pxi":38 * return MPI_SUCCESS * * cdef int write(self, # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ static int __pyx_f_6mpi4py_3MPI_10_p_datarep_write(struct __pyx_obj_6mpi4py_3MPI__p_datarep *__pyx_v_self, void *__pyx_v_userbuf, MPI_Datatype __pyx_v_datatype, int __pyx_v_count, void *__pyx_v_filebuf, MPI_Offset __pyx_v_position) { MPI_Aint __pyx_v_lb; MPI_Aint __pyx_v_extent; int __pyx_v_ierr; MPI_Aint __pyx_v_ulen; MPI_Aint __pyx_v_flen; PyObject *__pyx_v_ubuf = 0; PyObject *__pyx_v_fbuf = 0; struct PyMPIDatatypeObject *__pyx_v_dtype = 0; int __pyx_r; __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; int __pyx_t_7; PyObject *__pyx_t_8 = NULL; int __pyx_t_9; char const *__pyx_t_10; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; PyObject *__pyx_t_15 = NULL; PyObject *__pyx_t_16 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("write", 0); /* "mpi4py/MPI/drepimpl.pxi":45 * MPI_Offset position, * ) except -1: * cdef MPI_Aint lb=0, extent=0 # <<<<<<<<<<<<<< * cdef int ierr = MPI_Type_get_extent(datatype, &lb, &extent) * if ierr != MPI_SUCCESS: return ierr */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/drepimpl.pxi":46 * ) except -1: * cdef MPI_Aint lb=0, extent=0 * cdef int ierr = MPI_Type_get_extent(datatype, &lb, &extent) # <<<<<<<<<<<<<< * if ierr != MPI_SUCCESS: return ierr * cdef MPI_Aint ulen = (position+count) * extent */ __pyx_v_ierr = MPI_Type_get_extent(__pyx_v_datatype, (&__pyx_v_lb), (&__pyx_v_extent)); /* "mpi4py/MPI/drepimpl.pxi":47 * cdef MPI_Aint lb=0, extent=0 * cdef int ierr = MPI_Type_get_extent(datatype, &lb, &extent) * if ierr != MPI_SUCCESS: return ierr # <<<<<<<<<<<<<< * cdef MPI_Aint ulen = (position+count) * extent * cdef MPI_Aint flen = PY_SSIZE_T_MAX # XXX */ __pyx_t_1 = ((__pyx_v_ierr != MPI_SUCCESS) != 0); if (__pyx_t_1) { __pyx_r = __pyx_v_ierr; goto __pyx_L0; } /* "mpi4py/MPI/drepimpl.pxi":48 * cdef int ierr = MPI_Type_get_extent(datatype, &lb, &extent) * if ierr != MPI_SUCCESS: return ierr * cdef MPI_Aint ulen = (position+count) * extent # <<<<<<<<<<<<<< * cdef MPI_Aint flen = PY_SSIZE_T_MAX # XXX * cdef object ubuf = tomemory(userbuf, ulen) */ __pyx_v_ulen = (((MPI_Aint)(__pyx_v_position + __pyx_v_count)) * __pyx_v_extent); /* "mpi4py/MPI/drepimpl.pxi":49 * if ierr != MPI_SUCCESS: return ierr * cdef MPI_Aint ulen = (position+count) * extent * cdef MPI_Aint flen = PY_SSIZE_T_MAX # XXX # <<<<<<<<<<<<<< * cdef object ubuf = tomemory(userbuf, ulen) * cdef object fbuf = tomemory(filebuf, flen) */ __pyx_v_flen = ((MPI_Aint)PY_SSIZE_T_MAX); /* "mpi4py/MPI/drepimpl.pxi":50 * cdef MPI_Aint ulen = (position+count) * extent * cdef MPI_Aint flen = PY_SSIZE_T_MAX # XXX * cdef object ubuf = tomemory(userbuf, ulen) # <<<<<<<<<<<<<< * cdef object fbuf = tomemory(filebuf, flen) * cdef Datatype dtype = Datatype.__new__(Datatype) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_userbuf, __pyx_v_ulen)); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_ubuf = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/drepimpl.pxi":51 * cdef MPI_Aint flen = PY_SSIZE_T_MAX # XXX * cdef object ubuf = tomemory(userbuf, ulen) * cdef object fbuf = tomemory(filebuf, flen) # <<<<<<<<<<<<<< * cdef Datatype dtype = Datatype.__new__(Datatype) * dtype.ob_mpi = datatype */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_filebuf, __pyx_v_flen)); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_fbuf = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/drepimpl.pxi":52 * cdef object ubuf = tomemory(userbuf, ulen) * cdef object fbuf = tomemory(filebuf, flen) * cdef Datatype dtype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * dtype.ob_mpi = datatype * try: self.write_fn(ubuf, dtype, count, fbuf, position) */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 52, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_dtype = ((struct PyMPIDatatypeObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/drepimpl.pxi":53 * cdef object fbuf = tomemory(filebuf, flen) * cdef Datatype dtype = Datatype.__new__(Datatype) * dtype.ob_mpi = datatype # <<<<<<<<<<<<<< * try: self.write_fn(ubuf, dtype, count, fbuf, position) * finally: dtype.ob_mpi = MPI_DATATYPE_NULL */ __pyx_v_dtype->ob_mpi = __pyx_v_datatype; /* "mpi4py/MPI/drepimpl.pxi":54 * cdef Datatype dtype = Datatype.__new__(Datatype) * dtype.ob_mpi = datatype * try: self.write_fn(ubuf, dtype, count, fbuf, position) # <<<<<<<<<<<<<< * finally: dtype.ob_mpi = MPI_DATATYPE_NULL * return MPI_SUCCESS */ /*try:*/ { __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 54, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyInt_From_MPI_Offset(__pyx_v_position); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 54, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_self->write_fn); __pyx_t_5 = __pyx_v_self->write_fn; __pyx_t_6 = NULL; __pyx_t_7 = 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_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[6] = {__pyx_t_6, __pyx_v_ubuf, ((PyObject *)__pyx_v_dtype), __pyx_t_2, __pyx_v_fbuf, __pyx_t_4}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 5+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 54, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[6] = {__pyx_t_6, __pyx_v_ubuf, ((PyObject *)__pyx_v_dtype), __pyx_t_2, __pyx_v_fbuf, __pyx_t_4}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 5+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 54, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_8 = PyTuple_New(5+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(16, 54, __pyx_L5_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_ubuf); __Pyx_GIVEREF(__pyx_v_ubuf); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_ubuf); __Pyx_INCREF(((PyObject *)__pyx_v_dtype)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dtype)); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, ((PyObject *)__pyx_v_dtype)); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_t_2); __Pyx_INCREF(__pyx_v_fbuf); __Pyx_GIVEREF(__pyx_v_fbuf); PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_7, __pyx_v_fbuf); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 4+__pyx_t_7, __pyx_t_4); __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 54, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/drepimpl.pxi":55 * dtype.ob_mpi = datatype * try: self.write_fn(ubuf, dtype, count, fbuf, position) * finally: dtype.ob_mpi = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ /*finally:*/ { /*normal exit:*/{ __pyx_v_dtype->ob_mpi = MPI_DATATYPE_NULL; goto __pyx_L6; } __pyx_L5_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __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_14, &__pyx_t_15, &__pyx_t_16); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13) < 0)) __Pyx_ErrFetch(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); __Pyx_XGOTREF(__pyx_t_11); __Pyx_XGOTREF(__pyx_t_12); __Pyx_XGOTREF(__pyx_t_13); __Pyx_XGOTREF(__pyx_t_14); __Pyx_XGOTREF(__pyx_t_15); __Pyx_XGOTREF(__pyx_t_16); __pyx_t_7 = __pyx_lineno; __pyx_t_9 = __pyx_clineno; __pyx_t_10 = __pyx_filename; { __pyx_v_dtype->ob_mpi = MPI_DATATYPE_NULL; } 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_11); __Pyx_XGIVEREF(__pyx_t_12); __Pyx_XGIVEREF(__pyx_t_13); __Pyx_ErrRestore(__pyx_t_11, __pyx_t_12, __pyx_t_13); __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_9; __pyx_filename = __pyx_t_10; goto __pyx_L1_error; } __pyx_L6:; } /* "mpi4py/MPI/drepimpl.pxi":56 * try: self.write_fn(ubuf, dtype, count, fbuf, position) * finally: dtype.ob_mpi = MPI_DATATYPE_NULL * return MPI_SUCCESS # <<<<<<<<<<<<<< * * cdef int extent(self, */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":38 * return MPI_SUCCESS * * cdef int write(self, # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ /* 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_8); __Pyx_AddTraceback("mpi4py.MPI._p_datarep.write", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ubuf); __Pyx_XDECREF(__pyx_v_fbuf); __Pyx_XDECREF((PyObject *)__pyx_v_dtype); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/drepimpl.pxi":58 * return MPI_SUCCESS * * cdef int extent(self, # <<<<<<<<<<<<<< * MPI_Datatype datatype, * MPI_Aint *file_extent, */ static int __pyx_f_6mpi4py_3MPI_10_p_datarep_extent(struct __pyx_obj_6mpi4py_3MPI__p_datarep *__pyx_v_self, MPI_Datatype __pyx_v_datatype, MPI_Aint *__pyx_v_file_extent) { struct PyMPIDatatypeObject *__pyx_v_dtype = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; MPI_Aint __pyx_t_4; int __pyx_t_5; int __pyx_t_6; char const *__pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("extent", 0); /* "mpi4py/MPI/drepimpl.pxi":62 * MPI_Aint *file_extent, * ) except -1: * cdef Datatype dtype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * dtype.ob_mpi = datatype * try: file_extent[0] = self.extent_fn(dtype) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 62, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_dtype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/drepimpl.pxi":63 * ) except -1: * cdef Datatype dtype = Datatype.__new__(Datatype) * dtype.ob_mpi = datatype # <<<<<<<<<<<<<< * try: file_extent[0] = self.extent_fn(dtype) * finally: dtype.ob_mpi = MPI_DATATYPE_NULL */ __pyx_v_dtype->ob_mpi = __pyx_v_datatype; /* "mpi4py/MPI/drepimpl.pxi":64 * cdef Datatype dtype = Datatype.__new__(Datatype) * dtype.ob_mpi = datatype * try: file_extent[0] = self.extent_fn(dtype) # <<<<<<<<<<<<<< * finally: dtype.ob_mpi = MPI_DATATYPE_NULL * return MPI_SUCCESS */ /*try:*/ { __Pyx_INCREF(__pyx_v_self->extent_fn); __pyx_t_1 = __pyx_v_self->extent_fn; __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_dtype)) : __Pyx_PyObject_CallOneArg(__pyx_t_1, ((PyObject *)__pyx_v_dtype)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(16, 64, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyInt_As_MPI_Aint(__pyx_t_2); if (unlikely((__pyx_t_4 == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(16, 64, __pyx_L4_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; (__pyx_v_file_extent[0]) = __pyx_t_4; } /* "mpi4py/MPI/drepimpl.pxi":65 * dtype.ob_mpi = datatype * try: file_extent[0] = self.extent_fn(dtype) * finally: dtype.ob_mpi = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ /*finally:*/ { /*normal exit:*/{ __pyx_v_dtype->ob_mpi = MPI_DATATYPE_NULL; goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 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_11, &__pyx_t_12, &__pyx_t_13); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); __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_XGOTREF(__pyx_t_13); __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename; { __pyx_v_dtype->ob_mpi = MPI_DATATYPE_NULL; } if (PY_MAJOR_VERSION >= 3) { __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_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10); __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/drepimpl.pxi":66 * try: file_extent[0] = self.extent_fn(dtype) * finally: dtype.ob_mpi = MPI_DATATYPE_NULL * return MPI_SUCCESS # <<<<<<<<<<<<<< * * # --- */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":58 * return MPI_SUCCESS * * cdef int extent(self, # <<<<<<<<<<<<<< * MPI_Datatype datatype, * MPI_Aint *file_extent, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI._p_datarep.extent", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_dtype); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/drepimpl.pxi":70 * # --- * * cdef int datarep_read( # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ static int __pyx_f_6mpi4py_3MPI_datarep_read(void *__pyx_v_userbuf, MPI_Datatype __pyx_v_datatype, int __pyx_v_count, void *__pyx_v_filebuf, MPI_Offset __pyx_v_position, void *__pyx_v_extra_state) { struct __pyx_obj_6mpi4py_3MPI__p_datarep *__pyx_v_state = 0; int __pyx_v_ierr; PyObject *__pyx_v_exc = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("datarep_read", 0); /* "mpi4py/MPI/drepimpl.pxi":78 * void *extra_state, * ) except MPI_ERR_UNKNOWN with gil: * cdef _p_datarep state = <_p_datarep>extra_state # <<<<<<<<<<<<<< * cdef int ierr = MPI_SUCCESS * cdef object exc */ __pyx_t_1 = ((PyObject *)__pyx_v_extra_state); __Pyx_INCREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_datarep *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/drepimpl.pxi":79 * ) except MPI_ERR_UNKNOWN with gil: * cdef _p_datarep state = <_p_datarep>extra_state * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/drepimpl.pxi":81 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.read(userbuf, datatype, count, filebuf, position) * except MPIException as exc: */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { /* "mpi4py/MPI/drepimpl.pxi":82 * cdef object exc * try: * state.read(userbuf, datatype, count, filebuf, position) # <<<<<<<<<<<<<< * except MPIException as exc: * print_traceback() */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_10_p_datarep_read(__pyx_v_state, __pyx_v_userbuf, __pyx_v_datatype, __pyx_v_count, __pyx_v_filebuf, __pyx_v_position); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(16, 82, __pyx_L3_error) /* "mpi4py/MPI/drepimpl.pxi":81 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.read(userbuf, datatype, count, filebuf, position) * except MPIException as exc: */ } __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; goto __pyx_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/drepimpl.pxi":83 * try: * state.read(userbuf, datatype, count, filebuf, position) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * ierr = exc.Get_error_code() */ __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_5) { __Pyx_AddTraceback("mpi4py.MPI.datarep_read", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(16, 83, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_v_exc = __pyx_t_6; /* "mpi4py/MPI/drepimpl.pxi":84 * state.read(userbuf, datatype, count, filebuf, position) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/drepimpl.pxi":85 * except MPIException as exc: * print_traceback() * ierr = exc.Get_error_code() # <<<<<<<<<<<<<< * except: * print_traceback() */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(16, 85, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(16, 85, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 85, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_5; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/drepimpl.pxi":86 * print_traceback() * ierr = exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * ierr = MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.datarep_read", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(16, 86, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/drepimpl.pxi":87 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/drepimpl.pxi":88 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/drepimpl.pxi":81 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.read(userbuf, datatype, count, filebuf, position) * except MPIException as exc: */ __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); goto __pyx_L1_error; __pyx_L4_exception_handled:; __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); __pyx_L8_try_end:; } /* "mpi4py/MPI/drepimpl.pxi":89 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * cdef int datarep_write( */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":70 * # --- * * cdef int datarep_read( # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ /* 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("mpi4py.MPI.datarep_read", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "mpi4py/MPI/drepimpl.pxi":91 * return ierr * * cdef int datarep_write( # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ static int __pyx_f_6mpi4py_3MPI_datarep_write(void *__pyx_v_userbuf, MPI_Datatype __pyx_v_datatype, int __pyx_v_count, void *__pyx_v_filebuf, MPI_Offset __pyx_v_position, void *__pyx_v_extra_state) { struct __pyx_obj_6mpi4py_3MPI__p_datarep *__pyx_v_state = 0; int __pyx_v_ierr; PyObject *__pyx_v_exc = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("datarep_write", 0); /* "mpi4py/MPI/drepimpl.pxi":99 * void *extra_state, * ) except MPI_ERR_UNKNOWN with gil: * cdef _p_datarep state = <_p_datarep>extra_state # <<<<<<<<<<<<<< * cdef int ierr = MPI_SUCCESS * cdef object exc */ __pyx_t_1 = ((PyObject *)__pyx_v_extra_state); __Pyx_INCREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_datarep *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/drepimpl.pxi":100 * ) except MPI_ERR_UNKNOWN with gil: * cdef _p_datarep state = <_p_datarep>extra_state * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/drepimpl.pxi":102 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.write(userbuf, datatype, count, filebuf, position) * except MPIException as exc: */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { /* "mpi4py/MPI/drepimpl.pxi":103 * cdef object exc * try: * state.write(userbuf, datatype, count, filebuf, position) # <<<<<<<<<<<<<< * except MPIException as exc: * print_traceback() */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_10_p_datarep_write(__pyx_v_state, __pyx_v_userbuf, __pyx_v_datatype, __pyx_v_count, __pyx_v_filebuf, __pyx_v_position); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(16, 103, __pyx_L3_error) /* "mpi4py/MPI/drepimpl.pxi":102 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.write(userbuf, datatype, count, filebuf, position) * except MPIException as exc: */ } __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; goto __pyx_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/drepimpl.pxi":104 * try: * state.write(userbuf, datatype, count, filebuf, position) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * ierr = exc.Get_error_code() */ __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_5) { __Pyx_AddTraceback("mpi4py.MPI.datarep_write", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(16, 104, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_v_exc = __pyx_t_6; /* "mpi4py/MPI/drepimpl.pxi":105 * state.write(userbuf, datatype, count, filebuf, position) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/drepimpl.pxi":106 * except MPIException as exc: * print_traceback() * ierr = exc.Get_error_code() # <<<<<<<<<<<<<< * except: * print_traceback() */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(16, 106, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(16, 106, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 106, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_5; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/drepimpl.pxi":107 * print_traceback() * ierr = exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * ierr = MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.datarep_write", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(16, 107, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/drepimpl.pxi":108 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/drepimpl.pxi":109 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/drepimpl.pxi":102 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.write(userbuf, datatype, count, filebuf, position) * except MPIException as exc: */ __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); goto __pyx_L1_error; __pyx_L4_exception_handled:; __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); __pyx_L8_try_end:; } /* "mpi4py/MPI/drepimpl.pxi":110 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * cdef int datarep_extent( */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":91 * return ierr * * cdef int datarep_write( # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ /* 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("mpi4py.MPI.datarep_write", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "mpi4py/MPI/drepimpl.pxi":112 * return ierr * * cdef int datarep_extent( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * MPI_Aint *file_extent, */ static int __pyx_f_6mpi4py_3MPI_datarep_extent(MPI_Datatype __pyx_v_datatype, MPI_Aint *__pyx_v_file_extent, void *__pyx_v_extra_state) { struct __pyx_obj_6mpi4py_3MPI__p_datarep *__pyx_v_state = 0; int __pyx_v_ierr; PyObject *__pyx_v_exc = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("datarep_extent", 0); /* "mpi4py/MPI/drepimpl.pxi":117 * void *extra_state, * ) except MPI_ERR_UNKNOWN with gil: * cdef _p_datarep state = <_p_datarep>extra_state # <<<<<<<<<<<<<< * cdef int ierr = MPI_SUCCESS * cdef object exc */ __pyx_t_1 = ((PyObject *)__pyx_v_extra_state); __Pyx_INCREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_datarep *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/drepimpl.pxi":118 * ) except MPI_ERR_UNKNOWN with gil: * cdef _p_datarep state = <_p_datarep>extra_state * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/drepimpl.pxi":120 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.extent(datatype, file_extent) * except MPIException as exc: */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { /* "mpi4py/MPI/drepimpl.pxi":121 * cdef object exc * try: * state.extent(datatype, file_extent) # <<<<<<<<<<<<<< * except MPIException as exc: * print_traceback() */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_10_p_datarep_extent(__pyx_v_state, __pyx_v_datatype, __pyx_v_file_extent); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(16, 121, __pyx_L3_error) /* "mpi4py/MPI/drepimpl.pxi":120 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.extent(datatype, file_extent) * except MPIException as exc: */ } __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; goto __pyx_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/drepimpl.pxi":122 * try: * state.extent(datatype, file_extent) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * ierr = exc.Get_error_code() */ __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_5) { __Pyx_AddTraceback("mpi4py.MPI.datarep_extent", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(16, 122, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_v_exc = __pyx_t_6; /* "mpi4py/MPI/drepimpl.pxi":123 * state.extent(datatype, file_extent) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/drepimpl.pxi":124 * except MPIException as exc: * print_traceback() * ierr = exc.Get_error_code() # <<<<<<<<<<<<<< * except: * print_traceback() */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(16, 124, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(16, 124, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 124, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_5; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/drepimpl.pxi":125 * print_traceback() * ierr = exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * ierr = MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.datarep_extent", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(16, 125, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/drepimpl.pxi":126 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/drepimpl.pxi":127 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/drepimpl.pxi":120 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * state.extent(datatype, file_extent) * except MPIException as exc: */ __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); goto __pyx_L1_error; __pyx_L4_exception_handled:; __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); __pyx_L8_try_end:; } /* "mpi4py/MPI/drepimpl.pxi":128 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * # --- */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":112 * return ierr * * cdef int datarep_extent( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * MPI_Aint *file_extent, */ /* 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("mpi4py.MPI.datarep_extent", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "mpi4py/MPI/drepimpl.pxi":133 * * @cython.callspec("MPIAPI") * cdef int datarep_read_fn( # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ static int MPIAPI __pyx_f_6mpi4py_3MPI_datarep_read_fn(void *__pyx_v_userbuf, MPI_Datatype __pyx_v_datatype, int __pyx_v_count, void *__pyx_v_filebuf, MPI_Offset __pyx_v_position, void *__pyx_v_extra_state) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/drepimpl.pxi":141 * void *extra_state * ) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/drepimpl.pxi":142 * ) nogil: * if extra_state == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_ERR_INTERN */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":141 * void *extra_state * ) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/drepimpl.pxi":143 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return datarep_read(userbuf, datatype, count, */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/drepimpl.pxi":144 * return MPI_ERR_INTERN * if not Py_IsInitialized(): * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * return datarep_read(userbuf, datatype, count, * filebuf, position, extra_state) */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":143 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return datarep_read(userbuf, datatype, count, */ } /* "mpi4py/MPI/drepimpl.pxi":145 * if not Py_IsInitialized(): * return MPI_ERR_INTERN * return datarep_read(userbuf, datatype, count, # <<<<<<<<<<<<<< * filebuf, position, extra_state) * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_datarep_read(__pyx_v_userbuf, __pyx_v_datatype, __pyx_v_count, __pyx_v_filebuf, __pyx_v_position, __pyx_v_extra_state); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(16, 145, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":133 * * @cython.callspec("MPIAPI") * cdef int datarep_read_fn( # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.datarep_read_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/drepimpl.pxi":149 * * @cython.callspec("MPIAPI") * cdef int datarep_write_fn( # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ static int MPIAPI __pyx_f_6mpi4py_3MPI_datarep_write_fn(void *__pyx_v_userbuf, MPI_Datatype __pyx_v_datatype, int __pyx_v_count, void *__pyx_v_filebuf, MPI_Offset __pyx_v_position, void *__pyx_v_extra_state) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/drepimpl.pxi":157 * void *extra_state * ) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/drepimpl.pxi":158 * ) nogil: * if extra_state == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_ERR_INTERN */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":157 * void *extra_state * ) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/drepimpl.pxi":159 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return datarep_write(userbuf, datatype, count, */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/drepimpl.pxi":160 * return MPI_ERR_INTERN * if not Py_IsInitialized(): * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * return datarep_write(userbuf, datatype, count, * filebuf, position, extra_state) */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":159 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return datarep_write(userbuf, datatype, count, */ } /* "mpi4py/MPI/drepimpl.pxi":161 * if not Py_IsInitialized(): * return MPI_ERR_INTERN * return datarep_write(userbuf, datatype, count, # <<<<<<<<<<<<<< * filebuf, position, extra_state) * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_datarep_write(__pyx_v_userbuf, __pyx_v_datatype, __pyx_v_count, __pyx_v_filebuf, __pyx_v_position, __pyx_v_extra_state); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(16, 161, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":149 * * @cython.callspec("MPIAPI") * cdef int datarep_write_fn( # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.datarep_write_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/drepimpl.pxi":165 * * @cython.callspec("MPIAPI") * cdef int datarep_extent_fn( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * MPI_Aint *file_extent, */ static int MPIAPI __pyx_f_6mpi4py_3MPI_datarep_extent_fn(MPI_Datatype __pyx_v_datatype, MPI_Aint *__pyx_v_file_extent, void *__pyx_v_extra_state) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/drepimpl.pxi":170 * void *extra_state * ) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/drepimpl.pxi":171 * ) nogil: * if extra_state == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_ERR_INTERN */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":170 * void *extra_state * ) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/drepimpl.pxi":172 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return datarep_extent(datatype, file_extent, extra_state) */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/drepimpl.pxi":173 * return MPI_ERR_INTERN * if not Py_IsInitialized(): * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * return datarep_extent(datatype, file_extent, extra_state) * */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":172 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return datarep_extent(datatype, file_extent, extra_state) */ } /* "mpi4py/MPI/drepimpl.pxi":174 * if not Py_IsInitialized(): * return MPI_ERR_INTERN * return datarep_extent(datatype, file_extent, extra_state) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_datarep_extent(__pyx_v_datatype, __pyx_v_file_extent, __pyx_v_extra_state); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(16, 174, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/drepimpl.pxi":165 * * @cython.callspec("MPIAPI") * cdef int datarep_extent_fn( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * MPI_Aint *file_extent, */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.datarep_extent_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":292 * include "drepimpl.pxi" * * cdef inline File new_File(MPI_File ob): # <<<<<<<<<<<<<< * cdef File file = File.__new__(File) * file.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIFileObject *__pyx_f_6mpi4py_3MPI_new_File(MPI_File __pyx_v_ob) { struct PyMPIFileObject *__pyx_v_file = 0; struct PyMPIFileObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("new_File", 0); /* "mpi4py/MPI/helpers.pxi":293 * * cdef inline File new_File(MPI_File ob): * cdef File file = File.__new__(File) # <<<<<<<<<<<<<< * file.ob_mpi = ob * return file */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_File(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_File), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 293, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_file = ((struct PyMPIFileObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":294 * cdef inline File new_File(MPI_File ob): * cdef File file = File.__new__(File) * file.ob_mpi = ob # <<<<<<<<<<<<<< * return file * */ __pyx_v_file->ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":295 * cdef File file = File.__new__(File) * file.ob_mpi = ob * return file # <<<<<<<<<<<<<< * * cdef inline int del_File(MPI_File* ob): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_file)); __pyx_r = __pyx_v_file; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":292 * include "drepimpl.pxi" * * cdef inline File new_File(MPI_File ob): # <<<<<<<<<<<<<< * cdef File file = File.__new__(File) * file.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.new_File", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_file); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":297 * return file * * cdef inline int del_File(MPI_File* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_FILE_NULL : return 0 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_File(MPI_File *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("del_File", 0); /* "mpi4py/MPI/helpers.pxi":298 * * cdef inline int del_File(MPI_File* ob): * if ob == NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_FILE_NULL : return 0 * # */ __pyx_t_1 = ((__pyx_v_ob == NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":299 * cdef inline int del_File(MPI_File* ob): * if ob == NULL : return 0 * if ob[0] == MPI_FILE_NULL : return 0 # <<<<<<<<<<<<<< * # * if not mpi_active(): return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_FILE_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":301 * if ob[0] == MPI_FILE_NULL : return 0 * # * if not mpi_active(): return 0 # <<<<<<<<<<<<<< * return MPI_File_close(ob) * */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":302 * # * if not mpi_active(): return 0 * return MPI_File_close(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_File_close(__pyx_v_ob); goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":297 * return file * * cdef inline int del_File(MPI_File* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_FILE_NULL : return 0 */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":307 * # Errhandler * * cdef inline Errhandler new_Errhandler(MPI_Errhandler ob): # <<<<<<<<<<<<<< * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) * errhandler.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIErrhandlerObject *__pyx_f_6mpi4py_3MPI_new_Errhandler(MPI_Errhandler __pyx_v_ob) { struct PyMPIErrhandlerObject *__pyx_v_errhandler = 0; struct PyMPIErrhandlerObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("new_Errhandler", 0); /* "mpi4py/MPI/helpers.pxi":308 * * cdef inline Errhandler new_Errhandler(MPI_Errhandler ob): * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) # <<<<<<<<<<<<<< * errhandler.ob_mpi = ob * return errhandler */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Errhandler(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 308, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_errhandler = ((struct PyMPIErrhandlerObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/helpers.pxi":309 * cdef inline Errhandler new_Errhandler(MPI_Errhandler ob): * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) * errhandler.ob_mpi = ob # <<<<<<<<<<<<<< * return errhandler * */ __pyx_v_errhandler->ob_mpi = __pyx_v_ob; /* "mpi4py/MPI/helpers.pxi":310 * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) * errhandler.ob_mpi = ob * return errhandler # <<<<<<<<<<<<<< * * cdef inline int del_Errhandler(MPI_Errhandler* ob): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_errhandler)); __pyx_r = __pyx_v_errhandler; goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":307 * # Errhandler * * cdef inline Errhandler new_Errhandler(MPI_Errhandler ob): # <<<<<<<<<<<<<< * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) * errhandler.ob_mpi = ob */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.new_Errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_errhandler); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/helpers.pxi":312 * return errhandler * * cdef inline int del_Errhandler(MPI_Errhandler* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_ERRHANDLER_NULL : return 0 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_del_Errhandler(MPI_Errhandler *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("del_Errhandler", 0); /* "mpi4py/MPI/helpers.pxi":313 * * cdef inline int del_Errhandler(MPI_Errhandler* ob): * if ob == NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_ERRHANDLER_NULL : return 0 * if ob[0] == MPI_ERRORS_RETURN : return 0 */ __pyx_t_1 = ((__pyx_v_ob == NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":314 * cdef inline int del_Errhandler(MPI_Errhandler* ob): * if ob == NULL : return 0 * if ob[0] == MPI_ERRHANDLER_NULL : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_ERRORS_RETURN : return 0 * if ob[0] == MPI_ERRORS_ARE_FATAL : return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_ERRHANDLER_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":315 * if ob == NULL : return 0 * if ob[0] == MPI_ERRHANDLER_NULL : return 0 * if ob[0] == MPI_ERRORS_RETURN : return 0 # <<<<<<<<<<<<<< * if ob[0] == MPI_ERRORS_ARE_FATAL : return 0 * # */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_ERRORS_RETURN) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":316 * if ob[0] == MPI_ERRHANDLER_NULL : return 0 * if ob[0] == MPI_ERRORS_RETURN : return 0 * if ob[0] == MPI_ERRORS_ARE_FATAL : return 0 # <<<<<<<<<<<<<< * # * if not mpi_active(): return 0 */ __pyx_t_1 = (((__pyx_v_ob[0]) == MPI_ERRORS_ARE_FATAL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":318 * if ob[0] == MPI_ERRORS_ARE_FATAL : return 0 * # * if not mpi_active(): return 0 # <<<<<<<<<<<<<< * return MPI_Errhandler_free(ob) * */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/helpers.pxi":319 * # * if not mpi_active(): return 0 * return MPI_Errhandler_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Errhandler_free(__pyx_v_ob); goto __pyx_L0; /* "mpi4py/MPI/helpers.pxi":312 * return errhandler * * cdef inline int del_Errhandler(MPI_Errhandler* ob): # <<<<<<<<<<<<<< * if ob == NULL : return 0 * if ob[0] == MPI_ERRHANDLER_NULL : return 0 */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":9 * cdef public object delete_fn * cdef public bint nopython * def __cinit__(self, copy_fn, delete_fn, nopython): # <<<<<<<<<<<<<< * if copy_fn is False: copy_fn = None * if delete_fn is False: delete_fn = None */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_9_p_keyval_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_9_p_keyval_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_copy_fn = 0; PyObject *__pyx_v_delete_fn = 0; PyObject *__pyx_v_nopython = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_copy_fn,&__pyx_n_s_delete_fn,&__pyx_n_s_nopython,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_copy_fn)) != 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_delete_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(4, 9, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nopython)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(4, 9, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(4, 9, __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_copy_fn = values[0]; __pyx_v_delete_fn = values[1]; __pyx_v_nopython = 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(4, 9, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI._p_keyval.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9_p_keyval___cinit__(((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_v_self), __pyx_v_copy_fn, __pyx_v_delete_fn, __pyx_v_nopython); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_9_p_keyval___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self, PyObject *__pyx_v_copy_fn, PyObject *__pyx_v_delete_fn, PyObject *__pyx_v_nopython) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__cinit__", 0); __Pyx_INCREF(__pyx_v_copy_fn); __Pyx_INCREF(__pyx_v_delete_fn); /* "mpi4py/MPI/attrimpl.pxi":10 * cdef public bint nopython * def __cinit__(self, copy_fn, delete_fn, nopython): * if copy_fn is False: copy_fn = None # <<<<<<<<<<<<<< * if delete_fn is False: delete_fn = None * if delete_fn is True: delete_fn = None */ __pyx_t_1 = (__pyx_v_copy_fn == Py_False); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_copy_fn, Py_None); } /* "mpi4py/MPI/attrimpl.pxi":11 * def __cinit__(self, copy_fn, delete_fn, nopython): * if copy_fn is False: copy_fn = None * if delete_fn is False: delete_fn = None # <<<<<<<<<<<<<< * if delete_fn is True: delete_fn = None * self.copy_fn = copy_fn */ __pyx_t_2 = (__pyx_v_delete_fn == Py_False); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { __Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_delete_fn, Py_None); } /* "mpi4py/MPI/attrimpl.pxi":12 * if copy_fn is False: copy_fn = None * if delete_fn is False: delete_fn = None * if delete_fn is True: delete_fn = None # <<<<<<<<<<<<<< * self.copy_fn = copy_fn * self.delete_fn = delete_fn */ __pyx_t_1 = (__pyx_v_delete_fn == Py_True); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_delete_fn, Py_None); } /* "mpi4py/MPI/attrimpl.pxi":13 * if delete_fn is False: delete_fn = None * if delete_fn is True: delete_fn = None * self.copy_fn = copy_fn # <<<<<<<<<<<<<< * self.delete_fn = delete_fn * self.nopython = nopython */ __Pyx_INCREF(__pyx_v_copy_fn); __Pyx_GIVEREF(__pyx_v_copy_fn); __Pyx_GOTREF(__pyx_v_self->copy_fn); __Pyx_DECREF(__pyx_v_self->copy_fn); __pyx_v_self->copy_fn = __pyx_v_copy_fn; /* "mpi4py/MPI/attrimpl.pxi":14 * if delete_fn is True: delete_fn = None * self.copy_fn = copy_fn * self.delete_fn = delete_fn # <<<<<<<<<<<<<< * self.nopython = nopython * */ __Pyx_INCREF(__pyx_v_delete_fn); __Pyx_GIVEREF(__pyx_v_delete_fn); __Pyx_GOTREF(__pyx_v_self->delete_fn); __Pyx_DECREF(__pyx_v_self->delete_fn); __pyx_v_self->delete_fn = __pyx_v_delete_fn; /* "mpi4py/MPI/attrimpl.pxi":15 * self.copy_fn = copy_fn * self.delete_fn = delete_fn * self.nopython = nopython # <<<<<<<<<<<<<< * * cdef dict type_keyval = {} */ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_nopython); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 15, __pyx_L1_error) __pyx_v_self->nopython = __pyx_t_2; /* "mpi4py/MPI/attrimpl.pxi":9 * cdef public object delete_fn * cdef public bint nopython * def __cinit__(self, copy_fn, delete_fn, nopython): # <<<<<<<<<<<<<< * if copy_fn is False: copy_fn = None * if delete_fn is False: delete_fn = None */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_keyval.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_copy_fn); __Pyx_XDECREF(__pyx_v_delete_fn); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":6 * @cython.internal * cdef class _p_keyval: * cdef public object copy_fn # <<<<<<<<<<<<<< * cdef public object delete_fn * cdef public bint nopython */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9_p_keyval_7copy_fn_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9_p_keyval_7copy_fn_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9_p_keyval_7copy_fn___get__(((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9_p_keyval_7copy_fn___get__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_self->copy_fn); __pyx_r = __pyx_v_self->copy_fn; goto __pyx_L0; /* function exit code */ __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_9_p_keyval_7copy_fn_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_9_p_keyval_7copy_fn_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9_p_keyval_7copy_fn_2__set__(((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_9_p_keyval_7copy_fn_2__set__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__", 0); __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); __Pyx_GOTREF(__pyx_v_self->copy_fn); __Pyx_DECREF(__pyx_v_self->copy_fn); __pyx_v_self->copy_fn = __pyx_v_value; /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_9_p_keyval_7copy_fn_5__del__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_9_p_keyval_7copy_fn_5__del__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9_p_keyval_7copy_fn_4__del__(((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_9_p_keyval_7copy_fn_4__del__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->copy_fn); __Pyx_DECREF(__pyx_v_self->copy_fn); __pyx_v_self->copy_fn = Py_None; /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":7 * cdef class _p_keyval: * cdef public object copy_fn * cdef public object delete_fn # <<<<<<<<<<<<<< * cdef public bint nopython * def __cinit__(self, copy_fn, delete_fn, nopython): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9_p_keyval_9delete_fn_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9_p_keyval_9delete_fn_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9_p_keyval_9delete_fn___get__(((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9_p_keyval_9delete_fn___get__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_self->delete_fn); __pyx_r = __pyx_v_self->delete_fn; goto __pyx_L0; /* function exit code */ __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_9_p_keyval_9delete_fn_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_9_p_keyval_9delete_fn_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9_p_keyval_9delete_fn_2__set__(((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_9_p_keyval_9delete_fn_2__set__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__", 0); __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); __Pyx_GOTREF(__pyx_v_self->delete_fn); __Pyx_DECREF(__pyx_v_self->delete_fn); __pyx_v_self->delete_fn = __pyx_v_value; /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_9_p_keyval_9delete_fn_5__del__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_9_p_keyval_9delete_fn_5__del__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9_p_keyval_9delete_fn_4__del__(((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_9_p_keyval_9delete_fn_4__del__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->delete_fn); __Pyx_DECREF(__pyx_v_self->delete_fn); __pyx_v_self->delete_fn = Py_None; /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":8 * cdef public object copy_fn * cdef public object delete_fn * cdef public bint nopython # <<<<<<<<<<<<<< * def __cinit__(self, copy_fn, delete_fn, nopython): * if copy_fn is False: copy_fn = None */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9_p_keyval_8nopython_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9_p_keyval_8nopython_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9_p_keyval_8nopython___get__(((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9_p_keyval_8nopython___get__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->nopython); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 8, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._p_keyval.nopython.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_9_p_keyval_8nopython_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_9_p_keyval_8nopython_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9_p_keyval_8nopython_2__set__(((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_9_p_keyval_8nopython_2__set__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 0); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 8, __pyx_L1_error) __pyx_v_self->nopython = __pyx_t_1; /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_keyval.nopython.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":34 * MPI_Win * * cdef inline object PyMPI_attr_call( # <<<<<<<<<<<<<< * object function, * PyMPI_attr_type hdl, */ static CYTHON_INLINE PyObject *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_call(PyObject *__pyx_v_function, MPI_Datatype __pyx_v_hdl, int __pyx_v_keyval, PyObject *__pyx_v_attrval) { PyObject *__pyx_v_ob = 0; PyObject *__pyx_v_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; char const *__pyx_t_8; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_0PyMPI_attr_call", 0); /* "mpi4py/MPI/attrimpl.pxi":42 * cdef object result * if PyMPI_attr_type is MPI_Datatype: * ob = new_Datatype(hdl) # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Comm: * ob = new_Comm(hdl) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(__pyx_v_hdl)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_ob = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/attrimpl.pxi":47 * if PyMPI_attr_type is MPI_Win: * ob = new_Win (hdl) * try: # <<<<<<<<<<<<<< * result = function(ob, keyval, attrval) * finally: */ /*try:*/ { /* "mpi4py/MPI/attrimpl.pxi":48 * ob = new_Win (hdl) * try: * result = function(ob, keyval, attrval) # <<<<<<<<<<<<<< * finally: * if PyMPI_attr_type is MPI_Datatype: */ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 48, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_function); __pyx_t_3 = __pyx_v_function; __pyx_t_4 = NULL; __pyx_t_5 = 0; 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_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_ob, __pyx_t_2, __pyx_v_attrval}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 48, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_ob, __pyx_t_2, __pyx_v_attrval}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 48, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 48, __pyx_L4_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_ob); __Pyx_GIVEREF(__pyx_v_ob); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_ob); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_v_attrval); __Pyx_GIVEREF(__pyx_v_attrval); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_attrval); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 48, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_result = __pyx_t_1; __pyx_t_1 = 0; } /* "mpi4py/MPI/attrimpl.pxi":50 * result = function(ob, keyval, attrval) * finally: * if PyMPI_attr_type is MPI_Datatype: # <<<<<<<<<<<<<< * (ob).ob_mpi = MPI_DATATYPE_NULL * if PyMPI_attr_type is MPI_Comm: */ /*finally:*/ { /*normal exit:*/{ /* "mpi4py/MPI/attrimpl.pxi":51 * finally: * if PyMPI_attr_type is MPI_Datatype: * (ob).ob_mpi = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Comm: * (ob).ob_mpi = MPI_COMM_NULL */ ((struct PyMPIDatatypeObject *)__pyx_v_ob)->ob_mpi = MPI_DATATYPE_NULL; /* "mpi4py/MPI/attrimpl.pxi":54 * if PyMPI_attr_type is MPI_Comm: * (ob).ob_mpi = MPI_COMM_NULL * if PyMPI_attr_type is MPI_Win: # <<<<<<<<<<<<<< * (ob).ob_mpi = MPI_WIN_NULL * return result */ goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 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; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 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_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); __Pyx_XGOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_t_10); __Pyx_XGOTREF(__pyx_t_11); __Pyx_XGOTREF(__pyx_t_12); __Pyx_XGOTREF(__pyx_t_13); __Pyx_XGOTREF(__pyx_t_14); __pyx_t_5 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; { /* "mpi4py/MPI/attrimpl.pxi":51 * finally: * if PyMPI_attr_type is MPI_Datatype: * (ob).ob_mpi = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Comm: * (ob).ob_mpi = MPI_COMM_NULL */ ((struct PyMPIDatatypeObject *)__pyx_v_ob)->ob_mpi = MPI_DATATYPE_NULL; /* "mpi4py/MPI/attrimpl.pxi":54 * if PyMPI_attr_type is MPI_Comm: * (ob).ob_mpi = MPI_COMM_NULL * if PyMPI_attr_type is MPI_Win: # <<<<<<<<<<<<<< * (ob).ob_mpi = MPI_WIN_NULL * return result */ } 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_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_XGIVEREF(__pyx_t_11); __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/attrimpl.pxi":56 * if PyMPI_attr_type is MPI_Win: * (ob).ob_mpi = MPI_WIN_NULL * return result # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_copy( */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_result); __pyx_r = __pyx_v_result; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":34 * MPI_Win * * cdef inline object PyMPI_attr_call( # <<<<<<<<<<<<<< * object function, * PyMPI_attr_type hdl, */ /* 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("mpi4py.MPI.PyMPI_attr_call", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob); __Pyx_XDECREF(__pyx_v_result); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE PyObject *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_call(PyObject *__pyx_v_function, MPI_Comm __pyx_v_hdl, int __pyx_v_keyval, PyObject *__pyx_v_attrval) { PyObject *__pyx_v_ob = 0; PyObject *__pyx_v_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; char const *__pyx_t_8; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_1PyMPI_attr_call", 0); /* "mpi4py/MPI/attrimpl.pxi":44 * ob = new_Datatype(hdl) * if PyMPI_attr_type is MPI_Comm: * ob = new_Comm(hdl) # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Win: * ob = new_Win (hdl) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Comm(__pyx_v_hdl)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_ob = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/attrimpl.pxi":47 * if PyMPI_attr_type is MPI_Win: * ob = new_Win (hdl) * try: # <<<<<<<<<<<<<< * result = function(ob, keyval, attrval) * finally: */ /*try:*/ { /* "mpi4py/MPI/attrimpl.pxi":48 * ob = new_Win (hdl) * try: * result = function(ob, keyval, attrval) # <<<<<<<<<<<<<< * finally: * if PyMPI_attr_type is MPI_Datatype: */ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 48, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_function); __pyx_t_3 = __pyx_v_function; __pyx_t_4 = NULL; __pyx_t_5 = 0; 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_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_ob, __pyx_t_2, __pyx_v_attrval}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 48, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_ob, __pyx_t_2, __pyx_v_attrval}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 48, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 48, __pyx_L4_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_ob); __Pyx_GIVEREF(__pyx_v_ob); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_ob); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_v_attrval); __Pyx_GIVEREF(__pyx_v_attrval); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_attrval); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 48, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_result = __pyx_t_1; __pyx_t_1 = 0; } /* "mpi4py/MPI/attrimpl.pxi":50 * result = function(ob, keyval, attrval) * finally: * if PyMPI_attr_type is MPI_Datatype: # <<<<<<<<<<<<<< * (ob).ob_mpi = MPI_DATATYPE_NULL * if PyMPI_attr_type is MPI_Comm: */ /*finally:*/ { /*normal exit:*/{ /* "mpi4py/MPI/attrimpl.pxi":53 * (ob).ob_mpi = MPI_DATATYPE_NULL * if PyMPI_attr_type is MPI_Comm: * (ob).ob_mpi = MPI_COMM_NULL # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Win: * (ob).ob_mpi = MPI_WIN_NULL */ ((struct PyMPICommObject *)__pyx_v_ob)->ob_mpi = MPI_COMM_NULL; /* "mpi4py/MPI/attrimpl.pxi":54 * if PyMPI_attr_type is MPI_Comm: * (ob).ob_mpi = MPI_COMM_NULL * if PyMPI_attr_type is MPI_Win: # <<<<<<<<<<<<<< * (ob).ob_mpi = MPI_WIN_NULL * return result */ goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 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; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 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_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); __Pyx_XGOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_t_10); __Pyx_XGOTREF(__pyx_t_11); __Pyx_XGOTREF(__pyx_t_12); __Pyx_XGOTREF(__pyx_t_13); __Pyx_XGOTREF(__pyx_t_14); __pyx_t_5 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; { /* "mpi4py/MPI/attrimpl.pxi":53 * (ob).ob_mpi = MPI_DATATYPE_NULL * if PyMPI_attr_type is MPI_Comm: * (ob).ob_mpi = MPI_COMM_NULL # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Win: * (ob).ob_mpi = MPI_WIN_NULL */ ((struct PyMPICommObject *)__pyx_v_ob)->ob_mpi = MPI_COMM_NULL; /* "mpi4py/MPI/attrimpl.pxi":54 * if PyMPI_attr_type is MPI_Comm: * (ob).ob_mpi = MPI_COMM_NULL * if PyMPI_attr_type is MPI_Win: # <<<<<<<<<<<<<< * (ob).ob_mpi = MPI_WIN_NULL * return result */ } 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_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_XGIVEREF(__pyx_t_11); __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/attrimpl.pxi":56 * if PyMPI_attr_type is MPI_Win: * (ob).ob_mpi = MPI_WIN_NULL * return result # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_copy( */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_result); __pyx_r = __pyx_v_result; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":34 * MPI_Win * * cdef inline object PyMPI_attr_call( # <<<<<<<<<<<<<< * object function, * PyMPI_attr_type hdl, */ /* 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("mpi4py.MPI.PyMPI_attr_call", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob); __Pyx_XDECREF(__pyx_v_result); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE PyObject *__pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_call(PyObject *__pyx_v_function, MPI_Win __pyx_v_hdl, int __pyx_v_keyval, PyObject *__pyx_v_attrval) { PyObject *__pyx_v_ob = 0; PyObject *__pyx_v_result = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; char const *__pyx_t_8; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_2PyMPI_attr_call", 0); /* "mpi4py/MPI/attrimpl.pxi":46 * ob = new_Comm(hdl) * if PyMPI_attr_type is MPI_Win: * ob = new_Win (hdl) # <<<<<<<<<<<<<< * try: * result = function(ob, keyval, attrval) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Win(__pyx_v_hdl)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_ob = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/attrimpl.pxi":47 * if PyMPI_attr_type is MPI_Win: * ob = new_Win (hdl) * try: # <<<<<<<<<<<<<< * result = function(ob, keyval, attrval) * finally: */ /*try:*/ { /* "mpi4py/MPI/attrimpl.pxi":48 * ob = new_Win (hdl) * try: * result = function(ob, keyval, attrval) # <<<<<<<<<<<<<< * finally: * if PyMPI_attr_type is MPI_Datatype: */ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 48, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_function); __pyx_t_3 = __pyx_v_function; __pyx_t_4 = NULL; __pyx_t_5 = 0; 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_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_ob, __pyx_t_2, __pyx_v_attrval}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 48, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_ob, __pyx_t_2, __pyx_v_attrval}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 48, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 48, __pyx_L4_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_ob); __Pyx_GIVEREF(__pyx_v_ob); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_ob); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_v_attrval); __Pyx_GIVEREF(__pyx_v_attrval); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_attrval); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 48, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_result = __pyx_t_1; __pyx_t_1 = 0; } /* "mpi4py/MPI/attrimpl.pxi":50 * result = function(ob, keyval, attrval) * finally: * if PyMPI_attr_type is MPI_Datatype: # <<<<<<<<<<<<<< * (ob).ob_mpi = MPI_DATATYPE_NULL * if PyMPI_attr_type is MPI_Comm: */ /*finally:*/ { /*normal exit:*/{ /* "mpi4py/MPI/attrimpl.pxi":55 * (ob).ob_mpi = MPI_COMM_NULL * if PyMPI_attr_type is MPI_Win: * (ob).ob_mpi = MPI_WIN_NULL # <<<<<<<<<<<<<< * return result * */ ((struct PyMPIWinObject *)__pyx_v_ob)->ob_mpi = MPI_WIN_NULL; goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 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; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 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_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); __Pyx_XGOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_t_10); __Pyx_XGOTREF(__pyx_t_11); __Pyx_XGOTREF(__pyx_t_12); __Pyx_XGOTREF(__pyx_t_13); __Pyx_XGOTREF(__pyx_t_14); __pyx_t_5 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; { /* "mpi4py/MPI/attrimpl.pxi":52 * if PyMPI_attr_type is MPI_Datatype: * (ob).ob_mpi = MPI_DATATYPE_NULL * if PyMPI_attr_type is MPI_Comm: # <<<<<<<<<<<<<< * (ob).ob_mpi = MPI_COMM_NULL * if PyMPI_attr_type is MPI_Win: */ ((struct PyMPIWinObject *)__pyx_v_ob)->ob_mpi = MPI_WIN_NULL; } 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_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_XGIVEREF(__pyx_t_11); __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/attrimpl.pxi":56 * if PyMPI_attr_type is MPI_Win: * (ob).ob_mpi = MPI_WIN_NULL * return result # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_copy( */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_result); __pyx_r = __pyx_v_result; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":34 * MPI_Win * * cdef inline object PyMPI_attr_call( # <<<<<<<<<<<<<< * object function, * PyMPI_attr_type hdl, */ /* 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("mpi4py.MPI.PyMPI_attr_call", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob); __Pyx_XDECREF(__pyx_v_result); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":58 * return result * * cdef inline int PyMPI_attr_copy( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ static CYTHON_INLINE int __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy(MPI_Datatype __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_extra_state, void *__pyx_v_attrval_in, void *__pyx_v_attrval_out, int *__pyx_v_flag) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; int __pyx_v_p; PyObject *__pyx_v_attrval = 0; void **__pyx_v_outval; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_0PyMPI_attr_copy", 0); /* "mpi4py/MPI/attrimpl.pxi":65 * void *attrval_out, * int *flag) except -1: * if flag != NULL: flag[0] = 0 # <<<<<<<<<<<<<< * cdef _p_keyval state = <_p_keyval>extra_state * if state.copy_fn is None: return 0 */ __pyx_t_1 = ((__pyx_v_flag != NULL) != 0); if (__pyx_t_1) { (__pyx_v_flag[0]) = 0; } /* "mpi4py/MPI/attrimpl.pxi":66 * int *flag) except -1: * if flag != NULL: flag[0] = 0 * cdef _p_keyval state = <_p_keyval>extra_state # <<<<<<<<<<<<<< * if state.copy_fn is None: return 0 * cdef int p = not state.nopython */ __pyx_t_2 = ((PyObject *)__pyx_v_extra_state); __Pyx_INCREF(__pyx_t_2); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/attrimpl.pxi":67 * if flag != NULL: flag[0] = 0 * cdef _p_keyval state = <_p_keyval>extra_state * if state.copy_fn is None: return 0 # <<<<<<<<<<<<<< * cdef int p = not state.nopython * if p: assert attrval_in != NULL */ __pyx_t_1 = (__pyx_v_state->copy_fn == Py_None); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/attrimpl.pxi":68 * cdef _p_keyval state = <_p_keyval>extra_state * if state.copy_fn is None: return 0 * cdef int p = not state.nopython # <<<<<<<<<<<<<< * if p: assert attrval_in != NULL * cdef object attrval */ __pyx_v_p = (!(__pyx_v_state->nopython != 0)); /* "mpi4py/MPI/attrimpl.pxi":69 * if state.copy_fn is None: return 0 * cdef int p = not state.nopython * if p: assert attrval_in != NULL # <<<<<<<<<<<<<< * cdef object attrval * if p: attrval = attrval_in */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!((__pyx_v_attrval_in != NULL) != 0))) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(4, 69, __pyx_L1_error) } } #endif } /* "mpi4py/MPI/attrimpl.pxi":71 * if p: assert attrval_in != NULL * cdef object attrval * if p: attrval = attrval_in # <<<<<<<<<<<<<< * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.copy_fn is not True: */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { __pyx_t_2 = ((PyObject *)__pyx_v_attrval_in); __Pyx_INCREF(__pyx_t_2); __pyx_v_attrval = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L6; } /* "mpi4py/MPI/attrimpl.pxi":72 * cdef object attrval * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) # <<<<<<<<<<<<<< * if state.copy_fn is not True: * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) */ /*else*/ { __pyx_t_2 = PyLong_FromVoidPtr(__pyx_v_attrval_in); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_attrval = __pyx_t_2; __pyx_t_2 = 0; } __pyx_L6:; /* "mpi4py/MPI/attrimpl.pxi":73 * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.copy_fn is not True: # <<<<<<<<<<<<<< * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) * if attrval is NotImplemented: return 0 */ __pyx_t_3 = (__pyx_v_state->copy_fn != Py_True); __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":74 * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.copy_fn is not True: * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) # <<<<<<<<<<<<<< * if attrval is NotImplemented: return 0 * cdef void **outval = attrval_out */ __pyx_t_2 = __pyx_v_state->copy_fn; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_call(__pyx_t_2, __pyx_v_hdl, __pyx_v_keyval, __pyx_v_attrval); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_attrval, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/attrimpl.pxi":75 * if state.copy_fn is not True: * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) * if attrval is NotImplemented: return 0 # <<<<<<<<<<<<<< * cdef void **outval = attrval_out * if p: outval[0] = attrval */ __pyx_t_1 = (__pyx_v_attrval == __pyx_builtin_NotImplemented); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/attrimpl.pxi":73 * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.copy_fn is not True: # <<<<<<<<<<<<<< * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) * if attrval is NotImplemented: return 0 */ } /* "mpi4py/MPI/attrimpl.pxi":76 * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) * if attrval is NotImplemented: return 0 * cdef void **outval = attrval_out # <<<<<<<<<<<<<< * if p: outval[0] = attrval * else: outval[0] = PyLong_AsVoidPtr(attrval) */ __pyx_v_outval = ((void **)__pyx_v_attrval_out); /* "mpi4py/MPI/attrimpl.pxi":77 * if attrval is NotImplemented: return 0 * cdef void **outval = attrval_out * if p: outval[0] = attrval # <<<<<<<<<<<<<< * else: outval[0] = PyLong_AsVoidPtr(attrval) * if flag != NULL: flag[0] = 1 */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { (__pyx_v_outval[0]) = ((void *)__pyx_v_attrval); goto __pyx_L9; } /* "mpi4py/MPI/attrimpl.pxi":78 * cdef void **outval = attrval_out * if p: outval[0] = attrval * else: outval[0] = PyLong_AsVoidPtr(attrval) # <<<<<<<<<<<<<< * if flag != NULL: flag[0] = 1 * if p: Py_INCREF(attrval) */ /*else*/ { (__pyx_v_outval[0]) = PyLong_AsVoidPtr(__pyx_v_attrval); } __pyx_L9:; /* "mpi4py/MPI/attrimpl.pxi":79 * if p: outval[0] = attrval * else: outval[0] = PyLong_AsVoidPtr(attrval) * if flag != NULL: flag[0] = 1 # <<<<<<<<<<<<<< * if p: Py_INCREF(attrval) * Py_INCREF(state) */ __pyx_t_3 = ((__pyx_v_flag != NULL) != 0); if (__pyx_t_3) { (__pyx_v_flag[0]) = 1; } /* "mpi4py/MPI/attrimpl.pxi":80 * else: outval[0] = PyLong_AsVoidPtr(attrval) * if flag != NULL: flag[0] = 1 * if p: Py_INCREF(attrval) # <<<<<<<<<<<<<< * Py_INCREF(state) * return 0 */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { Py_INCREF(__pyx_v_attrval); } /* "mpi4py/MPI/attrimpl.pxi":81 * if flag != NULL: flag[0] = 1 * if p: Py_INCREF(attrval) * Py_INCREF(state) # <<<<<<<<<<<<<< * return 0 * */ Py_INCREF(((PyObject *)__pyx_v_state)); /* "mpi4py/MPI/attrimpl.pxi":82 * if p: Py_INCREF(attrval) * Py_INCREF(state) * return 0 # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_delete( */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":58 * return result * * cdef inline int PyMPI_attr_copy( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_copy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_attrval); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE int __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy(MPI_Comm __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_extra_state, void *__pyx_v_attrval_in, void *__pyx_v_attrval_out, int *__pyx_v_flag) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; int __pyx_v_p; PyObject *__pyx_v_attrval = 0; void **__pyx_v_outval; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_1PyMPI_attr_copy", 0); /* "mpi4py/MPI/attrimpl.pxi":65 * void *attrval_out, * int *flag) except -1: * if flag != NULL: flag[0] = 0 # <<<<<<<<<<<<<< * cdef _p_keyval state = <_p_keyval>extra_state * if state.copy_fn is None: return 0 */ __pyx_t_1 = ((__pyx_v_flag != NULL) != 0); if (__pyx_t_1) { (__pyx_v_flag[0]) = 0; } /* "mpi4py/MPI/attrimpl.pxi":66 * int *flag) except -1: * if flag != NULL: flag[0] = 0 * cdef _p_keyval state = <_p_keyval>extra_state # <<<<<<<<<<<<<< * if state.copy_fn is None: return 0 * cdef int p = not state.nopython */ __pyx_t_2 = ((PyObject *)__pyx_v_extra_state); __Pyx_INCREF(__pyx_t_2); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/attrimpl.pxi":67 * if flag != NULL: flag[0] = 0 * cdef _p_keyval state = <_p_keyval>extra_state * if state.copy_fn is None: return 0 # <<<<<<<<<<<<<< * cdef int p = not state.nopython * if p: assert attrval_in != NULL */ __pyx_t_1 = (__pyx_v_state->copy_fn == Py_None); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/attrimpl.pxi":68 * cdef _p_keyval state = <_p_keyval>extra_state * if state.copy_fn is None: return 0 * cdef int p = not state.nopython # <<<<<<<<<<<<<< * if p: assert attrval_in != NULL * cdef object attrval */ __pyx_v_p = (!(__pyx_v_state->nopython != 0)); /* "mpi4py/MPI/attrimpl.pxi":69 * if state.copy_fn is None: return 0 * cdef int p = not state.nopython * if p: assert attrval_in != NULL # <<<<<<<<<<<<<< * cdef object attrval * if p: attrval = attrval_in */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!((__pyx_v_attrval_in != NULL) != 0))) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(4, 69, __pyx_L1_error) } } #endif } /* "mpi4py/MPI/attrimpl.pxi":71 * if p: assert attrval_in != NULL * cdef object attrval * if p: attrval = attrval_in # <<<<<<<<<<<<<< * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.copy_fn is not True: */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { __pyx_t_2 = ((PyObject *)__pyx_v_attrval_in); __Pyx_INCREF(__pyx_t_2); __pyx_v_attrval = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L6; } /* "mpi4py/MPI/attrimpl.pxi":72 * cdef object attrval * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) # <<<<<<<<<<<<<< * if state.copy_fn is not True: * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) */ /*else*/ { __pyx_t_2 = PyLong_FromVoidPtr(__pyx_v_attrval_in); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_attrval = __pyx_t_2; __pyx_t_2 = 0; } __pyx_L6:; /* "mpi4py/MPI/attrimpl.pxi":73 * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.copy_fn is not True: # <<<<<<<<<<<<<< * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) * if attrval is NotImplemented: return 0 */ __pyx_t_3 = (__pyx_v_state->copy_fn != Py_True); __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":74 * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.copy_fn is not True: * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) # <<<<<<<<<<<<<< * if attrval is NotImplemented: return 0 * cdef void **outval = attrval_out */ __pyx_t_2 = __pyx_v_state->copy_fn; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_call(__pyx_t_2, __pyx_v_hdl, __pyx_v_keyval, __pyx_v_attrval); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_attrval, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/attrimpl.pxi":75 * if state.copy_fn is not True: * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) * if attrval is NotImplemented: return 0 # <<<<<<<<<<<<<< * cdef void **outval = attrval_out * if p: outval[0] = attrval */ __pyx_t_1 = (__pyx_v_attrval == __pyx_builtin_NotImplemented); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/attrimpl.pxi":73 * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.copy_fn is not True: # <<<<<<<<<<<<<< * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) * if attrval is NotImplemented: return 0 */ } /* "mpi4py/MPI/attrimpl.pxi":76 * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) * if attrval is NotImplemented: return 0 * cdef void **outval = attrval_out # <<<<<<<<<<<<<< * if p: outval[0] = attrval * else: outval[0] = PyLong_AsVoidPtr(attrval) */ __pyx_v_outval = ((void **)__pyx_v_attrval_out); /* "mpi4py/MPI/attrimpl.pxi":77 * if attrval is NotImplemented: return 0 * cdef void **outval = attrval_out * if p: outval[0] = attrval # <<<<<<<<<<<<<< * else: outval[0] = PyLong_AsVoidPtr(attrval) * if flag != NULL: flag[0] = 1 */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { (__pyx_v_outval[0]) = ((void *)__pyx_v_attrval); goto __pyx_L9; } /* "mpi4py/MPI/attrimpl.pxi":78 * cdef void **outval = attrval_out * if p: outval[0] = attrval * else: outval[0] = PyLong_AsVoidPtr(attrval) # <<<<<<<<<<<<<< * if flag != NULL: flag[0] = 1 * if p: Py_INCREF(attrval) */ /*else*/ { (__pyx_v_outval[0]) = PyLong_AsVoidPtr(__pyx_v_attrval); } __pyx_L9:; /* "mpi4py/MPI/attrimpl.pxi":79 * if p: outval[0] = attrval * else: outval[0] = PyLong_AsVoidPtr(attrval) * if flag != NULL: flag[0] = 1 # <<<<<<<<<<<<<< * if p: Py_INCREF(attrval) * Py_INCREF(state) */ __pyx_t_3 = ((__pyx_v_flag != NULL) != 0); if (__pyx_t_3) { (__pyx_v_flag[0]) = 1; } /* "mpi4py/MPI/attrimpl.pxi":80 * else: outval[0] = PyLong_AsVoidPtr(attrval) * if flag != NULL: flag[0] = 1 * if p: Py_INCREF(attrval) # <<<<<<<<<<<<<< * Py_INCREF(state) * return 0 */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { Py_INCREF(__pyx_v_attrval); } /* "mpi4py/MPI/attrimpl.pxi":81 * if flag != NULL: flag[0] = 1 * if p: Py_INCREF(attrval) * Py_INCREF(state) # <<<<<<<<<<<<<< * return 0 * */ Py_INCREF(((PyObject *)__pyx_v_state)); /* "mpi4py/MPI/attrimpl.pxi":82 * if p: Py_INCREF(attrval) * Py_INCREF(state) * return 0 # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_delete( */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":58 * return result * * cdef inline int PyMPI_attr_copy( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_copy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_attrval); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE int __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy(MPI_Win __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_extra_state, void *__pyx_v_attrval_in, void *__pyx_v_attrval_out, int *__pyx_v_flag) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; int __pyx_v_p; PyObject *__pyx_v_attrval = 0; void **__pyx_v_outval; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_2PyMPI_attr_copy", 0); /* "mpi4py/MPI/attrimpl.pxi":65 * void *attrval_out, * int *flag) except -1: * if flag != NULL: flag[0] = 0 # <<<<<<<<<<<<<< * cdef _p_keyval state = <_p_keyval>extra_state * if state.copy_fn is None: return 0 */ __pyx_t_1 = ((__pyx_v_flag != NULL) != 0); if (__pyx_t_1) { (__pyx_v_flag[0]) = 0; } /* "mpi4py/MPI/attrimpl.pxi":66 * int *flag) except -1: * if flag != NULL: flag[0] = 0 * cdef _p_keyval state = <_p_keyval>extra_state # <<<<<<<<<<<<<< * if state.copy_fn is None: return 0 * cdef int p = not state.nopython */ __pyx_t_2 = ((PyObject *)__pyx_v_extra_state); __Pyx_INCREF(__pyx_t_2); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/attrimpl.pxi":67 * if flag != NULL: flag[0] = 0 * cdef _p_keyval state = <_p_keyval>extra_state * if state.copy_fn is None: return 0 # <<<<<<<<<<<<<< * cdef int p = not state.nopython * if p: assert attrval_in != NULL */ __pyx_t_1 = (__pyx_v_state->copy_fn == Py_None); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/attrimpl.pxi":68 * cdef _p_keyval state = <_p_keyval>extra_state * if state.copy_fn is None: return 0 * cdef int p = not state.nopython # <<<<<<<<<<<<<< * if p: assert attrval_in != NULL * cdef object attrval */ __pyx_v_p = (!(__pyx_v_state->nopython != 0)); /* "mpi4py/MPI/attrimpl.pxi":69 * if state.copy_fn is None: return 0 * cdef int p = not state.nopython * if p: assert attrval_in != NULL # <<<<<<<<<<<<<< * cdef object attrval * if p: attrval = attrval_in */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!((__pyx_v_attrval_in != NULL) != 0))) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(4, 69, __pyx_L1_error) } } #endif } /* "mpi4py/MPI/attrimpl.pxi":71 * if p: assert attrval_in != NULL * cdef object attrval * if p: attrval = attrval_in # <<<<<<<<<<<<<< * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.copy_fn is not True: */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { __pyx_t_2 = ((PyObject *)__pyx_v_attrval_in); __Pyx_INCREF(__pyx_t_2); __pyx_v_attrval = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L6; } /* "mpi4py/MPI/attrimpl.pxi":72 * cdef object attrval * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) # <<<<<<<<<<<<<< * if state.copy_fn is not True: * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) */ /*else*/ { __pyx_t_2 = PyLong_FromVoidPtr(__pyx_v_attrval_in); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_attrval = __pyx_t_2; __pyx_t_2 = 0; } __pyx_L6:; /* "mpi4py/MPI/attrimpl.pxi":73 * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.copy_fn is not True: # <<<<<<<<<<<<<< * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) * if attrval is NotImplemented: return 0 */ __pyx_t_3 = (__pyx_v_state->copy_fn != Py_True); __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":74 * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.copy_fn is not True: * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) # <<<<<<<<<<<<<< * if attrval is NotImplemented: return 0 * cdef void **outval = attrval_out */ __pyx_t_2 = __pyx_v_state->copy_fn; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_call(__pyx_t_2, __pyx_v_hdl, __pyx_v_keyval, __pyx_v_attrval); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_attrval, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/attrimpl.pxi":75 * if state.copy_fn is not True: * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) * if attrval is NotImplemented: return 0 # <<<<<<<<<<<<<< * cdef void **outval = attrval_out * if p: outval[0] = attrval */ __pyx_t_1 = (__pyx_v_attrval == __pyx_builtin_NotImplemented); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/attrimpl.pxi":73 * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.copy_fn is not True: # <<<<<<<<<<<<<< * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) * if attrval is NotImplemented: return 0 */ } /* "mpi4py/MPI/attrimpl.pxi":76 * attrval = PyMPI_attr_call(state.copy_fn, hdl, keyval, attrval) * if attrval is NotImplemented: return 0 * cdef void **outval = attrval_out # <<<<<<<<<<<<<< * if p: outval[0] = attrval * else: outval[0] = PyLong_AsVoidPtr(attrval) */ __pyx_v_outval = ((void **)__pyx_v_attrval_out); /* "mpi4py/MPI/attrimpl.pxi":77 * if attrval is NotImplemented: return 0 * cdef void **outval = attrval_out * if p: outval[0] = attrval # <<<<<<<<<<<<<< * else: outval[0] = PyLong_AsVoidPtr(attrval) * if flag != NULL: flag[0] = 1 */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { (__pyx_v_outval[0]) = ((void *)__pyx_v_attrval); goto __pyx_L9; } /* "mpi4py/MPI/attrimpl.pxi":78 * cdef void **outval = attrval_out * if p: outval[0] = attrval * else: outval[0] = PyLong_AsVoidPtr(attrval) # <<<<<<<<<<<<<< * if flag != NULL: flag[0] = 1 * if p: Py_INCREF(attrval) */ /*else*/ { (__pyx_v_outval[0]) = PyLong_AsVoidPtr(__pyx_v_attrval); } __pyx_L9:; /* "mpi4py/MPI/attrimpl.pxi":79 * if p: outval[0] = attrval * else: outval[0] = PyLong_AsVoidPtr(attrval) * if flag != NULL: flag[0] = 1 # <<<<<<<<<<<<<< * if p: Py_INCREF(attrval) * Py_INCREF(state) */ __pyx_t_3 = ((__pyx_v_flag != NULL) != 0); if (__pyx_t_3) { (__pyx_v_flag[0]) = 1; } /* "mpi4py/MPI/attrimpl.pxi":80 * else: outval[0] = PyLong_AsVoidPtr(attrval) * if flag != NULL: flag[0] = 1 * if p: Py_INCREF(attrval) # <<<<<<<<<<<<<< * Py_INCREF(state) * return 0 */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { Py_INCREF(__pyx_v_attrval); } /* "mpi4py/MPI/attrimpl.pxi":81 * if flag != NULL: flag[0] = 1 * if p: Py_INCREF(attrval) * Py_INCREF(state) # <<<<<<<<<<<<<< * return 0 * */ Py_INCREF(((PyObject *)__pyx_v_state)); /* "mpi4py/MPI/attrimpl.pxi":82 * if p: Py_INCREF(attrval) * Py_INCREF(state) * return 0 # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_delete( */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":58 * return result * * cdef inline int PyMPI_attr_copy( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_copy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_attrval); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":84 * return 0 * * cdef inline int PyMPI_attr_delete( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ static CYTHON_INLINE int __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete(MPI_Datatype __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_attrval_in, void *__pyx_v_extra_state) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; int __pyx_v_p; PyObject *__pyx_v_attrval = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_0PyMPI_attr_delete", 0); /* "mpi4py/MPI/attrimpl.pxi":89 * void *attrval_in, * void *extra_state) except -1: * cdef _p_keyval state = <_p_keyval>extra_state # <<<<<<<<<<<<<< * cdef int p = not state.nopython * if p: assert attrval_in != NULL */ __pyx_t_1 = ((PyObject *)__pyx_v_extra_state); __Pyx_INCREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/attrimpl.pxi":90 * void *extra_state) except -1: * cdef _p_keyval state = <_p_keyval>extra_state * cdef int p = not state.nopython # <<<<<<<<<<<<<< * if p: assert attrval_in != NULL * cdef object attrval */ __pyx_v_p = (!(__pyx_v_state->nopython != 0)); /* "mpi4py/MPI/attrimpl.pxi":91 * cdef _p_keyval state = <_p_keyval>extra_state * cdef int p = not state.nopython * if p: assert attrval_in != NULL # <<<<<<<<<<<<<< * cdef object attrval * if p: attrval = attrval_in */ __pyx_t_2 = (__pyx_v_p != 0); if (__pyx_t_2) { #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!((__pyx_v_attrval_in != NULL) != 0))) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(4, 91, __pyx_L1_error) } } #endif } /* "mpi4py/MPI/attrimpl.pxi":93 * if p: assert attrval_in != NULL * cdef object attrval * if p: attrval = attrval_in # <<<<<<<<<<<<<< * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.delete_fn is not None: */ __pyx_t_2 = (__pyx_v_p != 0); if (__pyx_t_2) { __pyx_t_1 = ((PyObject *)__pyx_v_attrval_in); __Pyx_INCREF(__pyx_t_1); __pyx_v_attrval = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L4; } /* "mpi4py/MPI/attrimpl.pxi":94 * cdef object attrval * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) # <<<<<<<<<<<<<< * if state.delete_fn is not None: * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) */ /*else*/ { __pyx_t_1 = PyLong_FromVoidPtr(__pyx_v_attrval_in); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_attrval = __pyx_t_1; __pyx_t_1 = 0; } __pyx_L4:; /* "mpi4py/MPI/attrimpl.pxi":95 * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.delete_fn is not None: # <<<<<<<<<<<<<< * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) * if p: Py_DECREF(attrval) */ __pyx_t_2 = (__pyx_v_state->delete_fn != Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/attrimpl.pxi":96 * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.delete_fn is not None: * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) # <<<<<<<<<<<<<< * if p: Py_DECREF(attrval) * Py_DECREF(state) */ __pyx_t_1 = __pyx_v_state->delete_fn; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_call(__pyx_t_1, __pyx_v_hdl, __pyx_v_keyval, __pyx_v_attrval); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 96, __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; /* "mpi4py/MPI/attrimpl.pxi":95 * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.delete_fn is not None: # <<<<<<<<<<<<<< * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) * if p: Py_DECREF(attrval) */ } /* "mpi4py/MPI/attrimpl.pxi":97 * if state.delete_fn is not None: * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) * if p: Py_DECREF(attrval) # <<<<<<<<<<<<<< * Py_DECREF(state) * return 0 */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { Py_DECREF(__pyx_v_attrval); } /* "mpi4py/MPI/attrimpl.pxi":98 * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) * if p: Py_DECREF(attrval) * Py_DECREF(state) # <<<<<<<<<<<<<< * return 0 * */ Py_DECREF(((PyObject *)__pyx_v_state)); /* "mpi4py/MPI/attrimpl.pxi":99 * if p: Py_DECREF(attrval) * Py_DECREF(state) * return 0 # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_copy_cb( */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":84 * return 0 * * cdef inline int PyMPI_attr_delete( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_delete", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_attrval); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE int __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete(MPI_Comm __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_attrval_in, void *__pyx_v_extra_state) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; int __pyx_v_p; PyObject *__pyx_v_attrval = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_1PyMPI_attr_delete", 0); /* "mpi4py/MPI/attrimpl.pxi":89 * void *attrval_in, * void *extra_state) except -1: * cdef _p_keyval state = <_p_keyval>extra_state # <<<<<<<<<<<<<< * cdef int p = not state.nopython * if p: assert attrval_in != NULL */ __pyx_t_1 = ((PyObject *)__pyx_v_extra_state); __Pyx_INCREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/attrimpl.pxi":90 * void *extra_state) except -1: * cdef _p_keyval state = <_p_keyval>extra_state * cdef int p = not state.nopython # <<<<<<<<<<<<<< * if p: assert attrval_in != NULL * cdef object attrval */ __pyx_v_p = (!(__pyx_v_state->nopython != 0)); /* "mpi4py/MPI/attrimpl.pxi":91 * cdef _p_keyval state = <_p_keyval>extra_state * cdef int p = not state.nopython * if p: assert attrval_in != NULL # <<<<<<<<<<<<<< * cdef object attrval * if p: attrval = attrval_in */ __pyx_t_2 = (__pyx_v_p != 0); if (__pyx_t_2) { #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!((__pyx_v_attrval_in != NULL) != 0))) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(4, 91, __pyx_L1_error) } } #endif } /* "mpi4py/MPI/attrimpl.pxi":93 * if p: assert attrval_in != NULL * cdef object attrval * if p: attrval = attrval_in # <<<<<<<<<<<<<< * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.delete_fn is not None: */ __pyx_t_2 = (__pyx_v_p != 0); if (__pyx_t_2) { __pyx_t_1 = ((PyObject *)__pyx_v_attrval_in); __Pyx_INCREF(__pyx_t_1); __pyx_v_attrval = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L4; } /* "mpi4py/MPI/attrimpl.pxi":94 * cdef object attrval * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) # <<<<<<<<<<<<<< * if state.delete_fn is not None: * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) */ /*else*/ { __pyx_t_1 = PyLong_FromVoidPtr(__pyx_v_attrval_in); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_attrval = __pyx_t_1; __pyx_t_1 = 0; } __pyx_L4:; /* "mpi4py/MPI/attrimpl.pxi":95 * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.delete_fn is not None: # <<<<<<<<<<<<<< * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) * if p: Py_DECREF(attrval) */ __pyx_t_2 = (__pyx_v_state->delete_fn != Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/attrimpl.pxi":96 * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.delete_fn is not None: * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) # <<<<<<<<<<<<<< * if p: Py_DECREF(attrval) * Py_DECREF(state) */ __pyx_t_1 = __pyx_v_state->delete_fn; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_call(__pyx_t_1, __pyx_v_hdl, __pyx_v_keyval, __pyx_v_attrval); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 96, __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; /* "mpi4py/MPI/attrimpl.pxi":95 * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.delete_fn is not None: # <<<<<<<<<<<<<< * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) * if p: Py_DECREF(attrval) */ } /* "mpi4py/MPI/attrimpl.pxi":97 * if state.delete_fn is not None: * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) * if p: Py_DECREF(attrval) # <<<<<<<<<<<<<< * Py_DECREF(state) * return 0 */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { Py_DECREF(__pyx_v_attrval); } /* "mpi4py/MPI/attrimpl.pxi":98 * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) * if p: Py_DECREF(attrval) * Py_DECREF(state) # <<<<<<<<<<<<<< * return 0 * */ Py_DECREF(((PyObject *)__pyx_v_state)); /* "mpi4py/MPI/attrimpl.pxi":99 * if p: Py_DECREF(attrval) * Py_DECREF(state) * return 0 # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_copy_cb( */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":84 * return 0 * * cdef inline int PyMPI_attr_delete( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_delete", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_attrval); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE int __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete(MPI_Win __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_attrval_in, void *__pyx_v_extra_state) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; int __pyx_v_p; PyObject *__pyx_v_attrval = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_2PyMPI_attr_delete", 0); /* "mpi4py/MPI/attrimpl.pxi":89 * void *attrval_in, * void *extra_state) except -1: * cdef _p_keyval state = <_p_keyval>extra_state # <<<<<<<<<<<<<< * cdef int p = not state.nopython * if p: assert attrval_in != NULL */ __pyx_t_1 = ((PyObject *)__pyx_v_extra_state); __Pyx_INCREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/attrimpl.pxi":90 * void *extra_state) except -1: * cdef _p_keyval state = <_p_keyval>extra_state * cdef int p = not state.nopython # <<<<<<<<<<<<<< * if p: assert attrval_in != NULL * cdef object attrval */ __pyx_v_p = (!(__pyx_v_state->nopython != 0)); /* "mpi4py/MPI/attrimpl.pxi":91 * cdef _p_keyval state = <_p_keyval>extra_state * cdef int p = not state.nopython * if p: assert attrval_in != NULL # <<<<<<<<<<<<<< * cdef object attrval * if p: attrval = attrval_in */ __pyx_t_2 = (__pyx_v_p != 0); if (__pyx_t_2) { #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { if (unlikely(!((__pyx_v_attrval_in != NULL) != 0))) { PyErr_SetNone(PyExc_AssertionError); __PYX_ERR(4, 91, __pyx_L1_error) } } #endif } /* "mpi4py/MPI/attrimpl.pxi":93 * if p: assert attrval_in != NULL * cdef object attrval * if p: attrval = attrval_in # <<<<<<<<<<<<<< * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.delete_fn is not None: */ __pyx_t_2 = (__pyx_v_p != 0); if (__pyx_t_2) { __pyx_t_1 = ((PyObject *)__pyx_v_attrval_in); __Pyx_INCREF(__pyx_t_1); __pyx_v_attrval = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L4; } /* "mpi4py/MPI/attrimpl.pxi":94 * cdef object attrval * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) # <<<<<<<<<<<<<< * if state.delete_fn is not None: * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) */ /*else*/ { __pyx_t_1 = PyLong_FromVoidPtr(__pyx_v_attrval_in); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_attrval = __pyx_t_1; __pyx_t_1 = 0; } __pyx_L4:; /* "mpi4py/MPI/attrimpl.pxi":95 * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.delete_fn is not None: # <<<<<<<<<<<<<< * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) * if p: Py_DECREF(attrval) */ __pyx_t_2 = (__pyx_v_state->delete_fn != Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/attrimpl.pxi":96 * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.delete_fn is not None: * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) # <<<<<<<<<<<<<< * if p: Py_DECREF(attrval) * Py_DECREF(state) */ __pyx_t_1 = __pyx_v_state->delete_fn; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_call(__pyx_t_1, __pyx_v_hdl, __pyx_v_keyval, __pyx_v_attrval); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 96, __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; /* "mpi4py/MPI/attrimpl.pxi":95 * if p: attrval = attrval_in * else: attrval = PyLong_FromVoidPtr(attrval_in) * if state.delete_fn is not None: # <<<<<<<<<<<<<< * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) * if p: Py_DECREF(attrval) */ } /* "mpi4py/MPI/attrimpl.pxi":97 * if state.delete_fn is not None: * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) * if p: Py_DECREF(attrval) # <<<<<<<<<<<<<< * Py_DECREF(state) * return 0 */ __pyx_t_3 = (__pyx_v_p != 0); if (__pyx_t_3) { Py_DECREF(__pyx_v_attrval); } /* "mpi4py/MPI/attrimpl.pxi":98 * PyMPI_attr_call(state.delete_fn, hdl, keyval, attrval) * if p: Py_DECREF(attrval) * Py_DECREF(state) # <<<<<<<<<<<<<< * return 0 * */ Py_DECREF(((PyObject *)__pyx_v_state)); /* "mpi4py/MPI/attrimpl.pxi":99 * if p: Py_DECREF(attrval) * Py_DECREF(state) * return 0 # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_copy_cb( */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":84 * return 0 * * cdef inline int PyMPI_attr_delete( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_delete", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_attrval); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":101 * return 0 * * cdef inline int PyMPI_attr_copy_cb( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ static CYTHON_INLINE int __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_cb(MPI_Datatype __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_extra_state, void *__pyx_v_attrval_in, void *__pyx_v_attrval_out, int *__pyx_v_flag) { int __pyx_v_ierr; PyObject *__pyx_v_exc = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("__pyx_fuse_0PyMPI_attr_copy_cb", 0); /* "mpi4py/MPI/attrimpl.pxi":109 * int *flag, * ) except MPI_ERR_UNKNOWN with gil: * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/attrimpl.pxi":111 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_copy(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) */ { __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:*/ { /* "mpi4py/MPI/attrimpl.pxi":112 * cdef object exc * try: * PyMPI_attr_copy(hdl, keyval, extra_state, # <<<<<<<<<<<<<< * attrval_in, attrval_out, flag) * except MPIException as exc: */ __pyx_t_4 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_extra_state, __pyx_v_attrval_in, __pyx_v_attrval_out, __pyx_v_flag); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(4, 112, __pyx_L3_error) /* "mpi4py/MPI/attrimpl.pxi":111 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_copy(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) */ } __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:; /* "mpi4py/MPI/attrimpl.pxi":114 * PyMPI_attr_copy(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * ierr = exc.Get_error_code() */ __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_4) { __Pyx_AddTraceback("mpi4py.MPI.__pyx_fuse_0PyMPI_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(4, 114, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_v_exc = __pyx_t_6; /* "mpi4py/MPI/attrimpl.pxi":115 * attrval_in, attrval_out, flag) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/attrimpl.pxi":116 * except MPIException as exc: * print_traceback() * ierr = exc.Get_error_code() # <<<<<<<<<<<<<< * except: * print_traceback() */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 116, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 116, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 116, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_4; __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; goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/attrimpl.pxi":117 * print_traceback() * ierr = exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * ierr = MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.__pyx_fuse_0PyMPI_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(4, 117, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); /* "mpi4py/MPI/attrimpl.pxi":118 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/attrimpl.pxi":119 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/attrimpl.pxi":111 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_copy(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) */ __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:; } /* "mpi4py/MPI/attrimpl.pxi":120 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_delete_cb( */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":101 * return 0 * * cdef inline int PyMPI_attr_copy_cb( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* 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_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } static CYTHON_INLINE int __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_cb(MPI_Comm __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_extra_state, void *__pyx_v_attrval_in, void *__pyx_v_attrval_out, int *__pyx_v_flag) { int __pyx_v_ierr; PyObject *__pyx_v_exc = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("__pyx_fuse_1PyMPI_attr_copy_cb", 0); /* "mpi4py/MPI/attrimpl.pxi":109 * int *flag, * ) except MPI_ERR_UNKNOWN with gil: * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/attrimpl.pxi":111 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_copy(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) */ { __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:*/ { /* "mpi4py/MPI/attrimpl.pxi":112 * cdef object exc * try: * PyMPI_attr_copy(hdl, keyval, extra_state, # <<<<<<<<<<<<<< * attrval_in, attrval_out, flag) * except MPIException as exc: */ __pyx_t_4 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_extra_state, __pyx_v_attrval_in, __pyx_v_attrval_out, __pyx_v_flag); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(4, 112, __pyx_L3_error) /* "mpi4py/MPI/attrimpl.pxi":111 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_copy(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) */ } __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:; /* "mpi4py/MPI/attrimpl.pxi":114 * PyMPI_attr_copy(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * ierr = exc.Get_error_code() */ __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_4) { __Pyx_AddTraceback("mpi4py.MPI.__pyx_fuse_1PyMPI_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(4, 114, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_v_exc = __pyx_t_6; /* "mpi4py/MPI/attrimpl.pxi":115 * attrval_in, attrval_out, flag) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/attrimpl.pxi":116 * except MPIException as exc: * print_traceback() * ierr = exc.Get_error_code() # <<<<<<<<<<<<<< * except: * print_traceback() */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 116, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 116, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 116, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_4; __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; goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/attrimpl.pxi":117 * print_traceback() * ierr = exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * ierr = MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.__pyx_fuse_1PyMPI_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(4, 117, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); /* "mpi4py/MPI/attrimpl.pxi":118 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/attrimpl.pxi":119 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/attrimpl.pxi":111 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_copy(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) */ __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:; } /* "mpi4py/MPI/attrimpl.pxi":120 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_delete_cb( */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":101 * return 0 * * cdef inline int PyMPI_attr_copy_cb( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* 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_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } static CYTHON_INLINE int __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_cb(MPI_Win __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_extra_state, void *__pyx_v_attrval_in, void *__pyx_v_attrval_out, int *__pyx_v_flag) { int __pyx_v_ierr; PyObject *__pyx_v_exc = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("__pyx_fuse_2PyMPI_attr_copy_cb", 0); /* "mpi4py/MPI/attrimpl.pxi":109 * int *flag, * ) except MPI_ERR_UNKNOWN with gil: * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/attrimpl.pxi":111 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_copy(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) */ { __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:*/ { /* "mpi4py/MPI/attrimpl.pxi":112 * cdef object exc * try: * PyMPI_attr_copy(hdl, keyval, extra_state, # <<<<<<<<<<<<<< * attrval_in, attrval_out, flag) * except MPIException as exc: */ __pyx_t_4 = __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_extra_state, __pyx_v_attrval_in, __pyx_v_attrval_out, __pyx_v_flag); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(4, 112, __pyx_L3_error) /* "mpi4py/MPI/attrimpl.pxi":111 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_copy(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) */ } __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:; /* "mpi4py/MPI/attrimpl.pxi":114 * PyMPI_attr_copy(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * ierr = exc.Get_error_code() */ __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_4) { __Pyx_AddTraceback("mpi4py.MPI.__pyx_fuse_2PyMPI_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(4, 114, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_v_exc = __pyx_t_6; /* "mpi4py/MPI/attrimpl.pxi":115 * attrval_in, attrval_out, flag) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/attrimpl.pxi":116 * except MPIException as exc: * print_traceback() * ierr = exc.Get_error_code() # <<<<<<<<<<<<<< * except: * print_traceback() */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 116, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 116, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 116, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_4; __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; goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/attrimpl.pxi":117 * print_traceback() * ierr = exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * ierr = MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.__pyx_fuse_2PyMPI_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(4, 117, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); /* "mpi4py/MPI/attrimpl.pxi":118 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/attrimpl.pxi":119 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/attrimpl.pxi":111 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_copy(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) */ __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:; } /* "mpi4py/MPI/attrimpl.pxi":120 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_delete_cb( */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":101 * return 0 * * cdef inline int PyMPI_attr_copy_cb( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* 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_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":122 * return ierr * * cdef inline int PyMPI_attr_delete_cb( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ static CYTHON_INLINE int __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_cb(MPI_Datatype __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { int __pyx_v_ierr; PyObject *__pyx_v_exc = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("__pyx_fuse_0PyMPI_attr_delete_cb", 0); /* "mpi4py/MPI/attrimpl.pxi":128 * void *extra_state, * ) except MPI_ERR_UNKNOWN with gil: * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/attrimpl.pxi":130 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: */ { __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:*/ { /* "mpi4py/MPI/attrimpl.pxi":131 * cdef object exc * try: * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) # <<<<<<<<<<<<<< * except MPIException as exc: * print_traceback() */ __pyx_t_4 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_attrval, __pyx_v_extra_state); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(4, 131, __pyx_L3_error) /* "mpi4py/MPI/attrimpl.pxi":130 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: */ } __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:; /* "mpi4py/MPI/attrimpl.pxi":132 * try: * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * ierr = exc.Get_error_code() */ __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_4) { __Pyx_AddTraceback("mpi4py.MPI.__pyx_fuse_0PyMPI_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(4, 132, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_v_exc = __pyx_t_6; /* "mpi4py/MPI/attrimpl.pxi":133 * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/attrimpl.pxi":134 * except MPIException as exc: * print_traceback() * ierr = exc.Get_error_code() # <<<<<<<<<<<<<< * except: * print_traceback() */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 134, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 134, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 134, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_4; __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; goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/attrimpl.pxi":135 * print_traceback() * ierr = exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * ierr = MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.__pyx_fuse_0PyMPI_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(4, 135, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); /* "mpi4py/MPI/attrimpl.pxi":136 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/attrimpl.pxi":137 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/attrimpl.pxi":130 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: */ __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:; } /* "mpi4py/MPI/attrimpl.pxi":138 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":122 * return ierr * * cdef inline int PyMPI_attr_delete_cb( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* 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_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } static CYTHON_INLINE int __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_cb(MPI_Comm __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { int __pyx_v_ierr; PyObject *__pyx_v_exc = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("__pyx_fuse_1PyMPI_attr_delete_cb", 0); /* "mpi4py/MPI/attrimpl.pxi":128 * void *extra_state, * ) except MPI_ERR_UNKNOWN with gil: * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/attrimpl.pxi":130 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: */ { __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:*/ { /* "mpi4py/MPI/attrimpl.pxi":131 * cdef object exc * try: * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) # <<<<<<<<<<<<<< * except MPIException as exc: * print_traceback() */ __pyx_t_4 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_attrval, __pyx_v_extra_state); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(4, 131, __pyx_L3_error) /* "mpi4py/MPI/attrimpl.pxi":130 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: */ } __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:; /* "mpi4py/MPI/attrimpl.pxi":132 * try: * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * ierr = exc.Get_error_code() */ __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_4) { __Pyx_AddTraceback("mpi4py.MPI.__pyx_fuse_1PyMPI_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(4, 132, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_v_exc = __pyx_t_6; /* "mpi4py/MPI/attrimpl.pxi":133 * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/attrimpl.pxi":134 * except MPIException as exc: * print_traceback() * ierr = exc.Get_error_code() # <<<<<<<<<<<<<< * except: * print_traceback() */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 134, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 134, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 134, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_4; __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; goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/attrimpl.pxi":135 * print_traceback() * ierr = exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * ierr = MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.__pyx_fuse_1PyMPI_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(4, 135, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); /* "mpi4py/MPI/attrimpl.pxi":136 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/attrimpl.pxi":137 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/attrimpl.pxi":130 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: */ __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:; } /* "mpi4py/MPI/attrimpl.pxi":138 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":122 * return ierr * * cdef inline int PyMPI_attr_delete_cb( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* 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_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } static CYTHON_INLINE int __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_cb(MPI_Win __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { int __pyx_v_ierr; PyObject *__pyx_v_exc = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("__pyx_fuse_2PyMPI_attr_delete_cb", 0); /* "mpi4py/MPI/attrimpl.pxi":128 * void *extra_state, * ) except MPI_ERR_UNKNOWN with gil: * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "mpi4py/MPI/attrimpl.pxi":130 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: */ { __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:*/ { /* "mpi4py/MPI/attrimpl.pxi":131 * cdef object exc * try: * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) # <<<<<<<<<<<<<< * except MPIException as exc: * print_traceback() */ __pyx_t_4 = __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_attrval, __pyx_v_extra_state); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(4, 131, __pyx_L3_error) /* "mpi4py/MPI/attrimpl.pxi":130 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: */ } __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:; /* "mpi4py/MPI/attrimpl.pxi":132 * try: * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * ierr = exc.Get_error_code() */ __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_4) { __Pyx_AddTraceback("mpi4py.MPI.__pyx_fuse_2PyMPI_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(4, 132, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_v_exc = __pyx_t_6; /* "mpi4py/MPI/attrimpl.pxi":133 * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/attrimpl.pxi":134 * except MPIException as exc: * print_traceback() * ierr = exc.Get_error_code() # <<<<<<<<<<<<<< * except: * print_traceback() */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 134, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_8 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 134, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 134, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_4; __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; goto __pyx_L4_exception_handled; } /* "mpi4py/MPI/attrimpl.pxi":135 * print_traceback() * ierr = exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * ierr = MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.__pyx_fuse_2PyMPI_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(4, 135, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); /* "mpi4py/MPI/attrimpl.pxi":136 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "mpi4py/MPI/attrimpl.pxi":137 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/attrimpl.pxi":130 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * PyMPI_attr_delete(hdl, keyval, attrval, extra_state) * except MPIException as exc: */ __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:; } /* "mpi4py/MPI/attrimpl.pxi":138 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":122 * return ierr * * cdef inline int PyMPI_attr_delete_cb( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* 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_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = MPI_ERR_UNKNOWN; __pyx_L0:; __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":142 * * @cython.callspec("MPIAPI") * cdef int PyMPI_attr_copy_fn(PyMPI_attr_type hdl, # <<<<<<<<<<<<<< * int keyval, * void *extra_state, */ static int MPIAPI __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_fn(MPI_Datatype __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_extra_state, void *__pyx_v_attrval_in, void *__pyx_v_attrval_out, int *__pyx_v_flag) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/attrimpl.pxi":148 * void *attrval_out, * int *flag) nogil: * if flag != NULL: flag[0] = 0 # <<<<<<<<<<<<<< * if extra_state == NULL: * return MPI_ERR_INTERN */ __pyx_t_1 = ((__pyx_v_flag != NULL) != 0); if (__pyx_t_1) { (__pyx_v_flag[0]) = 0; } /* "mpi4py/MPI/attrimpl.pxi":149 * int *flag) nogil: * if flag != NULL: flag[0] = 0 * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if attrval_out == NULL: */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":150 * if flag != NULL: flag[0] = 0 * if extra_state == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if attrval_out == NULL: * return MPI_ERR_INTERN */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":149 * int *flag) nogil: * if flag != NULL: flag[0] = 0 * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if attrval_out == NULL: */ } /* "mpi4py/MPI/attrimpl.pxi":151 * if extra_state == NULL: * return MPI_ERR_INTERN * if attrval_out == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_attrval_out == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":152 * return MPI_ERR_INTERN * if attrval_out == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_SUCCESS */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":151 * if extra_state == NULL: * return MPI_ERR_INTERN * if attrval_out == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/attrimpl.pxi":153 * if attrval_out == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * return PyMPI_attr_copy_cb(hdl, keyval, extra_state, */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":154 * return MPI_ERR_INTERN * if not Py_IsInitialized(): * return MPI_SUCCESS # <<<<<<<<<<<<<< * return PyMPI_attr_copy_cb(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":153 * if attrval_out == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * return PyMPI_attr_copy_cb(hdl, keyval, extra_state, */ } /* "mpi4py/MPI/attrimpl.pxi":155 * if not Py_IsInitialized(): * return MPI_SUCCESS * return PyMPI_attr_copy_cb(hdl, keyval, extra_state, # <<<<<<<<<<<<<< * attrval_in, attrval_out, flag) * */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_cb(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_extra_state, __pyx_v_attrval_in, __pyx_v_attrval_out, __pyx_v_flag); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(4, 155, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":142 * * @cython.callspec("MPIAPI") * cdef int PyMPI_attr_copy_fn(PyMPI_attr_type hdl, # <<<<<<<<<<<<<< * int keyval, * void *extra_state, */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.PyMPI_attr_copy_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } static int MPIAPI __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_fn(MPI_Comm __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_extra_state, void *__pyx_v_attrval_in, void *__pyx_v_attrval_out, int *__pyx_v_flag) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/attrimpl.pxi":148 * void *attrval_out, * int *flag) nogil: * if flag != NULL: flag[0] = 0 # <<<<<<<<<<<<<< * if extra_state == NULL: * return MPI_ERR_INTERN */ __pyx_t_1 = ((__pyx_v_flag != NULL) != 0); if (__pyx_t_1) { (__pyx_v_flag[0]) = 0; } /* "mpi4py/MPI/attrimpl.pxi":149 * int *flag) nogil: * if flag != NULL: flag[0] = 0 * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if attrval_out == NULL: */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":150 * if flag != NULL: flag[0] = 0 * if extra_state == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if attrval_out == NULL: * return MPI_ERR_INTERN */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":149 * int *flag) nogil: * if flag != NULL: flag[0] = 0 * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if attrval_out == NULL: */ } /* "mpi4py/MPI/attrimpl.pxi":151 * if extra_state == NULL: * return MPI_ERR_INTERN * if attrval_out == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_attrval_out == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":152 * return MPI_ERR_INTERN * if attrval_out == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_SUCCESS */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":151 * if extra_state == NULL: * return MPI_ERR_INTERN * if attrval_out == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/attrimpl.pxi":153 * if attrval_out == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * return PyMPI_attr_copy_cb(hdl, keyval, extra_state, */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":154 * return MPI_ERR_INTERN * if not Py_IsInitialized(): * return MPI_SUCCESS # <<<<<<<<<<<<<< * return PyMPI_attr_copy_cb(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":153 * if attrval_out == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * return PyMPI_attr_copy_cb(hdl, keyval, extra_state, */ } /* "mpi4py/MPI/attrimpl.pxi":155 * if not Py_IsInitialized(): * return MPI_SUCCESS * return PyMPI_attr_copy_cb(hdl, keyval, extra_state, # <<<<<<<<<<<<<< * attrval_in, attrval_out, flag) * */ __pyx_t_2 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_cb(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_extra_state, __pyx_v_attrval_in, __pyx_v_attrval_out, __pyx_v_flag); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(4, 155, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":142 * * @cython.callspec("MPIAPI") * cdef int PyMPI_attr_copy_fn(PyMPI_attr_type hdl, # <<<<<<<<<<<<<< * int keyval, * void *extra_state, */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.PyMPI_attr_copy_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } static int MPIAPI __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_fn(MPI_Win __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_extra_state, void *__pyx_v_attrval_in, void *__pyx_v_attrval_out, int *__pyx_v_flag) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/attrimpl.pxi":148 * void *attrval_out, * int *flag) nogil: * if flag != NULL: flag[0] = 0 # <<<<<<<<<<<<<< * if extra_state == NULL: * return MPI_ERR_INTERN */ __pyx_t_1 = ((__pyx_v_flag != NULL) != 0); if (__pyx_t_1) { (__pyx_v_flag[0]) = 0; } /* "mpi4py/MPI/attrimpl.pxi":149 * int *flag) nogil: * if flag != NULL: flag[0] = 0 * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if attrval_out == NULL: */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":150 * if flag != NULL: flag[0] = 0 * if extra_state == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if attrval_out == NULL: * return MPI_ERR_INTERN */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":149 * int *flag) nogil: * if flag != NULL: flag[0] = 0 * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if attrval_out == NULL: */ } /* "mpi4py/MPI/attrimpl.pxi":151 * if extra_state == NULL: * return MPI_ERR_INTERN * if attrval_out == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_attrval_out == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":152 * return MPI_ERR_INTERN * if attrval_out == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_SUCCESS */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":151 * if extra_state == NULL: * return MPI_ERR_INTERN * if attrval_out == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/attrimpl.pxi":153 * if attrval_out == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * return PyMPI_attr_copy_cb(hdl, keyval, extra_state, */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":154 * return MPI_ERR_INTERN * if not Py_IsInitialized(): * return MPI_SUCCESS # <<<<<<<<<<<<<< * return PyMPI_attr_copy_cb(hdl, keyval, extra_state, * attrval_in, attrval_out, flag) */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":153 * if attrval_out == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * return PyMPI_attr_copy_cb(hdl, keyval, extra_state, */ } /* "mpi4py/MPI/attrimpl.pxi":155 * if not Py_IsInitialized(): * return MPI_SUCCESS * return PyMPI_attr_copy_cb(hdl, keyval, extra_state, # <<<<<<<<<<<<<< * attrval_in, attrval_out, flag) * */ __pyx_t_2 = __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_cb(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_extra_state, __pyx_v_attrval_in, __pyx_v_attrval_out, __pyx_v_flag); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(4, 155, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":142 * * @cython.callspec("MPIAPI") * cdef int PyMPI_attr_copy_fn(PyMPI_attr_type hdl, # <<<<<<<<<<<<<< * int keyval, * void *extra_state, */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.PyMPI_attr_copy_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":159 * * @cython.callspec("MPIAPI") * cdef int PyMPI_attr_delete_fn(PyMPI_attr_type hdl, # <<<<<<<<<<<<<< * int keyval, * void *attrval, */ static int MPIAPI __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_fn(MPI_Datatype __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/attrimpl.pxi":163 * void *attrval, * void *extra_state) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":164 * void *extra_state) nogil: * if extra_state == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_SUCCESS */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":163 * void *attrval, * void *extra_state) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/attrimpl.pxi":165 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * return PyMPI_attr_delete_cb(hdl, keyval, attrval, extra_state) */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":166 * return MPI_ERR_INTERN * if not Py_IsInitialized(): * return MPI_SUCCESS # <<<<<<<<<<<<<< * return PyMPI_attr_delete_cb(hdl, keyval, attrval, extra_state) * */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":165 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * return PyMPI_attr_delete_cb(hdl, keyval, attrval, extra_state) */ } /* "mpi4py/MPI/attrimpl.pxi":167 * if not Py_IsInitialized(): * return MPI_SUCCESS * return PyMPI_attr_delete_cb(hdl, keyval, attrval, extra_state) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_cb(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_attrval, __pyx_v_extra_state); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(4, 167, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":159 * * @cython.callspec("MPIAPI") * cdef int PyMPI_attr_delete_fn(PyMPI_attr_type hdl, # <<<<<<<<<<<<<< * int keyval, * void *attrval, */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.PyMPI_attr_delete_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } static int MPIAPI __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_fn(MPI_Comm __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/attrimpl.pxi":163 * void *attrval, * void *extra_state) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":164 * void *extra_state) nogil: * if extra_state == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_SUCCESS */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":163 * void *attrval, * void *extra_state) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/attrimpl.pxi":165 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * return PyMPI_attr_delete_cb(hdl, keyval, attrval, extra_state) */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":166 * return MPI_ERR_INTERN * if not Py_IsInitialized(): * return MPI_SUCCESS # <<<<<<<<<<<<<< * return PyMPI_attr_delete_cb(hdl, keyval, attrval, extra_state) * */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":165 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * return PyMPI_attr_delete_cb(hdl, keyval, attrval, extra_state) */ } /* "mpi4py/MPI/attrimpl.pxi":167 * if not Py_IsInitialized(): * return MPI_SUCCESS * return PyMPI_attr_delete_cb(hdl, keyval, attrval, extra_state) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_t_2 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_cb(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_attrval, __pyx_v_extra_state); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(4, 167, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":159 * * @cython.callspec("MPIAPI") * cdef int PyMPI_attr_delete_fn(PyMPI_attr_type hdl, # <<<<<<<<<<<<<< * int keyval, * void *attrval, */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.PyMPI_attr_delete_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } static int MPIAPI __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_fn(MPI_Win __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/attrimpl.pxi":163 * void *attrval, * void *extra_state) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":164 * void *extra_state) nogil: * if extra_state == NULL: * return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): * return MPI_SUCCESS */ __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":163 * void *attrval, * void *extra_state) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "mpi4py/MPI/attrimpl.pxi":165 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * return PyMPI_attr_delete_cb(hdl, keyval, attrval, extra_state) */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/attrimpl.pxi":166 * return MPI_ERR_INTERN * if not Py_IsInitialized(): * return MPI_SUCCESS # <<<<<<<<<<<<<< * return PyMPI_attr_delete_cb(hdl, keyval, attrval, extra_state) * */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":165 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_SUCCESS * return PyMPI_attr_delete_cb(hdl, keyval, attrval, extra_state) */ } /* "mpi4py/MPI/attrimpl.pxi":167 * if not Py_IsInitialized(): * return MPI_SUCCESS * return PyMPI_attr_delete_cb(hdl, keyval, attrval, extra_state) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_t_2 = __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_cb(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_attrval, __pyx_v_extra_state); if (unlikely(__pyx_t_2 == ((int)MPI_ERR_UNKNOWN))) __PYX_ERR(4, 167, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":159 * * @cython.callspec("MPIAPI") * cdef int PyMPI_attr_delete_fn(PyMPI_attr_type hdl, # <<<<<<<<<<<<<< * int keyval, * void *attrval, */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.PyMPI_attr_delete_fn", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); __pyx_r = 0; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":171 * #------------------------------------------------------------------------------ * * cdef inline _p_keyval PyMPI_attr_state( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval): */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_state(MPI_Datatype __pyx_v_hdl, int __pyx_v_keyval) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_0PyMPI_attr_state", 0); /* "mpi4py/MPI/attrimpl.pxi":174 * PyMPI_attr_type hdl, * int keyval): * hdl # unused # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Datatype: * return <_p_keyval>type_keyval.get(keyval) */ ((void)__pyx_v_hdl); /* "mpi4py/MPI/attrimpl.pxi":176 * hdl # unused * if PyMPI_attr_type is MPI_Datatype: * return <_p_keyval>type_keyval.get(keyval) # <<<<<<<<<<<<<< * elif PyMPI_attr_type is MPI_Comm: * return <_p_keyval>comm_keyval.get(keyval) */ __Pyx_XDECREF(((PyObject *)__pyx_r)); if (unlikely(__pyx_v_6mpi4py_3MPI_type_keyval == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); __PYX_ERR(4, 176, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyDict_GetItemDefault(__pyx_v_6mpi4py_3MPI_type_keyval, __pyx_t_1, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(((PyObject *)((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_2))); __pyx_r = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":171 * #------------------------------------------------------------------------------ * * cdef inline _p_keyval PyMPI_attr_state( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_state", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_state(MPI_Comm __pyx_v_hdl, int __pyx_v_keyval) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_1PyMPI_attr_state", 0); /* "mpi4py/MPI/attrimpl.pxi":174 * PyMPI_attr_type hdl, * int keyval): * hdl # unused # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Datatype: * return <_p_keyval>type_keyval.get(keyval) */ ((void)__pyx_v_hdl); /* "mpi4py/MPI/attrimpl.pxi":178 * return <_p_keyval>type_keyval.get(keyval) * elif PyMPI_attr_type is MPI_Comm: * return <_p_keyval>comm_keyval.get(keyval) # <<<<<<<<<<<<<< * elif PyMPI_attr_type is MPI_Win: * return <_p_keyval>win_keyval.get(keyval) */ __Pyx_XDECREF(((PyObject *)__pyx_r)); if (unlikely(__pyx_v_6mpi4py_3MPI_comm_keyval == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); __PYX_ERR(4, 178, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyDict_GetItemDefault(__pyx_v_6mpi4py_3MPI_comm_keyval, __pyx_t_1, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(((PyObject *)((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_2))); __pyx_r = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":171 * #------------------------------------------------------------------------------ * * cdef inline _p_keyval PyMPI_attr_state( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_state", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_state(MPI_Win __pyx_v_hdl, int __pyx_v_keyval) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_2PyMPI_attr_state", 0); /* "mpi4py/MPI/attrimpl.pxi":174 * PyMPI_attr_type hdl, * int keyval): * hdl # unused # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Datatype: * return <_p_keyval>type_keyval.get(keyval) */ ((void)__pyx_v_hdl); /* "mpi4py/MPI/attrimpl.pxi":180 * return <_p_keyval>comm_keyval.get(keyval) * elif PyMPI_attr_type is MPI_Win: * return <_p_keyval>win_keyval.get(keyval) # <<<<<<<<<<<<<< * * cdef inline object PyMPI_attr_get( */ __Pyx_XDECREF(((PyObject *)__pyx_r)); if (unlikely(__pyx_v_6mpi4py_3MPI_win_keyval == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); __PYX_ERR(4, 180, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyDict_GetItemDefault(__pyx_v_6mpi4py_3MPI_win_keyval, __pyx_t_1, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(((PyObject *)((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_2))); __pyx_r = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":171 * #------------------------------------------------------------------------------ * * cdef inline _p_keyval PyMPI_attr_state( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_state", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":182 * return <_p_keyval>win_keyval.get(keyval) * * cdef inline object PyMPI_attr_get( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ static CYTHON_INLINE PyObject *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_get(MPI_Datatype __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_attrval) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_0PyMPI_attr_get", 0); /* "mpi4py/MPI/attrimpl.pxi":186 * int keyval, * void *attrval): * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) # <<<<<<<<<<<<<< * if state is not None and not state.nopython: * return attrval */ __pyx_t_1 = ((PyObject *)__pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_state(__pyx_v_hdl, __pyx_v_keyval)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/attrimpl.pxi":187 * void *attrval): * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * if state is not None and not state.nopython: # <<<<<<<<<<<<<< * return attrval * else: */ __pyx_t_3 = (((PyObject *)__pyx_v_state) != 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_v_state->nopython != 0)) != 0); __pyx_t_2 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* "mpi4py/MPI/attrimpl.pxi":188 * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * if state is not None and not state.nopython: * return attrval # <<<<<<<<<<<<<< * else: * return PyLong_FromVoidPtr(attrval) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_attrval)); __pyx_r = ((PyObject *)__pyx_v_attrval); goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":187 * void *attrval): * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * if state is not None and not state.nopython: # <<<<<<<<<<<<<< * return attrval * else: */ } /* "mpi4py/MPI/attrimpl.pxi":190 * return attrval * else: * return PyLong_FromVoidPtr(attrval) # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_set( */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyLong_FromVoidPtr(__pyx_v_attrval); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; } /* "mpi4py/MPI/attrimpl.pxi":182 * return <_p_keyval>win_keyval.get(keyval) * * cdef inline object PyMPI_attr_get( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE PyObject *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_get(MPI_Comm __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_attrval) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_1PyMPI_attr_get", 0); /* "mpi4py/MPI/attrimpl.pxi":186 * int keyval, * void *attrval): * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) # <<<<<<<<<<<<<< * if state is not None and not state.nopython: * return attrval */ __pyx_t_1 = ((PyObject *)__pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_state(__pyx_v_hdl, __pyx_v_keyval)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/attrimpl.pxi":187 * void *attrval): * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * if state is not None and not state.nopython: # <<<<<<<<<<<<<< * return attrval * else: */ __pyx_t_3 = (((PyObject *)__pyx_v_state) != 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_v_state->nopython != 0)) != 0); __pyx_t_2 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* "mpi4py/MPI/attrimpl.pxi":188 * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * if state is not None and not state.nopython: * return attrval # <<<<<<<<<<<<<< * else: * return PyLong_FromVoidPtr(attrval) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_attrval)); __pyx_r = ((PyObject *)__pyx_v_attrval); goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":187 * void *attrval): * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * if state is not None and not state.nopython: # <<<<<<<<<<<<<< * return attrval * else: */ } /* "mpi4py/MPI/attrimpl.pxi":190 * return attrval * else: * return PyLong_FromVoidPtr(attrval) # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_set( */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyLong_FromVoidPtr(__pyx_v_attrval); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; } /* "mpi4py/MPI/attrimpl.pxi":182 * return <_p_keyval>win_keyval.get(keyval) * * cdef inline object PyMPI_attr_get( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE PyObject *__pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_get(MPI_Win __pyx_v_hdl, int __pyx_v_keyval, void *__pyx_v_attrval) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_2PyMPI_attr_get", 0); /* "mpi4py/MPI/attrimpl.pxi":186 * int keyval, * void *attrval): * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) # <<<<<<<<<<<<<< * if state is not None and not state.nopython: * return attrval */ __pyx_t_1 = ((PyObject *)__pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_state(__pyx_v_hdl, __pyx_v_keyval)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/attrimpl.pxi":187 * void *attrval): * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * if state is not None and not state.nopython: # <<<<<<<<<<<<<< * return attrval * else: */ __pyx_t_3 = (((PyObject *)__pyx_v_state) != 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_v_state->nopython != 0)) != 0); __pyx_t_2 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* "mpi4py/MPI/attrimpl.pxi":188 * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * if state is not None and not state.nopython: * return attrval # <<<<<<<<<<<<<< * else: * return PyLong_FromVoidPtr(attrval) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_attrval)); __pyx_r = ((PyObject *)__pyx_v_attrval); goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":187 * void *attrval): * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * if state is not None and not state.nopython: # <<<<<<<<<<<<<< * return attrval * else: */ } /* "mpi4py/MPI/attrimpl.pxi":190 * return attrval * else: * return PyLong_FromVoidPtr(attrval) # <<<<<<<<<<<<<< * * cdef inline int PyMPI_attr_set( */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyLong_FromVoidPtr(__pyx_v_attrval); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; } /* "mpi4py/MPI/attrimpl.pxi":182 * return <_p_keyval>win_keyval.get(keyval) * * cdef inline object PyMPI_attr_get( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/attrimpl.pxi":192 * return PyLong_FromVoidPtr(attrval) * * cdef inline int PyMPI_attr_set( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ static CYTHON_INLINE int __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_set(MPI_Datatype __pyx_v_hdl, int __pyx_v_keyval, PyObject *__pyx_v_attrval) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; void *__pyx_v_valptr; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_0PyMPI_attr_set", 0); /* "mpi4py/MPI/attrimpl.pxi":197 * object attrval, * ) except -1: * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) # <<<<<<<<<<<<<< * cdef void *valptr = NULL * if state is not None and not state.nopython: */ __pyx_t_1 = ((PyObject *)__pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_state(__pyx_v_hdl, __pyx_v_keyval)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/attrimpl.pxi":198 * ) except -1: * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * cdef void *valptr = NULL # <<<<<<<<<<<<<< * if state is not None and not state.nopython: * valptr = attrval */ __pyx_v_valptr = NULL; /* "mpi4py/MPI/attrimpl.pxi":199 * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * cdef void *valptr = NULL * if state is not None and not state.nopython: # <<<<<<<<<<<<<< * valptr = attrval * else: */ __pyx_t_3 = (((PyObject *)__pyx_v_state) != 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_v_state->nopython != 0)) != 0); __pyx_t_2 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* "mpi4py/MPI/attrimpl.pxi":200 * cdef void *valptr = NULL * if state is not None and not state.nopython: * valptr = attrval # <<<<<<<<<<<<<< * else: * valptr = PyLong_AsVoidPtr(attrval) */ __pyx_v_valptr = ((void *)__pyx_v_attrval); /* "mpi4py/MPI/attrimpl.pxi":199 * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * cdef void *valptr = NULL * if state is not None and not state.nopython: # <<<<<<<<<<<<<< * valptr = attrval * else: */ goto __pyx_L3; } /* "mpi4py/MPI/attrimpl.pxi":202 * valptr = attrval * else: * valptr = PyLong_AsVoidPtr(attrval) # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Datatype: * CHKERR( MPI_Type_set_attr(hdl, keyval, valptr) ) */ /*else*/ { __pyx_v_valptr = PyLong_AsVoidPtr(__pyx_v_attrval); } __pyx_L3:; /* "mpi4py/MPI/attrimpl.pxi":204 * valptr = PyLong_AsVoidPtr(attrval) * if PyMPI_attr_type is MPI_Datatype: * CHKERR( MPI_Type_set_attr(hdl, keyval, valptr) ) # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Comm: * CHKERR( MPI_Comm_set_attr(hdl, keyval, valptr) ) */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_set_attr(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_valptr)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(4, 204, __pyx_L1_error) /* "mpi4py/MPI/attrimpl.pxi":209 * if PyMPI_attr_type is MPI_Win: * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) * if state is not None: # <<<<<<<<<<<<<< * if not state.nopython: * Py_INCREF(attrval) */ __pyx_t_2 = (((PyObject *)__pyx_v_state) != Py_None); __pyx_t_4 = (__pyx_t_2 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/attrimpl.pxi":210 * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) * if state is not None: * if not state.nopython: # <<<<<<<<<<<<<< * Py_INCREF(attrval) * Py_INCREF(state) */ __pyx_t_4 = ((!(__pyx_v_state->nopython != 0)) != 0); if (__pyx_t_4) { /* "mpi4py/MPI/attrimpl.pxi":211 * if state is not None: * if not state.nopython: * Py_INCREF(attrval) # <<<<<<<<<<<<<< * Py_INCREF(state) * return 0 */ Py_INCREF(__pyx_v_attrval); /* "mpi4py/MPI/attrimpl.pxi":210 * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) * if state is not None: * if not state.nopython: # <<<<<<<<<<<<<< * Py_INCREF(attrval) * Py_INCREF(state) */ } /* "mpi4py/MPI/attrimpl.pxi":212 * if not state.nopython: * Py_INCREF(attrval) * Py_INCREF(state) # <<<<<<<<<<<<<< * return 0 * */ Py_INCREF(((PyObject *)__pyx_v_state)); /* "mpi4py/MPI/attrimpl.pxi":209 * if PyMPI_attr_type is MPI_Win: * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) * if state is not None: # <<<<<<<<<<<<<< * if not state.nopython: * Py_INCREF(attrval) */ } /* "mpi4py/MPI/attrimpl.pxi":213 * Py_INCREF(attrval) * Py_INCREF(state) * return 0 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":192 * return PyLong_FromVoidPtr(attrval) * * cdef inline int PyMPI_attr_set( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_set", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE int __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_set(MPI_Comm __pyx_v_hdl, int __pyx_v_keyval, PyObject *__pyx_v_attrval) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; void *__pyx_v_valptr; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_1PyMPI_attr_set", 0); /* "mpi4py/MPI/attrimpl.pxi":197 * object attrval, * ) except -1: * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) # <<<<<<<<<<<<<< * cdef void *valptr = NULL * if state is not None and not state.nopython: */ __pyx_t_1 = ((PyObject *)__pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_state(__pyx_v_hdl, __pyx_v_keyval)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/attrimpl.pxi":198 * ) except -1: * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * cdef void *valptr = NULL # <<<<<<<<<<<<<< * if state is not None and not state.nopython: * valptr = attrval */ __pyx_v_valptr = NULL; /* "mpi4py/MPI/attrimpl.pxi":199 * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * cdef void *valptr = NULL * if state is not None and not state.nopython: # <<<<<<<<<<<<<< * valptr = attrval * else: */ __pyx_t_3 = (((PyObject *)__pyx_v_state) != 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_v_state->nopython != 0)) != 0); __pyx_t_2 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* "mpi4py/MPI/attrimpl.pxi":200 * cdef void *valptr = NULL * if state is not None and not state.nopython: * valptr = attrval # <<<<<<<<<<<<<< * else: * valptr = PyLong_AsVoidPtr(attrval) */ __pyx_v_valptr = ((void *)__pyx_v_attrval); /* "mpi4py/MPI/attrimpl.pxi":199 * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * cdef void *valptr = NULL * if state is not None and not state.nopython: # <<<<<<<<<<<<<< * valptr = attrval * else: */ goto __pyx_L3; } /* "mpi4py/MPI/attrimpl.pxi":202 * valptr = attrval * else: * valptr = PyLong_AsVoidPtr(attrval) # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Datatype: * CHKERR( MPI_Type_set_attr(hdl, keyval, valptr) ) */ /*else*/ { __pyx_v_valptr = PyLong_AsVoidPtr(__pyx_v_attrval); } __pyx_L3:; /* "mpi4py/MPI/attrimpl.pxi":206 * CHKERR( MPI_Type_set_attr(hdl, keyval, valptr) ) * if PyMPI_attr_type is MPI_Comm: * CHKERR( MPI_Comm_set_attr(hdl, keyval, valptr) ) # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Win: * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_set_attr(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_valptr)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(4, 206, __pyx_L1_error) /* "mpi4py/MPI/attrimpl.pxi":209 * if PyMPI_attr_type is MPI_Win: * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) * if state is not None: # <<<<<<<<<<<<<< * if not state.nopython: * Py_INCREF(attrval) */ __pyx_t_2 = (((PyObject *)__pyx_v_state) != Py_None); __pyx_t_4 = (__pyx_t_2 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/attrimpl.pxi":210 * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) * if state is not None: * if not state.nopython: # <<<<<<<<<<<<<< * Py_INCREF(attrval) * Py_INCREF(state) */ __pyx_t_4 = ((!(__pyx_v_state->nopython != 0)) != 0); if (__pyx_t_4) { /* "mpi4py/MPI/attrimpl.pxi":211 * if state is not None: * if not state.nopython: * Py_INCREF(attrval) # <<<<<<<<<<<<<< * Py_INCREF(state) * return 0 */ Py_INCREF(__pyx_v_attrval); /* "mpi4py/MPI/attrimpl.pxi":210 * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) * if state is not None: * if not state.nopython: # <<<<<<<<<<<<<< * Py_INCREF(attrval) * Py_INCREF(state) */ } /* "mpi4py/MPI/attrimpl.pxi":212 * if not state.nopython: * Py_INCREF(attrval) * Py_INCREF(state) # <<<<<<<<<<<<<< * return 0 * */ Py_INCREF(((PyObject *)__pyx_v_state)); /* "mpi4py/MPI/attrimpl.pxi":209 * if PyMPI_attr_type is MPI_Win: * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) * if state is not None: # <<<<<<<<<<<<<< * if not state.nopython: * Py_INCREF(attrval) */ } /* "mpi4py/MPI/attrimpl.pxi":213 * Py_INCREF(attrval) * Py_INCREF(state) * return 0 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":192 * return PyLong_FromVoidPtr(attrval) * * cdef inline int PyMPI_attr_set( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_set", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_RefNannyFinishContext(); return __pyx_r; } static CYTHON_INLINE int __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_set(MPI_Win __pyx_v_hdl, int __pyx_v_keyval, PyObject *__pyx_v_attrval) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; void *__pyx_v_valptr; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_2PyMPI_attr_set", 0); /* "mpi4py/MPI/attrimpl.pxi":197 * object attrval, * ) except -1: * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) # <<<<<<<<<<<<<< * cdef void *valptr = NULL * if state is not None and not state.nopython: */ __pyx_t_1 = ((PyObject *)__pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_state(__pyx_v_hdl, __pyx_v_keyval)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/attrimpl.pxi":198 * ) except -1: * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * cdef void *valptr = NULL # <<<<<<<<<<<<<< * if state is not None and not state.nopython: * valptr = attrval */ __pyx_v_valptr = NULL; /* "mpi4py/MPI/attrimpl.pxi":199 * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * cdef void *valptr = NULL * if state is not None and not state.nopython: # <<<<<<<<<<<<<< * valptr = attrval * else: */ __pyx_t_3 = (((PyObject *)__pyx_v_state) != 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_v_state->nopython != 0)) != 0); __pyx_t_2 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* "mpi4py/MPI/attrimpl.pxi":200 * cdef void *valptr = NULL * if state is not None and not state.nopython: * valptr = attrval # <<<<<<<<<<<<<< * else: * valptr = PyLong_AsVoidPtr(attrval) */ __pyx_v_valptr = ((void *)__pyx_v_attrval); /* "mpi4py/MPI/attrimpl.pxi":199 * cdef _p_keyval state = PyMPI_attr_state(hdl, keyval) * cdef void *valptr = NULL * if state is not None and not state.nopython: # <<<<<<<<<<<<<< * valptr = attrval * else: */ goto __pyx_L3; } /* "mpi4py/MPI/attrimpl.pxi":202 * valptr = attrval * else: * valptr = PyLong_AsVoidPtr(attrval) # <<<<<<<<<<<<<< * if PyMPI_attr_type is MPI_Datatype: * CHKERR( MPI_Type_set_attr(hdl, keyval, valptr) ) */ /*else*/ { __pyx_v_valptr = PyLong_AsVoidPtr(__pyx_v_attrval); } __pyx_L3:; /* "mpi4py/MPI/attrimpl.pxi":208 * CHKERR( MPI_Comm_set_attr(hdl, keyval, valptr) ) * if PyMPI_attr_type is MPI_Win: * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) # <<<<<<<<<<<<<< * if state is not None: * if not state.nopython: */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_set_attr(__pyx_v_hdl, __pyx_v_keyval, __pyx_v_valptr)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(4, 208, __pyx_L1_error) /* "mpi4py/MPI/attrimpl.pxi":209 * if PyMPI_attr_type is MPI_Win: * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) * if state is not None: # <<<<<<<<<<<<<< * if not state.nopython: * Py_INCREF(attrval) */ __pyx_t_2 = (((PyObject *)__pyx_v_state) != Py_None); __pyx_t_4 = (__pyx_t_2 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/attrimpl.pxi":210 * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) * if state is not None: * if not state.nopython: # <<<<<<<<<<<<<< * Py_INCREF(attrval) * Py_INCREF(state) */ __pyx_t_4 = ((!(__pyx_v_state->nopython != 0)) != 0); if (__pyx_t_4) { /* "mpi4py/MPI/attrimpl.pxi":211 * if state is not None: * if not state.nopython: * Py_INCREF(attrval) # <<<<<<<<<<<<<< * Py_INCREF(state) * return 0 */ Py_INCREF(__pyx_v_attrval); /* "mpi4py/MPI/attrimpl.pxi":210 * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) * if state is not None: * if not state.nopython: # <<<<<<<<<<<<<< * Py_INCREF(attrval) * Py_INCREF(state) */ } /* "mpi4py/MPI/attrimpl.pxi":212 * if not state.nopython: * Py_INCREF(attrval) * Py_INCREF(state) # <<<<<<<<<<<<<< * return 0 * */ Py_INCREF(((PyObject *)__pyx_v_state)); /* "mpi4py/MPI/attrimpl.pxi":209 * if PyMPI_attr_type is MPI_Win: * CHKERR( MPI_Win_set_attr(hdl, keyval, valptr) ) * if state is not None: # <<<<<<<<<<<<<< * if not state.nopython: * Py_INCREF(attrval) */ } /* "mpi4py/MPI/attrimpl.pxi":213 * Py_INCREF(attrval) * Py_INCREF(state) * return 0 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/attrimpl.pxi":192 * return PyLong_FromVoidPtr(attrval) * * cdef inline int PyMPI_attr_set( # <<<<<<<<<<<<<< * PyMPI_attr_type hdl, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_attr_set", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/mpierrhdl.pxi":3 * # ----------------------------------------------------------------------------- * * cdef inline int comm_set_eh(MPI_Comm ob) nogil except -1: # <<<<<<<<<<<<<< * if ob == MPI_COMM_NULL: return 0 * cdef int opt = options.errors */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_comm_set_eh(MPI_Comm __pyx_v_ob) { int __pyx_v_opt; int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/mpierrhdl.pxi":4 * * cdef inline int comm_set_eh(MPI_Comm ob) nogil except -1: * if ob == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int opt = options.errors * if opt == 0: pass */ __pyx_t_1 = ((__pyx_v_ob == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/mpierrhdl.pxi":5 * cdef inline int comm_set_eh(MPI_Comm ob) nogil except -1: * if ob == MPI_COMM_NULL: return 0 * cdef int opt = options.errors # <<<<<<<<<<<<<< * if opt == 0: pass * elif opt == 1: CHKERR( MPI_Comm_set_errhandler(ob, MPI_ERRORS_RETURN) ) */ __pyx_t_2 = __pyx_v_6mpi4py_3MPI_options.errors; __pyx_v_opt = __pyx_t_2; /* "mpi4py/MPI/mpierrhdl.pxi":6 * if ob == MPI_COMM_NULL: return 0 * cdef int opt = options.errors * if opt == 0: pass # <<<<<<<<<<<<<< * elif opt == 1: CHKERR( MPI_Comm_set_errhandler(ob, MPI_ERRORS_RETURN) ) * elif opt == 2: CHKERR( MPI_Comm_set_errhandler(ob, MPI_ERRORS_ARE_FATAL) ) */ __pyx_t_1 = ((__pyx_v_opt == 0) != 0); if (__pyx_t_1) { goto __pyx_L4; } /* "mpi4py/MPI/mpierrhdl.pxi":7 * cdef int opt = options.errors * if opt == 0: pass * elif opt == 1: CHKERR( MPI_Comm_set_errhandler(ob, MPI_ERRORS_RETURN) ) # <<<<<<<<<<<<<< * elif opt == 2: CHKERR( MPI_Comm_set_errhandler(ob, MPI_ERRORS_ARE_FATAL) ) * return 0 */ __pyx_t_1 = ((__pyx_v_opt == 1) != 0); if (__pyx_t_1) { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_set_errhandler(__pyx_v_ob, MPI_ERRORS_RETURN)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(17, 7, __pyx_L1_error) goto __pyx_L4; } /* "mpi4py/MPI/mpierrhdl.pxi":8 * if opt == 0: pass * elif opt == 1: CHKERR( MPI_Comm_set_errhandler(ob, MPI_ERRORS_RETURN) ) * elif opt == 2: CHKERR( MPI_Comm_set_errhandler(ob, MPI_ERRORS_ARE_FATAL) ) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_1 = ((__pyx_v_opt == 2) != 0); if (__pyx_t_1) { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_set_errhandler(__pyx_v_ob, MPI_ERRORS_ARE_FATAL)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(17, 8, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/mpierrhdl.pxi":9 * elif opt == 1: CHKERR( MPI_Comm_set_errhandler(ob, MPI_ERRORS_RETURN) ) * elif opt == 2: CHKERR( MPI_Comm_set_errhandler(ob, MPI_ERRORS_ARE_FATAL) ) * return 0 # <<<<<<<<<<<<<< * * cdef inline int win_set_eh(MPI_Win ob) nogil except -1: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/mpierrhdl.pxi":3 * # ----------------------------------------------------------------------------- * * cdef inline int comm_set_eh(MPI_Comm ob) nogil except -1: # <<<<<<<<<<<<<< * if ob == MPI_COMM_NULL: return 0 * cdef int opt = options.errors */ /* function exit code */ __pyx_L1_error:; { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_AddTraceback("mpi4py.MPI.comm_set_eh", __pyx_clineno, __pyx_lineno, __pyx_filename); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif } __pyx_r = -1; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/mpierrhdl.pxi":11 * return 0 * * cdef inline int win_set_eh(MPI_Win ob) nogil except -1: # <<<<<<<<<<<<<< * if ob == MPI_WIN_NULL: return 0 * cdef int opt = options.errors */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_win_set_eh(MPI_Win __pyx_v_ob) { int __pyx_v_opt; int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/mpierrhdl.pxi":12 * * cdef inline int win_set_eh(MPI_Win ob) nogil except -1: * if ob == MPI_WIN_NULL: return 0 # <<<<<<<<<<<<<< * cdef int opt = options.errors * if opt == 0: pass */ __pyx_t_1 = ((__pyx_v_ob == MPI_WIN_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/mpierrhdl.pxi":13 * cdef inline int win_set_eh(MPI_Win ob) nogil except -1: * if ob == MPI_WIN_NULL: return 0 * cdef int opt = options.errors # <<<<<<<<<<<<<< * if opt == 0: pass * elif opt == 1: CHKERR( MPI_Win_set_errhandler(ob, MPI_ERRORS_RETURN) ) */ __pyx_t_2 = __pyx_v_6mpi4py_3MPI_options.errors; __pyx_v_opt = __pyx_t_2; /* "mpi4py/MPI/mpierrhdl.pxi":14 * if ob == MPI_WIN_NULL: return 0 * cdef int opt = options.errors * if opt == 0: pass # <<<<<<<<<<<<<< * elif opt == 1: CHKERR( MPI_Win_set_errhandler(ob, MPI_ERRORS_RETURN) ) * elif opt == 2: CHKERR( MPI_Win_set_errhandler(ob, MPI_ERRORS_ARE_FATAL) ) */ __pyx_t_1 = ((__pyx_v_opt == 0) != 0); if (__pyx_t_1) { goto __pyx_L4; } /* "mpi4py/MPI/mpierrhdl.pxi":15 * cdef int opt = options.errors * if opt == 0: pass * elif opt == 1: CHKERR( MPI_Win_set_errhandler(ob, MPI_ERRORS_RETURN) ) # <<<<<<<<<<<<<< * elif opt == 2: CHKERR( MPI_Win_set_errhandler(ob, MPI_ERRORS_ARE_FATAL) ) * return 0 */ __pyx_t_1 = ((__pyx_v_opt == 1) != 0); if (__pyx_t_1) { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_set_errhandler(__pyx_v_ob, MPI_ERRORS_RETURN)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(17, 15, __pyx_L1_error) goto __pyx_L4; } /* "mpi4py/MPI/mpierrhdl.pxi":16 * if opt == 0: pass * elif opt == 1: CHKERR( MPI_Win_set_errhandler(ob, MPI_ERRORS_RETURN) ) * elif opt == 2: CHKERR( MPI_Win_set_errhandler(ob, MPI_ERRORS_ARE_FATAL) ) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_1 = ((__pyx_v_opt == 2) != 0); if (__pyx_t_1) { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_set_errhandler(__pyx_v_ob, MPI_ERRORS_ARE_FATAL)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(17, 16, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/mpierrhdl.pxi":17 * elif opt == 1: CHKERR( MPI_Win_set_errhandler(ob, MPI_ERRORS_RETURN) ) * elif opt == 2: CHKERR( MPI_Win_set_errhandler(ob, MPI_ERRORS_ARE_FATAL) ) * return 0 # <<<<<<<<<<<<<< * * cdef inline int file_set_eh(MPI_File ob) nogil except -1: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/mpierrhdl.pxi":11 * return 0 * * cdef inline int win_set_eh(MPI_Win ob) nogil except -1: # <<<<<<<<<<<<<< * if ob == MPI_WIN_NULL: return 0 * cdef int opt = options.errors */ /* function exit code */ __pyx_L1_error:; { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_AddTraceback("mpi4py.MPI.win_set_eh", __pyx_clineno, __pyx_lineno, __pyx_filename); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif } __pyx_r = -1; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/mpierrhdl.pxi":19 * return 0 * * cdef inline int file_set_eh(MPI_File ob) nogil except -1: # <<<<<<<<<<<<<< * if ob == MPI_FILE_NULL: return 0 * cdef int opt = options.errors */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_file_set_eh(MPI_File __pyx_v_ob) { int __pyx_v_opt; int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/mpierrhdl.pxi":20 * * cdef inline int file_set_eh(MPI_File ob) nogil except -1: * if ob == MPI_FILE_NULL: return 0 # <<<<<<<<<<<<<< * cdef int opt = options.errors * if opt == 0: pass */ __pyx_t_1 = ((__pyx_v_ob == MPI_FILE_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/mpierrhdl.pxi":21 * cdef inline int file_set_eh(MPI_File ob) nogil except -1: * if ob == MPI_FILE_NULL: return 0 * cdef int opt = options.errors # <<<<<<<<<<<<<< * if opt == 0: pass * elif opt == 1: CHKERR( MPI_File_set_errhandler(ob, MPI_ERRORS_RETURN) ) */ __pyx_t_2 = __pyx_v_6mpi4py_3MPI_options.errors; __pyx_v_opt = __pyx_t_2; /* "mpi4py/MPI/mpierrhdl.pxi":22 * if ob == MPI_FILE_NULL: return 0 * cdef int opt = options.errors * if opt == 0: pass # <<<<<<<<<<<<<< * elif opt == 1: CHKERR( MPI_File_set_errhandler(ob, MPI_ERRORS_RETURN) ) * elif opt == 2: CHKERR( MPI_File_set_errhandler(ob, MPI_ERRORS_ARE_FATAL) ) */ __pyx_t_1 = ((__pyx_v_opt == 0) != 0); if (__pyx_t_1) { goto __pyx_L4; } /* "mpi4py/MPI/mpierrhdl.pxi":23 * cdef int opt = options.errors * if opt == 0: pass * elif opt == 1: CHKERR( MPI_File_set_errhandler(ob, MPI_ERRORS_RETURN) ) # <<<<<<<<<<<<<< * elif opt == 2: CHKERR( MPI_File_set_errhandler(ob, MPI_ERRORS_ARE_FATAL) ) * return 0 */ __pyx_t_1 = ((__pyx_v_opt == 1) != 0); if (__pyx_t_1) { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_set_errhandler(__pyx_v_ob, MPI_ERRORS_RETURN)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(17, 23, __pyx_L1_error) goto __pyx_L4; } /* "mpi4py/MPI/mpierrhdl.pxi":24 * if opt == 0: pass * elif opt == 1: CHKERR( MPI_File_set_errhandler(ob, MPI_ERRORS_RETURN) ) * elif opt == 2: CHKERR( MPI_File_set_errhandler(ob, MPI_ERRORS_ARE_FATAL) ) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_1 = ((__pyx_v_opt == 2) != 0); if (__pyx_t_1) { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_set_errhandler(__pyx_v_ob, MPI_ERRORS_ARE_FATAL)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(17, 24, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/mpierrhdl.pxi":25 * elif opt == 1: CHKERR( MPI_File_set_errhandler(ob, MPI_ERRORS_RETURN) ) * elif opt == 2: CHKERR( MPI_File_set_errhandler(ob, MPI_ERRORS_ARE_FATAL) ) * return 0 # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/mpierrhdl.pxi":19 * return 0 * * cdef inline int file_set_eh(MPI_File ob) nogil except -1: # <<<<<<<<<<<<<< * if ob == MPI_FILE_NULL: return 0 * cdef int opt = options.errors */ /* function exit code */ __pyx_L1_error:; { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_AddTraceback("mpi4py.MPI.file_set_eh", __pyx_clineno, __pyx_lineno, __pyx_filename); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif } __pyx_r = -1; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":13 * Py_ssize_t PySequence_Size(object) except -1 * * cdef inline int is_integral(object ob): # <<<<<<<<<<<<<< * if not PyIndex_Check(ob): return 0 * if not PySequence_Check(ob): return 1 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_is_integral(PyObject *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("is_integral", 0); /* "mpi4py/MPI/msgbuffer.pxi":14 * * cdef inline int is_integral(object ob): * if not PyIndex_Check(ob): return 0 # <<<<<<<<<<<<<< * if not PySequence_Check(ob): return 1 * try: PySequence_Size(ob) */ __pyx_t_1 = ((!(PyIndex_Check(__pyx_v_ob) != 0)) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":15 * cdef inline int is_integral(object ob): * if not PyIndex_Check(ob): return 0 * if not PySequence_Check(ob): return 1 # <<<<<<<<<<<<<< * try: PySequence_Size(ob) * except: pass */ __pyx_t_1 = ((!(PySequence_Check(__pyx_v_ob) != 0)) != 0); if (__pyx_t_1) { __pyx_r = 1; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":16 * if not PyIndex_Check(ob): return 0 * if not PySequence_Check(ob): return 1 * try: PySequence_Size(ob) # <<<<<<<<<<<<<< * except: pass * else: return 0 */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { __pyx_t_5 = PySequence_Size(__pyx_v_ob); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1L))) __PYX_ERR(5, 16, __pyx_L5_error) } /* "mpi4py/MPI/msgbuffer.pxi":18 * try: PySequence_Size(ob) * except: pass * else: return 0 # <<<<<<<<<<<<<< * try: PyNumber_Index(ob) * except: return 0 */ /*else:*/ { __pyx_r = 0; goto __pyx_L8_except_return; } __pyx_L5_error:; /* "mpi4py/MPI/msgbuffer.pxi":17 * if not PySequence_Check(ob): return 1 * try: PySequence_Size(ob) * except: pass # <<<<<<<<<<<<<< * else: return 0 * try: PyNumber_Index(ob) */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L6_exception_handled; } __pyx_L8_except_return:; /* "mpi4py/MPI/msgbuffer.pxi":16 * if not PyIndex_Check(ob): return 0 * if not PySequence_Check(ob): return 1 * try: PySequence_Size(ob) # <<<<<<<<<<<<<< * except: pass * else: return 0 */ __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); goto __pyx_L0; __pyx_L6_exception_handled:; __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); } /* "mpi4py/MPI/msgbuffer.pxi":19 * except: pass * else: return 0 * try: PyNumber_Index(ob) # <<<<<<<<<<<<<< * except: return 0 * else: return 1 */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_3, &__pyx_t_2); __Pyx_XGOTREF(__pyx_t_4); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_2); /*try:*/ { __pyx_t_6 = PyNumber_Index(__pyx_v_ob); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 19, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } /* "mpi4py/MPI/msgbuffer.pxi":21 * try: PyNumber_Index(ob) * except: return 0 * else: return 1 # <<<<<<<<<<<<<< * * cdef inline int is_buffer(object ob): */ /*else:*/ { __pyx_r = 1; goto __pyx_L14_except_return; } __pyx_L11_error:; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/msgbuffer.pxi":20 * else: return 0 * try: PyNumber_Index(ob) * except: return 0 # <<<<<<<<<<<<<< * else: return 1 * */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.is_integral", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0) __PYX_ERR(5, 20, __pyx_L13_except_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_8); __pyx_r = 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; goto __pyx_L14_except_return; } __pyx_L13_except_error:; /* "mpi4py/MPI/msgbuffer.pxi":19 * except: pass * else: return 0 * try: PyNumber_Index(ob) # <<<<<<<<<<<<<< * except: return 0 * else: return 1 */ __Pyx_XGIVEREF(__pyx_t_4); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_3, __pyx_t_2); goto __pyx_L1_error; __pyx_L14_except_return:; __Pyx_XGIVEREF(__pyx_t_4); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_3, __pyx_t_2); goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":13 * Py_ssize_t PySequence_Size(object) except -1 * * cdef inline int is_integral(object ob): # <<<<<<<<<<<<<< * if not PyIndex_Check(ob): return 0 * if not PySequence_Check(ob): return 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_WriteUnraisable("mpi4py.MPI.is_integral", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":23 * else: return 1 * * cdef inline int is_buffer(object ob): # <<<<<<<<<<<<<< * if PY3: * return PyObject_CheckBuffer(ob) */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_is_buffer(PyObject *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("is_buffer", 0); /* "mpi4py/MPI/msgbuffer.pxi":24 * * cdef inline int is_buffer(object ob): * if PY3: # <<<<<<<<<<<<<< * return PyObject_CheckBuffer(ob) * else: */ if ((PY_MAJOR_VERSION>=3)) { /* "mpi4py/MPI/msgbuffer.pxi":25 * cdef inline int is_buffer(object ob): * if PY3: * return PyObject_CheckBuffer(ob) # <<<<<<<<<<<<<< * else: * return PyObject_CheckBuffer(ob) or _Py2_IsBuffer(ob) */ __pyx_r = PyObject_CheckBuffer(__pyx_v_ob); goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":24 * * cdef inline int is_buffer(object ob): * if PY3: # <<<<<<<<<<<<<< * return PyObject_CheckBuffer(ob) * else: */ } /* "mpi4py/MPI/msgbuffer.pxi":27 * return PyObject_CheckBuffer(ob) * else: * return PyObject_CheckBuffer(ob) or _Py2_IsBuffer(ob) # <<<<<<<<<<<<<< * * cdef inline int is_datatype(object ob): */ /*else*/ { __pyx_t_2 = PyObject_CheckBuffer(__pyx_v_ob); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L4_bool_binop_done; } __pyx_t_2 = _Py2_IsBuffer(__pyx_v_ob); __pyx_t_1 = __pyx_t_2; __pyx_L4_bool_binop_done:; __pyx_r = __pyx_t_1; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":23 * else: return 1 * * cdef inline int is_buffer(object ob): # <<<<<<<<<<<<<< * if PY3: * return PyObject_CheckBuffer(ob) */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":29 * return PyObject_CheckBuffer(ob) or _Py2_IsBuffer(ob) * * cdef inline int is_datatype(object ob): # <<<<<<<<<<<<<< * if isinstance(ob, Datatype): return 1 * if PY3: */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_is_datatype(PyObject *__pyx_v_ob) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("is_datatype", 0); /* "mpi4py/MPI/msgbuffer.pxi":30 * * cdef inline int is_datatype(object ob): * if isinstance(ob, Datatype): return 1 # <<<<<<<<<<<<<< * if PY3: * if isinstance(ob, unicode): return 1 */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ob, __pyx_ptype_6mpi4py_3MPI_Datatype); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 1; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":31 * cdef inline int is_datatype(object ob): * if isinstance(ob, Datatype): return 1 * if PY3: # <<<<<<<<<<<<<< * if isinstance(ob, unicode): return 1 * else: */ if ((PY_MAJOR_VERSION>=3)) { /* "mpi4py/MPI/msgbuffer.pxi":32 * if isinstance(ob, Datatype): return 1 * if PY3: * if isinstance(ob, unicode): return 1 # <<<<<<<<<<<<<< * else: * if isinstance(ob, bytes): return 1 */ __pyx_t_2 = PyUnicode_Check(__pyx_v_ob); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { __pyx_r = 1; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":31 * cdef inline int is_datatype(object ob): * if isinstance(ob, Datatype): return 1 * if PY3: # <<<<<<<<<<<<<< * if isinstance(ob, unicode): return 1 * else: */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":34 * if isinstance(ob, unicode): return 1 * else: * if isinstance(ob, bytes): return 1 # <<<<<<<<<<<<<< * return 0 * */ /*else*/ { __pyx_t_1 = PyBytes_Check(__pyx_v_ob); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 1; goto __pyx_L0; } } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":35 * else: * if isinstance(ob, bytes): return 1 * return 0 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":29 * return PyObject_CheckBuffer(ob) or _Py2_IsBuffer(ob) * * cdef inline int is_datatype(object ob): # <<<<<<<<<<<<<< * if isinstance(ob, Datatype): return 1 * if PY3: */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":42 * int INT_MAX * * cdef inline int downcast(MPI_Aint value) except? -1: # <<<<<<<<<<<<<< * if value > INT_MAX: * raise OverflowError("integer %d does not fit in 'int'" % value) */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_downcast(MPI_Aint __pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("downcast", 0); /* "mpi4py/MPI/msgbuffer.pxi":43 * * cdef inline int downcast(MPI_Aint value) except? -1: * if value > INT_MAX: # <<<<<<<<<<<<<< * raise OverflowError("integer %d does not fit in 'int'" % value) * else: */ __pyx_t_1 = ((__pyx_v_value > ((MPI_Aint)INT_MAX)) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":44 * cdef inline int downcast(MPI_Aint value) except? -1: * if value > INT_MAX: * raise OverflowError("integer %d does not fit in 'int'" % value) # <<<<<<<<<<<<<< * else: * return value */ __pyx_t_2 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_integer_d_does_not_fit_in_int, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_OverflowError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(5, 44, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":43 * * cdef inline int downcast(MPI_Aint value) except? -1: * if value > INT_MAX: # <<<<<<<<<<<<<< * raise OverflowError("integer %d does not fit in 'int'" % value) * else: */ } /* "mpi4py/MPI/msgbuffer.pxi":46 * raise OverflowError("integer %d does not fit in 'int'" % value) * else: * return value # <<<<<<<<<<<<<< * * cdef inline int clipcount(MPI_Aint value): */ /*else*/ { __pyx_r = ((int)__pyx_v_value); goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":42 * int INT_MAX * * cdef inline int downcast(MPI_Aint value) except? -1: # <<<<<<<<<<<<<< * if value > INT_MAX: * raise OverflowError("integer %d does not fit in 'int'" % value) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.downcast", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":48 * return value * * cdef inline int clipcount(MPI_Aint value): # <<<<<<<<<<<<<< * if value > INT_MAX: * return INT_MAX */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_clipcount(MPI_Aint __pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("clipcount", 0); /* "mpi4py/MPI/msgbuffer.pxi":49 * * cdef inline int clipcount(MPI_Aint value): * if value > INT_MAX: # <<<<<<<<<<<<<< * return INT_MAX * else: */ __pyx_t_1 = ((__pyx_v_value > ((MPI_Aint)INT_MAX)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":50 * cdef inline int clipcount(MPI_Aint value): * if value > INT_MAX: * return INT_MAX # <<<<<<<<<<<<<< * else: * return value */ __pyx_r = INT_MAX; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":49 * * cdef inline int clipcount(MPI_Aint value): * if value > INT_MAX: # <<<<<<<<<<<<<< * return INT_MAX * else: */ } /* "mpi4py/MPI/msgbuffer.pxi":52 * return INT_MAX * else: * return value # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ /*else*/ { __pyx_r = ((int)__pyx_v_value); goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":48 * return value * * cdef inline int clipcount(MPI_Aint value): # <<<<<<<<<<<<<< * if value > INT_MAX: * return INT_MAX */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":70 * cdef Datatype type * * cdef _p_message message_basic(object o_buf, # <<<<<<<<<<<<<< * object o_type, * bint readonly, */ static struct __pyx_obj_6mpi4py_3MPI__p_message *__pyx_f_6mpi4py_3MPI_message_basic(PyObject *__pyx_v_o_buf, PyObject *__pyx_v_o_type, int __pyx_v_readonly, void **__pyx_v_baddr, MPI_Aint *__pyx_v_bsize, MPI_Datatype *__pyx_v_btype) { struct __pyx_obj_6mpi4py_3MPI__p_message *__pyx_v_m = 0; int __pyx_v_fmt; struct __pyx_obj_6mpi4py_3MPI__p_message *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; int __pyx_t_5; MPI_Datatype __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("message_basic", 0); /* "mpi4py/MPI/msgbuffer.pxi":78 * MPI_Datatype *btype, * ): * cdef _p_message m = <_p_message>_p_message.__new__(_p_message) # <<<<<<<<<<<<<< * # special-case for BOTTOM or None, * # an explicit MPI datatype is required */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI__p_message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI__p_message), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 78, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_message *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":81 * # special-case for BOTTOM or None, * # an explicit MPI datatype is required * if o_buf is __BOTTOM__ or o_buf is None: # <<<<<<<<<<<<<< * if isinstance(o_type, Datatype): * m.type = o_type */ __pyx_t_4 = (__pyx_v_o_buf == __pyx_v_6mpi4py_3MPI___BOTTOM__); __pyx_t_5 = (__pyx_t_4 != 0); if (!__pyx_t_5) { } else { __pyx_t_3 = __pyx_t_5; goto __pyx_L4_bool_binop_done; } __pyx_t_5 = (__pyx_v_o_buf == Py_None); __pyx_t_4 = (__pyx_t_5 != 0); __pyx_t_3 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":82 * # an explicit MPI datatype is required * if o_buf is __BOTTOM__ or o_buf is None: * if isinstance(o_type, Datatype): # <<<<<<<<<<<<<< * m.type = o_type * else: */ __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_o_type, __pyx_ptype_6mpi4py_3MPI_Datatype); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/msgbuffer.pxi":83 * if o_buf is __BOTTOM__ or o_buf is None: * if isinstance(o_type, Datatype): * m.type = o_type # <<<<<<<<<<<<<< * else: * m.type = TypeDict[o_type] */ __pyx_t_2 = __pyx_v_o_type; __Pyx_INCREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_m->type); __Pyx_DECREF(((PyObject *)__pyx_v_m->type)); __pyx_v_m->type = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":82 * # an explicit MPI datatype is required * if o_buf is __BOTTOM__ or o_buf is None: * if isinstance(o_type, Datatype): # <<<<<<<<<<<<<< * m.type = o_type * else: */ goto __pyx_L6; } /* "mpi4py/MPI/msgbuffer.pxi":85 * m.type = o_type * else: * m.type = TypeDict[o_type] # <<<<<<<<<<<<<< * m.buf = newbuffer() * baddr[0] = MPI_BOTTOM */ /*else*/ { if (unlikely(__pyx_v_6mpi4py_3MPI_TypeDict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(5, 85, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_6mpi4py_3MPI_TypeDict, __pyx_v_o_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Datatype))))) __PYX_ERR(5, 85, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_m->type); __Pyx_DECREF(((PyObject *)__pyx_v_m->type)); __pyx_v_m->type = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; } __pyx_L6:; /* "mpi4py/MPI/msgbuffer.pxi":86 * else: * m.type = TypeDict[o_type] * m.buf = newbuffer() # <<<<<<<<<<<<<< * baddr[0] = MPI_BOTTOM * bsize[0] = 0 */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_newbuffer()); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 86, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_m->buf); __Pyx_DECREF(((PyObject *)__pyx_v_m->buf)); __pyx_v_m->buf = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":87 * m.type = TypeDict[o_type] * m.buf = newbuffer() * baddr[0] = MPI_BOTTOM # <<<<<<<<<<<<<< * bsize[0] = 0 * btype[0] = m.type.ob_mpi */ (__pyx_v_baddr[0]) = MPI_BOTTOM; /* "mpi4py/MPI/msgbuffer.pxi":88 * m.buf = newbuffer() * baddr[0] = MPI_BOTTOM * bsize[0] = 0 # <<<<<<<<<<<<<< * btype[0] = m.type.ob_mpi * return m */ (__pyx_v_bsize[0]) = 0; /* "mpi4py/MPI/msgbuffer.pxi":89 * baddr[0] = MPI_BOTTOM * bsize[0] = 0 * btype[0] = m.type.ob_mpi # <<<<<<<<<<<<<< * return m * # get buffer base address and length */ __pyx_t_6 = __pyx_v_m->type->ob_mpi; (__pyx_v_btype[0]) = __pyx_t_6; /* "mpi4py/MPI/msgbuffer.pxi":90 * bsize[0] = 0 * btype[0] = m.type.ob_mpi * return m # <<<<<<<<<<<<<< * # get buffer base address and length * cdef bint fmt = (o_type is None) */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_m)); __pyx_r = __pyx_v_m; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":81 * # special-case for BOTTOM or None, * # an explicit MPI datatype is required * if o_buf is __BOTTOM__ or o_buf is None: # <<<<<<<<<<<<<< * if isinstance(o_type, Datatype): * m.type = o_type */ } /* "mpi4py/MPI/msgbuffer.pxi":92 * return m * # get buffer base address and length * cdef bint fmt = (o_type is None) # <<<<<<<<<<<<<< * m.buf = getbuffer(o_buf, readonly, fmt) * baddr[0] = m.buf.view.buf */ __pyx_t_4 = (__pyx_v_o_type == Py_None); __pyx_v_fmt = __pyx_t_4; /* "mpi4py/MPI/msgbuffer.pxi":93 * # get buffer base address and length * cdef bint fmt = (o_type is None) * m.buf = getbuffer(o_buf, readonly, fmt) # <<<<<<<<<<<<<< * baddr[0] = m.buf.view.buf * bsize[0] = m.buf.view.len */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer(__pyx_v_o_buf, __pyx_v_readonly, __pyx_v_fmt)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_m->buf); __Pyx_DECREF(((PyObject *)__pyx_v_m->buf)); __pyx_v_m->buf = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":94 * cdef bint fmt = (o_type is None) * m.buf = getbuffer(o_buf, readonly, fmt) * baddr[0] = m.buf.view.buf # <<<<<<<<<<<<<< * bsize[0] = m.buf.view.len * # lookup datatype if not provided or not a Datatype */ (__pyx_v_baddr[0]) = ((void *)__pyx_v_m->buf->view.buf); /* "mpi4py/MPI/msgbuffer.pxi":95 * m.buf = getbuffer(o_buf, readonly, fmt) * baddr[0] = m.buf.view.buf * bsize[0] = m.buf.view.len # <<<<<<<<<<<<<< * # lookup datatype if not provided or not a Datatype * if isinstance(o_type, Datatype): */ (__pyx_v_bsize[0]) = ((MPI_Aint)__pyx_v_m->buf->view.len); /* "mpi4py/MPI/msgbuffer.pxi":97 * bsize[0] = m.buf.view.len * # lookup datatype if not provided or not a Datatype * if isinstance(o_type, Datatype): # <<<<<<<<<<<<<< * m.type = o_type * elif o_type is None: */ __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_o_type, __pyx_ptype_6mpi4py_3MPI_Datatype); __pyx_t_3 = (__pyx_t_4 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":98 * # lookup datatype if not provided or not a Datatype * if isinstance(o_type, Datatype): * m.type = o_type # <<<<<<<<<<<<<< * elif o_type is None: * m.type = TypeDict[getformat(m.buf)] */ __pyx_t_2 = __pyx_v_o_type; __Pyx_INCREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_m->type); __Pyx_DECREF(((PyObject *)__pyx_v_m->type)); __pyx_v_m->type = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":97 * bsize[0] = m.buf.view.len * # lookup datatype if not provided or not a Datatype * if isinstance(o_type, Datatype): # <<<<<<<<<<<<<< * m.type = o_type * elif o_type is None: */ goto __pyx_L7; } /* "mpi4py/MPI/msgbuffer.pxi":99 * if isinstance(o_type, Datatype): * m.type = o_type * elif o_type is None: # <<<<<<<<<<<<<< * m.type = TypeDict[getformat(m.buf)] * else: */ __pyx_t_3 = (__pyx_v_o_type == Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/msgbuffer.pxi":100 * m.type = o_type * elif o_type is None: * m.type = TypeDict[getformat(m.buf)] # <<<<<<<<<<<<<< * else: * m.type = TypeDict[o_type] */ if (unlikely(__pyx_v_6mpi4py_3MPI_TypeDict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(5, 100, __pyx_L1_error) } __pyx_t_2 = ((PyObject *)__pyx_v_m->buf); __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getformat(((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_6mpi4py_3MPI_TypeDict, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Datatype))))) __PYX_ERR(5, 100, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_m->type); __Pyx_DECREF(((PyObject *)__pyx_v_m->type)); __pyx_v_m->type = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":99 * if isinstance(o_type, Datatype): * m.type = o_type * elif o_type is None: # <<<<<<<<<<<<<< * m.type = TypeDict[getformat(m.buf)] * else: */ goto __pyx_L7; } /* "mpi4py/MPI/msgbuffer.pxi":102 * m.type = TypeDict[getformat(m.buf)] * else: * m.type = TypeDict[o_type] # <<<<<<<<<<<<<< * btype[0] = m.type.ob_mpi * # and we are done ... */ /*else*/ { if (unlikely(__pyx_v_6mpi4py_3MPI_TypeDict == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(5, 102, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_6mpi4py_3MPI_TypeDict, __pyx_v_o_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_6mpi4py_3MPI_Datatype))))) __PYX_ERR(5, 102, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_m->type); __Pyx_DECREF(((PyObject *)__pyx_v_m->type)); __pyx_v_m->type = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; } __pyx_L7:; /* "mpi4py/MPI/msgbuffer.pxi":103 * else: * m.type = TypeDict[o_type] * btype[0] = m.type.ob_mpi # <<<<<<<<<<<<<< * # and we are done ... * return m */ __pyx_t_6 = __pyx_v_m->type->ob_mpi; (__pyx_v_btype[0]) = __pyx_t_6; /* "mpi4py/MPI/msgbuffer.pxi":105 * btype[0] = m.type.ob_mpi * # and we are done ... * return m # <<<<<<<<<<<<<< * * cdef _p_message message_simple(object msg, */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_m)); __pyx_r = __pyx_v_m; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":70 * cdef Datatype type * * cdef _p_message message_basic(object o_buf, # <<<<<<<<<<<<<< * object o_type, * bint readonly, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.message_basic", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":107 * return m * * cdef _p_message message_simple(object msg, # <<<<<<<<<<<<<< * int readonly, * int rank, */ static struct __pyx_obj_6mpi4py_3MPI__p_message *__pyx_f_6mpi4py_3MPI_message_simple(PyObject *__pyx_v_msg, int __pyx_v_readonly, int __pyx_v_rank, int __pyx_v_blocks, void **__pyx_v__addr, int *__pyx_v__count, MPI_Datatype *__pyx_v__type) { Py_ssize_t __pyx_v_nargs; PyObject *__pyx_v_o_buf = 0; PyObject *__pyx_v_o_count = 0; PyObject *__pyx_v_o_displ = 0; PyObject *__pyx_v_o_type = 0; void *__pyx_v_baddr; MPI_Aint __pyx_v_bsize; MPI_Datatype __pyx_v_btype; struct __pyx_obj_6mpi4py_3MPI__p_message *__pyx_v_m = 0; int __pyx_v_count; int __pyx_v_displ; MPI_Aint __pyx_v_extent; MPI_Aint __pyx_v_lb; MPI_Aint __pyx_v_length; MPI_Aint __pyx_v_offset; struct __pyx_obj_6mpi4py_3MPI__p_message *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; Py_ssize_t __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *(*__pyx_t_7)(PyObject *); PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; int __pyx_t_10; int __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("message_simple", 0); /* "mpi4py/MPI/msgbuffer.pxi":117 * ): * # special-case PROC_NULL target rank * if rank == MPI_PROC_NULL: # <<<<<<<<<<<<<< * _addr[0] = NULL * _count[0] = 0 */ __pyx_t_1 = ((__pyx_v_rank == MPI_PROC_NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":118 * # special-case PROC_NULL target rank * if rank == MPI_PROC_NULL: * _addr[0] = NULL # <<<<<<<<<<<<<< * _count[0] = 0 * _type[0] = MPI_BYTE */ (__pyx_v__addr[0]) = NULL; /* "mpi4py/MPI/msgbuffer.pxi":119 * if rank == MPI_PROC_NULL: * _addr[0] = NULL * _count[0] = 0 # <<<<<<<<<<<<<< * _type[0] = MPI_BYTE * return None */ (__pyx_v__count[0]) = 0; /* "mpi4py/MPI/msgbuffer.pxi":120 * _addr[0] = NULL * _count[0] = 0 * _type[0] = MPI_BYTE # <<<<<<<<<<<<<< * return None * # unpack message list/tuple */ (__pyx_v__type[0]) = MPI_BYTE; /* "mpi4py/MPI/msgbuffer.pxi":121 * _count[0] = 0 * _type[0] = MPI_BYTE * return None # <<<<<<<<<<<<<< * # unpack message list/tuple * cdef Py_ssize_t nargs = 0 */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __pyx_r = ((struct __pyx_obj_6mpi4py_3MPI__p_message *)Py_None); __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":117 * ): * # special-case PROC_NULL target rank * if rank == MPI_PROC_NULL: # <<<<<<<<<<<<<< * _addr[0] = NULL * _count[0] = 0 */ } /* "mpi4py/MPI/msgbuffer.pxi":123 * return None * # unpack message list/tuple * cdef Py_ssize_t nargs = 0 # <<<<<<<<<<<<<< * cdef object o_buf = None * cdef object o_count = None */ __pyx_v_nargs = 0; /* "mpi4py/MPI/msgbuffer.pxi":124 * # unpack message list/tuple * cdef Py_ssize_t nargs = 0 * cdef object o_buf = None # <<<<<<<<<<<<<< * cdef object o_count = None * cdef object o_displ = None */ __Pyx_INCREF(Py_None); __pyx_v_o_buf = Py_None; /* "mpi4py/MPI/msgbuffer.pxi":125 * cdef Py_ssize_t nargs = 0 * cdef object o_buf = None * cdef object o_count = None # <<<<<<<<<<<<<< * cdef object o_displ = None * cdef object o_type = None */ __Pyx_INCREF(Py_None); __pyx_v_o_count = Py_None; /* "mpi4py/MPI/msgbuffer.pxi":126 * cdef object o_buf = None * cdef object o_count = None * cdef object o_displ = None # <<<<<<<<<<<<<< * cdef object o_type = None * if is_buffer(msg): */ __Pyx_INCREF(Py_None); __pyx_v_o_displ = Py_None; /* "mpi4py/MPI/msgbuffer.pxi":127 * cdef object o_count = None * cdef object o_displ = None * cdef object o_type = None # <<<<<<<<<<<<<< * if is_buffer(msg): * o_buf = msg */ __Pyx_INCREF(Py_None); __pyx_v_o_type = Py_None; /* "mpi4py/MPI/msgbuffer.pxi":128 * cdef object o_displ = None * cdef object o_type = None * if is_buffer(msg): # <<<<<<<<<<<<<< * o_buf = msg * elif is_list(msg) or is_tuple(msg): */ __pyx_t_1 = (__pyx_f_6mpi4py_3MPI_is_buffer(__pyx_v_msg) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":129 * cdef object o_type = None * if is_buffer(msg): * o_buf = msg # <<<<<<<<<<<<<< * elif is_list(msg) or is_tuple(msg): * nargs = len(msg) */ __Pyx_INCREF(__pyx_v_msg); __Pyx_DECREF_SET(__pyx_v_o_buf, __pyx_v_msg); /* "mpi4py/MPI/msgbuffer.pxi":128 * cdef object o_displ = None * cdef object o_type = None * if is_buffer(msg): # <<<<<<<<<<<<<< * o_buf = msg * elif is_list(msg) or is_tuple(msg): */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":130 * if is_buffer(msg): * o_buf = msg * elif is_list(msg) or is_tuple(msg): # <<<<<<<<<<<<<< * nargs = len(msg) * if nargs == 2: */ __pyx_t_2 = (PyList_Check(__pyx_v_msg) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_2 = (PyTuple_Check(__pyx_v_msg) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":131 * o_buf = msg * elif is_list(msg) or is_tuple(msg): * nargs = len(msg) # <<<<<<<<<<<<<< * if nargs == 2: * (o_buf, o_count) = msg */ __pyx_t_3 = PyObject_Length(__pyx_v_msg); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(5, 131, __pyx_L1_error) __pyx_v_nargs = __pyx_t_3; /* "mpi4py/MPI/msgbuffer.pxi":132 * elif is_list(msg) or is_tuple(msg): * nargs = len(msg) * if nargs == 2: # <<<<<<<<<<<<<< * (o_buf, o_count) = msg * if is_datatype(o_count): */ __pyx_t_1 = ((__pyx_v_nargs == 2) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":133 * nargs = len(msg) * if nargs == 2: * (o_buf, o_count) = msg # <<<<<<<<<<<<<< * if is_datatype(o_count): * (o_count, o_type) = None, o_count */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; 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(5, 133, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { Py_ssize_t index = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(5, 133, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L9_unpacking_done; __pyx_L8_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 133, __pyx_L1_error) __pyx_L9_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_o_buf, __pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_o_count, __pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/msgbuffer.pxi":134 * if nargs == 2: * (o_buf, o_count) = msg * if is_datatype(o_count): # <<<<<<<<<<<<<< * (o_count, o_type) = None, o_count * elif is_tuple(o_count) or is_list(o_count): */ __pyx_t_1 = (__pyx_f_6mpi4py_3MPI_is_datatype(__pyx_v_o_count) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":135 * (o_buf, o_count) = msg * if is_datatype(o_count): * (o_count, o_type) = None, o_count # <<<<<<<<<<<<<< * elif is_tuple(o_count) or is_list(o_count): * (o_count, o_displ) = o_count */ __pyx_t_5 = Py_None; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = __pyx_v_o_count; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_o_count, __pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_o_type, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgbuffer.pxi":134 * if nargs == 2: * (o_buf, o_count) = msg * if is_datatype(o_count): # <<<<<<<<<<<<<< * (o_count, o_type) = None, o_count * elif is_tuple(o_count) or is_list(o_count): */ goto __pyx_L10; } /* "mpi4py/MPI/msgbuffer.pxi":136 * if is_datatype(o_count): * (o_count, o_type) = None, o_count * elif is_tuple(o_count) or is_list(o_count): # <<<<<<<<<<<<<< * (o_count, o_displ) = o_count * elif nargs == 3: */ __pyx_t_2 = (PyTuple_Check(__pyx_v_o_count) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L11_bool_binop_done; } __pyx_t_2 = (PyList_Check(__pyx_v_o_count) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L11_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":137 * (o_count, o_type) = None, o_count * elif is_tuple(o_count) or is_list(o_count): * (o_count, o_displ) = o_count # <<<<<<<<<<<<<< * elif nargs == 3: * (o_buf, o_count, o_type) = msg */ if ((likely(PyTuple_CheckExact(__pyx_v_o_count))) || (PyList_CheckExact(__pyx_v_o_count))) { PyObject* sequence = __pyx_v_o_count; 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(5, 137, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { Py_ssize_t index = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_o_count); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L13_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L13_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(5, 137, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L14_unpacking_done; __pyx_L13_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 137, __pyx_L1_error) __pyx_L14_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_o_count, __pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_o_displ, __pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/msgbuffer.pxi":136 * if is_datatype(o_count): * (o_count, o_type) = None, o_count * elif is_tuple(o_count) or is_list(o_count): # <<<<<<<<<<<<<< * (o_count, o_displ) = o_count * elif nargs == 3: */ } __pyx_L10:; /* "mpi4py/MPI/msgbuffer.pxi":132 * elif is_list(msg) or is_tuple(msg): * nargs = len(msg) * if nargs == 2: # <<<<<<<<<<<<<< * (o_buf, o_count) = msg * if is_datatype(o_count): */ goto __pyx_L7; } /* "mpi4py/MPI/msgbuffer.pxi":138 * elif is_tuple(o_count) or is_list(o_count): * (o_count, o_displ) = o_count * elif nargs == 3: # <<<<<<<<<<<<<< * (o_buf, o_count, o_type) = msg * if is_tuple(o_count) or is_list(o_count): */ __pyx_t_1 = ((__pyx_v_nargs == 3) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":139 * (o_count, o_displ) = o_count * elif nargs == 3: * (o_buf, o_count, o_type) = msg # <<<<<<<<<<<<<< * if is_tuple(o_count) or is_list(o_count): * (o_count, o_displ) = o_count */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(5, 139, __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_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_6 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); #else __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { Py_ssize_t index = -1; __pyx_t_8 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext; index = 0; __pyx_t_5 = __pyx_t_7(__pyx_t_8); if (unlikely(!__pyx_t_5)) goto __pyx_L15_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_8); if (unlikely(!__pyx_t_4)) goto __pyx_L15_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 2; __pyx_t_6 = __pyx_t_7(__pyx_t_8); if (unlikely(!__pyx_t_6)) goto __pyx_L15_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_8), 3) < 0) __PYX_ERR(5, 139, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L16_unpacking_done; __pyx_L15_unpacking_failed:; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 139, __pyx_L1_error) __pyx_L16_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_o_buf, __pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_o_count, __pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_o_type, __pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/msgbuffer.pxi":140 * elif nargs == 3: * (o_buf, o_count, o_type) = msg * if is_tuple(o_count) or is_list(o_count): # <<<<<<<<<<<<<< * (o_count, o_displ) = o_count * elif nargs == 4: */ __pyx_t_2 = (PyTuple_Check(__pyx_v_o_count) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L18_bool_binop_done; } __pyx_t_2 = (PyList_Check(__pyx_v_o_count) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L18_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":141 * (o_buf, o_count, o_type) = msg * if is_tuple(o_count) or is_list(o_count): * (o_count, o_displ) = o_count # <<<<<<<<<<<<<< * elif nargs == 4: * (o_buf, o_count, o_displ, o_type) = msg */ if ((likely(PyTuple_CheckExact(__pyx_v_o_count))) || (PyList_CheckExact(__pyx_v_o_count))) { PyObject* sequence = __pyx_v_o_count; 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(5, 141, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_6 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); #else __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_o_count); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_6 = __pyx_t_7(__pyx_t_5); if (unlikely(!__pyx_t_6)) goto __pyx_L20_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L20_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_5), 2) < 0) __PYX_ERR(5, 141, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L21_unpacking_done; __pyx_L20_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 141, __pyx_L1_error) __pyx_L21_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_o_count, __pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_o_displ, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgbuffer.pxi":140 * elif nargs == 3: * (o_buf, o_count, o_type) = msg * if is_tuple(o_count) or is_list(o_count): # <<<<<<<<<<<<<< * (o_count, o_displ) = o_count * elif nargs == 4: */ } /* "mpi4py/MPI/msgbuffer.pxi":138 * elif is_tuple(o_count) or is_list(o_count): * (o_count, o_displ) = o_count * elif nargs == 3: # <<<<<<<<<<<<<< * (o_buf, o_count, o_type) = msg * if is_tuple(o_count) or is_list(o_count): */ goto __pyx_L7; } /* "mpi4py/MPI/msgbuffer.pxi":142 * if is_tuple(o_count) or is_list(o_count): * (o_count, o_displ) = o_count * elif nargs == 4: # <<<<<<<<<<<<<< * (o_buf, o_count, o_displ, o_type) = msg * else: */ __pyx_t_1 = ((__pyx_v_nargs == 4) != 0); if (likely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":143 * (o_count, o_displ) = o_count * elif nargs == 4: * (o_buf, o_count, o_displ, o_type) = msg # <<<<<<<<<<<<<< * else: * raise ValueError("message: expecting 2 to 4 items") */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; 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(5, 143, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_6 = PyList_GET_ITEM(sequence, 1); __pyx_t_5 = PyList_GET_ITEM(sequence, 2); __pyx_t_8 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_8); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_6,&__pyx_t_5,&__pyx_t_8}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(5, 143, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_6,&__pyx_t_5,&__pyx_t_8}; __pyx_t_9 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = Py_TYPE(__pyx_t_9)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_9); if (unlikely(!item)) goto __pyx_L22_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_9), 4) < 0) __PYX_ERR(5, 143, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L23_unpacking_done; __pyx_L22_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 143, __pyx_L1_error) __pyx_L23_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_o_buf, __pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_o_count, __pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_o_displ, __pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_o_type, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":142 * if is_tuple(o_count) or is_list(o_count): * (o_count, o_displ) = o_count * elif nargs == 4: # <<<<<<<<<<<<<< * (o_buf, o_count, o_displ, o_type) = msg * else: */ goto __pyx_L7; } /* "mpi4py/MPI/msgbuffer.pxi":145 * (o_buf, o_count, o_displ, o_type) = msg * else: * raise ValueError("message: expecting 2 to 4 items") # <<<<<<<<<<<<<< * elif PYPY: * o_buf = msg */ /*else*/ { __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(5, 145, __pyx_L1_error) } __pyx_L7:; /* "mpi4py/MPI/msgbuffer.pxi":130 * if is_buffer(msg): * o_buf = msg * elif is_list(msg) or is_tuple(msg): # <<<<<<<<<<<<<< * nargs = len(msg) * if nargs == 2: */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":146 * else: * raise ValueError("message: expecting 2 to 4 items") * elif PYPY: # <<<<<<<<<<<<<< * o_buf = msg * else: */ if (likely(PyMPI_RUNTIME_PYPY)) { /* "mpi4py/MPI/msgbuffer.pxi":147 * raise ValueError("message: expecting 2 to 4 items") * elif PYPY: * o_buf = msg # <<<<<<<<<<<<<< * else: * raise TypeError("message: expecting buffer or list/tuple") */ __Pyx_INCREF(__pyx_v_msg); __Pyx_DECREF_SET(__pyx_v_o_buf, __pyx_v_msg); /* "mpi4py/MPI/msgbuffer.pxi":146 * else: * raise ValueError("message: expecting 2 to 4 items") * elif PYPY: # <<<<<<<<<<<<<< * o_buf = msg * else: */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":149 * o_buf = msg * else: * raise TypeError("message: expecting buffer or list/tuple") # <<<<<<<<<<<<<< * # buffer: address, length, and datatype * cdef void *baddr = NULL */ /*else*/ { __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(5, 149, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":151 * raise TypeError("message: expecting buffer or list/tuple") * # buffer: address, length, and datatype * cdef void *baddr = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint bsize = 0 * cdef MPI_Datatype btype = MPI_DATATYPE_NULL */ __pyx_v_baddr = NULL; /* "mpi4py/MPI/msgbuffer.pxi":152 * # buffer: address, length, and datatype * cdef void *baddr = NULL * cdef MPI_Aint bsize = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype btype = MPI_DATATYPE_NULL * cdef _p_message m = message_basic(o_buf, o_type, readonly, */ __pyx_v_bsize = 0; /* "mpi4py/MPI/msgbuffer.pxi":153 * cdef void *baddr = NULL * cdef MPI_Aint bsize = 0 * cdef MPI_Datatype btype = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * cdef _p_message m = message_basic(o_buf, o_type, readonly, * &baddr, &bsize, &btype) */ __pyx_v_btype = MPI_DATATYPE_NULL; /* "mpi4py/MPI/msgbuffer.pxi":154 * cdef MPI_Aint bsize = 0 * cdef MPI_Datatype btype = MPI_DATATYPE_NULL * cdef _p_message m = message_basic(o_buf, o_type, readonly, # <<<<<<<<<<<<<< * &baddr, &bsize, &btype) * # buffer: count and displacement */ __pyx_t_8 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_basic(__pyx_v_o_buf, __pyx_v_o_type, __pyx_v_readonly, (&__pyx_v_baddr), (&__pyx_v_bsize), (&__pyx_v_btype))); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_message *)__pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":157 * &baddr, &bsize, &btype) * # buffer: count and displacement * cdef int count = 0 # number of datatype entries # <<<<<<<<<<<<<< * cdef int displ = 0 # from base buffer, in datatype entries * cdef MPI_Aint extent = 0, lb = 0 # datatype extent */ __pyx_v_count = 0; /* "mpi4py/MPI/msgbuffer.pxi":158 * # buffer: count and displacement * cdef int count = 0 # number of datatype entries * cdef int displ = 0 # from base buffer, in datatype entries # <<<<<<<<<<<<<< * cdef MPI_Aint extent = 0, lb = 0 # datatype extent * cdef MPI_Aint length = bsize # in bytes */ __pyx_v_displ = 0; /* "mpi4py/MPI/msgbuffer.pxi":159 * cdef int count = 0 # number of datatype entries * cdef int displ = 0 # from base buffer, in datatype entries * cdef MPI_Aint extent = 0, lb = 0 # datatype extent # <<<<<<<<<<<<<< * cdef MPI_Aint length = bsize # in bytes * cdef MPI_Aint offset = 0 # from base buffer, in bytes */ __pyx_v_extent = 0; __pyx_v_lb = 0; /* "mpi4py/MPI/msgbuffer.pxi":160 * cdef int displ = 0 # from base buffer, in datatype entries * cdef MPI_Aint extent = 0, lb = 0 # datatype extent * cdef MPI_Aint length = bsize # in bytes # <<<<<<<<<<<<<< * cdef MPI_Aint offset = 0 # from base buffer, in bytes * if o_displ is not None: */ __pyx_v_length = __pyx_v_bsize; /* "mpi4py/MPI/msgbuffer.pxi":161 * cdef MPI_Aint extent = 0, lb = 0 # datatype extent * cdef MPI_Aint length = bsize # in bytes * cdef MPI_Aint offset = 0 # from base buffer, in bytes # <<<<<<<<<<<<<< * if o_displ is not None: * displ = o_displ */ __pyx_v_offset = 0; /* "mpi4py/MPI/msgbuffer.pxi":162 * cdef MPI_Aint length = bsize # in bytes * cdef MPI_Aint offset = 0 # from base buffer, in bytes * if o_displ is not None: # <<<<<<<<<<<<<< * displ = o_displ * if displ < 0: raise ValueError( */ __pyx_t_1 = (__pyx_v_o_displ != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":163 * cdef MPI_Aint offset = 0 # from base buffer, in bytes * if o_displ is not None: * displ = o_displ # <<<<<<<<<<<<<< * if displ < 0: raise ValueError( * "message: negative diplacement %d" % displ) */ __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_o_displ); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 163, __pyx_L1_error) __pyx_v_displ = ((int)__pyx_t_10); /* "mpi4py/MPI/msgbuffer.pxi":164 * if o_displ is not None: * displ = o_displ * if displ < 0: raise ValueError( # <<<<<<<<<<<<<< * "message: negative diplacement %d" % displ) * if displ > 0: */ __pyx_t_2 = ((__pyx_v_displ < 0) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/msgbuffer.pxi":165 * displ = o_displ * if displ < 0: raise ValueError( * "message: negative diplacement %d" % displ) # <<<<<<<<<<<<<< * if displ > 0: * if btype == MPI_DATATYPE_NULL: raise ValueError( */ __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_displ); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_message_negative_diplacement_d, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":164 * if o_displ is not None: * displ = o_displ * if displ < 0: raise ValueError( # <<<<<<<<<<<<<< * "message: negative diplacement %d" % displ) * if displ > 0: */ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(5, 164, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":166 * if displ < 0: raise ValueError( * "message: negative diplacement %d" % displ) * if displ > 0: # <<<<<<<<<<<<<< * if btype == MPI_DATATYPE_NULL: raise ValueError( * "message: cannot handle diplacement, datatype is null") */ __pyx_t_2 = ((__pyx_v_displ > 0) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":167 * "message: negative diplacement %d" % displ) * if displ > 0: * if btype == MPI_DATATYPE_NULL: raise ValueError( # <<<<<<<<<<<<<< * "message: cannot handle diplacement, datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) */ __pyx_t_2 = ((__pyx_v_btype == MPI_DATATYPE_NULL) != 0); if (unlikely(__pyx_t_2)) { __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(5, 167, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":169 * if btype == MPI_DATATYPE_NULL: raise ValueError( * "message: cannot handle diplacement, datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) # <<<<<<<<<<<<<< * if extent <= 0: raise ValueError( * ("message: cannot handle diplacement, " */ __pyx_t_10 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent(__pyx_v_btype, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(5, 169, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":170 * "message: cannot handle diplacement, datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) * if extent <= 0: raise ValueError( # <<<<<<<<<<<<<< * ("message: cannot handle diplacement, " * "datatype extent %d (lb:%d, ub:%d)" */ __pyx_t_2 = ((__pyx_v_extent <= 0) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/msgbuffer.pxi":173 * ("message: cannot handle diplacement, " * "datatype extent %d (lb:%d, ub:%d)" * ) % (extent, lb, lb+extent)) # <<<<<<<<<<<<<< * if displ*extent > length: raise ValueError( * ("message: displacement %d out of bounds, " */ __pyx_t_8 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_extent); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_lb); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_lb + __pyx_v_extent)); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_6); __pyx_t_8 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_message_cannot_handle_diplacemen_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgbuffer.pxi":170 * "message: cannot handle diplacement, datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) * if extent <= 0: raise ValueError( # <<<<<<<<<<<<<< * ("message: cannot handle diplacement, " * "datatype extent %d (lb:%d, ub:%d)" */ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(5, 170, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":174 * "datatype extent %d (lb:%d, ub:%d)" * ) % (extent, lb, lb+extent)) * if displ*extent > length: raise ValueError( # <<<<<<<<<<<<<< * ("message: displacement %d out of bounds, " * "number of datatype entries %d" */ __pyx_t_2 = (((__pyx_v_displ * __pyx_v_extent) > __pyx_v_length) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/msgbuffer.pxi":177 * ("message: displacement %d out of bounds, " * "number of datatype entries %d" * ) % (displ, length//extent)) # <<<<<<<<<<<<<< * offset = displ*extent * length -= offset */ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_displ); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_length / __pyx_v_extent)); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 177, __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_6); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); __pyx_t_4 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_message_displacement_d_out_of_bo, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/msgbuffer.pxi":174 * "datatype extent %d (lb:%d, ub:%d)" * ) % (extent, lb, lb+extent)) * if displ*extent > length: raise ValueError( # <<<<<<<<<<<<<< * ("message: displacement %d out of bounds, " * "number of datatype entries %d" */ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(5, 174, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":178 * "number of datatype entries %d" * ) % (displ, length//extent)) * offset = displ*extent # <<<<<<<<<<<<<< * length -= offset * if o_count is not None: */ __pyx_v_offset = (__pyx_v_displ * __pyx_v_extent); /* "mpi4py/MPI/msgbuffer.pxi":179 * ) % (displ, length//extent)) * offset = displ*extent * length -= offset # <<<<<<<<<<<<<< * if o_count is not None: * count = o_count */ __pyx_v_length = (__pyx_v_length - __pyx_v_offset); /* "mpi4py/MPI/msgbuffer.pxi":166 * if displ < 0: raise ValueError( * "message: negative diplacement %d" % displ) * if displ > 0: # <<<<<<<<<<<<<< * if btype == MPI_DATATYPE_NULL: raise ValueError( * "message: cannot handle diplacement, datatype is null") */ } /* "mpi4py/MPI/msgbuffer.pxi":162 * cdef MPI_Aint length = bsize # in bytes * cdef MPI_Aint offset = 0 # from base buffer, in bytes * if o_displ is not None: # <<<<<<<<<<<<<< * displ = o_displ * if displ < 0: raise ValueError( */ } /* "mpi4py/MPI/msgbuffer.pxi":180 * offset = displ*extent * length -= offset * if o_count is not None: # <<<<<<<<<<<<<< * count = o_count * if count < 0: raise ValueError( */ __pyx_t_2 = (__pyx_v_o_count != Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":181 * length -= offset * if o_count is not None: * count = o_count # <<<<<<<<<<<<<< * if count < 0: raise ValueError( * "message: negative count %d" % count) */ __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_o_count); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 181, __pyx_L1_error) __pyx_v_count = ((int)__pyx_t_10); /* "mpi4py/MPI/msgbuffer.pxi":182 * if o_count is not None: * count = o_count * if count < 0: raise ValueError( # <<<<<<<<<<<<<< * "message: negative count %d" % count) * if count > 0 and o_buf is None: raise ValueError( */ __pyx_t_1 = ((__pyx_v_count < 0) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":183 * count = o_count * if count < 0: raise ValueError( * "message: negative count %d" % count) # <<<<<<<<<<<<<< * if count > 0 and o_buf is None: raise ValueError( * "message: buffer is None but count is %d" % count) */ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_count); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_message_negative_count_d, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/msgbuffer.pxi":182 * if o_count is not None: * count = o_count * if count < 0: raise ValueError( # <<<<<<<<<<<<<< * "message: negative count %d" % count) * if count > 0 and o_buf is None: raise ValueError( */ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(5, 182, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":184 * if count < 0: raise ValueError( * "message: negative count %d" % count) * if count > 0 and o_buf is None: raise ValueError( # <<<<<<<<<<<<<< * "message: buffer is None but count is %d" % count) * elif length > 0: */ __pyx_t_2 = ((__pyx_v_count > 0) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L33_bool_binop_done; } __pyx_t_2 = (__pyx_v_o_buf == Py_None); __pyx_t_11 = (__pyx_t_2 != 0); __pyx_t_1 = __pyx_t_11; __pyx_L33_bool_binop_done:; if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":185 * "message: negative count %d" % count) * if count > 0 and o_buf is None: raise ValueError( * "message: buffer is None but count is %d" % count) # <<<<<<<<<<<<<< * elif length > 0: * if extent == 0: */ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_count); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_message_buffer_is_None_but_count, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/msgbuffer.pxi":184 * if count < 0: raise ValueError( * "message: negative count %d" % count) * if count > 0 and o_buf is None: raise ValueError( # <<<<<<<<<<<<<< * "message: buffer is None but count is %d" % count) * elif length > 0: */ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(5, 184, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":180 * offset = displ*extent * length -= offset * if o_count is not None: # <<<<<<<<<<<<<< * count = o_count * if count < 0: raise ValueError( */ goto __pyx_L30; } /* "mpi4py/MPI/msgbuffer.pxi":186 * if count > 0 and o_buf is None: raise ValueError( * "message: buffer is None but count is %d" % count) * elif length > 0: # <<<<<<<<<<<<<< * if extent == 0: * if btype == MPI_DATATYPE_NULL: raise ValueError( */ __pyx_t_1 = ((__pyx_v_length > 0) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":187 * "message: buffer is None but count is %d" % count) * elif length > 0: * if extent == 0: # <<<<<<<<<<<<<< * if btype == MPI_DATATYPE_NULL: raise ValueError( * "message: cannot infer count, datatype is null") */ __pyx_t_1 = ((__pyx_v_extent == 0) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":188 * elif length > 0: * if extent == 0: * if btype == MPI_DATATYPE_NULL: raise ValueError( # <<<<<<<<<<<<<< * "message: cannot infer count, datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) */ __pyx_t_1 = ((__pyx_v_btype == MPI_DATATYPE_NULL) != 0); if (unlikely(__pyx_t_1)) { __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 188, __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(5, 188, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":190 * if btype == MPI_DATATYPE_NULL: raise ValueError( * "message: cannot infer count, datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) # <<<<<<<<<<<<<< * if extent <= 0: raise ValueError( * ("message: cannot infer count, " */ __pyx_t_10 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent(__pyx_v_btype, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(5, 190, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":191 * "message: cannot infer count, datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) * if extent <= 0: raise ValueError( # <<<<<<<<<<<<<< * ("message: cannot infer count, " * "datatype extent %d (lb:%d, ub:%d)" */ __pyx_t_1 = ((__pyx_v_extent <= 0) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":194 * ("message: cannot infer count, " * "datatype extent %d (lb:%d, ub:%d)" * ) % (extent, lb, lb+extent)) # <<<<<<<<<<<<<< * if (length % extent) != 0: raise ValueError( * ("message: cannot infer count, " */ __pyx_t_5 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_extent); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_lb); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_lb + __pyx_v_extent)); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_4); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_message_cannot_infer_count_datat_2, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":191 * "message: cannot infer count, datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) * if extent <= 0: raise ValueError( # <<<<<<<<<<<<<< * ("message: cannot infer count, " * "datatype extent %d (lb:%d, ub:%d)" */ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(5, 191, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":187 * "message: buffer is None but count is %d" % count) * elif length > 0: * if extent == 0: # <<<<<<<<<<<<<< * if btype == MPI_DATATYPE_NULL: raise ValueError( * "message: cannot infer count, datatype is null") */ } /* "mpi4py/MPI/msgbuffer.pxi":195 * "datatype extent %d (lb:%d, ub:%d)" * ) % (extent, lb, lb+extent)) * if (length % extent) != 0: raise ValueError( # <<<<<<<<<<<<<< * ("message: cannot infer count, " * "buffer length %d is not a multiple of " */ __pyx_t_1 = (((__pyx_v_length % __pyx_v_extent) != 0) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":199 * "buffer length %d is not a multiple of " * "datatype extent %d (lb:%d, ub:%d)" * ) % (length, extent, lb, lb+extent)) # <<<<<<<<<<<<<< * if blocks < 2: * count = downcast(length // extent) */ __pyx_t_8 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_length); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_extent); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_lb); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_lb + __pyx_v_extent)); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = PyTuple_New(4); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_5); __pyx_t_8 = 0; __pyx_t_4 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_message_cannot_infer_count_buffe, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* "mpi4py/MPI/msgbuffer.pxi":195 * "datatype extent %d (lb:%d, ub:%d)" * ) % (extent, lb, lb+extent)) * if (length % extent) != 0: raise ValueError( # <<<<<<<<<<<<<< * ("message: cannot infer count, " * "buffer length %d is not a multiple of " */ __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(5, 195, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":200 * "datatype extent %d (lb:%d, ub:%d)" * ) % (length, extent, lb, lb+extent)) * if blocks < 2: # <<<<<<<<<<<<<< * count = downcast(length // extent) * else: */ __pyx_t_1 = ((__pyx_v_blocks < 2) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":201 * ) % (length, extent, lb, lb+extent)) * if blocks < 2: * count = downcast(length // extent) # <<<<<<<<<<<<<< * else: * if ((length // extent) % blocks) != 0: raise ValueError( */ __pyx_t_10 = __pyx_f_6mpi4py_3MPI_downcast((__pyx_v_length / __pyx_v_extent)); if (unlikely(__pyx_t_10 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(5, 201, __pyx_L1_error) __pyx_v_count = __pyx_t_10; /* "mpi4py/MPI/msgbuffer.pxi":200 * "datatype extent %d (lb:%d, ub:%d)" * ) % (length, extent, lb, lb+extent)) * if blocks < 2: # <<<<<<<<<<<<<< * count = downcast(length // extent) * else: */ goto __pyx_L39; } /* "mpi4py/MPI/msgbuffer.pxi":203 * count = downcast(length // extent) * else: * if ((length // extent) % blocks) != 0: raise ValueError( # <<<<<<<<<<<<<< * ("message: cannot infer count, " * "number of entries %d is not a multiple of " */ /*else*/ { __pyx_t_1 = ((((__pyx_v_length / __pyx_v_extent) % __pyx_v_blocks) != 0) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":207 * "number of entries %d is not a multiple of " * "required number of blocks %d" * ) % (length//extent, blocks)) # <<<<<<<<<<<<<< * count = downcast((length // extent) // blocks) * # return collected message data */ __pyx_t_9 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_length / __pyx_v_extent)); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_blocks); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); __pyx_t_9 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_message_cannot_infer_count_numbe, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/msgbuffer.pxi":203 * count = downcast(length // extent) * else: * if ((length // extent) % blocks) != 0: raise ValueError( # <<<<<<<<<<<<<< * ("message: cannot infer count, " * "number of entries %d is not a multiple of " */ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 203, __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(5, 203, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":208 * "required number of blocks %d" * ) % (length//extent, blocks)) * count = downcast((length // extent) // blocks) # <<<<<<<<<<<<<< * # return collected message data * m.count = o_count if o_count is not None else count */ __pyx_t_10 = __pyx_f_6mpi4py_3MPI_downcast(((__pyx_v_length / __pyx_v_extent) / __pyx_v_blocks)); if (unlikely(__pyx_t_10 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(5, 208, __pyx_L1_error) __pyx_v_count = __pyx_t_10; } __pyx_L39:; /* "mpi4py/MPI/msgbuffer.pxi":186 * if count > 0 and o_buf is None: raise ValueError( * "message: buffer is None but count is %d" % count) * elif length > 0: # <<<<<<<<<<<<<< * if extent == 0: * if btype == MPI_DATATYPE_NULL: raise ValueError( */ } __pyx_L30:; /* "mpi4py/MPI/msgbuffer.pxi":210 * count = downcast((length // extent) // blocks) * # return collected message data * m.count = o_count if o_count is not None else count # <<<<<<<<<<<<<< * m.displ = o_displ if o_displ is not None else displ * _addr[0] = (baddr + offset) */ __pyx_t_1 = (__pyx_v_o_count != Py_None); if ((__pyx_t_1 != 0)) { __Pyx_INCREF(__pyx_v_o_count); __pyx_t_6 = __pyx_v_o_count; } else { __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_count); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __pyx_t_5; __pyx_t_5 = 0; } __Pyx_GIVEREF(__pyx_t_6); __Pyx_GOTREF(__pyx_v_m->count); __Pyx_DECREF(__pyx_v_m->count); __pyx_v_m->count = __pyx_t_6; __pyx_t_6 = 0; /* "mpi4py/MPI/msgbuffer.pxi":211 * # return collected message data * m.count = o_count if o_count is not None else count * m.displ = o_displ if o_displ is not None else displ # <<<<<<<<<<<<<< * _addr[0] = (baddr + offset) * _count[0] = count */ __pyx_t_1 = (__pyx_v_o_displ != Py_None); if ((__pyx_t_1 != 0)) { __Pyx_INCREF(__pyx_v_o_displ); __pyx_t_6 = __pyx_v_o_displ; } else { __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_displ); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __pyx_t_5; __pyx_t_5 = 0; } __Pyx_GIVEREF(__pyx_t_6); __Pyx_GOTREF(__pyx_v_m->displ); __Pyx_DECREF(__pyx_v_m->displ); __pyx_v_m->displ = __pyx_t_6; __pyx_t_6 = 0; /* "mpi4py/MPI/msgbuffer.pxi":212 * m.count = o_count if o_count is not None else count * m.displ = o_displ if o_displ is not None else displ * _addr[0] = (baddr + offset) # <<<<<<<<<<<<<< * _count[0] = count * _type[0] = btype */ (__pyx_v__addr[0]) = ((void *)(((char *)__pyx_v_baddr) + __pyx_v_offset)); /* "mpi4py/MPI/msgbuffer.pxi":213 * m.displ = o_displ if o_displ is not None else displ * _addr[0] = (baddr + offset) * _count[0] = count # <<<<<<<<<<<<<< * _type[0] = btype * return m */ (__pyx_v__count[0]) = __pyx_v_count; /* "mpi4py/MPI/msgbuffer.pxi":214 * _addr[0] = (baddr + offset) * _count[0] = count * _type[0] = btype # <<<<<<<<<<<<<< * return m * */ (__pyx_v__type[0]) = __pyx_v_btype; /* "mpi4py/MPI/msgbuffer.pxi":215 * _count[0] = count * _type[0] = btype * return m # <<<<<<<<<<<<<< * * cdef _p_message message_vector(object msg, */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_m)); __pyx_r = __pyx_v_m; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":107 * return m * * cdef _p_message message_simple(object msg, # <<<<<<<<<<<<<< * int readonly, * int rank, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_AddTraceback("mpi4py.MPI.message_simple", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_o_buf); __Pyx_XDECREF(__pyx_v_o_count); __Pyx_XDECREF(__pyx_v_o_displ); __Pyx_XDECREF(__pyx_v_o_type); __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":217 * return m * * cdef _p_message message_vector(object msg, # <<<<<<<<<<<<<< * int readonly, * int rank, */ static struct __pyx_obj_6mpi4py_3MPI__p_message *__pyx_f_6mpi4py_3MPI_message_vector(PyObject *__pyx_v_msg, int __pyx_v_readonly, int __pyx_v_rank, int __pyx_v_blocks, void **__pyx_v__addr, int **__pyx_v__counts, int **__pyx_v__displs, MPI_Datatype *__pyx_v__type) { Py_ssize_t __pyx_v_nargs; PyObject *__pyx_v_o_buf = 0; PyObject *__pyx_v_o_counts = 0; PyObject *__pyx_v_o_displs = 0; PyObject *__pyx_v_o_type = 0; void *__pyx_v_baddr; MPI_Aint __pyx_v_bsize; MPI_Datatype __pyx_v_btype; struct __pyx_obj_6mpi4py_3MPI__p_message *__pyx_v_m = 0; int *__pyx_v_counts; int *__pyx_v_displs; int __pyx_v_i; int __pyx_v_val; MPI_Aint __pyx_v_extent; MPI_Aint __pyx_v_lb; MPI_Aint __pyx_v_asize; MPI_Aint __pyx_v_aval; struct __pyx_obj_6mpi4py_3MPI__p_message *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; Py_ssize_t __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *(*__pyx_t_7)(PyObject *); PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; int __pyx_t_10; int __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("message_vector", 0); /* "mpi4py/MPI/msgbuffer.pxi":228 * ): * # special-case PROC_NULL target rank * if rank == MPI_PROC_NULL: # <<<<<<<<<<<<<< * _addr[0] = NULL * _counts[0] = NULL */ __pyx_t_1 = ((__pyx_v_rank == MPI_PROC_NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":229 * # special-case PROC_NULL target rank * if rank == MPI_PROC_NULL: * _addr[0] = NULL # <<<<<<<<<<<<<< * _counts[0] = NULL * _displs[0] = NULL */ (__pyx_v__addr[0]) = NULL; /* "mpi4py/MPI/msgbuffer.pxi":230 * if rank == MPI_PROC_NULL: * _addr[0] = NULL * _counts[0] = NULL # <<<<<<<<<<<<<< * _displs[0] = NULL * _type[0] = MPI_BYTE */ (__pyx_v__counts[0]) = NULL; /* "mpi4py/MPI/msgbuffer.pxi":231 * _addr[0] = NULL * _counts[0] = NULL * _displs[0] = NULL # <<<<<<<<<<<<<< * _type[0] = MPI_BYTE * return None */ (__pyx_v__displs[0]) = NULL; /* "mpi4py/MPI/msgbuffer.pxi":232 * _counts[0] = NULL * _displs[0] = NULL * _type[0] = MPI_BYTE # <<<<<<<<<<<<<< * return None * # unpack message list/tuple */ (__pyx_v__type[0]) = MPI_BYTE; /* "mpi4py/MPI/msgbuffer.pxi":233 * _displs[0] = NULL * _type[0] = MPI_BYTE * return None # <<<<<<<<<<<<<< * # unpack message list/tuple * cdef Py_ssize_t nargs = 0 */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __pyx_r = ((struct __pyx_obj_6mpi4py_3MPI__p_message *)Py_None); __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":228 * ): * # special-case PROC_NULL target rank * if rank == MPI_PROC_NULL: # <<<<<<<<<<<<<< * _addr[0] = NULL * _counts[0] = NULL */ } /* "mpi4py/MPI/msgbuffer.pxi":235 * return None * # unpack message list/tuple * cdef Py_ssize_t nargs = 0 # <<<<<<<<<<<<<< * cdef object o_buf = None * cdef object o_counts = None */ __pyx_v_nargs = 0; /* "mpi4py/MPI/msgbuffer.pxi":236 * # unpack message list/tuple * cdef Py_ssize_t nargs = 0 * cdef object o_buf = None # <<<<<<<<<<<<<< * cdef object o_counts = None * cdef object o_displs = None */ __Pyx_INCREF(Py_None); __pyx_v_o_buf = Py_None; /* "mpi4py/MPI/msgbuffer.pxi":237 * cdef Py_ssize_t nargs = 0 * cdef object o_buf = None * cdef object o_counts = None # <<<<<<<<<<<<<< * cdef object o_displs = None * cdef object o_type = None */ __Pyx_INCREF(Py_None); __pyx_v_o_counts = Py_None; /* "mpi4py/MPI/msgbuffer.pxi":238 * cdef object o_buf = None * cdef object o_counts = None * cdef object o_displs = None # <<<<<<<<<<<<<< * cdef object o_type = None * if is_buffer(msg): */ __Pyx_INCREF(Py_None); __pyx_v_o_displs = Py_None; /* "mpi4py/MPI/msgbuffer.pxi":239 * cdef object o_counts = None * cdef object o_displs = None * cdef object o_type = None # <<<<<<<<<<<<<< * if is_buffer(msg): * o_buf = msg */ __Pyx_INCREF(Py_None); __pyx_v_o_type = Py_None; /* "mpi4py/MPI/msgbuffer.pxi":240 * cdef object o_displs = None * cdef object o_type = None * if is_buffer(msg): # <<<<<<<<<<<<<< * o_buf = msg * elif is_list(msg) or is_tuple(msg): */ __pyx_t_1 = (__pyx_f_6mpi4py_3MPI_is_buffer(__pyx_v_msg) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":241 * cdef object o_type = None * if is_buffer(msg): * o_buf = msg # <<<<<<<<<<<<<< * elif is_list(msg) or is_tuple(msg): * nargs = len(msg) */ __Pyx_INCREF(__pyx_v_msg); __Pyx_DECREF_SET(__pyx_v_o_buf, __pyx_v_msg); /* "mpi4py/MPI/msgbuffer.pxi":240 * cdef object o_displs = None * cdef object o_type = None * if is_buffer(msg): # <<<<<<<<<<<<<< * o_buf = msg * elif is_list(msg) or is_tuple(msg): */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":242 * if is_buffer(msg): * o_buf = msg * elif is_list(msg) or is_tuple(msg): # <<<<<<<<<<<<<< * nargs = len(msg) * if nargs == 2: */ __pyx_t_2 = (PyList_Check(__pyx_v_msg) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_2 = (PyTuple_Check(__pyx_v_msg) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":243 * o_buf = msg * elif is_list(msg) or is_tuple(msg): * nargs = len(msg) # <<<<<<<<<<<<<< * if nargs == 2: * (o_buf, o_counts) = msg */ __pyx_t_3 = PyObject_Length(__pyx_v_msg); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(5, 243, __pyx_L1_error) __pyx_v_nargs = __pyx_t_3; /* "mpi4py/MPI/msgbuffer.pxi":244 * elif is_list(msg) or is_tuple(msg): * nargs = len(msg) * if nargs == 2: # <<<<<<<<<<<<<< * (o_buf, o_counts) = msg * if is_datatype(o_counts): */ __pyx_t_1 = ((__pyx_v_nargs == 2) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":245 * nargs = len(msg) * if nargs == 2: * (o_buf, o_counts) = msg # <<<<<<<<<<<<<< * if is_datatype(o_counts): * (o_counts, o_type) = None, o_counts */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; 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(5, 245, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { Py_ssize_t index = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(5, 245, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L9_unpacking_done; __pyx_L8_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 245, __pyx_L1_error) __pyx_L9_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_o_buf, __pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/msgbuffer.pxi":246 * if nargs == 2: * (o_buf, o_counts) = msg * if is_datatype(o_counts): # <<<<<<<<<<<<<< * (o_counts, o_type) = None, o_counts * elif is_tuple(o_counts): */ __pyx_t_1 = (__pyx_f_6mpi4py_3MPI_is_datatype(__pyx_v_o_counts) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":247 * (o_buf, o_counts) = msg * if is_datatype(o_counts): * (o_counts, o_type) = None, o_counts # <<<<<<<<<<<<<< * elif is_tuple(o_counts): * (o_counts, o_displs) = o_counts */ __pyx_t_5 = Py_None; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = __pyx_v_o_counts; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_o_type, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgbuffer.pxi":246 * if nargs == 2: * (o_buf, o_counts) = msg * if is_datatype(o_counts): # <<<<<<<<<<<<<< * (o_counts, o_type) = None, o_counts * elif is_tuple(o_counts): */ goto __pyx_L10; } /* "mpi4py/MPI/msgbuffer.pxi":248 * if is_datatype(o_counts): * (o_counts, o_type) = None, o_counts * elif is_tuple(o_counts): # <<<<<<<<<<<<<< * (o_counts, o_displs) = o_counts * elif nargs == 3: */ __pyx_t_1 = (PyTuple_Check(__pyx_v_o_counts) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":249 * (o_counts, o_type) = None, o_counts * elif is_tuple(o_counts): * (o_counts, o_displs) = o_counts # <<<<<<<<<<<<<< * elif nargs == 3: * (o_buf, o_counts, o_type) = msg */ if ((likely(PyTuple_CheckExact(__pyx_v_o_counts))) || (PyList_CheckExact(__pyx_v_o_counts))) { PyObject* sequence = __pyx_v_o_counts; 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(5, 249, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { Py_ssize_t index = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_o_counts); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L11_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L11_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(5, 249, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L12_unpacking_done; __pyx_L11_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 249, __pyx_L1_error) __pyx_L12_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/msgbuffer.pxi":248 * if is_datatype(o_counts): * (o_counts, o_type) = None, o_counts * elif is_tuple(o_counts): # <<<<<<<<<<<<<< * (o_counts, o_displs) = o_counts * elif nargs == 3: */ } __pyx_L10:; /* "mpi4py/MPI/msgbuffer.pxi":244 * elif is_list(msg) or is_tuple(msg): * nargs = len(msg) * if nargs == 2: # <<<<<<<<<<<<<< * (o_buf, o_counts) = msg * if is_datatype(o_counts): */ goto __pyx_L7; } /* "mpi4py/MPI/msgbuffer.pxi":250 * elif is_tuple(o_counts): * (o_counts, o_displs) = o_counts * elif nargs == 3: # <<<<<<<<<<<<<< * (o_buf, o_counts, o_type) = msg * if is_tuple(o_counts): */ __pyx_t_1 = ((__pyx_v_nargs == 3) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":251 * (o_counts, o_displs) = o_counts * elif nargs == 3: * (o_buf, o_counts, o_type) = msg # <<<<<<<<<<<<<< * if is_tuple(o_counts): * (o_counts, o_displs) = o_counts */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(5, 251, __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_4 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_6 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); #else __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { Py_ssize_t index = -1; __pyx_t_8 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext; index = 0; __pyx_t_5 = __pyx_t_7(__pyx_t_8); if (unlikely(!__pyx_t_5)) goto __pyx_L13_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_8); if (unlikely(!__pyx_t_4)) goto __pyx_L13_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 2; __pyx_t_6 = __pyx_t_7(__pyx_t_8); if (unlikely(!__pyx_t_6)) goto __pyx_L13_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_8), 3) < 0) __PYX_ERR(5, 251, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L14_unpacking_done; __pyx_L13_unpacking_failed:; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 251, __pyx_L1_error) __pyx_L14_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_o_buf, __pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_o_type, __pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/msgbuffer.pxi":252 * elif nargs == 3: * (o_buf, o_counts, o_type) = msg * if is_tuple(o_counts): # <<<<<<<<<<<<<< * (o_counts, o_displs) = o_counts * elif nargs == 4: */ __pyx_t_1 = (PyTuple_Check(__pyx_v_o_counts) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":253 * (o_buf, o_counts, o_type) = msg * if is_tuple(o_counts): * (o_counts, o_displs) = o_counts # <<<<<<<<<<<<<< * elif nargs == 4: * (o_buf, o_counts, o_displs, o_type) = msg */ if ((likely(PyTuple_CheckExact(__pyx_v_o_counts))) || (PyList_CheckExact(__pyx_v_o_counts))) { PyObject* sequence = __pyx_v_o_counts; 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(5, 253, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_6 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); #else __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_o_counts); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_6 = __pyx_t_7(__pyx_t_5); if (unlikely(!__pyx_t_6)) goto __pyx_L16_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L16_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_5), 2) < 0) __PYX_ERR(5, 253, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L17_unpacking_done; __pyx_L16_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 253, __pyx_L1_error) __pyx_L17_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgbuffer.pxi":252 * elif nargs == 3: * (o_buf, o_counts, o_type) = msg * if is_tuple(o_counts): # <<<<<<<<<<<<<< * (o_counts, o_displs) = o_counts * elif nargs == 4: */ } /* "mpi4py/MPI/msgbuffer.pxi":250 * elif is_tuple(o_counts): * (o_counts, o_displs) = o_counts * elif nargs == 3: # <<<<<<<<<<<<<< * (o_buf, o_counts, o_type) = msg * if is_tuple(o_counts): */ goto __pyx_L7; } /* "mpi4py/MPI/msgbuffer.pxi":254 * if is_tuple(o_counts): * (o_counts, o_displs) = o_counts * elif nargs == 4: # <<<<<<<<<<<<<< * (o_buf, o_counts, o_displs, o_type) = msg * else: */ __pyx_t_1 = ((__pyx_v_nargs == 4) != 0); if (likely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":255 * (o_counts, o_displs) = o_counts * elif nargs == 4: * (o_buf, o_counts, o_displs, o_type) = msg # <<<<<<<<<<<<<< * else: * raise ValueError("message: expecting 2 to 4 items") */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; 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(5, 255, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_6 = PyList_GET_ITEM(sequence, 1); __pyx_t_5 = PyList_GET_ITEM(sequence, 2); __pyx_t_8 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_8); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_6,&__pyx_t_5,&__pyx_t_8}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(5, 255, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_6,&__pyx_t_5,&__pyx_t_8}; __pyx_t_9 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = Py_TYPE(__pyx_t_9)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_9); if (unlikely(!item)) goto __pyx_L18_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_9), 4) < 0) __PYX_ERR(5, 255, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L19_unpacking_done; __pyx_L18_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 255, __pyx_L1_error) __pyx_L19_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_o_buf, __pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_o_type, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":254 * if is_tuple(o_counts): * (o_counts, o_displs) = o_counts * elif nargs == 4: # <<<<<<<<<<<<<< * (o_buf, o_counts, o_displs, o_type) = msg * else: */ goto __pyx_L7; } /* "mpi4py/MPI/msgbuffer.pxi":257 * (o_buf, o_counts, o_displs, o_type) = msg * else: * raise ValueError("message: expecting 2 to 4 items") # <<<<<<<<<<<<<< * elif PYPY: * o_buf = msg */ /*else*/ { __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(5, 257, __pyx_L1_error) } __pyx_L7:; /* "mpi4py/MPI/msgbuffer.pxi":242 * if is_buffer(msg): * o_buf = msg * elif is_list(msg) or is_tuple(msg): # <<<<<<<<<<<<<< * nargs = len(msg) * if nargs == 2: */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":258 * else: * raise ValueError("message: expecting 2 to 4 items") * elif PYPY: # <<<<<<<<<<<<<< * o_buf = msg * else: */ if (likely(PyMPI_RUNTIME_PYPY)) { /* "mpi4py/MPI/msgbuffer.pxi":259 * raise ValueError("message: expecting 2 to 4 items") * elif PYPY: * o_buf = msg # <<<<<<<<<<<<<< * else: * raise TypeError("message: expecting buffer or list/tuple") */ __Pyx_INCREF(__pyx_v_msg); __Pyx_DECREF_SET(__pyx_v_o_buf, __pyx_v_msg); /* "mpi4py/MPI/msgbuffer.pxi":258 * else: * raise ValueError("message: expecting 2 to 4 items") * elif PYPY: # <<<<<<<<<<<<<< * o_buf = msg * else: */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":261 * o_buf = msg * else: * raise TypeError("message: expecting buffer or list/tuple") # <<<<<<<<<<<<<< * # buffer: address, length, and datatype * cdef void *baddr = NULL */ /*else*/ { __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(5, 261, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":263 * raise TypeError("message: expecting buffer or list/tuple") * # buffer: address, length, and datatype * cdef void *baddr = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint bsize = 0 * cdef MPI_Datatype btype = MPI_DATATYPE_NULL */ __pyx_v_baddr = NULL; /* "mpi4py/MPI/msgbuffer.pxi":264 * # buffer: address, length, and datatype * cdef void *baddr = NULL * cdef MPI_Aint bsize = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype btype = MPI_DATATYPE_NULL * cdef _p_message m = message_basic(o_buf, o_type, readonly, */ __pyx_v_bsize = 0; /* "mpi4py/MPI/msgbuffer.pxi":265 * cdef void *baddr = NULL * cdef MPI_Aint bsize = 0 * cdef MPI_Datatype btype = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * cdef _p_message m = message_basic(o_buf, o_type, readonly, * &baddr, &bsize, &btype) */ __pyx_v_btype = MPI_DATATYPE_NULL; /* "mpi4py/MPI/msgbuffer.pxi":266 * cdef MPI_Aint bsize = 0 * cdef MPI_Datatype btype = MPI_DATATYPE_NULL * cdef _p_message m = message_basic(o_buf, o_type, readonly, # <<<<<<<<<<<<<< * &baddr, &bsize, &btype) * # counts and displacements */ __pyx_t_8 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_basic(__pyx_v_o_buf, __pyx_v_o_type, __pyx_v_readonly, (&__pyx_v_baddr), (&__pyx_v_bsize), (&__pyx_v_btype))); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_message *)__pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":269 * &baddr, &bsize, &btype) * # counts and displacements * cdef int *counts = NULL # <<<<<<<<<<<<<< * cdef int *displs = NULL * cdef int i=0, val=0 */ __pyx_v_counts = NULL; /* "mpi4py/MPI/msgbuffer.pxi":270 * # counts and displacements * cdef int *counts = NULL * cdef int *displs = NULL # <<<<<<<<<<<<<< * cdef int i=0, val=0 * cdef MPI_Aint extent=0, lb=0 */ __pyx_v_displs = NULL; /* "mpi4py/MPI/msgbuffer.pxi":271 * cdef int *counts = NULL * cdef int *displs = NULL * cdef int i=0, val=0 # <<<<<<<<<<<<<< * cdef MPI_Aint extent=0, lb=0 * cdef MPI_Aint asize=0, aval=0 */ __pyx_v_i = 0; __pyx_v_val = 0; /* "mpi4py/MPI/msgbuffer.pxi":272 * cdef int *displs = NULL * cdef int i=0, val=0 * cdef MPI_Aint extent=0, lb=0 # <<<<<<<<<<<<<< * cdef MPI_Aint asize=0, aval=0 * if o_counts is None: */ __pyx_v_extent = 0; __pyx_v_lb = 0; /* "mpi4py/MPI/msgbuffer.pxi":273 * cdef int i=0, val=0 * cdef MPI_Aint extent=0, lb=0 * cdef MPI_Aint asize=0, aval=0 # <<<<<<<<<<<<<< * if o_counts is None: * if bsize > 0: */ __pyx_v_asize = 0; __pyx_v_aval = 0; /* "mpi4py/MPI/msgbuffer.pxi":274 * cdef MPI_Aint extent=0, lb=0 * cdef MPI_Aint asize=0, aval=0 * if o_counts is None: # <<<<<<<<<<<<<< * if bsize > 0: * if btype == MPI_DATATYPE_NULL: raise ValueError( */ __pyx_t_1 = (__pyx_v_o_counts == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":275 * cdef MPI_Aint asize=0, aval=0 * if o_counts is None: * if bsize > 0: # <<<<<<<<<<<<<< * if btype == MPI_DATATYPE_NULL: raise ValueError( * "message: cannot infer count, " */ __pyx_t_2 = ((__pyx_v_bsize > 0) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":276 * if o_counts is None: * if bsize > 0: * if btype == MPI_DATATYPE_NULL: raise ValueError( # <<<<<<<<<<<<<< * "message: cannot infer count, " * "datatype is null") */ __pyx_t_2 = ((__pyx_v_btype == MPI_DATATYPE_NULL) != 0); if (unlikely(__pyx_t_2)) { __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(5, 276, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":279 * "message: cannot infer count, " * "datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) # <<<<<<<<<<<<<< * if extent <= 0: raise ValueError( * ("message: cannot infer count, " */ __pyx_t_10 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent(__pyx_v_btype, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(5, 279, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":280 * "datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) * if extent <= 0: raise ValueError( # <<<<<<<<<<<<<< * ("message: cannot infer count, " * "datatype extent %d (lb:%d, ub:%d)" */ __pyx_t_2 = ((__pyx_v_extent <= 0) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/msgbuffer.pxi":283 * ("message: cannot infer count, " * "datatype extent %d (lb:%d, ub:%d)" * ) % (extent, lb, lb+extent)) # <<<<<<<<<<<<<< * if (bsize % extent) != 0: raise ValueError( * ("message: cannot infer count, " */ __pyx_t_8 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_extent); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_lb); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_lb + __pyx_v_extent)); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_6); __pyx_t_8 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_message_cannot_infer_count_datat_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgbuffer.pxi":280 * "datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) * if extent <= 0: raise ValueError( # <<<<<<<<<<<<<< * ("message: cannot infer count, " * "datatype extent %d (lb:%d, ub:%d)" */ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(5, 280, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":284 * "datatype extent %d (lb:%d, ub:%d)" * ) % (extent, lb, lb+extent)) * if (bsize % extent) != 0: raise ValueError( # <<<<<<<<<<<<<< * ("message: cannot infer count, " * "buffer length %d is not a multiple of " */ __pyx_t_2 = (((__pyx_v_bsize % __pyx_v_extent) != 0) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/msgbuffer.pxi":288 * "buffer length %d is not a multiple of " * "datatype extent %d (lb:%d, ub:%d)" * ) % (bsize, extent, lb, lb+extent)) # <<<<<<<<<<<<<< * asize = bsize // extent * o_counts = newarray(blocks, &counts) */ __pyx_t_4 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_bsize); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_extent); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_lb); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_lb + __pyx_v_extent)); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyTuple_New(4); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_8); __pyx_t_4 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_message_cannot_infer_count_buffe, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* "mpi4py/MPI/msgbuffer.pxi":284 * "datatype extent %d (lb:%d, ub:%d)" * ) % (extent, lb, lb+extent)) * if (bsize % extent) != 0: raise ValueError( # <<<<<<<<<<<<<< * ("message: cannot infer count, " * "buffer length %d is not a multiple of " */ __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(5, 284, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":289 * "datatype extent %d (lb:%d, ub:%d)" * ) % (bsize, extent, lb, lb+extent)) * asize = bsize // extent # <<<<<<<<<<<<<< * o_counts = newarray(blocks, &counts) * for i from 0 <= i < blocks: */ __pyx_v_asize = (__pyx_v_bsize / __pyx_v_extent); /* "mpi4py/MPI/msgbuffer.pxi":275 * cdef MPI_Aint asize=0, aval=0 * if o_counts is None: * if bsize > 0: # <<<<<<<<<<<<<< * if btype == MPI_DATATYPE_NULL: raise ValueError( * "message: cannot infer count, " */ } /* "mpi4py/MPI/msgbuffer.pxi":290 * ) % (bsize, extent, lb, lb+extent)) * asize = bsize // extent * o_counts = newarray(blocks, &counts) # <<<<<<<<<<<<<< * for i from 0 <= i < blocks: * aval = (asize // blocks) + (asize % blocks > i) */ __pyx_t_9 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_blocks, (&__pyx_v_counts)); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_9); __pyx_t_9 = 0; /* "mpi4py/MPI/msgbuffer.pxi":291 * asize = bsize // extent * o_counts = newarray(blocks, &counts) * for i from 0 <= i < blocks: # <<<<<<<<<<<<<< * aval = (asize // blocks) + (asize % blocks > i) * counts[i] = downcast(aval) */ __pyx_t_10 = __pyx_v_blocks; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_10; __pyx_v_i++) { /* "mpi4py/MPI/msgbuffer.pxi":292 * o_counts = newarray(blocks, &counts) * for i from 0 <= i < blocks: * aval = (asize // blocks) + (asize % blocks > i) # <<<<<<<<<<<<<< * counts[i] = downcast(aval) * elif is_integral(o_counts): */ __pyx_v_aval = ((__pyx_v_asize / __pyx_v_blocks) + ((__pyx_v_asize % __pyx_v_blocks) > __pyx_v_i)); /* "mpi4py/MPI/msgbuffer.pxi":293 * for i from 0 <= i < blocks: * aval = (asize // blocks) + (asize % blocks > i) * counts[i] = downcast(aval) # <<<<<<<<<<<<<< * elif is_integral(o_counts): * val = o_counts */ __pyx_t_11 = __pyx_f_6mpi4py_3MPI_downcast(__pyx_v_aval); if (unlikely(__pyx_t_11 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(5, 293, __pyx_L1_error) (__pyx_v_counts[__pyx_v_i]) = __pyx_t_11; } /* "mpi4py/MPI/msgbuffer.pxi":274 * cdef MPI_Aint extent=0, lb=0 * cdef MPI_Aint asize=0, aval=0 * if o_counts is None: # <<<<<<<<<<<<<< * if bsize > 0: * if btype == MPI_DATATYPE_NULL: raise ValueError( */ goto __pyx_L20; } /* "mpi4py/MPI/msgbuffer.pxi":294 * aval = (asize // blocks) + (asize % blocks > i) * counts[i] = downcast(aval) * elif is_integral(o_counts): # <<<<<<<<<<<<<< * val = o_counts * o_counts = newarray(blocks, &counts) */ __pyx_t_2 = (__pyx_f_6mpi4py_3MPI_is_integral(__pyx_v_o_counts) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":295 * counts[i] = downcast(aval) * elif is_integral(o_counts): * val = o_counts # <<<<<<<<<<<<<< * o_counts = newarray(blocks, &counts) * for i from 0 <= i < blocks: */ __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_o_counts); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 295, __pyx_L1_error) __pyx_v_val = ((int)__pyx_t_10); /* "mpi4py/MPI/msgbuffer.pxi":296 * elif is_integral(o_counts): * val = o_counts * o_counts = newarray(blocks, &counts) # <<<<<<<<<<<<<< * for i from 0 <= i < blocks: * counts[i] = val */ __pyx_t_9 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_blocks, (&__pyx_v_counts)); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_9); __pyx_t_9 = 0; /* "mpi4py/MPI/msgbuffer.pxi":297 * val = o_counts * o_counts = newarray(blocks, &counts) * for i from 0 <= i < blocks: # <<<<<<<<<<<<<< * counts[i] = val * else: */ __pyx_t_10 = __pyx_v_blocks; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_10; __pyx_v_i++) { /* "mpi4py/MPI/msgbuffer.pxi":298 * o_counts = newarray(blocks, &counts) * for i from 0 <= i < blocks: * counts[i] = val # <<<<<<<<<<<<<< * else: * o_counts = chkarray(o_counts, blocks, &counts) */ (__pyx_v_counts[__pyx_v_i]) = __pyx_v_val; } /* "mpi4py/MPI/msgbuffer.pxi":294 * aval = (asize // blocks) + (asize % blocks > i) * counts[i] = downcast(aval) * elif is_integral(o_counts): # <<<<<<<<<<<<<< * val = o_counts * o_counts = newarray(blocks, &counts) */ goto __pyx_L20; } /* "mpi4py/MPI/msgbuffer.pxi":300 * counts[i] = val * else: * o_counts = chkarray(o_counts, blocks, &counts) # <<<<<<<<<<<<<< * if o_displs is None: # contiguous * val = 0 */ /*else*/ { __pyx_t_9 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_o_counts, __pyx_v_blocks, (&__pyx_v_counts)); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_9); __pyx_t_9 = 0; } __pyx_L20:; /* "mpi4py/MPI/msgbuffer.pxi":301 * else: * o_counts = chkarray(o_counts, blocks, &counts) * if o_displs is None: # contiguous # <<<<<<<<<<<<<< * val = 0 * o_displs = newarray(blocks, &displs) */ __pyx_t_2 = (__pyx_v_o_displs == Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":302 * o_counts = chkarray(o_counts, blocks, &counts) * if o_displs is None: # contiguous * val = 0 # <<<<<<<<<<<<<< * o_displs = newarray(blocks, &displs) * for i from 0 <= i < blocks: */ __pyx_v_val = 0; /* "mpi4py/MPI/msgbuffer.pxi":303 * if o_displs is None: # contiguous * val = 0 * o_displs = newarray(blocks, &displs) # <<<<<<<<<<<<<< * for i from 0 <= i < blocks: * displs[i] = val */ __pyx_t_9 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_blocks, (&__pyx_v_displs)); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_9); __pyx_t_9 = 0; /* "mpi4py/MPI/msgbuffer.pxi":304 * val = 0 * o_displs = newarray(blocks, &displs) * for i from 0 <= i < blocks: # <<<<<<<<<<<<<< * displs[i] = val * val += counts[i] */ __pyx_t_10 = __pyx_v_blocks; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_10; __pyx_v_i++) { /* "mpi4py/MPI/msgbuffer.pxi":305 * o_displs = newarray(blocks, &displs) * for i from 0 <= i < blocks: * displs[i] = val # <<<<<<<<<<<<<< * val += counts[i] * elif is_integral(o_displs): # strided */ (__pyx_v_displs[__pyx_v_i]) = __pyx_v_val; /* "mpi4py/MPI/msgbuffer.pxi":306 * for i from 0 <= i < blocks: * displs[i] = val * val += counts[i] # <<<<<<<<<<<<<< * elif is_integral(o_displs): # strided * val = o_displs */ __pyx_v_val = (__pyx_v_val + (__pyx_v_counts[__pyx_v_i])); } /* "mpi4py/MPI/msgbuffer.pxi":301 * else: * o_counts = chkarray(o_counts, blocks, &counts) * if o_displs is None: # contiguous # <<<<<<<<<<<<<< * val = 0 * o_displs = newarray(blocks, &displs) */ goto __pyx_L29; } /* "mpi4py/MPI/msgbuffer.pxi":307 * displs[i] = val * val += counts[i] * elif is_integral(o_displs): # strided # <<<<<<<<<<<<<< * val = o_displs * o_displs = newarray(blocks, &displs) */ __pyx_t_1 = (__pyx_f_6mpi4py_3MPI_is_integral(__pyx_v_o_displs) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":308 * val += counts[i] * elif is_integral(o_displs): # strided * val = o_displs # <<<<<<<<<<<<<< * o_displs = newarray(blocks, &displs) * for i from 0 <= i < blocks: */ __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_v_o_displs); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 308, __pyx_L1_error) __pyx_v_val = ((int)__pyx_t_10); /* "mpi4py/MPI/msgbuffer.pxi":309 * elif is_integral(o_displs): # strided * val = o_displs * o_displs = newarray(blocks, &displs) # <<<<<<<<<<<<<< * for i from 0 <= i < blocks: * displs[i] = val * i */ __pyx_t_9 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_blocks, (&__pyx_v_displs)); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_9); __pyx_t_9 = 0; /* "mpi4py/MPI/msgbuffer.pxi":310 * val = o_displs * o_displs = newarray(blocks, &displs) * for i from 0 <= i < blocks: # <<<<<<<<<<<<<< * displs[i] = val * i * else: # general */ __pyx_t_10 = __pyx_v_blocks; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_10; __pyx_v_i++) { /* "mpi4py/MPI/msgbuffer.pxi":311 * o_displs = newarray(blocks, &displs) * for i from 0 <= i < blocks: * displs[i] = val * i # <<<<<<<<<<<<<< * else: # general * o_displs = chkarray(o_displs, blocks, &displs) */ (__pyx_v_displs[__pyx_v_i]) = (__pyx_v_val * __pyx_v_i); } /* "mpi4py/MPI/msgbuffer.pxi":307 * displs[i] = val * val += counts[i] * elif is_integral(o_displs): # strided # <<<<<<<<<<<<<< * val = o_displs * o_displs = newarray(blocks, &displs) */ goto __pyx_L29; } /* "mpi4py/MPI/msgbuffer.pxi":313 * displs[i] = val * i * else: # general * o_displs = chkarray(o_displs, blocks, &displs) # <<<<<<<<<<<<<< * # return collected message data * m.count = o_counts */ /*else*/ { __pyx_t_9 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_o_displs, __pyx_v_blocks, (&__pyx_v_displs)); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_9); __pyx_t_9 = 0; } __pyx_L29:; /* "mpi4py/MPI/msgbuffer.pxi":315 * o_displs = chkarray(o_displs, blocks, &displs) * # return collected message data * m.count = o_counts # <<<<<<<<<<<<<< * m.displ = o_displs * _addr[0] = baddr */ __Pyx_INCREF(__pyx_v_o_counts); __Pyx_GIVEREF(__pyx_v_o_counts); __Pyx_GOTREF(__pyx_v_m->count); __Pyx_DECREF(__pyx_v_m->count); __pyx_v_m->count = __pyx_v_o_counts; /* "mpi4py/MPI/msgbuffer.pxi":316 * # return collected message data * m.count = o_counts * m.displ = o_displs # <<<<<<<<<<<<<< * _addr[0] = baddr * _counts[0] = counts */ __Pyx_INCREF(__pyx_v_o_displs); __Pyx_GIVEREF(__pyx_v_o_displs); __Pyx_GOTREF(__pyx_v_m->displ); __Pyx_DECREF(__pyx_v_m->displ); __pyx_v_m->displ = __pyx_v_o_displs; /* "mpi4py/MPI/msgbuffer.pxi":317 * m.count = o_counts * m.displ = o_displs * _addr[0] = baddr # <<<<<<<<<<<<<< * _counts[0] = counts * _displs[0] = displs */ (__pyx_v__addr[0]) = __pyx_v_baddr; /* "mpi4py/MPI/msgbuffer.pxi":318 * m.displ = o_displs * _addr[0] = baddr * _counts[0] = counts # <<<<<<<<<<<<<< * _displs[0] = displs * _type[0] = btype */ (__pyx_v__counts[0]) = __pyx_v_counts; /* "mpi4py/MPI/msgbuffer.pxi":319 * _addr[0] = baddr * _counts[0] = counts * _displs[0] = displs # <<<<<<<<<<<<<< * _type[0] = btype * return m */ (__pyx_v__displs[0]) = __pyx_v_displs; /* "mpi4py/MPI/msgbuffer.pxi":320 * _counts[0] = counts * _displs[0] = displs * _type[0] = btype # <<<<<<<<<<<<<< * return m * */ (__pyx_v__type[0]) = __pyx_v_btype; /* "mpi4py/MPI/msgbuffer.pxi":321 * _displs[0] = displs * _type[0] = btype * return m # <<<<<<<<<<<<<< * * cdef tuple message_vector_w(object msg, */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_m)); __pyx_r = __pyx_v_m; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":217 * return m * * cdef _p_message message_vector(object msg, # <<<<<<<<<<<<<< * int readonly, * int rank, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_AddTraceback("mpi4py.MPI.message_vector", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_o_buf); __Pyx_XDECREF(__pyx_v_o_counts); __Pyx_XDECREF(__pyx_v_o_displs); __Pyx_XDECREF(__pyx_v_o_type); __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":323 * return m * * cdef tuple message_vector_w(object msg, # <<<<<<<<<<<<<< * int readonly, * int blocks, */ static PyObject *__pyx_fuse_0__pyx_f_6mpi4py_3MPI_message_vector_w(PyObject *__pyx_v_msg, int __pyx_v_readonly, int __pyx_v_blocks, void **__pyx_v__addr, int **__pyx_v__counts, int **__pyx_v__displs, MPI_Datatype **__pyx_v__types) { int __pyx_v_i; Py_ssize_t __pyx_v_nargs; PyObject *__pyx_v_o_buffer = 0; PyObject *__pyx_v_o_counts = 0; PyObject *__pyx_v_o_displs = 0; PyObject *__pyx_v_o_types = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *(*__pyx_t_6)(PyObject *); PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; int __pyx_t_10; int __pyx_t_11; int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_0message_vector_w", 0); /* "mpi4py/MPI/msgbuffer.pxi":332 * MPI_Datatype **_types, * ): * cdef int i = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t nargs = len(msg) * cdef object o_buffer, o_counts, o_displs, o_types */ __pyx_v_i = 0; /* "mpi4py/MPI/msgbuffer.pxi":333 * ): * cdef int i = 0 * cdef Py_ssize_t nargs = len(msg) # <<<<<<<<<<<<<< * cdef object o_buffer, o_counts, o_displs, o_types * if nargs == 2: */ __pyx_t_1 = PyObject_Length(__pyx_v_msg); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(5, 333, __pyx_L1_error) __pyx_v_nargs = __pyx_t_1; /* "mpi4py/MPI/msgbuffer.pxi":335 * cdef Py_ssize_t nargs = len(msg) * cdef object o_buffer, o_counts, o_displs, o_types * if nargs == 2: # <<<<<<<<<<<<<< * o_buffer, o_types = msg * o_counts = o_displs = None */ __pyx_t_2 = ((__pyx_v_nargs == 2) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":336 * cdef object o_buffer, o_counts, o_displs, o_types * if nargs == 2: * o_buffer, o_types = msg # <<<<<<<<<<<<<< * o_counts = o_displs = None * elif nargs == 3: */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; 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(5, 336, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); #else __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(5, 336, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L5_unpacking_done; __pyx_L4_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 336, __pyx_L1_error) __pyx_L5_unpacking_done:; } __pyx_v_o_buffer = __pyx_t_3; __pyx_t_3 = 0; __pyx_v_o_types = __pyx_t_4; __pyx_t_4 = 0; /* "mpi4py/MPI/msgbuffer.pxi":337 * if nargs == 2: * o_buffer, o_types = msg * o_counts = o_displs = None # <<<<<<<<<<<<<< * elif nargs == 3: * o_buffer, (o_counts, o_displs), o_types = msg */ __Pyx_INCREF(Py_None); __pyx_v_o_counts = Py_None; __Pyx_INCREF(Py_None); __pyx_v_o_displs = Py_None; /* "mpi4py/MPI/msgbuffer.pxi":335 * cdef Py_ssize_t nargs = len(msg) * cdef object o_buffer, o_counts, o_displs, o_types * if nargs == 2: # <<<<<<<<<<<<<< * o_buffer, o_types = msg * o_counts = o_displs = None */ goto __pyx_L3; } /* "mpi4py/MPI/msgbuffer.pxi":338 * o_buffer, o_types = msg * o_counts = o_displs = None * elif nargs == 3: # <<<<<<<<<<<<<< * o_buffer, (o_counts, o_displs), o_types = msg * elif nargs == 4: */ __pyx_t_2 = ((__pyx_v_nargs == 3) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":339 * o_counts = o_displs = None * elif nargs == 3: * o_buffer, (o_counts, o_displs), o_types = msg # <<<<<<<<<<<<<< * elif nargs == 4: * o_buffer, o_counts, o_displs, o_types = msg */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(5, 339, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_3 = PyList_GET_ITEM(sequence, 1); __pyx_t_5 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { Py_ssize_t index = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = Py_TYPE(__pyx_t_7)->tp_iternext; index = 0; __pyx_t_4 = __pyx_t_6(__pyx_t_7); if (unlikely(!__pyx_t_4)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_3 = __pyx_t_6(__pyx_t_7); if (unlikely(!__pyx_t_3)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 2; __pyx_t_5 = __pyx_t_6(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_7), 3) < 0) __PYX_ERR(5, 339, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L7_unpacking_done; __pyx_L6_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 339, __pyx_L1_error) __pyx_L7_unpacking_done:; } __pyx_v_o_buffer = __pyx_t_4; __pyx_t_4 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(5, 339, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_7 = PyList_GET_ITEM(sequence, 0); __pyx_t_8 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_8); #else __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = Py_TYPE(__pyx_t_9)->tp_iternext; index = 0; __pyx_t_7 = __pyx_t_6(__pyx_t_9); if (unlikely(!__pyx_t_7)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); index = 1; __pyx_t_8 = __pyx_t_6(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(__pyx_t_8); if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_9), 2) < 0) __PYX_ERR(5, 339, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L9_unpacking_done; __pyx_L8_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 339, __pyx_L1_error) __pyx_L9_unpacking_done:; } __pyx_v_o_counts = __pyx_t_7; __pyx_t_7 = 0; __pyx_v_o_displs = __pyx_t_8; __pyx_t_8 = 0; __pyx_v_o_types = __pyx_t_5; __pyx_t_5 = 0; /* "mpi4py/MPI/msgbuffer.pxi":338 * o_buffer, o_types = msg * o_counts = o_displs = None * elif nargs == 3: # <<<<<<<<<<<<<< * o_buffer, (o_counts, o_displs), o_types = msg * elif nargs == 4: */ goto __pyx_L3; } /* "mpi4py/MPI/msgbuffer.pxi":340 * elif nargs == 3: * o_buffer, (o_counts, o_displs), o_types = msg * elif nargs == 4: # <<<<<<<<<<<<<< * o_buffer, o_counts, o_displs, o_types = msg * else: */ __pyx_t_2 = ((__pyx_v_nargs == 4) != 0); if (likely(__pyx_t_2)) { /* "mpi4py/MPI/msgbuffer.pxi":341 * o_buffer, (o_counts, o_displs), o_types = msg * elif nargs == 4: * o_buffer, o_counts, o_displs, o_types = msg # <<<<<<<<<<<<<< * else: * raise ValueError("message: expecting 2 to 4 items") */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; 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(5, 341, __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_3 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_3 = PyList_GET_ITEM(sequence, 1); __pyx_t_4 = PyList_GET_ITEM(sequence, 2); __pyx_t_8 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_8); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_3,&__pyx_t_4,&__pyx_t_8}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(5, 341, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_3,&__pyx_t_4,&__pyx_t_8}; __pyx_t_7 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = Py_TYPE(__pyx_t_7)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_6(__pyx_t_7); if (unlikely(!item)) goto __pyx_L10_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_7), 4) < 0) __PYX_ERR(5, 341, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L11_unpacking_done; __pyx_L10_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 341, __pyx_L1_error) __pyx_L11_unpacking_done:; } __pyx_v_o_buffer = __pyx_t_5; __pyx_t_5 = 0; __pyx_v_o_counts = __pyx_t_3; __pyx_t_3 = 0; __pyx_v_o_displs = __pyx_t_4; __pyx_t_4 = 0; __pyx_v_o_types = __pyx_t_8; __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":340 * elif nargs == 3: * o_buffer, (o_counts, o_displs), o_types = msg * elif nargs == 4: # <<<<<<<<<<<<<< * o_buffer, o_counts, o_displs, o_types = msg * else: */ goto __pyx_L3; } /* "mpi4py/MPI/msgbuffer.pxi":343 * o_buffer, o_counts, o_displs, o_types = msg * else: * raise ValueError("message: expecting 2 to 4 items") # <<<<<<<<<<<<<< * if readonly: * o_buffer = getbuffer_r(o_buffer, _addr, NULL) */ /*else*/ { __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(5, 343, __pyx_L1_error) } __pyx_L3:; /* "mpi4py/MPI/msgbuffer.pxi":344 * else: * raise ValueError("message: expecting 2 to 4 items") * if readonly: # <<<<<<<<<<<<<< * o_buffer = getbuffer_r(o_buffer, _addr, NULL) * else: */ __pyx_t_2 = (__pyx_v_readonly != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":345 * raise ValueError("message: expecting 2 to 4 items") * if readonly: * o_buffer = getbuffer_r(o_buffer, _addr, NULL) # <<<<<<<<<<<<<< * else: * o_buffer = getbuffer_w(o_buffer, _addr, NULL) */ __pyx_t_8 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_r(__pyx_v_o_buffer, __pyx_v__addr, NULL)); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_buffer, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":344 * else: * raise ValueError("message: expecting 2 to 4 items") * if readonly: # <<<<<<<<<<<<<< * o_buffer = getbuffer_r(o_buffer, _addr, NULL) * else: */ goto __pyx_L12; } /* "mpi4py/MPI/msgbuffer.pxi":347 * o_buffer = getbuffer_r(o_buffer, _addr, NULL) * else: * o_buffer = getbuffer_w(o_buffer, _addr, NULL) # <<<<<<<<<<<<<< * if o_counts is None and o_displs is None: * o_counts = newarray(blocks, _counts) */ /*else*/ { __pyx_t_8 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_o_buffer, __pyx_v__addr, NULL)); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_buffer, __pyx_t_8); __pyx_t_8 = 0; } __pyx_L12:; /* "mpi4py/MPI/msgbuffer.pxi":348 * else: * o_buffer = getbuffer_w(o_buffer, _addr, NULL) * if o_counts is None and o_displs is None: # <<<<<<<<<<<<<< * o_counts = newarray(blocks, _counts) * o_displs = newarray(blocks, _displs) */ __pyx_t_10 = (__pyx_v_o_counts == Py_None); __pyx_t_11 = (__pyx_t_10 != 0); if (__pyx_t_11) { } else { __pyx_t_2 = __pyx_t_11; goto __pyx_L14_bool_binop_done; } __pyx_t_11 = (__pyx_v_o_displs == Py_None); __pyx_t_10 = (__pyx_t_11 != 0); __pyx_t_2 = __pyx_t_10; __pyx_L14_bool_binop_done:; if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":349 * o_buffer = getbuffer_w(o_buffer, _addr, NULL) * if o_counts is None and o_displs is None: * o_counts = newarray(blocks, _counts) # <<<<<<<<<<<<<< * o_displs = newarray(blocks, _displs) * for i from 0 <= i < blocks: */ __pyx_t_8 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_blocks, __pyx_v__counts); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":350 * if o_counts is None and o_displs is None: * o_counts = newarray(blocks, _counts) * o_displs = newarray(blocks, _displs) # <<<<<<<<<<<<<< * for i from 0 <= i < blocks: * _counts[0][i] = 1 */ __pyx_t_8 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_blocks, __pyx_v__displs); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":351 * o_counts = newarray(blocks, _counts) * o_displs = newarray(blocks, _displs) * for i from 0 <= i < blocks: # <<<<<<<<<<<<<< * _counts[0][i] = 1 * _displs[0][i] = 0 */ __pyx_t_12 = __pyx_v_blocks; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_12; __pyx_v_i++) { /* "mpi4py/MPI/msgbuffer.pxi":352 * o_displs = newarray(blocks, _displs) * for i from 0 <= i < blocks: * _counts[0][i] = 1 # <<<<<<<<<<<<<< * _displs[0][i] = 0 * else: */ ((__pyx_v__counts[0])[__pyx_v_i]) = 1; /* "mpi4py/MPI/msgbuffer.pxi":353 * for i from 0 <= i < blocks: * _counts[0][i] = 1 * _displs[0][i] = 0 # <<<<<<<<<<<<<< * else: * o_counts = chkarray(o_counts, blocks, _counts) */ ((__pyx_v__displs[0])[__pyx_v_i]) = 0; } /* "mpi4py/MPI/msgbuffer.pxi":348 * else: * o_buffer = getbuffer_w(o_buffer, _addr, NULL) * if o_counts is None and o_displs is None: # <<<<<<<<<<<<<< * o_counts = newarray(blocks, _counts) * o_displs = newarray(blocks, _displs) */ goto __pyx_L13; } /* "mpi4py/MPI/msgbuffer.pxi":355 * _displs[0][i] = 0 * else: * o_counts = chkarray(o_counts, blocks, _counts) # <<<<<<<<<<<<<< * o_displs = chkarray(o_displs, blocks, _displs) * o_types = asarray_Datatype(o_types, blocks, _types) */ /*else*/ { __pyx_t_8 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_o_counts, __pyx_v_blocks, __pyx_v__counts); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 355, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":356 * else: * o_counts = chkarray(o_counts, blocks, _counts) * o_displs = chkarray(o_displs, blocks, _displs) # <<<<<<<<<<<<<< * o_types = asarray_Datatype(o_types, blocks, _types) * return (o_buffer, o_counts, o_displs, o_types) */ __pyx_t_8 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_o_displs, __pyx_v_blocks, __pyx_v__displs); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_8); __pyx_t_8 = 0; } __pyx_L13:; /* "mpi4py/MPI/msgbuffer.pxi":357 * o_counts = chkarray(o_counts, blocks, _counts) * o_displs = chkarray(o_displs, blocks, _displs) * o_types = asarray_Datatype(o_types, blocks, _types) # <<<<<<<<<<<<<< * return (o_buffer, o_counts, o_displs, o_types) * */ __pyx_t_8 = __pyx_f_6mpi4py_3MPI_asarray_Datatype(__pyx_v_o_types, __pyx_v_blocks, __pyx_v__types); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_types, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":358 * o_displs = chkarray(o_displs, blocks, _displs) * o_types = asarray_Datatype(o_types, blocks, _types) * return (o_buffer, o_counts, o_displs, o_types) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(__pyx_r); __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_o_buffer); __Pyx_GIVEREF(__pyx_v_o_buffer); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_o_buffer); __Pyx_INCREF(__pyx_v_o_counts); __Pyx_GIVEREF(__pyx_v_o_counts); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_o_counts); __Pyx_INCREF(__pyx_v_o_displs); __Pyx_GIVEREF(__pyx_v_o_displs); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_v_o_displs); __Pyx_INCREF(__pyx_v_o_types); __Pyx_GIVEREF(__pyx_v_o_types); PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_v_o_types); __pyx_r = ((PyObject*)__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":323 * return m * * cdef tuple message_vector_w(object msg, # <<<<<<<<<<<<<< * int readonly, * int blocks, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_AddTraceback("mpi4py.MPI.message_vector_w", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_o_buffer); __Pyx_XDECREF(__pyx_v_o_counts); __Pyx_XDECREF(__pyx_v_o_displs); __Pyx_XDECREF(__pyx_v_o_types); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_fuse_1__pyx_f_6mpi4py_3MPI_message_vector_w(PyObject *__pyx_v_msg, int __pyx_v_readonly, int __pyx_v_blocks, void **__pyx_v__addr, int **__pyx_v__counts, MPI_Aint **__pyx_v__displs, MPI_Datatype **__pyx_v__types) { int __pyx_v_i; Py_ssize_t __pyx_v_nargs; PyObject *__pyx_v_o_buffer = 0; PyObject *__pyx_v_o_counts = 0; PyObject *__pyx_v_o_displs = 0; PyObject *__pyx_v_o_types = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *(*__pyx_t_6)(PyObject *); PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; int __pyx_t_10; int __pyx_t_11; int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__pyx_fuse_1message_vector_w", 0); /* "mpi4py/MPI/msgbuffer.pxi":332 * MPI_Datatype **_types, * ): * cdef int i = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t nargs = len(msg) * cdef object o_buffer, o_counts, o_displs, o_types */ __pyx_v_i = 0; /* "mpi4py/MPI/msgbuffer.pxi":333 * ): * cdef int i = 0 * cdef Py_ssize_t nargs = len(msg) # <<<<<<<<<<<<<< * cdef object o_buffer, o_counts, o_displs, o_types * if nargs == 2: */ __pyx_t_1 = PyObject_Length(__pyx_v_msg); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(5, 333, __pyx_L1_error) __pyx_v_nargs = __pyx_t_1; /* "mpi4py/MPI/msgbuffer.pxi":335 * cdef Py_ssize_t nargs = len(msg) * cdef object o_buffer, o_counts, o_displs, o_types * if nargs == 2: # <<<<<<<<<<<<<< * o_buffer, o_types = msg * o_counts = o_displs = None */ __pyx_t_2 = ((__pyx_v_nargs == 2) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":336 * cdef object o_buffer, o_counts, o_displs, o_types * if nargs == 2: * o_buffer, o_types = msg # <<<<<<<<<<<<<< * o_counts = o_displs = None * elif nargs == 3: */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; 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(5, 336, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); #else __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(5, 336, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L5_unpacking_done; __pyx_L4_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 336, __pyx_L1_error) __pyx_L5_unpacking_done:; } __pyx_v_o_buffer = __pyx_t_3; __pyx_t_3 = 0; __pyx_v_o_types = __pyx_t_4; __pyx_t_4 = 0; /* "mpi4py/MPI/msgbuffer.pxi":337 * if nargs == 2: * o_buffer, o_types = msg * o_counts = o_displs = None # <<<<<<<<<<<<<< * elif nargs == 3: * o_buffer, (o_counts, o_displs), o_types = msg */ __Pyx_INCREF(Py_None); __pyx_v_o_counts = Py_None; __Pyx_INCREF(Py_None); __pyx_v_o_displs = Py_None; /* "mpi4py/MPI/msgbuffer.pxi":335 * cdef Py_ssize_t nargs = len(msg) * cdef object o_buffer, o_counts, o_displs, o_types * if nargs == 2: # <<<<<<<<<<<<<< * o_buffer, o_types = msg * o_counts = o_displs = None */ goto __pyx_L3; } /* "mpi4py/MPI/msgbuffer.pxi":338 * o_buffer, o_types = msg * o_counts = o_displs = None * elif nargs == 3: # <<<<<<<<<<<<<< * o_buffer, (o_counts, o_displs), o_types = msg * elif nargs == 4: */ __pyx_t_2 = ((__pyx_v_nargs == 3) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":339 * o_counts = o_displs = None * elif nargs == 3: * o_buffer, (o_counts, o_displs), o_types = msg # <<<<<<<<<<<<<< * elif nargs == 4: * o_buffer, o_counts, o_displs, o_types = msg */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(5, 339, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_3 = PyList_GET_ITEM(sequence, 1); __pyx_t_5 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { Py_ssize_t index = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = Py_TYPE(__pyx_t_7)->tp_iternext; index = 0; __pyx_t_4 = __pyx_t_6(__pyx_t_7); if (unlikely(!__pyx_t_4)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_3 = __pyx_t_6(__pyx_t_7); if (unlikely(!__pyx_t_3)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 2; __pyx_t_5 = __pyx_t_6(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_7), 3) < 0) __PYX_ERR(5, 339, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L7_unpacking_done; __pyx_L6_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 339, __pyx_L1_error) __pyx_L7_unpacking_done:; } __pyx_v_o_buffer = __pyx_t_4; __pyx_t_4 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(5, 339, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_7 = PyList_GET_ITEM(sequence, 0); __pyx_t_8 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_8); #else __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = Py_TYPE(__pyx_t_9)->tp_iternext; index = 0; __pyx_t_7 = __pyx_t_6(__pyx_t_9); if (unlikely(!__pyx_t_7)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); index = 1; __pyx_t_8 = __pyx_t_6(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(__pyx_t_8); if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_9), 2) < 0) __PYX_ERR(5, 339, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L9_unpacking_done; __pyx_L8_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 339, __pyx_L1_error) __pyx_L9_unpacking_done:; } __pyx_v_o_counts = __pyx_t_7; __pyx_t_7 = 0; __pyx_v_o_displs = __pyx_t_8; __pyx_t_8 = 0; __pyx_v_o_types = __pyx_t_5; __pyx_t_5 = 0; /* "mpi4py/MPI/msgbuffer.pxi":338 * o_buffer, o_types = msg * o_counts = o_displs = None * elif nargs == 3: # <<<<<<<<<<<<<< * o_buffer, (o_counts, o_displs), o_types = msg * elif nargs == 4: */ goto __pyx_L3; } /* "mpi4py/MPI/msgbuffer.pxi":340 * elif nargs == 3: * o_buffer, (o_counts, o_displs), o_types = msg * elif nargs == 4: # <<<<<<<<<<<<<< * o_buffer, o_counts, o_displs, o_types = msg * else: */ __pyx_t_2 = ((__pyx_v_nargs == 4) != 0); if (likely(__pyx_t_2)) { /* "mpi4py/MPI/msgbuffer.pxi":341 * o_buffer, (o_counts, o_displs), o_types = msg * elif nargs == 4: * o_buffer, o_counts, o_displs, o_types = msg # <<<<<<<<<<<<<< * else: * raise ValueError("message: expecting 2 to 4 items") */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; 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(5, 341, __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_3 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_3 = PyList_GET_ITEM(sequence, 1); __pyx_t_4 = PyList_GET_ITEM(sequence, 2); __pyx_t_8 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_8); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_3,&__pyx_t_4,&__pyx_t_8}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(5, 341, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_3,&__pyx_t_4,&__pyx_t_8}; __pyx_t_7 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = Py_TYPE(__pyx_t_7)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_6(__pyx_t_7); if (unlikely(!item)) goto __pyx_L10_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_7), 4) < 0) __PYX_ERR(5, 341, __pyx_L1_error) __pyx_t_6 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L11_unpacking_done; __pyx_L10_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(5, 341, __pyx_L1_error) __pyx_L11_unpacking_done:; } __pyx_v_o_buffer = __pyx_t_5; __pyx_t_5 = 0; __pyx_v_o_counts = __pyx_t_3; __pyx_t_3 = 0; __pyx_v_o_displs = __pyx_t_4; __pyx_t_4 = 0; __pyx_v_o_types = __pyx_t_8; __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":340 * elif nargs == 3: * o_buffer, (o_counts, o_displs), o_types = msg * elif nargs == 4: # <<<<<<<<<<<<<< * o_buffer, o_counts, o_displs, o_types = msg * else: */ goto __pyx_L3; } /* "mpi4py/MPI/msgbuffer.pxi":343 * o_buffer, o_counts, o_displs, o_types = msg * else: * raise ValueError("message: expecting 2 to 4 items") # <<<<<<<<<<<<<< * if readonly: * o_buffer = getbuffer_r(o_buffer, _addr, NULL) */ /*else*/ { __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(5, 343, __pyx_L1_error) } __pyx_L3:; /* "mpi4py/MPI/msgbuffer.pxi":344 * else: * raise ValueError("message: expecting 2 to 4 items") * if readonly: # <<<<<<<<<<<<<< * o_buffer = getbuffer_r(o_buffer, _addr, NULL) * else: */ __pyx_t_2 = (__pyx_v_readonly != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":345 * raise ValueError("message: expecting 2 to 4 items") * if readonly: * o_buffer = getbuffer_r(o_buffer, _addr, NULL) # <<<<<<<<<<<<<< * else: * o_buffer = getbuffer_w(o_buffer, _addr, NULL) */ __pyx_t_8 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_r(__pyx_v_o_buffer, __pyx_v__addr, NULL)); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_buffer, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":344 * else: * raise ValueError("message: expecting 2 to 4 items") * if readonly: # <<<<<<<<<<<<<< * o_buffer = getbuffer_r(o_buffer, _addr, NULL) * else: */ goto __pyx_L12; } /* "mpi4py/MPI/msgbuffer.pxi":347 * o_buffer = getbuffer_r(o_buffer, _addr, NULL) * else: * o_buffer = getbuffer_w(o_buffer, _addr, NULL) # <<<<<<<<<<<<<< * if o_counts is None and o_displs is None: * o_counts = newarray(blocks, _counts) */ /*else*/ { __pyx_t_8 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_o_buffer, __pyx_v__addr, NULL)); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_buffer, __pyx_t_8); __pyx_t_8 = 0; } __pyx_L12:; /* "mpi4py/MPI/msgbuffer.pxi":348 * else: * o_buffer = getbuffer_w(o_buffer, _addr, NULL) * if o_counts is None and o_displs is None: # <<<<<<<<<<<<<< * o_counts = newarray(blocks, _counts) * o_displs = newarray(blocks, _displs) */ __pyx_t_10 = (__pyx_v_o_counts == Py_None); __pyx_t_11 = (__pyx_t_10 != 0); if (__pyx_t_11) { } else { __pyx_t_2 = __pyx_t_11; goto __pyx_L14_bool_binop_done; } __pyx_t_11 = (__pyx_v_o_displs == Py_None); __pyx_t_10 = (__pyx_t_11 != 0); __pyx_t_2 = __pyx_t_10; __pyx_L14_bool_binop_done:; if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":349 * o_buffer = getbuffer_w(o_buffer, _addr, NULL) * if o_counts is None and o_displs is None: * o_counts = newarray(blocks, _counts) # <<<<<<<<<<<<<< * o_displs = newarray(blocks, _displs) * for i from 0 <= i < blocks: */ __pyx_t_8 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_blocks, __pyx_v__counts); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":350 * if o_counts is None and o_displs is None: * o_counts = newarray(blocks, _counts) * o_displs = newarray(blocks, _displs) # <<<<<<<<<<<<<< * for i from 0 <= i < blocks: * _counts[0][i] = 1 */ __pyx_t_8 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_blocks, __pyx_v__displs); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":351 * o_counts = newarray(blocks, _counts) * o_displs = newarray(blocks, _displs) * for i from 0 <= i < blocks: # <<<<<<<<<<<<<< * _counts[0][i] = 1 * _displs[0][i] = 0 */ __pyx_t_12 = __pyx_v_blocks; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_12; __pyx_v_i++) { /* "mpi4py/MPI/msgbuffer.pxi":352 * o_displs = newarray(blocks, _displs) * for i from 0 <= i < blocks: * _counts[0][i] = 1 # <<<<<<<<<<<<<< * _displs[0][i] = 0 * else: */ ((__pyx_v__counts[0])[__pyx_v_i]) = 1; /* "mpi4py/MPI/msgbuffer.pxi":353 * for i from 0 <= i < blocks: * _counts[0][i] = 1 * _displs[0][i] = 0 # <<<<<<<<<<<<<< * else: * o_counts = chkarray(o_counts, blocks, _counts) */ ((__pyx_v__displs[0])[__pyx_v_i]) = 0; } /* "mpi4py/MPI/msgbuffer.pxi":348 * else: * o_buffer = getbuffer_w(o_buffer, _addr, NULL) * if o_counts is None and o_displs is None: # <<<<<<<<<<<<<< * o_counts = newarray(blocks, _counts) * o_displs = newarray(blocks, _displs) */ goto __pyx_L13; } /* "mpi4py/MPI/msgbuffer.pxi":355 * _displs[0][i] = 0 * else: * o_counts = chkarray(o_counts, blocks, _counts) # <<<<<<<<<<<<<< * o_displs = chkarray(o_displs, blocks, _displs) * o_types = asarray_Datatype(o_types, blocks, _types) */ /*else*/ { __pyx_t_8 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_o_counts, __pyx_v_blocks, __pyx_v__counts); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 355, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":356 * else: * o_counts = chkarray(o_counts, blocks, _counts) * o_displs = chkarray(o_displs, blocks, _displs) # <<<<<<<<<<<<<< * o_types = asarray_Datatype(o_types, blocks, _types) * return (o_buffer, o_counts, o_displs, o_types) */ __pyx_t_8 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_o_displs, __pyx_v_blocks, __pyx_v__displs); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_8); __pyx_t_8 = 0; } __pyx_L13:; /* "mpi4py/MPI/msgbuffer.pxi":357 * o_counts = chkarray(o_counts, blocks, _counts) * o_displs = chkarray(o_displs, blocks, _displs) * o_types = asarray_Datatype(o_types, blocks, _types) # <<<<<<<<<<<<<< * return (o_buffer, o_counts, o_displs, o_types) * */ __pyx_t_8 = __pyx_f_6mpi4py_3MPI_asarray_Datatype(__pyx_v_o_types, __pyx_v_blocks, __pyx_v__types); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_types, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":358 * o_displs = chkarray(o_displs, blocks, _displs) * o_types = asarray_Datatype(o_types, blocks, _types) * return (o_buffer, o_counts, o_displs, o_types) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(__pyx_r); __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_o_buffer); __Pyx_GIVEREF(__pyx_v_o_buffer); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_o_buffer); __Pyx_INCREF(__pyx_v_o_counts); __Pyx_GIVEREF(__pyx_v_o_counts); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_o_counts); __Pyx_INCREF(__pyx_v_o_displs); __Pyx_GIVEREF(__pyx_v_o_displs); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_v_o_displs); __Pyx_INCREF(__pyx_v_o_types); __Pyx_GIVEREF(__pyx_v_o_types); PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_v_o_types); __pyx_r = ((PyObject*)__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":323 * return m * * cdef tuple message_vector_w(object msg, # <<<<<<<<<<<<<< * int readonly, * int blocks, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_AddTraceback("mpi4py.MPI.message_vector_w", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_o_buffer); __Pyx_XDECREF(__pyx_v_o_counts); __Pyx_XDECREF(__pyx_v_o_displs); __Pyx_XDECREF(__pyx_v_o_types); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":373 * cdef object _msg * * def __cinit__(self): # <<<<<<<<<<<<<< * self.buf = NULL * self.count = 0 */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_10_p_msg_p2p_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_10_p_msg_p2p_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_6mpi4py_3MPI_10_p_msg_p2p___cinit__(((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_10_p_msg_p2p___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/msgbuffer.pxi":374 * * def __cinit__(self): * self.buf = NULL # <<<<<<<<<<<<<< * self.count = 0 * self.dtype = MPI_DATATYPE_NULL */ __pyx_v_self->buf = NULL; /* "mpi4py/MPI/msgbuffer.pxi":375 * def __cinit__(self): * self.buf = NULL * self.count = 0 # <<<<<<<<<<<<<< * self.dtype = MPI_DATATYPE_NULL * */ __pyx_v_self->count = 0; /* "mpi4py/MPI/msgbuffer.pxi":376 * self.buf = NULL * self.count = 0 * self.dtype = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * * cdef int for_send(self, object msg, int rank) except -1: */ __pyx_v_self->dtype = MPI_DATATYPE_NULL; /* "mpi4py/MPI/msgbuffer.pxi":373 * cdef object _msg * * def __cinit__(self): # <<<<<<<<<<<<<< * self.buf = NULL * self.count = 0 */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":378 * self.dtype = MPI_DATATYPE_NULL * * cdef int for_send(self, object msg, int rank) except -1: # <<<<<<<<<<<<<< * self._msg = message_simple(msg, 1, # readonly * rank, 0, */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_p2p_for_send(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_self, PyObject *__pyx_v_msg, int __pyx_v_rank) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_send", 0); /* "mpi4py/MPI/msgbuffer.pxi":379 * * cdef int for_send(self, object msg, int rank) except -1: * self._msg = message_simple(msg, 1, # readonly # <<<<<<<<<<<<<< * rank, 0, * &self.buf, */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_simple(__pyx_v_msg, 1, __pyx_v_rank, 0, (&__pyx_v_self->buf), (&__pyx_v_self->count), (&__pyx_v_self->dtype))); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_msg); __Pyx_DECREF(__pyx_v_self->_msg); __pyx_v_self->_msg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgbuffer.pxi":384 * &self.count, * &self.dtype) * return 0 # <<<<<<<<<<<<<< * * cdef int for_recv(self, object msg, int rank) except -1: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":378 * self.dtype = MPI_DATATYPE_NULL * * cdef int for_send(self, object msg, int rank) except -1: # <<<<<<<<<<<<<< * self._msg = message_simple(msg, 1, # readonly * rank, 0, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._p_msg_p2p.for_send", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":386 * return 0 * * cdef int for_recv(self, object msg, int rank) except -1: # <<<<<<<<<<<<<< * self._msg = message_simple(msg, 0, # writable * rank, 0, */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_p2p_for_recv(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_self, PyObject *__pyx_v_msg, int __pyx_v_rank) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_recv", 0); /* "mpi4py/MPI/msgbuffer.pxi":387 * * cdef int for_recv(self, object msg, int rank) except -1: * self._msg = message_simple(msg, 0, # writable # <<<<<<<<<<<<<< * rank, 0, * &self.buf, */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_simple(__pyx_v_msg, 0, __pyx_v_rank, 0, (&__pyx_v_self->buf), (&__pyx_v_self->count), (&__pyx_v_self->dtype))); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_msg); __Pyx_DECREF(__pyx_v_self->_msg); __pyx_v_self->_msg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgbuffer.pxi":392 * &self.count, * &self.dtype) * return 0 # <<<<<<<<<<<<<< * * cdef inline _p_msg_p2p message_p2p_send(object sendbuf, int dest): */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":386 * return 0 * * cdef int for_recv(self, object msg, int rank) except -1: # <<<<<<<<<<<<<< * self._msg = message_simple(msg, 0, # writable * rank, 0, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._p_msg_p2p.for_recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":394 * return 0 * * cdef inline _p_msg_p2p message_p2p_send(object sendbuf, int dest): # <<<<<<<<<<<<<< * cdef _p_msg_p2p msg = <_p_msg_p2p>_p_msg_p2p.__new__(_p_msg_p2p) * msg.for_send(sendbuf, dest) */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_f_6mpi4py_3MPI_message_p2p_send(PyObject *__pyx_v_sendbuf, int __pyx_v_dest) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_msg = 0; struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("message_p2p_send", 0); /* "mpi4py/MPI/msgbuffer.pxi":395 * * cdef inline _p_msg_p2p message_p2p_send(object sendbuf, int dest): * cdef _p_msg_p2p msg = <_p_msg_p2p>_p_msg_p2p.__new__(_p_msg_p2p) # <<<<<<<<<<<<<< * msg.for_send(sendbuf, dest) * return msg */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI__p_msg_p2p(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI__p_msg_p2p), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 395, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":396 * cdef inline _p_msg_p2p message_p2p_send(object sendbuf, int dest): * cdef _p_msg_p2p msg = <_p_msg_p2p>_p_msg_p2p.__new__(_p_msg_p2p) * msg.for_send(sendbuf, dest) # <<<<<<<<<<<<<< * return msg * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_10_p_msg_p2p_for_send(__pyx_v_msg, __pyx_v_sendbuf, __pyx_v_dest); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(5, 396, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":397 * cdef _p_msg_p2p msg = <_p_msg_p2p>_p_msg_p2p.__new__(_p_msg_p2p) * msg.for_send(sendbuf, dest) * return msg # <<<<<<<<<<<<<< * * cdef inline _p_msg_p2p message_p2p_recv(object recvbuf, int source): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_msg)); __pyx_r = __pyx_v_msg; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":394 * return 0 * * cdef inline _p_msg_p2p message_p2p_send(object sendbuf, int dest): # <<<<<<<<<<<<<< * cdef _p_msg_p2p msg = <_p_msg_p2p>_p_msg_p2p.__new__(_p_msg_p2p) * msg.for_send(sendbuf, dest) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.message_p2p_send", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":399 * return msg * * cdef inline _p_msg_p2p message_p2p_recv(object recvbuf, int source): # <<<<<<<<<<<<<< * cdef _p_msg_p2p msg = <_p_msg_p2p>_p_msg_p2p.__new__(_p_msg_p2p) * msg.for_recv(recvbuf, source) */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_f_6mpi4py_3MPI_message_p2p_recv(PyObject *__pyx_v_recvbuf, int __pyx_v_source) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_msg = 0; struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("message_p2p_recv", 0); /* "mpi4py/MPI/msgbuffer.pxi":400 * * cdef inline _p_msg_p2p message_p2p_recv(object recvbuf, int source): * cdef _p_msg_p2p msg = <_p_msg_p2p>_p_msg_p2p.__new__(_p_msg_p2p) # <<<<<<<<<<<<<< * msg.for_recv(recvbuf, source) * return msg */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI__p_msg_p2p(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI__p_msg_p2p), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 400, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":401 * cdef inline _p_msg_p2p message_p2p_recv(object recvbuf, int source): * cdef _p_msg_p2p msg = <_p_msg_p2p>_p_msg_p2p.__new__(_p_msg_p2p) * msg.for_recv(recvbuf, source) # <<<<<<<<<<<<<< * return msg * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_10_p_msg_p2p_for_recv(__pyx_v_msg, __pyx_v_recvbuf, __pyx_v_source); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(5, 401, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":402 * cdef _p_msg_p2p msg = <_p_msg_p2p>_p_msg_p2p.__new__(_p_msg_p2p) * msg.for_recv(recvbuf, source) * return msg # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_msg)); __pyx_r = __pyx_v_msg; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":399 * return msg * * cdef inline _p_msg_p2p message_p2p_recv(object recvbuf, int source): # <<<<<<<<<<<<<< * cdef _p_msg_p2p msg = <_p_msg_p2p>_p_msg_p2p.__new__(_p_msg_p2p) * msg.for_recv(recvbuf, source) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.message_p2p_recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":420 * cdef object _rcnt * * def __cinit__(self): # <<<<<<<<<<<<<< * self.sbuf = self.rbuf = NULL * self.scount = self.rcount = 0 */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_10_p_msg_cco_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_10_p_msg_cco_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_6mpi4py_3MPI_10_p_msg_cco___cinit__(((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_10_p_msg_cco___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/msgbuffer.pxi":421 * * def __cinit__(self): * self.sbuf = self.rbuf = NULL # <<<<<<<<<<<<<< * self.scount = self.rcount = 0 * self.scounts = self.rcounts = NULL */ __pyx_v_self->sbuf = NULL; __pyx_v_self->rbuf = NULL; /* "mpi4py/MPI/msgbuffer.pxi":422 * def __cinit__(self): * self.sbuf = self.rbuf = NULL * self.scount = self.rcount = 0 # <<<<<<<<<<<<<< * self.scounts = self.rcounts = NULL * self.sdispls = self.rdispls = NULL */ __pyx_v_self->scount = 0; __pyx_v_self->rcount = 0; /* "mpi4py/MPI/msgbuffer.pxi":423 * self.sbuf = self.rbuf = NULL * self.scount = self.rcount = 0 * self.scounts = self.rcounts = NULL # <<<<<<<<<<<<<< * self.sdispls = self.rdispls = NULL * self.stype = self.rtype = MPI_DATATYPE_NULL */ __pyx_v_self->scounts = NULL; __pyx_v_self->rcounts = NULL; /* "mpi4py/MPI/msgbuffer.pxi":424 * self.scount = self.rcount = 0 * self.scounts = self.rcounts = NULL * self.sdispls = self.rdispls = NULL # <<<<<<<<<<<<<< * self.stype = self.rtype = MPI_DATATYPE_NULL * */ __pyx_v_self->sdispls = NULL; __pyx_v_self->rdispls = NULL; /* "mpi4py/MPI/msgbuffer.pxi":425 * self.scounts = self.rcounts = NULL * self.sdispls = self.rdispls = NULL * self.stype = self.rtype = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * * # Collective Communication Operations */ __pyx_v_self->stype = MPI_DATATYPE_NULL; __pyx_v_self->rtype = MPI_DATATYPE_NULL; /* "mpi4py/MPI/msgbuffer.pxi":420 * cdef object _rcnt * * def __cinit__(self): # <<<<<<<<<<<<<< * self.sbuf = self.rbuf = NULL * self.scount = self.rcount = 0 */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":431 * * # sendbuf arguments * cdef int for_cco_send(self, bint VECTOR, # <<<<<<<<<<<<<< * object amsg, * int rank, int blocks) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_VECTOR, PyObject *__pyx_v_amsg, int __pyx_v_rank, int __pyx_v_blocks) { int __pyx_v_readonly; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_cco_send", 0); /* "mpi4py/MPI/msgbuffer.pxi":434 * object amsg, * int rank, int blocks) except -1: * cdef bint readonly = 1 # <<<<<<<<<<<<<< * if not VECTOR: # block variant * self._smsg = message_simple( */ __pyx_v_readonly = 1; /* "mpi4py/MPI/msgbuffer.pxi":435 * int rank, int blocks) except -1: * cdef bint readonly = 1 * if not VECTOR: # block variant # <<<<<<<<<<<<<< * self._smsg = message_simple( * amsg, readonly, rank, blocks, */ __pyx_t_1 = ((!(__pyx_v_VECTOR != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":436 * cdef bint readonly = 1 * if not VECTOR: # block variant * self._smsg = message_simple( # <<<<<<<<<<<<<< * amsg, readonly, rank, blocks, * &self.sbuf, &self.scount, &self.stype) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_simple(__pyx_v_amsg, __pyx_v_readonly, __pyx_v_rank, __pyx_v_blocks, (&__pyx_v_self->sbuf), (&__pyx_v_self->scount), (&__pyx_v_self->stype))); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->_smsg); __Pyx_DECREF(__pyx_v_self->_smsg); __pyx_v_self->_smsg = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":435 * int rank, int blocks) except -1: * cdef bint readonly = 1 * if not VECTOR: # block variant # <<<<<<<<<<<<<< * self._smsg = message_simple( * amsg, readonly, rank, blocks, */ goto __pyx_L3; } /* "mpi4py/MPI/msgbuffer.pxi":440 * &self.sbuf, &self.scount, &self.stype) * else: # vector variant * self._smsg = message_vector( # <<<<<<<<<<<<<< * amsg, readonly, rank, blocks, * &self.sbuf, &self.scounts, */ /*else*/ { /* "mpi4py/MPI/msgbuffer.pxi":443 * amsg, readonly, rank, blocks, * &self.sbuf, &self.scounts, * &self.sdispls, &self.stype) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_vector(__pyx_v_amsg, __pyx_v_readonly, __pyx_v_rank, __pyx_v_blocks, (&__pyx_v_self->sbuf), (&__pyx_v_self->scounts), (&__pyx_v_self->sdispls), (&__pyx_v_self->stype))); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); /* "mpi4py/MPI/msgbuffer.pxi":440 * &self.sbuf, &self.scount, &self.stype) * else: # vector variant * self._smsg = message_vector( # <<<<<<<<<<<<<< * amsg, readonly, rank, blocks, * &self.sbuf, &self.scounts, */ __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->_smsg); __Pyx_DECREF(__pyx_v_self->_smsg); __pyx_v_self->_smsg = __pyx_t_2; __pyx_t_2 = 0; } __pyx_L3:; /* "mpi4py/MPI/msgbuffer.pxi":444 * &self.sbuf, &self.scounts, * &self.sdispls, &self.stype) * return 0 # <<<<<<<<<<<<<< * * # recvbuf arguments */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":431 * * # sendbuf arguments * cdef int for_cco_send(self, bint VECTOR, # <<<<<<<<<<<<<< * object amsg, * int rank, int blocks) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_cco_send", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":447 * * # recvbuf arguments * cdef int for_cco_recv(self, bint VECTOR, # <<<<<<<<<<<<<< * object amsg, * int rank, int blocks) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_VECTOR, PyObject *__pyx_v_amsg, int __pyx_v_rank, int __pyx_v_blocks) { int __pyx_v_readonly; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_cco_recv", 0); /* "mpi4py/MPI/msgbuffer.pxi":450 * object amsg, * int rank, int blocks) except -1: * cdef bint readonly = 0 # <<<<<<<<<<<<<< * if not VECTOR: # block variant * self._rmsg = message_simple( */ __pyx_v_readonly = 0; /* "mpi4py/MPI/msgbuffer.pxi":451 * int rank, int blocks) except -1: * cdef bint readonly = 0 * if not VECTOR: # block variant # <<<<<<<<<<<<<< * self._rmsg = message_simple( * amsg, readonly, rank, blocks, */ __pyx_t_1 = ((!(__pyx_v_VECTOR != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":452 * cdef bint readonly = 0 * if not VECTOR: # block variant * self._rmsg = message_simple( # <<<<<<<<<<<<<< * amsg, readonly, rank, blocks, * &self.rbuf, &self.rcount, &self.rtype) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_simple(__pyx_v_amsg, __pyx_v_readonly, __pyx_v_rank, __pyx_v_blocks, (&__pyx_v_self->rbuf), (&__pyx_v_self->rcount), (&__pyx_v_self->rtype))); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->_rmsg); __Pyx_DECREF(__pyx_v_self->_rmsg); __pyx_v_self->_rmsg = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":451 * int rank, int blocks) except -1: * cdef bint readonly = 0 * if not VECTOR: # block variant # <<<<<<<<<<<<<< * self._rmsg = message_simple( * amsg, readonly, rank, blocks, */ goto __pyx_L3; } /* "mpi4py/MPI/msgbuffer.pxi":456 * &self.rbuf, &self.rcount, &self.rtype) * else: # vector variant * self._rmsg = message_vector( # <<<<<<<<<<<<<< * amsg, readonly, rank, blocks, * &self.rbuf, &self.rcounts, */ /*else*/ { /* "mpi4py/MPI/msgbuffer.pxi":459 * amsg, readonly, rank, blocks, * &self.rbuf, &self.rcounts, * &self.rdispls, &self.rtype) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_vector(__pyx_v_amsg, __pyx_v_readonly, __pyx_v_rank, __pyx_v_blocks, (&__pyx_v_self->rbuf), (&__pyx_v_self->rcounts), (&__pyx_v_self->rdispls), (&__pyx_v_self->rtype))); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); /* "mpi4py/MPI/msgbuffer.pxi":456 * &self.rbuf, &self.rcount, &self.rtype) * else: # vector variant * self._rmsg = message_vector( # <<<<<<<<<<<<<< * amsg, readonly, rank, blocks, * &self.rbuf, &self.rcounts, */ __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->_rmsg); __Pyx_DECREF(__pyx_v_self->_rmsg); __pyx_v_self->_rmsg = __pyx_t_2; __pyx_t_2 = 0; } __pyx_L3:; /* "mpi4py/MPI/msgbuffer.pxi":460 * &self.rbuf, &self.rcounts, * &self.rdispls, &self.rtype) * return 0 # <<<<<<<<<<<<<< * * # bcast */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":447 * * # recvbuf arguments * cdef int for_cco_recv(self, bint VECTOR, # <<<<<<<<<<<<<< * object amsg, * int rank, int blocks) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_cco_recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":463 * * # bcast * cdef int for_bcast(self, # <<<<<<<<<<<<<< * object msg, int root, * MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_bcast(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_msg, int __pyx_v_root, MPI_Comm __pyx_v_comm) { int __pyx_v_inter; int __pyx_v_rank; int __pyx_v_sending; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; void *__pyx_t_4; MPI_Datatype __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_bcast", 0); /* "mpi4py/MPI/msgbuffer.pxi":466 * object msg, int root, * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int inter=0, rank=0, sending=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":467 * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, rank=0, sending=0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication */ __pyx_v_inter = 0; __pyx_v_rank = 0; __pyx_v_sending = 0; /* "mpi4py/MPI/msgbuffer.pxi":468 * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, rank=0, sending=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if not inter: # intra-communication * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 468, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":469 * cdef int inter=0, rank=0, sending=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: */ __pyx_t_1 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":470 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * if root == rank: * self.for_cco_send(0, msg, root, 0) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 470, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":471 * if not inter: # intra-communication * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * self.for_cco_send(0, msg, root, 0) * sending = 1 */ __pyx_t_1 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":472 * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: * self.for_cco_send(0, msg, root, 0) # <<<<<<<<<<<<<< * sending = 1 * else: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, 0, __pyx_v_msg, __pyx_v_root, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 472, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":473 * if root == rank: * self.for_cco_send(0, msg, root, 0) * sending = 1 # <<<<<<<<<<<<<< * else: * self.for_cco_recv(0, msg, root, 0) */ __pyx_v_sending = 1; /* "mpi4py/MPI/msgbuffer.pxi":471 * if not inter: # intra-communication * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * self.for_cco_send(0, msg, root, 0) * sending = 1 */ goto __pyx_L5; } /* "mpi4py/MPI/msgbuffer.pxi":475 * sending = 1 * else: * self.for_cco_recv(0, msg, root, 0) # <<<<<<<<<<<<<< * sending = 0 * else: # inter-communication */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, 0, __pyx_v_msg, __pyx_v_root, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 475, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":476 * else: * self.for_cco_recv(0, msg, root, 0) * sending = 0 # <<<<<<<<<<<<<< * else: # inter-communication * if (root == MPI_ROOT or */ __pyx_v_sending = 0; } __pyx_L5:; /* "mpi4py/MPI/msgbuffer.pxi":469 * cdef int inter=0, rank=0, sending=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":478 * sending = 0 * else: # inter-communication * if (root == MPI_ROOT or # <<<<<<<<<<<<<< * root == MPI_PROC_NULL): * self.for_cco_send(0, msg, root, 0) */ /*else*/ { __pyx_t_3 = ((__pyx_v_root == MPI_ROOT) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L7_bool_binop_done; } /* "mpi4py/MPI/msgbuffer.pxi":479 * else: # inter-communication * if (root == MPI_ROOT or * root == MPI_PROC_NULL): # <<<<<<<<<<<<<< * self.for_cco_send(0, msg, root, 0) * sending = 1 */ __pyx_t_3 = ((__pyx_v_root == MPI_PROC_NULL) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L7_bool_binop_done:; /* "mpi4py/MPI/msgbuffer.pxi":478 * sending = 0 * else: # inter-communication * if (root == MPI_ROOT or # <<<<<<<<<<<<<< * root == MPI_PROC_NULL): * self.for_cco_send(0, msg, root, 0) */ if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":480 * if (root == MPI_ROOT or * root == MPI_PROC_NULL): * self.for_cco_send(0, msg, root, 0) # <<<<<<<<<<<<<< * sending = 1 * else: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, 0, __pyx_v_msg, __pyx_v_root, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 480, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":481 * root == MPI_PROC_NULL): * self.for_cco_send(0, msg, root, 0) * sending = 1 # <<<<<<<<<<<<<< * else: * self.for_cco_recv(0, msg, root, 0) */ __pyx_v_sending = 1; /* "mpi4py/MPI/msgbuffer.pxi":478 * sending = 0 * else: # inter-communication * if (root == MPI_ROOT or # <<<<<<<<<<<<<< * root == MPI_PROC_NULL): * self.for_cco_send(0, msg, root, 0) */ goto __pyx_L6; } /* "mpi4py/MPI/msgbuffer.pxi":483 * sending = 1 * else: * self.for_cco_recv(0, msg, root, 0) # <<<<<<<<<<<<<< * sending = 0 * if sending: */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, 0, __pyx_v_msg, __pyx_v_root, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 483, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":484 * else: * self.for_cco_recv(0, msg, root, 0) * sending = 0 # <<<<<<<<<<<<<< * if sending: * self.rbuf = self.sbuf */ __pyx_v_sending = 0; } __pyx_L6:; } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":485 * self.for_cco_recv(0, msg, root, 0) * sending = 0 * if sending: # <<<<<<<<<<<<<< * self.rbuf = self.sbuf * self.rcount = self.scount */ __pyx_t_1 = (__pyx_v_sending != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":486 * sending = 0 * if sending: * self.rbuf = self.sbuf # <<<<<<<<<<<<<< * self.rcount = self.scount * self.rtype = self.stype */ __pyx_t_4 = __pyx_v_self->sbuf; __pyx_v_self->rbuf = __pyx_t_4; /* "mpi4py/MPI/msgbuffer.pxi":487 * if sending: * self.rbuf = self.sbuf * self.rcount = self.scount # <<<<<<<<<<<<<< * self.rtype = self.stype * else: */ __pyx_t_2 = __pyx_v_self->scount; __pyx_v_self->rcount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":488 * self.rbuf = self.sbuf * self.rcount = self.scount * self.rtype = self.stype # <<<<<<<<<<<<<< * else: * self.sbuf = self.rbuf */ __pyx_t_5 = __pyx_v_self->stype; __pyx_v_self->rtype = __pyx_t_5; /* "mpi4py/MPI/msgbuffer.pxi":485 * self.for_cco_recv(0, msg, root, 0) * sending = 0 * if sending: # <<<<<<<<<<<<<< * self.rbuf = self.sbuf * self.rcount = self.scount */ goto __pyx_L9; } /* "mpi4py/MPI/msgbuffer.pxi":490 * self.rtype = self.stype * else: * self.sbuf = self.rbuf # <<<<<<<<<<<<<< * self.scount = self.rcount * self.stype = self.rtype */ /*else*/ { __pyx_t_4 = __pyx_v_self->rbuf; __pyx_v_self->sbuf = __pyx_t_4; /* "mpi4py/MPI/msgbuffer.pxi":491 * else: * self.sbuf = self.rbuf * self.scount = self.rcount # <<<<<<<<<<<<<< * self.stype = self.rtype * return 0 */ __pyx_t_2 = __pyx_v_self->rcount; __pyx_v_self->scount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":492 * self.sbuf = self.rbuf * self.scount = self.rcount * self.stype = self.rtype # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_5 = __pyx_v_self->rtype; __pyx_v_self->stype = __pyx_t_5; } __pyx_L9:; /* "mpi4py/MPI/msgbuffer.pxi":493 * self.scount = self.rcount * self.stype = self.rtype * return 0 # <<<<<<<<<<<<<< * * # gather/gatherv */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":463 * * # bcast * cdef int for_bcast(self, # <<<<<<<<<<<<<< * object msg, int root, * MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_bcast", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":496 * * # gather/gatherv * cdef int for_gather(self, int v, # <<<<<<<<<<<<<< * object smsg, object rmsg, * int root, MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_gather(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_v, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, int __pyx_v_root, MPI_Comm __pyx_v_comm) { int __pyx_v_inter; int __pyx_v_size; int __pyx_v_rank; int __pyx_v_null; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; MPI_Datatype __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_gather", 0); /* "mpi4py/MPI/msgbuffer.pxi":499 * object smsg, object rmsg, * int root, MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int inter=0, size=0, rank=0, null=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":500 * int root, MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0, rank=0, null=MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication */ __pyx_v_inter = 0; __pyx_v_size = 0; __pyx_v_rank = 0; __pyx_v_null = MPI_PROC_NULL; /* "mpi4py/MPI/msgbuffer.pxi":501 * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0, rank=0, null=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if not inter: # intra-communication * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 501, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":502 * cdef int inter=0, size=0, rank=0, null=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_t_1 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":503 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 503, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":504 * if not inter: # intra-communication * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * if root == rank: * self.for_cco_recv(v, rmsg, root, size) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 504, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":505 * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * self.for_cco_recv(v, rmsg, root, size) * if smsg is __IN_PLACE__: */ __pyx_t_1 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":506 * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: * self.for_cco_recv(v, rmsg, root, size) # <<<<<<<<<<<<<< * if smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, __pyx_v_v, __pyx_v_rmsg, __pyx_v_root, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 506, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":507 * if root == rank: * self.for_cco_recv(v, rmsg, root, size) * if smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ __pyx_t_1 = (__pyx_v_smsg == __pyx_v_6mpi4py_3MPI___IN_PLACE__); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":508 * self.for_cco_recv(v, rmsg, root, size) * if smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE # <<<<<<<<<<<<<< * self.scount = self.rcount * self.stype = self.rtype */ __pyx_v_self->sbuf = MPI_IN_PLACE; /* "mpi4py/MPI/msgbuffer.pxi":509 * if smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount # <<<<<<<<<<<<<< * self.stype = self.rtype * else: */ __pyx_t_2 = __pyx_v_self->rcount; __pyx_v_self->scount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":510 * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount * self.stype = self.rtype # <<<<<<<<<<<<<< * else: * self.for_cco_send(0, smsg, 0, 0) */ __pyx_t_4 = __pyx_v_self->rtype; __pyx_v_self->stype = __pyx_t_4; /* "mpi4py/MPI/msgbuffer.pxi":507 * if root == rank: * self.for_cco_recv(v, rmsg, root, size) * if smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ goto __pyx_L6; } /* "mpi4py/MPI/msgbuffer.pxi":512 * self.stype = self.rtype * else: * self.for_cco_send(0, smsg, 0, 0) # <<<<<<<<<<<<<< * else: * self.for_cco_recv(v, rmsg, null, size) */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, 0, __pyx_v_smsg, 0, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 512, __pyx_L1_error) } __pyx_L6:; /* "mpi4py/MPI/msgbuffer.pxi":505 * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * self.for_cco_recv(v, rmsg, root, size) * if smsg is __IN_PLACE__: */ goto __pyx_L5; } /* "mpi4py/MPI/msgbuffer.pxi":514 * self.for_cco_send(0, smsg, 0, 0) * else: * self.for_cco_recv(v, rmsg, null, size) # <<<<<<<<<<<<<< * self.for_cco_send(0, smsg, root, 0) * else: # inter-communication */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, __pyx_v_v, __pyx_v_rmsg, __pyx_v_null, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 514, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":515 * else: * self.for_cco_recv(v, rmsg, null, size) * self.for_cco_send(0, smsg, root, 0) # <<<<<<<<<<<<<< * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, 0, __pyx_v_smsg, __pyx_v_root, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 515, __pyx_L1_error) } __pyx_L5:; /* "mpi4py/MPI/msgbuffer.pxi":502 * cdef int inter=0, size=0, rank=0, null=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":517 * self.for_cco_send(0, smsg, root, 0) * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) # <<<<<<<<<<<<<< * if (root == MPI_ROOT or * root == MPI_PROC_NULL): */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 517, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":518 * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if (root == MPI_ROOT or # <<<<<<<<<<<<<< * root == MPI_PROC_NULL): * self.for_cco_recv(v, rmsg, root, size) */ __pyx_t_1 = ((__pyx_v_root == MPI_ROOT) != 0); if (!__pyx_t_1) { } else { __pyx_t_3 = __pyx_t_1; goto __pyx_L8_bool_binop_done; } /* "mpi4py/MPI/msgbuffer.pxi":519 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if (root == MPI_ROOT or * root == MPI_PROC_NULL): # <<<<<<<<<<<<<< * self.for_cco_recv(v, rmsg, root, size) * self.for_cco_send(0, smsg, null, 0) */ __pyx_t_1 = ((__pyx_v_root == MPI_PROC_NULL) != 0); __pyx_t_3 = __pyx_t_1; __pyx_L8_bool_binop_done:; /* "mpi4py/MPI/msgbuffer.pxi":518 * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if (root == MPI_ROOT or # <<<<<<<<<<<<<< * root == MPI_PROC_NULL): * self.for_cco_recv(v, rmsg, root, size) */ if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":520 * if (root == MPI_ROOT or * root == MPI_PROC_NULL): * self.for_cco_recv(v, rmsg, root, size) # <<<<<<<<<<<<<< * self.for_cco_send(0, smsg, null, 0) * else: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, __pyx_v_v, __pyx_v_rmsg, __pyx_v_root, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 520, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":521 * root == MPI_PROC_NULL): * self.for_cco_recv(v, rmsg, root, size) * self.for_cco_send(0, smsg, null, 0) # <<<<<<<<<<<<<< * else: * self.for_cco_recv(v, rmsg, null, size) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, 0, __pyx_v_smsg, __pyx_v_null, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 521, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":518 * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if (root == MPI_ROOT or # <<<<<<<<<<<<<< * root == MPI_PROC_NULL): * self.for_cco_recv(v, rmsg, root, size) */ goto __pyx_L7; } /* "mpi4py/MPI/msgbuffer.pxi":523 * self.for_cco_send(0, smsg, null, 0) * else: * self.for_cco_recv(v, rmsg, null, size) # <<<<<<<<<<<<<< * self.for_cco_send(0, smsg, root, 0) * return 0 */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, __pyx_v_v, __pyx_v_rmsg, __pyx_v_null, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 523, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":524 * else: * self.for_cco_recv(v, rmsg, null, size) * self.for_cco_send(0, smsg, root, 0) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, 0, __pyx_v_smsg, __pyx_v_root, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 524, __pyx_L1_error) } __pyx_L7:; } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":525 * self.for_cco_recv(v, rmsg, null, size) * self.for_cco_send(0, smsg, root, 0) * return 0 # <<<<<<<<<<<<<< * * # scatter/scatterv */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":496 * * # gather/gatherv * cdef int for_gather(self, int v, # <<<<<<<<<<<<<< * object smsg, object rmsg, * int root, MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_gather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":528 * * # scatter/scatterv * cdef int for_scatter(self, int v, # <<<<<<<<<<<<<< * object smsg, object rmsg, * int root, MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scatter(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_v, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, int __pyx_v_root, MPI_Comm __pyx_v_comm) { int __pyx_v_inter; int __pyx_v_size; int __pyx_v_rank; int __pyx_v_null; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; MPI_Datatype __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_scatter", 0); /* "mpi4py/MPI/msgbuffer.pxi":531 * object smsg, object rmsg, * int root, MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int inter=0, size=0, rank=0, null=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":532 * int root, MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0, rank=0, null=MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication */ __pyx_v_inter = 0; __pyx_v_size = 0; __pyx_v_rank = 0; __pyx_v_null = MPI_PROC_NULL; /* "mpi4py/MPI/msgbuffer.pxi":533 * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0, rank=0, null=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if not inter: # intra-communication * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 533, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":534 * cdef int inter=0, size=0, rank=0, null=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_t_1 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":535 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 535, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":536 * if not inter: # intra-communication * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * if root == rank: * self.for_cco_send(v, smsg, root, size) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 536, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":537 * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * self.for_cco_send(v, smsg, root, size) * if rmsg is __IN_PLACE__: */ __pyx_t_1 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":538 * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: * self.for_cco_send(v, smsg, root, size) # <<<<<<<<<<<<<< * if rmsg is __IN_PLACE__: * self.rbuf = MPI_IN_PLACE */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, __pyx_v_v, __pyx_v_smsg, __pyx_v_root, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 538, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":539 * if root == rank: * self.for_cco_send(v, smsg, root, size) * if rmsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.rbuf = MPI_IN_PLACE * self.rcount = self.scount */ __pyx_t_1 = (__pyx_v_rmsg == __pyx_v_6mpi4py_3MPI___IN_PLACE__); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":540 * self.for_cco_send(v, smsg, root, size) * if rmsg is __IN_PLACE__: * self.rbuf = MPI_IN_PLACE # <<<<<<<<<<<<<< * self.rcount = self.scount * self.rtype = self.stype */ __pyx_v_self->rbuf = MPI_IN_PLACE; /* "mpi4py/MPI/msgbuffer.pxi":541 * if rmsg is __IN_PLACE__: * self.rbuf = MPI_IN_PLACE * self.rcount = self.scount # <<<<<<<<<<<<<< * self.rtype = self.stype * else: */ __pyx_t_2 = __pyx_v_self->scount; __pyx_v_self->rcount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":542 * self.rbuf = MPI_IN_PLACE * self.rcount = self.scount * self.rtype = self.stype # <<<<<<<<<<<<<< * else: * self.for_cco_recv(0, rmsg, root, 0) */ __pyx_t_4 = __pyx_v_self->stype; __pyx_v_self->rtype = __pyx_t_4; /* "mpi4py/MPI/msgbuffer.pxi":539 * if root == rank: * self.for_cco_send(v, smsg, root, size) * if rmsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.rbuf = MPI_IN_PLACE * self.rcount = self.scount */ goto __pyx_L6; } /* "mpi4py/MPI/msgbuffer.pxi":544 * self.rtype = self.stype * else: * self.for_cco_recv(0, rmsg, root, 0) # <<<<<<<<<<<<<< * else: * self.for_cco_send(v, smsg, null, size) */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, 0, __pyx_v_rmsg, __pyx_v_root, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 544, __pyx_L1_error) } __pyx_L6:; /* "mpi4py/MPI/msgbuffer.pxi":537 * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * self.for_cco_send(v, smsg, root, size) * if rmsg is __IN_PLACE__: */ goto __pyx_L5; } /* "mpi4py/MPI/msgbuffer.pxi":546 * self.for_cco_recv(0, rmsg, root, 0) * else: * self.for_cco_send(v, smsg, null, size) # <<<<<<<<<<<<<< * self.for_cco_recv(0, rmsg, root, 0) * else: # inter-communication */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, __pyx_v_v, __pyx_v_smsg, __pyx_v_null, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 546, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":547 * else: * self.for_cco_send(v, smsg, null, size) * self.for_cco_recv(0, rmsg, root, 0) # <<<<<<<<<<<<<< * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, 0, __pyx_v_rmsg, __pyx_v_root, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 547, __pyx_L1_error) } __pyx_L5:; /* "mpi4py/MPI/msgbuffer.pxi":534 * cdef int inter=0, size=0, rank=0, null=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":549 * self.for_cco_recv(0, rmsg, root, 0) * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) # <<<<<<<<<<<<<< * if (root == MPI_ROOT or * root == MPI_PROC_NULL): */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 549, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":550 * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if (root == MPI_ROOT or # <<<<<<<<<<<<<< * root == MPI_PROC_NULL): * self.for_cco_send(v, smsg, root, size) */ __pyx_t_1 = ((__pyx_v_root == MPI_ROOT) != 0); if (!__pyx_t_1) { } else { __pyx_t_3 = __pyx_t_1; goto __pyx_L8_bool_binop_done; } /* "mpi4py/MPI/msgbuffer.pxi":551 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if (root == MPI_ROOT or * root == MPI_PROC_NULL): # <<<<<<<<<<<<<< * self.for_cco_send(v, smsg, root, size) * self.for_cco_recv(0, rmsg, null, 0) */ __pyx_t_1 = ((__pyx_v_root == MPI_PROC_NULL) != 0); __pyx_t_3 = __pyx_t_1; __pyx_L8_bool_binop_done:; /* "mpi4py/MPI/msgbuffer.pxi":550 * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if (root == MPI_ROOT or # <<<<<<<<<<<<<< * root == MPI_PROC_NULL): * self.for_cco_send(v, smsg, root, size) */ if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":552 * if (root == MPI_ROOT or * root == MPI_PROC_NULL): * self.for_cco_send(v, smsg, root, size) # <<<<<<<<<<<<<< * self.for_cco_recv(0, rmsg, null, 0) * else: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, __pyx_v_v, __pyx_v_smsg, __pyx_v_root, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 552, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":553 * root == MPI_PROC_NULL): * self.for_cco_send(v, smsg, root, size) * self.for_cco_recv(0, rmsg, null, 0) # <<<<<<<<<<<<<< * else: * self.for_cco_send(v, smsg, null, size) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, 0, __pyx_v_rmsg, __pyx_v_null, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 553, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":550 * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if (root == MPI_ROOT or # <<<<<<<<<<<<<< * root == MPI_PROC_NULL): * self.for_cco_send(v, smsg, root, size) */ goto __pyx_L7; } /* "mpi4py/MPI/msgbuffer.pxi":555 * self.for_cco_recv(0, rmsg, null, 0) * else: * self.for_cco_send(v, smsg, null, size) # <<<<<<<<<<<<<< * self.for_cco_recv(0, rmsg, root, 0) * return 0 */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, __pyx_v_v, __pyx_v_smsg, __pyx_v_null, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 555, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":556 * else: * self.for_cco_send(v, smsg, null, size) * self.for_cco_recv(0, rmsg, root, 0) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, 0, __pyx_v_rmsg, __pyx_v_root, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 556, __pyx_L1_error) } __pyx_L7:; } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":557 * self.for_cco_send(v, smsg, null, size) * self.for_cco_recv(0, rmsg, root, 0) * return 0 # <<<<<<<<<<<<<< * * # allgather/allgatherv */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":528 * * # scatter/scatterv * cdef int for_scatter(self, int v, # <<<<<<<<<<<<<< * object smsg, object rmsg, * int root, MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_scatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":560 * * # allgather/allgatherv * cdef int for_allgather(self, int v, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allgather(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_v, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm) { int __pyx_v_inter; int __pyx_v_size; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; MPI_Datatype __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_allgather", 0); /* "mpi4py/MPI/msgbuffer.pxi":563 * object smsg, object rmsg, * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":564 * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication */ __pyx_v_inter = 0; __pyx_v_size = 0; /* "mpi4py/MPI/msgbuffer.pxi":565 * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if not inter: # intra-communication * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 565, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":566 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * else: # inter-communication */ __pyx_t_1 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":567 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 567, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":566 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * else: # inter-communication */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":569 * CHKERR( MPI_Comm_size(comm, &size) ) * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) # <<<<<<<<<<<<<< * # * self.for_cco_recv(v, rmsg, 0, size) */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 569, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":571 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * # * self.for_cco_recv(v, rmsg, 0, size) # <<<<<<<<<<<<<< * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, __pyx_v_v, __pyx_v_rmsg, 0, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 571, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":572 * # * self.for_cco_recv(v, rmsg, 0, size) * if not inter and smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ __pyx_t_3 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } __pyx_t_3 = (__pyx_v_smsg == __pyx_v_6mpi4py_3MPI___IN_PLACE__); __pyx_t_4 = (__pyx_t_3 != 0); __pyx_t_1 = __pyx_t_4; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":573 * self.for_cco_recv(v, rmsg, 0, size) * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE # <<<<<<<<<<<<<< * self.scount = self.rcount * self.stype = self.rtype */ __pyx_v_self->sbuf = MPI_IN_PLACE; /* "mpi4py/MPI/msgbuffer.pxi":574 * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount # <<<<<<<<<<<<<< * self.stype = self.rtype * else: */ __pyx_t_2 = __pyx_v_self->rcount; __pyx_v_self->scount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":575 * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount * self.stype = self.rtype # <<<<<<<<<<<<<< * else: * self.for_cco_send(0, smsg, 0, 0) */ __pyx_t_5 = __pyx_v_self->rtype; __pyx_v_self->stype = __pyx_t_5; /* "mpi4py/MPI/msgbuffer.pxi":572 * # * self.for_cco_recv(v, rmsg, 0, size) * if not inter and smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ goto __pyx_L5; } /* "mpi4py/MPI/msgbuffer.pxi":577 * self.stype = self.rtype * else: * self.for_cco_send(0, smsg, 0, 0) # <<<<<<<<<<<<<< * return 0 * */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, 0, __pyx_v_smsg, 0, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 577, __pyx_L1_error) } __pyx_L5:; /* "mpi4py/MPI/msgbuffer.pxi":578 * else: * self.for_cco_send(0, smsg, 0, 0) * return 0 # <<<<<<<<<<<<<< * * # alltoall/alltoallv */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":560 * * # allgather/allgatherv * cdef int for_allgather(self, int v, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":581 * * # alltoall/alltoallv * cdef int for_alltoall(self, int v, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_alltoall(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_v, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm) { int __pyx_v_inter; int __pyx_v_size; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int *__pyx_t_5; MPI_Datatype __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_alltoall", 0); /* "mpi4py/MPI/msgbuffer.pxi":584 * object smsg, object rmsg, * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":585 * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication */ __pyx_v_inter = 0; __pyx_v_size = 0; /* "mpi4py/MPI/msgbuffer.pxi":586 * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if not inter: # intra-communication * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 586, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":587 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * else: # inter-communication */ __pyx_t_1 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":588 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 588, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":587 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * else: # inter-communication */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":590 * CHKERR( MPI_Comm_size(comm, &size) ) * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) # <<<<<<<<<<<<<< * # * self.for_cco_recv(v, rmsg, 0, size) */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 590, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":592 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * # * self.for_cco_recv(v, rmsg, 0, size) # <<<<<<<<<<<<<< * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, __pyx_v_v, __pyx_v_rmsg, 0, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 592, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":593 * # * self.for_cco_recv(v, rmsg, 0, size) * if not inter and smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ __pyx_t_3 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } __pyx_t_3 = (__pyx_v_smsg == __pyx_v_6mpi4py_3MPI___IN_PLACE__); __pyx_t_4 = (__pyx_t_3 != 0); __pyx_t_1 = __pyx_t_4; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":594 * self.for_cco_recv(v, rmsg, 0, size) * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE # <<<<<<<<<<<<<< * self.scount = self.rcount * self.scounts = self.rcounts */ __pyx_v_self->sbuf = MPI_IN_PLACE; /* "mpi4py/MPI/msgbuffer.pxi":595 * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount # <<<<<<<<<<<<<< * self.scounts = self.rcounts * self.sdispls = self.rdispls */ __pyx_t_2 = __pyx_v_self->rcount; __pyx_v_self->scount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":596 * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount * self.scounts = self.rcounts # <<<<<<<<<<<<<< * self.sdispls = self.rdispls * self.stype = self.rtype */ __pyx_t_5 = __pyx_v_self->rcounts; __pyx_v_self->scounts = __pyx_t_5; /* "mpi4py/MPI/msgbuffer.pxi":597 * self.scount = self.rcount * self.scounts = self.rcounts * self.sdispls = self.rdispls # <<<<<<<<<<<<<< * self.stype = self.rtype * else: */ __pyx_t_5 = __pyx_v_self->rdispls; __pyx_v_self->sdispls = __pyx_t_5; /* "mpi4py/MPI/msgbuffer.pxi":598 * self.scounts = self.rcounts * self.sdispls = self.rdispls * self.stype = self.rtype # <<<<<<<<<<<<<< * else: * self.for_cco_send(v, smsg, 0, size) */ __pyx_t_6 = __pyx_v_self->rtype; __pyx_v_self->stype = __pyx_t_6; /* "mpi4py/MPI/msgbuffer.pxi":593 * # * self.for_cco_recv(v, rmsg, 0, size) * if not inter and smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ goto __pyx_L5; } /* "mpi4py/MPI/msgbuffer.pxi":600 * self.stype = self.rtype * else: * self.for_cco_send(v, smsg, 0, size) # <<<<<<<<<<<<<< * return 0 * */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, __pyx_v_v, __pyx_v_smsg, 0, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 600, __pyx_L1_error) } __pyx_L5:; /* "mpi4py/MPI/msgbuffer.pxi":601 * else: * self.for_cco_send(v, smsg, 0, size) * return 0 # <<<<<<<<<<<<<< * * # Neighbor Collectives */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":581 * * # alltoall/alltoallv * cdef int for_alltoall(self, int v, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":607 * * # neighbor allgather/allgatherv * cdef int for_neighbor_allgather(self, int v, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_allgather(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_v, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm) { int __pyx_v_recvsize; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_neighbor_allgather", 0); /* "mpi4py/MPI/msgbuffer.pxi":610 * object smsg, object rmsg, * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int recvsize=0 * comm_neighbors_count(comm, &recvsize, NULL) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":611 * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int recvsize=0 # <<<<<<<<<<<<<< * comm_neighbors_count(comm, &recvsize, NULL) * self.for_cco_send(0, smsg, 0, 0) */ __pyx_v_recvsize = 0; /* "mpi4py/MPI/msgbuffer.pxi":612 * if comm == MPI_COMM_NULL: return 0 * cdef int recvsize=0 * comm_neighbors_count(comm, &recvsize, NULL) # <<<<<<<<<<<<<< * self.for_cco_send(0, smsg, 0, 0) * self.for_cco_recv(v, rmsg, 0, recvsize) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_comm_neighbors_count(__pyx_v_comm, (&__pyx_v_recvsize), NULL); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 612, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":613 * cdef int recvsize=0 * comm_neighbors_count(comm, &recvsize, NULL) * self.for_cco_send(0, smsg, 0, 0) # <<<<<<<<<<<<<< * self.for_cco_recv(v, rmsg, 0, recvsize) * return 0 */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, 0, __pyx_v_smsg, 0, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 613, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":614 * comm_neighbors_count(comm, &recvsize, NULL) * self.for_cco_send(0, smsg, 0, 0) * self.for_cco_recv(v, rmsg, 0, recvsize) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, __pyx_v_v, __pyx_v_rmsg, 0, __pyx_v_recvsize); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 614, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":615 * self.for_cco_send(0, smsg, 0, 0) * self.for_cco_recv(v, rmsg, 0, recvsize) * return 0 # <<<<<<<<<<<<<< * * # neighbor alltoall/alltoallv */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":607 * * # neighbor allgather/allgatherv * cdef int for_neighbor_allgather(self, int v, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_neighbor_allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":618 * * # neighbor alltoall/alltoallv * cdef int for_neighbor_alltoall(self, int v, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_alltoall(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, int __pyx_v_v, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm) { int __pyx_v_sendsize; int __pyx_v_recvsize; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_neighbor_alltoall", 0); /* "mpi4py/MPI/msgbuffer.pxi":621 * object smsg, object rmsg, * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int sendsize=0, recvsize=0 * comm_neighbors_count(comm, &recvsize, &sendsize) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":622 * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int sendsize=0, recvsize=0 # <<<<<<<<<<<<<< * comm_neighbors_count(comm, &recvsize, &sendsize) * self.for_cco_send(v, smsg, 0, sendsize) */ __pyx_v_sendsize = 0; __pyx_v_recvsize = 0; /* "mpi4py/MPI/msgbuffer.pxi":623 * if comm == MPI_COMM_NULL: return 0 * cdef int sendsize=0, recvsize=0 * comm_neighbors_count(comm, &recvsize, &sendsize) # <<<<<<<<<<<<<< * self.for_cco_send(v, smsg, 0, sendsize) * self.for_cco_recv(v, rmsg, 0, recvsize) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_comm_neighbors_count(__pyx_v_comm, (&__pyx_v_recvsize), (&__pyx_v_sendsize)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 623, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":624 * cdef int sendsize=0, recvsize=0 * comm_neighbors_count(comm, &recvsize, &sendsize) * self.for_cco_send(v, smsg, 0, sendsize) # <<<<<<<<<<<<<< * self.for_cco_recv(v, rmsg, 0, recvsize) * return 0 */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, __pyx_v_v, __pyx_v_smsg, 0, __pyx_v_sendsize); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 624, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":625 * comm_neighbors_count(comm, &recvsize, &sendsize) * self.for_cco_send(v, smsg, 0, sendsize) * self.for_cco_recv(v, rmsg, 0, recvsize) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, __pyx_v_v, __pyx_v_rmsg, 0, __pyx_v_recvsize); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 625, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":626 * self.for_cco_send(v, smsg, 0, sendsize) * self.for_cco_recv(v, rmsg, 0, recvsize) * return 0 # <<<<<<<<<<<<<< * * # Collective Reductions Operations */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":618 * * # neighbor alltoall/alltoallv * cdef int for_neighbor_alltoall(self, int v, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_neighbor_alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":632 * * # sendbuf * cdef int for_cro_send(self, object amsg, int root) except -1: # <<<<<<<<<<<<<< * self._smsg = message_simple(amsg, 1, # readonly * root, 0, */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_send(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_amsg, int __pyx_v_root) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_cro_send", 0); /* "mpi4py/MPI/msgbuffer.pxi":633 * # sendbuf * cdef int for_cro_send(self, object amsg, int root) except -1: * self._smsg = message_simple(amsg, 1, # readonly # <<<<<<<<<<<<<< * root, 0, * &self.sbuf, */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_simple(__pyx_v_amsg, 1, __pyx_v_root, 0, (&__pyx_v_self->sbuf), (&__pyx_v_self->scount), (&__pyx_v_self->stype))); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_smsg); __Pyx_DECREF(__pyx_v_self->_smsg); __pyx_v_self->_smsg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgbuffer.pxi":638 * &self.scount, * &self.stype) * return 0 # <<<<<<<<<<<<<< * * # recvbuf */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":632 * * # sendbuf * cdef int for_cro_send(self, object amsg, int root) except -1: # <<<<<<<<<<<<<< * self._smsg = message_simple(amsg, 1, # readonly * root, 0, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_cro_send", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":641 * * # recvbuf * cdef int for_cro_recv(self, object amsg, int root) except -1: # <<<<<<<<<<<<<< * self._rmsg = message_simple(amsg, 0, # writable * root, 0, */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_recv(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_amsg, int __pyx_v_root) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_cro_recv", 0); /* "mpi4py/MPI/msgbuffer.pxi":642 * # recvbuf * cdef int for_cro_recv(self, object amsg, int root) except -1: * self._rmsg = message_simple(amsg, 0, # writable # <<<<<<<<<<<<<< * root, 0, * &self.rbuf, */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_simple(__pyx_v_amsg, 0, __pyx_v_root, 0, (&__pyx_v_self->rbuf), (&__pyx_v_self->rcount), (&__pyx_v_self->rtype))); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_rmsg); __Pyx_DECREF(__pyx_v_self->_rmsg); __pyx_v_self->_rmsg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgbuffer.pxi":647 * &self.rcount, * &self.rtype) * return 0 # <<<<<<<<<<<<<< * * cdef int for_reduce(self, */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":641 * * # recvbuf * cdef int for_cro_recv(self, object amsg, int root) except -1: # <<<<<<<<<<<<<< * self._rmsg = message_simple(amsg, 0, # writable * root, 0, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_cro_recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":649 * return 0 * * cdef int for_reduce(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * int root, MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, int __pyx_v_root, MPI_Comm __pyx_v_comm) { int __pyx_v_inter; int __pyx_v_rank; int __pyx_v_null; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; MPI_Datatype __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_reduce", 0); /* "mpi4py/MPI/msgbuffer.pxi":652 * object smsg, object rmsg, * int root, MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int inter=0, rank=0, null=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":653 * int root, MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, rank=0, null=MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication */ __pyx_v_inter = 0; __pyx_v_rank = 0; __pyx_v_null = MPI_PROC_NULL; /* "mpi4py/MPI/msgbuffer.pxi":654 * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, rank=0, null=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if not inter: # intra-communication * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 654, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":655 * cdef int inter=0, rank=0, null=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: */ __pyx_t_1 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":656 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * if root == rank: * self.for_cro_recv(rmsg, root) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 656, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":657 * if not inter: # intra-communication * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * self.for_cro_recv(rmsg, root) * if smsg is __IN_PLACE__: */ __pyx_t_1 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":658 * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: * self.for_cro_recv(rmsg, root) # <<<<<<<<<<<<<< * if smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_recv(__pyx_v_self, __pyx_v_rmsg, __pyx_v_root); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 658, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":659 * if root == rank: * self.for_cro_recv(rmsg, root) * if smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ __pyx_t_1 = (__pyx_v_smsg == __pyx_v_6mpi4py_3MPI___IN_PLACE__); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":660 * self.for_cro_recv(rmsg, root) * if smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE # <<<<<<<<<<<<<< * self.scount = self.rcount * self.stype = self.rtype */ __pyx_v_self->sbuf = MPI_IN_PLACE; /* "mpi4py/MPI/msgbuffer.pxi":661 * if smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount # <<<<<<<<<<<<<< * self.stype = self.rtype * else: */ __pyx_t_2 = __pyx_v_self->rcount; __pyx_v_self->scount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":662 * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount * self.stype = self.rtype # <<<<<<<<<<<<<< * else: * self.for_cro_send(smsg, root) */ __pyx_t_4 = __pyx_v_self->rtype; __pyx_v_self->stype = __pyx_t_4; /* "mpi4py/MPI/msgbuffer.pxi":659 * if root == rank: * self.for_cro_recv(rmsg, root) * if smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ goto __pyx_L6; } /* "mpi4py/MPI/msgbuffer.pxi":664 * self.stype = self.rtype * else: * self.for_cro_send(smsg, root) # <<<<<<<<<<<<<< * else: * self.for_cro_recv(rmsg, null) */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_send(__pyx_v_self, __pyx_v_smsg, __pyx_v_root); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 664, __pyx_L1_error) } __pyx_L6:; /* "mpi4py/MPI/msgbuffer.pxi":657 * if not inter: # intra-communication * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * self.for_cro_recv(rmsg, root) * if smsg is __IN_PLACE__: */ goto __pyx_L5; } /* "mpi4py/MPI/msgbuffer.pxi":666 * self.for_cro_send(smsg, root) * else: * self.for_cro_recv(rmsg, null) # <<<<<<<<<<<<<< * self.for_cro_send(smsg, root) * self.rcount = self.scount */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_recv(__pyx_v_self, __pyx_v_rmsg, __pyx_v_null); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 666, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":667 * else: * self.for_cro_recv(rmsg, null) * self.for_cro_send(smsg, root) # <<<<<<<<<<<<<< * self.rcount = self.scount * self.rtype = self.stype */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_send(__pyx_v_self, __pyx_v_smsg, __pyx_v_root); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 667, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":668 * self.for_cro_recv(rmsg, null) * self.for_cro_send(smsg, root) * self.rcount = self.scount # <<<<<<<<<<<<<< * self.rtype = self.stype * else: # inter-communication */ __pyx_t_2 = __pyx_v_self->scount; __pyx_v_self->rcount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":669 * self.for_cro_send(smsg, root) * self.rcount = self.scount * self.rtype = self.stype # <<<<<<<<<<<<<< * else: # inter-communication * if (root == MPI_ROOT or */ __pyx_t_4 = __pyx_v_self->stype; __pyx_v_self->rtype = __pyx_t_4; } __pyx_L5:; /* "mpi4py/MPI/msgbuffer.pxi":655 * cdef int inter=0, rank=0, null=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":671 * self.rtype = self.stype * else: # inter-communication * if (root == MPI_ROOT or # <<<<<<<<<<<<<< * root == MPI_PROC_NULL): * self.for_cro_recv(rmsg, root) */ /*else*/ { __pyx_t_1 = ((__pyx_v_root == MPI_ROOT) != 0); if (!__pyx_t_1) { } else { __pyx_t_3 = __pyx_t_1; goto __pyx_L8_bool_binop_done; } /* "mpi4py/MPI/msgbuffer.pxi":672 * else: # inter-communication * if (root == MPI_ROOT or * root == MPI_PROC_NULL): # <<<<<<<<<<<<<< * self.for_cro_recv(rmsg, root) * self.scount = self.rcount */ __pyx_t_1 = ((__pyx_v_root == MPI_PROC_NULL) != 0); __pyx_t_3 = __pyx_t_1; __pyx_L8_bool_binop_done:; /* "mpi4py/MPI/msgbuffer.pxi":671 * self.rtype = self.stype * else: # inter-communication * if (root == MPI_ROOT or # <<<<<<<<<<<<<< * root == MPI_PROC_NULL): * self.for_cro_recv(rmsg, root) */ if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":673 * if (root == MPI_ROOT or * root == MPI_PROC_NULL): * self.for_cro_recv(rmsg, root) # <<<<<<<<<<<<<< * self.scount = self.rcount * self.stype = self.rtype */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_recv(__pyx_v_self, __pyx_v_rmsg, __pyx_v_root); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 673, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":674 * root == MPI_PROC_NULL): * self.for_cro_recv(rmsg, root) * self.scount = self.rcount # <<<<<<<<<<<<<< * self.stype = self.rtype * else: */ __pyx_t_2 = __pyx_v_self->rcount; __pyx_v_self->scount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":675 * self.for_cro_recv(rmsg, root) * self.scount = self.rcount * self.stype = self.rtype # <<<<<<<<<<<<<< * else: * self.for_cro_send(smsg, root) */ __pyx_t_4 = __pyx_v_self->rtype; __pyx_v_self->stype = __pyx_t_4; /* "mpi4py/MPI/msgbuffer.pxi":671 * self.rtype = self.stype * else: # inter-communication * if (root == MPI_ROOT or # <<<<<<<<<<<<<< * root == MPI_PROC_NULL): * self.for_cro_recv(rmsg, root) */ goto __pyx_L7; } /* "mpi4py/MPI/msgbuffer.pxi":677 * self.stype = self.rtype * else: * self.for_cro_send(smsg, root) # <<<<<<<<<<<<<< * self.rcount = self.scount * self.rtype = self.stype */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_send(__pyx_v_self, __pyx_v_smsg, __pyx_v_root); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 677, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":678 * else: * self.for_cro_send(smsg, root) * self.rcount = self.scount # <<<<<<<<<<<<<< * self.rtype = self.stype * return 0 */ __pyx_t_2 = __pyx_v_self->scount; __pyx_v_self->rcount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":679 * self.for_cro_send(smsg, root) * self.rcount = self.scount * self.rtype = self.stype # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_4 = __pyx_v_self->stype; __pyx_v_self->rtype = __pyx_t_4; } __pyx_L7:; } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":680 * self.rcount = self.scount * self.rtype = self.stype * return 0 # <<<<<<<<<<<<<< * * cdef int for_allreduce(self, */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":649 * return 0 * * cdef int for_reduce(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * int root, MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_reduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":682 * return 0 * * cdef int for_allreduce(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allreduce(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm) { int __pyx_v_inter; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; MPI_Datatype __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_allreduce", 0); /* "mpi4py/MPI/msgbuffer.pxi":685 * object smsg, object rmsg, * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int inter=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":686 * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * # get send and recv buffers */ __pyx_v_inter = 0; /* "mpi4py/MPI/msgbuffer.pxi":687 * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * # get send and recv buffers * self.for_cro_recv(rmsg, 0) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 687, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":689 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * # get send and recv buffers * self.for_cro_recv(rmsg, 0) # <<<<<<<<<<<<<< * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_recv(__pyx_v_self, __pyx_v_rmsg, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 689, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":690 * # get send and recv buffers * self.for_cro_recv(rmsg, 0) * if not inter and smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ __pyx_t_3 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L5_bool_binop_done; } __pyx_t_3 = (__pyx_v_smsg == __pyx_v_6mpi4py_3MPI___IN_PLACE__); __pyx_t_4 = (__pyx_t_3 != 0); __pyx_t_1 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":691 * self.for_cro_recv(rmsg, 0) * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE # <<<<<<<<<<<<<< * self.scount = self.rcount * self.stype = self.rtype */ __pyx_v_self->sbuf = MPI_IN_PLACE; /* "mpi4py/MPI/msgbuffer.pxi":692 * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount # <<<<<<<<<<<<<< * self.stype = self.rtype * else: */ __pyx_t_2 = __pyx_v_self->rcount; __pyx_v_self->scount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":693 * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount * self.stype = self.rtype # <<<<<<<<<<<<<< * else: * self.for_cro_send(smsg, 0) */ __pyx_t_5 = __pyx_v_self->rtype; __pyx_v_self->stype = __pyx_t_5; /* "mpi4py/MPI/msgbuffer.pxi":690 * # get send and recv buffers * self.for_cro_recv(rmsg, 0) * if not inter and smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":695 * self.stype = self.rtype * else: * self.for_cro_send(smsg, 0) # <<<<<<<<<<<<<< * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_send(__pyx_v_self, __pyx_v_smsg, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 695, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":697 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * if self.stype != self.rtype: * raise ValueError( */ __pyx_t_1 = ((__pyx_v_self->sbuf != MPI_IN_PLACE) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":698 * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ __pyx_t_1 = ((__pyx_v_self->stype != __pyx_v_self->rtype) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":699 * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: */ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 699, __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(5, 699, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":698 * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ } /* "mpi4py/MPI/msgbuffer.pxi":701 * raise ValueError( * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d and receive count %d" % */ __pyx_t_1 = ((__pyx_v_self->scount != __pyx_v_self->rcount) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":704 * raise ValueError( * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_self->scount); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 704, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_self->rcount); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 704, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 704, __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; /* "mpi4py/MPI/msgbuffer.pxi":703 * if self.scount != self.rcount: * raise ValueError( * "mismatch in send count %d and receive count %d" % # <<<<<<<<<<<<<< * (self.scount, self.rcount)) * return 0 */ __pyx_t_7 = __Pyx_PyString_Format(__pyx_kp_s_mismatch_in_send_count_d_and_rec, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":702 * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) */ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(5, 702, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":701 * raise ValueError( * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d and receive count %d" % */ } /* "mpi4py/MPI/msgbuffer.pxi":697 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * if self.stype != self.rtype: * raise ValueError( */ } /* "mpi4py/MPI/msgbuffer.pxi":705 * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) * return 0 # <<<<<<<<<<<<<< * * cdef int for_reduce_scatter_block(self, */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":682 * return 0 * * cdef int for_allreduce(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_allreduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":707 * return 0 * * cdef int for_reduce_scatter_block(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce_scatter_block(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm) { int __pyx_v_inter; int __pyx_v_size; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_reduce_scatter_block", 0); /* "mpi4py/MPI/msgbuffer.pxi":710 * object smsg, object rmsg, * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":711 * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_v_inter = 0; __pyx_v_size = 0; /* "mpi4py/MPI/msgbuffer.pxi":712 * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * # get send and recv buffers */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 712, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":713 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * # get send and recv buffers * if not inter and smsg is __IN_PLACE__: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 713, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":715 * CHKERR( MPI_Comm_size(comm, &size) ) * # get send and recv buffers * if not inter and smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.for_cco_recv(0, rmsg, 0, size) * self.sbuf = MPI_IN_PLACE */ __pyx_t_3 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L5_bool_binop_done; } __pyx_t_3 = (__pyx_v_smsg == __pyx_v_6mpi4py_3MPI___IN_PLACE__); __pyx_t_4 = (__pyx_t_3 != 0); __pyx_t_1 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":716 * # get send and recv buffers * if not inter and smsg is __IN_PLACE__: * self.for_cco_recv(0, rmsg, 0, size) # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * else: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, 0, __pyx_v_rmsg, 0, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 716, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":717 * if not inter and smsg is __IN_PLACE__: * self.for_cco_recv(0, rmsg, 0, size) * self.sbuf = MPI_IN_PLACE # <<<<<<<<<<<<<< * else: * self.for_cco_recv(0, rmsg, 0, 0) */ __pyx_v_self->sbuf = MPI_IN_PLACE; /* "mpi4py/MPI/msgbuffer.pxi":715 * CHKERR( MPI_Comm_size(comm, &size) ) * # get send and recv buffers * if not inter and smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.for_cco_recv(0, rmsg, 0, size) * self.sbuf = MPI_IN_PLACE */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":719 * self.sbuf = MPI_IN_PLACE * else: * self.for_cco_recv(0, rmsg, 0, 0) # <<<<<<<<<<<<<< * self.for_cco_send(0, smsg, 0, size) * # check counts and datatypes */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv(__pyx_v_self, 0, __pyx_v_rmsg, 0, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 719, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":720 * else: * self.for_cco_recv(0, rmsg, 0, 0) * self.for_cco_send(0, smsg, 0, size) # <<<<<<<<<<<<<< * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send(__pyx_v_self, 0, __pyx_v_smsg, 0, __pyx_v_size); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 720, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":722 * self.for_cco_send(0, smsg, 0, size) * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * if self.stype != self.rtype: * raise ValueError( */ __pyx_t_1 = ((__pyx_v_self->sbuf != MPI_IN_PLACE) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":723 * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ __pyx_t_1 = ((__pyx_v_self->stype != __pyx_v_self->rtype) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":724 * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: */ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 724, __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(5, 724, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":723 * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ } /* "mpi4py/MPI/msgbuffer.pxi":726 * raise ValueError( * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d receive count %d" % */ __pyx_t_1 = ((__pyx_v_self->scount != __pyx_v_self->rcount) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":729 * raise ValueError( * "mismatch in send count %d receive count %d" % * (self.scount, self.rcount*size)) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_self->scount); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_self->rcount * __pyx_v_size)); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 729, __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; /* "mpi4py/MPI/msgbuffer.pxi":728 * if self.scount != self.rcount: * raise ValueError( * "mismatch in send count %d receive count %d" % # <<<<<<<<<<<<<< * (self.scount, self.rcount*size)) * return 0 */ __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_mismatch_in_send_count_d_receive, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/msgbuffer.pxi":727 * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send count %d receive count %d" % * (self.scount, self.rcount*size)) */ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(5, 727, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":726 * raise ValueError( * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d receive count %d" % */ } /* "mpi4py/MPI/msgbuffer.pxi":722 * self.for_cco_send(0, smsg, 0, size) * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * if self.stype != self.rtype: * raise ValueError( */ } /* "mpi4py/MPI/msgbuffer.pxi":730 * "mismatch in send count %d receive count %d" % * (self.scount, self.rcount*size)) * return 0 # <<<<<<<<<<<<<< * * cdef int for_reduce_scatter(self, */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":707 * return 0 * * cdef int for_reduce_scatter_block(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_reduce_scatter_block", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":732 * return 0 * * cdef int for_reduce_scatter(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, object rcnt, * MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce_scatter(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, PyObject *__pyx_v_rcnt, MPI_Comm __pyx_v_comm) { int __pyx_v_inter; int __pyx_v_size; int __pyx_v_rank; int __pyx_v_i; int __pyx_v_sumrcounts; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_reduce_scatter", 0); /* "mpi4py/MPI/msgbuffer.pxi":735 * object smsg, object rmsg, object rcnt, * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int inter=0, size=0, rank=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":736 * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0, rank=MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_v_inter = 0; __pyx_v_size = 0; __pyx_v_rank = MPI_PROC_NULL; /* "mpi4py/MPI/msgbuffer.pxi":737 * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0, rank=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 737, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":738 * cdef int inter=0, size=0, rank=MPI_PROC_NULL * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * # get send and recv buffers */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 738, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":739 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * # get send and recv buffers * self.for_cro_recv(rmsg, 0) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 739, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":741 * CHKERR( MPI_Comm_rank(comm, &rank) ) * # get send and recv buffers * self.for_cro_recv(rmsg, 0) # <<<<<<<<<<<<<< * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_recv(__pyx_v_self, __pyx_v_rmsg, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 741, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":742 * # get send and recv buffers * self.for_cro_recv(rmsg, 0) * if not inter and smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * else: */ __pyx_t_3 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L5_bool_binop_done; } __pyx_t_3 = (__pyx_v_smsg == __pyx_v_6mpi4py_3MPI___IN_PLACE__); __pyx_t_4 = (__pyx_t_3 != 0); __pyx_t_1 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":743 * self.for_cro_recv(rmsg, 0) * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE # <<<<<<<<<<<<<< * else: * self.for_cro_send(smsg, 0) */ __pyx_v_self->sbuf = MPI_IN_PLACE; /* "mpi4py/MPI/msgbuffer.pxi":742 * # get send and recv buffers * self.for_cro_recv(rmsg, 0) * if not inter and smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * else: */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":745 * self.sbuf = MPI_IN_PLACE * else: * self.for_cro_send(smsg, 0) # <<<<<<<<<<<<<< * # get receive counts * if rcnt is None and not inter and self.sbuf != MPI_IN_PLACE: */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_send(__pyx_v_self, __pyx_v_smsg, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 745, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":747 * self.for_cro_send(smsg, 0) * # get receive counts * if rcnt is None and not inter and self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * self._rcnt = newarray(size, &self.rcounts) * CHKERR( MPI_Allgather(&self.rcount, 1, MPI_INT, */ __pyx_t_4 = (__pyx_v_rcnt == Py_None); __pyx_t_3 = (__pyx_t_4 != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L8_bool_binop_done; } __pyx_t_3 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L8_bool_binop_done; } __pyx_t_3 = ((__pyx_v_self->sbuf != MPI_IN_PLACE) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L8_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":748 * # get receive counts * if rcnt is None and not inter and self.sbuf != MPI_IN_PLACE: * self._rcnt = newarray(size, &self.rcounts) # <<<<<<<<<<<<<< * CHKERR( MPI_Allgather(&self.rcount, 1, MPI_INT, * self.rcounts, 1, MPI_INT, comm) ) */ __pyx_t_5 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_size, (&__pyx_v_self->rcounts)); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __Pyx_GOTREF(__pyx_v_self->_rcnt); __Pyx_DECREF(__pyx_v_self->_rcnt); __pyx_v_self->_rcnt = __pyx_t_5; __pyx_t_5 = 0; /* "mpi4py/MPI/msgbuffer.pxi":749 * if rcnt is None and not inter and self.sbuf != MPI_IN_PLACE: * self._rcnt = newarray(size, &self.rcounts) * CHKERR( MPI_Allgather(&self.rcount, 1, MPI_INT, # <<<<<<<<<<<<<< * self.rcounts, 1, MPI_INT, comm) ) * else: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Allgather((&__pyx_v_self->rcount), 1, MPI_INT, __pyx_v_self->rcounts, 1, MPI_INT, __pyx_v_comm)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 749, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":747 * self.for_cro_send(smsg, 0) * # get receive counts * if rcnt is None and not inter and self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * self._rcnt = newarray(size, &self.rcounts) * CHKERR( MPI_Allgather(&self.rcount, 1, MPI_INT, */ goto __pyx_L7; } /* "mpi4py/MPI/msgbuffer.pxi":752 * self.rcounts, 1, MPI_INT, comm) ) * else: * self._rcnt = chkarray(rcnt, size, &self.rcounts) # <<<<<<<<<<<<<< * # total sum or receive counts * cdef int i=0, sumrcounts=0 */ /*else*/ { __pyx_t_5 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_rcnt, __pyx_v_size, (&__pyx_v_self->rcounts)); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __Pyx_GOTREF(__pyx_v_self->_rcnt); __Pyx_DECREF(__pyx_v_self->_rcnt); __pyx_v_self->_rcnt = __pyx_t_5; __pyx_t_5 = 0; } __pyx_L7:; /* "mpi4py/MPI/msgbuffer.pxi":754 * self._rcnt = chkarray(rcnt, size, &self.rcounts) * # total sum or receive counts * cdef int i=0, sumrcounts=0 # <<<<<<<<<<<<<< * for i from 0 <= i < size: * sumrcounts += self.rcounts[i] */ __pyx_v_i = 0; __pyx_v_sumrcounts = 0; /* "mpi4py/MPI/msgbuffer.pxi":755 * # total sum or receive counts * cdef int i=0, sumrcounts=0 * for i from 0 <= i < size: # <<<<<<<<<<<<<< * sumrcounts += self.rcounts[i] * # check counts and datatypes */ __pyx_t_2 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_2; __pyx_v_i++) { /* "mpi4py/MPI/msgbuffer.pxi":756 * cdef int i=0, sumrcounts=0 * for i from 0 <= i < size: * sumrcounts += self.rcounts[i] # <<<<<<<<<<<<<< * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: */ __pyx_v_sumrcounts = (__pyx_v_sumrcounts + (__pyx_v_self->rcounts[__pyx_v_i])); } /* "mpi4py/MPI/msgbuffer.pxi":758 * sumrcounts += self.rcounts[i] * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * if self.stype != self.rtype: * raise ValueError( */ __pyx_t_1 = ((__pyx_v_self->sbuf != MPI_IN_PLACE) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":759 * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ __pyx_t_1 = ((__pyx_v_self->stype != __pyx_v_self->rtype) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":760 * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send and receive MPI datatypes") * if self.scount != sumrcounts: */ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 760, __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(5, 760, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":759 * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ } /* "mpi4py/MPI/msgbuffer.pxi":762 * raise ValueError( * "mismatch in send and receive MPI datatypes") * if self.scount != sumrcounts: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d and sum(counts) %d" % */ __pyx_t_1 = ((__pyx_v_self->scount != __pyx_v_sumrcounts) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":765 * raise ValueError( * "mismatch in send count %d and sum(counts) %d" % * (self.scount, sumrcounts)) # <<<<<<<<<<<<<< * if self.rcount != self.rcounts[rank]: * raise ValueError( */ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_self->scount); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_sumrcounts); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 765, __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; /* "mpi4py/MPI/msgbuffer.pxi":764 * if self.scount != sumrcounts: * raise ValueError( * "mismatch in send count %d and sum(counts) %d" % # <<<<<<<<<<<<<< * (self.scount, sumrcounts)) * if self.rcount != self.rcounts[rank]: */ __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_mismatch_in_send_count_d_and_sum, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/msgbuffer.pxi":763 * "mismatch in send and receive MPI datatypes") * if self.scount != sumrcounts: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send count %d and sum(counts) %d" % * (self.scount, sumrcounts)) */ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(5, 763, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":762 * raise ValueError( * "mismatch in send and receive MPI datatypes") * if self.scount != sumrcounts: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d and sum(counts) %d" % */ } /* "mpi4py/MPI/msgbuffer.pxi":766 * "mismatch in send count %d and sum(counts) %d" % * (self.scount, sumrcounts)) * if self.rcount != self.rcounts[rank]: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in receive count %d and counts[%d] %d" % */ __pyx_t_1 = ((__pyx_v_self->rcount != (__pyx_v_self->rcounts[__pyx_v_rank])) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":769 * raise ValueError( * "mismatch in receive count %d and counts[%d] %d" % * (self.rcount, rank, self.rcounts[rank])) # <<<<<<<<<<<<<< * else: * if self.rcount != sumrcounts: */ __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_self->rcount); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_rank); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyInt_From_int((__pyx_v_self->rcounts[__pyx_v_rank])); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_5); __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; /* "mpi4py/MPI/msgbuffer.pxi":768 * if self.rcount != self.rcounts[rank]: * raise ValueError( * "mismatch in receive count %d and counts[%d] %d" % # <<<<<<<<<<<<<< * (self.rcount, rank, self.rcounts[rank])) * else: */ __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_mismatch_in_receive_count_d_and, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 768, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/msgbuffer.pxi":767 * (self.scount, sumrcounts)) * if self.rcount != self.rcounts[rank]: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in receive count %d and counts[%d] %d" % * (self.rcount, rank, self.rcounts[rank])) */ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __PYX_ERR(5, 767, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":766 * "mismatch in send count %d and sum(counts) %d" % * (self.scount, sumrcounts)) * if self.rcount != self.rcounts[rank]: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in receive count %d and counts[%d] %d" % */ } /* "mpi4py/MPI/msgbuffer.pxi":758 * sumrcounts += self.rcounts[i] * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * if self.stype != self.rtype: * raise ValueError( */ goto __pyx_L13; } /* "mpi4py/MPI/msgbuffer.pxi":771 * (self.rcount, rank, self.rcounts[rank])) * else: * if self.rcount != sumrcounts: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in receive count %d and sum(counts) %d" % */ /*else*/ { __pyx_t_1 = ((__pyx_v_self->rcount != __pyx_v_sumrcounts) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/msgbuffer.pxi":774 * raise ValueError( * "mismatch in receive count %d and sum(counts) %d" % * (self.rcount, sumrcounts)) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_self->rcount); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_sumrcounts); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); __pyx_t_8 = 0; __pyx_t_5 = 0; /* "mpi4py/MPI/msgbuffer.pxi":773 * if self.rcount != sumrcounts: * raise ValueError( * "mismatch in receive count %d and sum(counts) %d" % # <<<<<<<<<<<<<< * (self.rcount, sumrcounts)) * return 0 */ __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_mismatch_in_receive_count_d_and_2, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/msgbuffer.pxi":772 * else: * if self.rcount != sumrcounts: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in receive count %d and sum(counts) %d" % * (self.rcount, sumrcounts)) */ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 772, __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(5, 772, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":771 * (self.rcount, rank, self.rcounts[rank])) * else: * if self.rcount != sumrcounts: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in receive count %d and sum(counts) %d" % */ } } __pyx_L13:; /* "mpi4py/MPI/msgbuffer.pxi":775 * "mismatch in receive count %d and sum(counts) %d" % * (self.rcount, sumrcounts)) * return 0 # <<<<<<<<<<<<<< * * cdef int for_scan(self, */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":732 * return 0 * * cdef int for_reduce_scatter(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, object rcnt, * MPI_Comm comm) except -1: */ /* 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_8); __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_reduce_scatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":777 * return 0 * * cdef int for_scan(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scan(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; MPI_Datatype __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_scan", 0); /* "mpi4py/MPI/msgbuffer.pxi":780 * object smsg, object rmsg, * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * # get send and recv buffers * self.for_cro_recv(rmsg, 0) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":782 * if comm == MPI_COMM_NULL: return 0 * # get send and recv buffers * self.for_cro_recv(rmsg, 0) # <<<<<<<<<<<<<< * if smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_recv(__pyx_v_self, __pyx_v_rmsg, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 782, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":783 * # get send and recv buffers * self.for_cro_recv(rmsg, 0) * if smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ __pyx_t_1 = (__pyx_v_smsg == __pyx_v_6mpi4py_3MPI___IN_PLACE__); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":784 * self.for_cro_recv(rmsg, 0) * if smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE # <<<<<<<<<<<<<< * self.scount = self.rcount * self.stype = self.rtype */ __pyx_v_self->sbuf = MPI_IN_PLACE; /* "mpi4py/MPI/msgbuffer.pxi":785 * if smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount # <<<<<<<<<<<<<< * self.stype = self.rtype * else: */ __pyx_t_2 = __pyx_v_self->rcount; __pyx_v_self->scount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":786 * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount * self.stype = self.rtype # <<<<<<<<<<<<<< * else: * self.for_cro_send(smsg, 0) */ __pyx_t_4 = __pyx_v_self->rtype; __pyx_v_self->stype = __pyx_t_4; /* "mpi4py/MPI/msgbuffer.pxi":783 * # get send and recv buffers * self.for_cro_recv(rmsg, 0) * if smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":788 * self.stype = self.rtype * else: * self.for_cro_send(smsg, 0) # <<<<<<<<<<<<<< * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_send(__pyx_v_self, __pyx_v_smsg, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 788, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":790 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * if self.stype != self.rtype: * raise ValueError( */ __pyx_t_3 = ((__pyx_v_self->sbuf != MPI_IN_PLACE) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":791 * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ __pyx_t_3 = ((__pyx_v_self->stype != __pyx_v_self->rtype) != 0); if (unlikely(__pyx_t_3)) { /* "mpi4py/MPI/msgbuffer.pxi":792 * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: */ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 792, __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(5, 792, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":791 * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ } /* "mpi4py/MPI/msgbuffer.pxi":794 * raise ValueError( * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d and receive count %d" % */ __pyx_t_3 = ((__pyx_v_self->scount != __pyx_v_self->rcount) != 0); if (unlikely(__pyx_t_3)) { /* "mpi4py/MPI/msgbuffer.pxi":797 * raise ValueError( * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_self->scount); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_self->rcount); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 797, __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; /* "mpi4py/MPI/msgbuffer.pxi":796 * if self.scount != self.rcount: * raise ValueError( * "mismatch in send count %d and receive count %d" % # <<<<<<<<<<<<<< * (self.scount, self.rcount)) * return 0 */ __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_mismatch_in_send_count_d_and_rec, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/msgbuffer.pxi":795 * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) */ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(5, 795, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":794 * raise ValueError( * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d and receive count %d" % */ } /* "mpi4py/MPI/msgbuffer.pxi":790 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * if self.stype != self.rtype: * raise ValueError( */ } /* "mpi4py/MPI/msgbuffer.pxi":798 * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) * return 0 # <<<<<<<<<<<<<< * * cdef int for_exscan(self, */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":777 * return 0 * * cdef int for_scan(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_scan", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":800 * return 0 * * cdef int for_exscan(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_exscan(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; MPI_Datatype __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_exscan", 0); /* "mpi4py/MPI/msgbuffer.pxi":803 * object smsg, object rmsg, * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * # get send and recv buffers * self.for_cro_recv(rmsg, 0) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":805 * if comm == MPI_COMM_NULL: return 0 * # get send and recv buffers * self.for_cro_recv(rmsg, 0) # <<<<<<<<<<<<<< * if smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_recv(__pyx_v_self, __pyx_v_rmsg, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 805, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":806 * # get send and recv buffers * self.for_cro_recv(rmsg, 0) * if smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ __pyx_t_1 = (__pyx_v_smsg == __pyx_v_6mpi4py_3MPI___IN_PLACE__); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":807 * self.for_cro_recv(rmsg, 0) * if smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE # <<<<<<<<<<<<<< * self.scount = self.rcount * self.stype = self.rtype */ __pyx_v_self->sbuf = MPI_IN_PLACE; /* "mpi4py/MPI/msgbuffer.pxi":808 * if smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount # <<<<<<<<<<<<<< * self.stype = self.rtype * else: */ __pyx_t_2 = __pyx_v_self->rcount; __pyx_v_self->scount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":809 * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount * self.stype = self.rtype # <<<<<<<<<<<<<< * else: * self.for_cro_send(smsg, 0) */ __pyx_t_4 = __pyx_v_self->rtype; __pyx_v_self->stype = __pyx_t_4; /* "mpi4py/MPI/msgbuffer.pxi":806 * # get send and recv buffers * self.for_cro_recv(rmsg, 0) * if smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scount = self.rcount */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":811 * self.stype = self.rtype * else: * self.for_cro_send(smsg, 0) # <<<<<<<<<<<<<< * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_send(__pyx_v_self, __pyx_v_smsg, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 811, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":813 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * if self.stype != self.rtype: * raise ValueError( */ __pyx_t_3 = ((__pyx_v_self->sbuf != MPI_IN_PLACE) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":814 * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ __pyx_t_3 = ((__pyx_v_self->stype != __pyx_v_self->rtype) != 0); if (unlikely(__pyx_t_3)) { /* "mpi4py/MPI/msgbuffer.pxi":815 * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: */ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 815, __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(5, 815, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":814 * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ } /* "mpi4py/MPI/msgbuffer.pxi":817 * raise ValueError( * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d and receive count %d" % */ __pyx_t_3 = ((__pyx_v_self->scount != __pyx_v_self->rcount) != 0); if (unlikely(__pyx_t_3)) { /* "mpi4py/MPI/msgbuffer.pxi":820 * raise ValueError( * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_self->scount); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 820, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_self->rcount); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 820, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 820, __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; /* "mpi4py/MPI/msgbuffer.pxi":819 * if self.scount != self.rcount: * raise ValueError( * "mismatch in send count %d and receive count %d" % # <<<<<<<<<<<<<< * (self.scount, self.rcount)) * return 0 */ __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_mismatch_in_send_count_d_and_rec, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/msgbuffer.pxi":818 * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) */ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(5, 818, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":817 * raise ValueError( * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d and receive count %d" % */ } /* "mpi4py/MPI/msgbuffer.pxi":813 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * if self.stype != self.rtype: * raise ValueError( */ } /* "mpi4py/MPI/msgbuffer.pxi":821 * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) * return 0 # <<<<<<<<<<<<<< * * */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":800 * return 0 * * cdef int for_exscan(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI._p_msg_cco.for_exscan", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":824 * * * cdef inline _p_msg_cco message_cco(): # <<<<<<<<<<<<<< * cdef _p_msg_cco msg = <_p_msg_cco>_p_msg_cco.__new__(_p_msg_cco) * return msg */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_f_6mpi4py_3MPI_message_cco(void) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_msg = 0; struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("message_cco", 0); /* "mpi4py/MPI/msgbuffer.pxi":825 * * cdef inline _p_msg_cco message_cco(): * cdef _p_msg_cco msg = <_p_msg_cco>_p_msg_cco.__new__(_p_msg_cco) # <<<<<<<<<<<<<< * return msg * */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI__p_msg_cco(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI__p_msg_cco), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 825, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":826 * cdef inline _p_msg_cco message_cco(): * cdef _p_msg_cco msg = <_p_msg_cco>_p_msg_cco.__new__(_p_msg_cco) * return msg # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_msg)); __pyx_r = __pyx_v_msg; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":824 * * * cdef inline _p_msg_cco message_cco(): # <<<<<<<<<<<<<< * cdef _p_msg_cco msg = <_p_msg_cco>_p_msg_cco.__new__(_p_msg_cco) * return msg */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.message_cco", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":843 * cdef object _smsg, _rmsg * * def __cinit__(self): # <<<<<<<<<<<<<< * self.sbuf = self.rbuf = NULL * self.scounts = self.rcounts = NULL */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_11_p_msg_ccow_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_11_p_msg_ccow_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_6mpi4py_3MPI_11_p_msg_ccow___cinit__(((struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_11_p_msg_ccow___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/msgbuffer.pxi":844 * * def __cinit__(self): * self.sbuf = self.rbuf = NULL # <<<<<<<<<<<<<< * self.scounts = self.rcounts = NULL * self.sdispls = self.rdispls = NULL */ __pyx_v_self->sbuf = NULL; __pyx_v_self->rbuf = NULL; /* "mpi4py/MPI/msgbuffer.pxi":845 * def __cinit__(self): * self.sbuf = self.rbuf = NULL * self.scounts = self.rcounts = NULL # <<<<<<<<<<<<<< * self.sdispls = self.rdispls = NULL * self.sdisplsA = self.rdisplsA = NULL */ __pyx_v_self->scounts = NULL; __pyx_v_self->rcounts = NULL; /* "mpi4py/MPI/msgbuffer.pxi":846 * self.sbuf = self.rbuf = NULL * self.scounts = self.rcounts = NULL * self.sdispls = self.rdispls = NULL # <<<<<<<<<<<<<< * self.sdisplsA = self.rdisplsA = NULL * self.stypes = self.rtypes = NULL */ __pyx_v_self->sdispls = NULL; __pyx_v_self->rdispls = NULL; /* "mpi4py/MPI/msgbuffer.pxi":847 * self.scounts = self.rcounts = NULL * self.sdispls = self.rdispls = NULL * self.sdisplsA = self.rdisplsA = NULL # <<<<<<<<<<<<<< * self.stypes = self.rtypes = NULL * */ __pyx_v_self->sdisplsA = NULL; __pyx_v_self->rdisplsA = NULL; /* "mpi4py/MPI/msgbuffer.pxi":848 * self.sdispls = self.rdispls = NULL * self.sdisplsA = self.rdisplsA = NULL * self.stypes = self.rtypes = NULL # <<<<<<<<<<<<<< * * # alltoallw */ __pyx_v_self->stypes = NULL; __pyx_v_self->rtypes = NULL; /* "mpi4py/MPI/msgbuffer.pxi":843 * cdef object _smsg, _rmsg * * def __cinit__(self): # <<<<<<<<<<<<<< * self.sbuf = self.rbuf = NULL * self.scounts = self.rcounts = NULL */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":851 * * # alltoallw * cdef int for_alltoallw(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_11_p_msg_ccow_for_alltoallw(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm) { int __pyx_v_inter; int __pyx_v_size; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_t_5; int *__pyx_t_6; MPI_Datatype *__pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_alltoallw", 0); /* "mpi4py/MPI/msgbuffer.pxi":854 * object smsg, object rmsg, * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":855 * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication */ __pyx_v_inter = 0; __pyx_v_size = 0; /* "mpi4py/MPI/msgbuffer.pxi":856 * if comm == MPI_COMM_NULL: return 0 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if not inter: # intra-communication * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 856, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":857 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * else: # inter-communication */ __pyx_t_1 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":858 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 858, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":857 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if not inter: # intra-communication # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * else: # inter-communication */ goto __pyx_L4; } /* "mpi4py/MPI/msgbuffer.pxi":860 * CHKERR( MPI_Comm_size(comm, &size) ) * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) # <<<<<<<<<<<<<< * # * self._rmsg = message_vector_w( */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 860, __pyx_L1_error) } __pyx_L4:; /* "mpi4py/MPI/msgbuffer.pxi":862 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * # * self._rmsg = message_vector_w( # <<<<<<<<<<<<<< * rmsg, 0, size, * &self.rbuf, &self.rcounts, */ __pyx_t_3 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_message_vector_w(__pyx_v_rmsg, 0, __pyx_v_size, (&__pyx_v_self->rbuf), (&__pyx_v_self->rcounts), (&__pyx_v_self->rdispls), (&__pyx_v_self->rtypes)); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 862, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_self->_rmsg); __Pyx_DECREF(__pyx_v_self->_rmsg); __pyx_v_self->_rmsg = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/msgbuffer.pxi":866 * &self.rbuf, &self.rcounts, * &self.rdispls, &self.rtypes) * if not inter and smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scounts = self.rcounts */ __pyx_t_4 = ((!(__pyx_v_inter != 0)) != 0); if (__pyx_t_4) { } else { __pyx_t_1 = __pyx_t_4; goto __pyx_L6_bool_binop_done; } __pyx_t_4 = (__pyx_v_smsg == __pyx_v_6mpi4py_3MPI___IN_PLACE__); __pyx_t_5 = (__pyx_t_4 != 0); __pyx_t_1 = __pyx_t_5; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* "mpi4py/MPI/msgbuffer.pxi":867 * &self.rdispls, &self.rtypes) * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE # <<<<<<<<<<<<<< * self.scounts = self.rcounts * self.sdispls = self.rdispls */ __pyx_v_self->sbuf = MPI_IN_PLACE; /* "mpi4py/MPI/msgbuffer.pxi":868 * if not inter and smsg is __IN_PLACE__: * self.sbuf = MPI_IN_PLACE * self.scounts = self.rcounts # <<<<<<<<<<<<<< * self.sdispls = self.rdispls * self.stypes = self.rtypes */ __pyx_t_6 = __pyx_v_self->rcounts; __pyx_v_self->scounts = __pyx_t_6; /* "mpi4py/MPI/msgbuffer.pxi":869 * self.sbuf = MPI_IN_PLACE * self.scounts = self.rcounts * self.sdispls = self.rdispls # <<<<<<<<<<<<<< * self.stypes = self.rtypes * return 0 */ __pyx_t_6 = __pyx_v_self->rdispls; __pyx_v_self->sdispls = __pyx_t_6; /* "mpi4py/MPI/msgbuffer.pxi":870 * self.scounts = self.rcounts * self.sdispls = self.rdispls * self.stypes = self.rtypes # <<<<<<<<<<<<<< * return 0 * self._smsg = message_vector_w( */ __pyx_t_7 = __pyx_v_self->rtypes; __pyx_v_self->stypes = __pyx_t_7; /* "mpi4py/MPI/msgbuffer.pxi":871 * self.sdispls = self.rdispls * self.stypes = self.rtypes * return 0 # <<<<<<<<<<<<<< * self._smsg = message_vector_w( * smsg, 1, size, */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":866 * &self.rbuf, &self.rcounts, * &self.rdispls, &self.rtypes) * if not inter and smsg is __IN_PLACE__: # <<<<<<<<<<<<<< * self.sbuf = MPI_IN_PLACE * self.scounts = self.rcounts */ } /* "mpi4py/MPI/msgbuffer.pxi":872 * self.stypes = self.rtypes * return 0 * self._smsg = message_vector_w( # <<<<<<<<<<<<<< * smsg, 1, size, * &self.sbuf, &self.scounts, */ __pyx_t_3 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_message_vector_w(__pyx_v_smsg, 1, __pyx_v_size, (&__pyx_v_self->sbuf), (&__pyx_v_self->scounts), (&__pyx_v_self->sdispls), (&__pyx_v_self->stypes)); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_self->_smsg); __Pyx_DECREF(__pyx_v_self->_smsg); __pyx_v_self->_smsg = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/msgbuffer.pxi":876 * &self.sbuf, &self.scounts, * &self.sdispls, &self.stypes) * return 0 # <<<<<<<<<<<<<< * * # neighbor alltoallw */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":851 * * # alltoallw * cdef int for_alltoallw(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI._p_msg_ccow.for_alltoallw", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":879 * * # neighbor alltoallw * cdef int for_neighbor_alltoallw(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ static int __pyx_f_6mpi4py_3MPI_11_p_msg_ccow_for_neighbor_alltoallw(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_v_self, PyObject *__pyx_v_smsg, PyObject *__pyx_v_rmsg, MPI_Comm __pyx_v_comm) { int __pyx_v_sendsize; int __pyx_v_recvsize; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_neighbor_alltoallw", 0); /* "mpi4py/MPI/msgbuffer.pxi":882 * object smsg, object rmsg, * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 # <<<<<<<<<<<<<< * cdef int sendsize=0, recvsize=0 * comm_neighbors_count(comm, &recvsize, &sendsize) */ __pyx_t_1 = ((__pyx_v_comm == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":883 * MPI_Comm comm) except -1: * if comm == MPI_COMM_NULL: return 0 * cdef int sendsize=0, recvsize=0 # <<<<<<<<<<<<<< * comm_neighbors_count(comm, &recvsize, &sendsize) * self._rmsg = message_vector_w( */ __pyx_v_sendsize = 0; __pyx_v_recvsize = 0; /* "mpi4py/MPI/msgbuffer.pxi":884 * if comm == MPI_COMM_NULL: return 0 * cdef int sendsize=0, recvsize=0 * comm_neighbors_count(comm, &recvsize, &sendsize) # <<<<<<<<<<<<<< * self._rmsg = message_vector_w( * rmsg, 0, recvsize, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_comm_neighbors_count(__pyx_v_comm, (&__pyx_v_recvsize), (&__pyx_v_sendsize)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 884, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":885 * cdef int sendsize=0, recvsize=0 * comm_neighbors_count(comm, &recvsize, &sendsize) * self._rmsg = message_vector_w( # <<<<<<<<<<<<<< * rmsg, 0, recvsize, * &self.rbuf, &self.rcounts, */ __pyx_t_3 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_message_vector_w(__pyx_v_rmsg, 0, __pyx_v_recvsize, (&__pyx_v_self->rbuf), (&__pyx_v_self->rcounts), (&__pyx_v_self->rdisplsA), (&__pyx_v_self->rtypes)); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_self->_rmsg); __Pyx_DECREF(__pyx_v_self->_rmsg); __pyx_v_self->_rmsg = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/msgbuffer.pxi":889 * &self.rbuf, &self.rcounts, * &self.rdisplsA, &self.rtypes) * self._smsg = message_vector_w( # <<<<<<<<<<<<<< * smsg, 1, sendsize, * &self.sbuf, &self.scounts, */ __pyx_t_3 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_message_vector_w(__pyx_v_smsg, 1, __pyx_v_sendsize, (&__pyx_v_self->sbuf), (&__pyx_v_self->scounts), (&__pyx_v_self->sdisplsA), (&__pyx_v_self->stypes)); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_self->_smsg); __Pyx_DECREF(__pyx_v_self->_smsg); __pyx_v_self->_smsg = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/msgbuffer.pxi":893 * &self.sbuf, &self.scounts, * &self.sdisplsA, &self.stypes) * return 0 # <<<<<<<<<<<<<< * * */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":879 * * # neighbor alltoallw * cdef int for_neighbor_alltoallw(self, # <<<<<<<<<<<<<< * object smsg, object rmsg, * MPI_Comm comm) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI._p_msg_ccow.for_neighbor_alltoallw", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":896 * * * cdef inline _p_msg_ccow message_ccow(): # <<<<<<<<<<<<<< * cdef _p_msg_ccow msg = <_p_msg_ccow>_p_msg_ccow.__new__(_p_msg_ccow) * return msg */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_f_6mpi4py_3MPI_message_ccow(void) { struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_v_msg = 0; struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("message_ccow", 0); /* "mpi4py/MPI/msgbuffer.pxi":897 * * cdef inline _p_msg_ccow message_ccow(): * cdef _p_msg_ccow msg = <_p_msg_ccow>_p_msg_ccow.__new__(_p_msg_ccow) # <<<<<<<<<<<<<< * return msg * */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI__p_msg_ccow(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI__p_msg_ccow), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 897, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":898 * cdef inline _p_msg_ccow message_ccow(): * cdef _p_msg_ccow msg = <_p_msg_ccow>_p_msg_ccow.__new__(_p_msg_ccow) * return msg # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_msg)); __pyx_r = __pyx_v_msg; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":896 * * * cdef inline _p_msg_ccow message_ccow(): # <<<<<<<<<<<<<< * cdef _p_msg_ccow msg = <_p_msg_ccow>_p_msg_ccow.__new__(_p_msg_ccow) * return msg */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.message_ccow", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":928 * cdef object _target * * def __cinit__(self): # <<<<<<<<<<<<<< * self.oaddr = NULL * self.ocount = 0 */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_10_p_msg_rma_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_10_p_msg_rma_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_6mpi4py_3MPI_10_p_msg_rma___cinit__(((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_10_p_msg_rma___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/msgbuffer.pxi":929 * * def __cinit__(self): * self.oaddr = NULL # <<<<<<<<<<<<<< * self.ocount = 0 * self.otype = MPI_DATATYPE_NULL */ __pyx_v_self->oaddr = NULL; /* "mpi4py/MPI/msgbuffer.pxi":930 * def __cinit__(self): * self.oaddr = NULL * self.ocount = 0 # <<<<<<<<<<<<<< * self.otype = MPI_DATATYPE_NULL * self.raddr = NULL */ __pyx_v_self->ocount = 0; /* "mpi4py/MPI/msgbuffer.pxi":931 * self.oaddr = NULL * self.ocount = 0 * self.otype = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * self.raddr = NULL * self.rcount = 0 */ __pyx_v_self->otype = MPI_DATATYPE_NULL; /* "mpi4py/MPI/msgbuffer.pxi":932 * self.ocount = 0 * self.otype = MPI_DATATYPE_NULL * self.raddr = NULL # <<<<<<<<<<<<<< * self.rcount = 0 * self.rtype = MPI_DATATYPE_NULL */ __pyx_v_self->raddr = NULL; /* "mpi4py/MPI/msgbuffer.pxi":933 * self.otype = MPI_DATATYPE_NULL * self.raddr = NULL * self.rcount = 0 # <<<<<<<<<<<<<< * self.rtype = MPI_DATATYPE_NULL * self.tdisp = 0 */ __pyx_v_self->rcount = 0; /* "mpi4py/MPI/msgbuffer.pxi":934 * self.raddr = NULL * self.rcount = 0 * self.rtype = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * self.tdisp = 0 * self.tcount = 0 */ __pyx_v_self->rtype = MPI_DATATYPE_NULL; /* "mpi4py/MPI/msgbuffer.pxi":935 * self.rcount = 0 * self.rtype = MPI_DATATYPE_NULL * self.tdisp = 0 # <<<<<<<<<<<<<< * self.tcount = 0 * self.ttype = MPI_DATATYPE_NULL */ __pyx_v_self->tdisp = 0; /* "mpi4py/MPI/msgbuffer.pxi":936 * self.rtype = MPI_DATATYPE_NULL * self.tdisp = 0 * self.tcount = 0 # <<<<<<<<<<<<<< * self.ttype = MPI_DATATYPE_NULL * */ __pyx_v_self->tcount = 0; /* "mpi4py/MPI/msgbuffer.pxi":937 * self.tdisp = 0 * self.tcount = 0 * self.ttype = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * * cdef int for_rma(self, int readonly, */ __pyx_v_self->ttype = MPI_DATATYPE_NULL; /* "mpi4py/MPI/msgbuffer.pxi":928 * cdef object _target * * def __cinit__(self): # <<<<<<<<<<<<<< * self.oaddr = NULL * self.ocount = 0 */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":939 * self.ttype = MPI_DATATYPE_NULL * * cdef int for_rma(self, int readonly, # <<<<<<<<<<<<<< * object origin, int rank, object target) except -1: * # ORIGIN */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_rma(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, int __pyx_v_readonly, PyObject *__pyx_v_origin, int __pyx_v_rank, PyObject *__pyx_v_target) { Py_ssize_t __pyx_v_nargs; int __pyx_r; __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; MPI_Datatype __pyx_t_6; int __pyx_t_7; MPI_Aint __pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_rma", 0); /* "mpi4py/MPI/msgbuffer.pxi":942 * object origin, int rank, object target) except -1: * # ORIGIN * self._origin = message_simple( # <<<<<<<<<<<<<< * origin, readonly, rank, 0, * &self.oaddr, &self.ocount, &self.otype) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_simple(__pyx_v_origin, __pyx_v_readonly, __pyx_v_rank, 0, (&__pyx_v_self->oaddr), (&__pyx_v_self->ocount), (&__pyx_v_self->otype))); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_origin); __Pyx_DECREF(__pyx_v_self->_origin); __pyx_v_self->_origin = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgbuffer.pxi":945 * origin, readonly, rank, 0, * &self.oaddr, &self.ocount, &self.otype) * if ((rank == MPI_PROC_NULL) and # <<<<<<<<<<<<<< * (origin is not None) and * (is_list(origin) or is_tuple(origin)) and */ __pyx_t_3 = ((__pyx_v_rank == MPI_PROC_NULL) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } /* "mpi4py/MPI/msgbuffer.pxi":946 * &self.oaddr, &self.ocount, &self.otype) * if ((rank == MPI_PROC_NULL) and * (origin is not None) and # <<<<<<<<<<<<<< * (is_list(origin) or is_tuple(origin)) and * (len(origin) > 0 and isinstance(origin[-1], Datatype))): */ __pyx_t_3 = (__pyx_v_origin != 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; } /* "mpi4py/MPI/msgbuffer.pxi":947 * if ((rank == MPI_PROC_NULL) and * (origin is not None) and * (is_list(origin) or is_tuple(origin)) and # <<<<<<<<<<<<<< * (len(origin) > 0 and isinstance(origin[-1], Datatype))): * self.otype = (origin[-1]).ob_mpi */ __pyx_t_4 = (PyList_Check(__pyx_v_origin) != 0); if (!__pyx_t_4) { } else { goto __pyx_L7_next_and; } __pyx_t_4 = (PyTuple_Check(__pyx_v_origin) != 0); if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } __pyx_L7_next_and:; /* "mpi4py/MPI/msgbuffer.pxi":948 * (origin is not None) and * (is_list(origin) or is_tuple(origin)) and * (len(origin) > 0 and isinstance(origin[-1], Datatype))): # <<<<<<<<<<<<<< * self.otype = (origin[-1]).ob_mpi * self._origin = origin */ __pyx_t_5 = PyObject_Length(__pyx_v_origin); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(5, 948, __pyx_L1_error) __pyx_t_4 = ((__pyx_t_5 > 0) != 0); if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_origin, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_TypeCheck(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Datatype); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (__pyx_t_4 != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; /* "mpi4py/MPI/msgbuffer.pxi":945 * origin, readonly, rank, 0, * &self.oaddr, &self.ocount, &self.otype) * if ((rank == MPI_PROC_NULL) and # <<<<<<<<<<<<<< * (origin is not None) and * (is_list(origin) or is_tuple(origin)) and */ if (__pyx_t_2) { /* "mpi4py/MPI/msgbuffer.pxi":949 * (is_list(origin) or is_tuple(origin)) and * (len(origin) > 0 and isinstance(origin[-1], Datatype))): * self.otype = (origin[-1]).ob_mpi # <<<<<<<<<<<<<< * self._origin = origin * # TARGET */ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_origin, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Datatype)))) __PYX_ERR(5, 949, __pyx_L1_error) __pyx_t_6 = ((struct PyMPIDatatypeObject *)__pyx_t_1)->ob_mpi; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_self->otype = __pyx_t_6; /* "mpi4py/MPI/msgbuffer.pxi":950 * (len(origin) > 0 and isinstance(origin[-1], Datatype))): * self.otype = (origin[-1]).ob_mpi * self._origin = origin # <<<<<<<<<<<<<< * # TARGET * cdef Py_ssize_t nargs = 0 */ __Pyx_INCREF(__pyx_v_origin); __Pyx_GIVEREF(__pyx_v_origin); __Pyx_GOTREF(__pyx_v_self->_origin); __Pyx_DECREF(__pyx_v_self->_origin); __pyx_v_self->_origin = __pyx_v_origin; /* "mpi4py/MPI/msgbuffer.pxi":945 * origin, readonly, rank, 0, * &self.oaddr, &self.ocount, &self.otype) * if ((rank == MPI_PROC_NULL) and # <<<<<<<<<<<<<< * (origin is not None) and * (is_list(origin) or is_tuple(origin)) and */ } /* "mpi4py/MPI/msgbuffer.pxi":952 * self._origin = origin * # TARGET * cdef Py_ssize_t nargs = 0 # <<<<<<<<<<<<<< * if target is None: * self.tdisp = 0 */ __pyx_v_nargs = 0; /* "mpi4py/MPI/msgbuffer.pxi":953 * # TARGET * cdef Py_ssize_t nargs = 0 * if target is None: # <<<<<<<<<<<<<< * self.tdisp = 0 * self.tcount = self.ocount */ __pyx_t_2 = (__pyx_v_target == Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":954 * cdef Py_ssize_t nargs = 0 * if target is None: * self.tdisp = 0 # <<<<<<<<<<<<<< * self.tcount = self.ocount * self.ttype = self.otype */ __pyx_v_self->tdisp = 0; /* "mpi4py/MPI/msgbuffer.pxi":955 * if target is None: * self.tdisp = 0 * self.tcount = self.ocount # <<<<<<<<<<<<<< * self.ttype = self.otype * elif is_integral(target): */ __pyx_t_7 = __pyx_v_self->ocount; __pyx_v_self->tcount = __pyx_t_7; /* "mpi4py/MPI/msgbuffer.pxi":956 * self.tdisp = 0 * self.tcount = self.ocount * self.ttype = self.otype # <<<<<<<<<<<<<< * elif is_integral(target): * self.tdisp = target */ __pyx_t_6 = __pyx_v_self->otype; __pyx_v_self->ttype = __pyx_t_6; /* "mpi4py/MPI/msgbuffer.pxi":953 * # TARGET * cdef Py_ssize_t nargs = 0 * if target is None: # <<<<<<<<<<<<<< * self.tdisp = 0 * self.tcount = self.ocount */ goto __pyx_L10; } /* "mpi4py/MPI/msgbuffer.pxi":957 * self.tcount = self.ocount * self.ttype = self.otype * elif is_integral(target): # <<<<<<<<<<<<<< * self.tdisp = target * self.tcount = self.ocount */ __pyx_t_3 = (__pyx_f_6mpi4py_3MPI_is_integral(__pyx_v_target) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":958 * self.ttype = self.otype * elif is_integral(target): * self.tdisp = target # <<<<<<<<<<<<<< * self.tcount = self.ocount * self.ttype = self.otype */ __pyx_t_8 = __Pyx_PyInt_As_MPI_Aint(__pyx_v_target); if (unlikely((__pyx_t_8 == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(5, 958, __pyx_L1_error) __pyx_v_self->tdisp = ((MPI_Aint)__pyx_t_8); /* "mpi4py/MPI/msgbuffer.pxi":959 * elif is_integral(target): * self.tdisp = target * self.tcount = self.ocount # <<<<<<<<<<<<<< * self.ttype = self.otype * elif is_list(target) or is_tuple(target): */ __pyx_t_7 = __pyx_v_self->ocount; __pyx_v_self->tcount = __pyx_t_7; /* "mpi4py/MPI/msgbuffer.pxi":960 * self.tdisp = target * self.tcount = self.ocount * self.ttype = self.otype # <<<<<<<<<<<<<< * elif is_list(target) or is_tuple(target): * self.tdisp = 0 */ __pyx_t_6 = __pyx_v_self->otype; __pyx_v_self->ttype = __pyx_t_6; /* "mpi4py/MPI/msgbuffer.pxi":957 * self.tcount = self.ocount * self.ttype = self.otype * elif is_integral(target): # <<<<<<<<<<<<<< * self.tdisp = target * self.tcount = self.ocount */ goto __pyx_L10; } /* "mpi4py/MPI/msgbuffer.pxi":961 * self.tcount = self.ocount * self.ttype = self.otype * elif is_list(target) or is_tuple(target): # <<<<<<<<<<<<<< * self.tdisp = 0 * self.tcount = self.ocount */ __pyx_t_2 = (PyList_Check(__pyx_v_target) != 0); if (!__pyx_t_2) { } else { __pyx_t_3 = __pyx_t_2; goto __pyx_L11_bool_binop_done; } __pyx_t_2 = (PyTuple_Check(__pyx_v_target) != 0); __pyx_t_3 = __pyx_t_2; __pyx_L11_bool_binop_done:; if (likely(__pyx_t_3)) { /* "mpi4py/MPI/msgbuffer.pxi":962 * self.ttype = self.otype * elif is_list(target) or is_tuple(target): * self.tdisp = 0 # <<<<<<<<<<<<<< * self.tcount = self.ocount * self.ttype = self.otype */ __pyx_v_self->tdisp = 0; /* "mpi4py/MPI/msgbuffer.pxi":963 * elif is_list(target) or is_tuple(target): * self.tdisp = 0 * self.tcount = self.ocount # <<<<<<<<<<<<<< * self.ttype = self.otype * nargs = len(target) */ __pyx_t_7 = __pyx_v_self->ocount; __pyx_v_self->tcount = __pyx_t_7; /* "mpi4py/MPI/msgbuffer.pxi":964 * self.tdisp = 0 * self.tcount = self.ocount * self.ttype = self.otype # <<<<<<<<<<<<<< * nargs = len(target) * if nargs >= 1: */ __pyx_t_6 = __pyx_v_self->otype; __pyx_v_self->ttype = __pyx_t_6; /* "mpi4py/MPI/msgbuffer.pxi":965 * self.tcount = self.ocount * self.ttype = self.otype * nargs = len(target) # <<<<<<<<<<<<<< * if nargs >= 1: * self.tdisp = target[0] */ __pyx_t_5 = PyObject_Length(__pyx_v_target); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(5, 965, __pyx_L1_error) __pyx_v_nargs = __pyx_t_5; /* "mpi4py/MPI/msgbuffer.pxi":966 * self.ttype = self.otype * nargs = len(target) * if nargs >= 1: # <<<<<<<<<<<<<< * self.tdisp = target[0] * if nargs >= 2: */ __pyx_t_3 = ((__pyx_v_nargs >= 1) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":967 * nargs = len(target) * if nargs >= 1: * self.tdisp = target[0] # <<<<<<<<<<<<<< * if nargs >= 2: * self.tcount = target[1] */ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_target, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_PyInt_As_MPI_Aint(__pyx_t_1); if (unlikely((__pyx_t_8 == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(5, 967, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_self->tdisp = ((MPI_Aint)__pyx_t_8); /* "mpi4py/MPI/msgbuffer.pxi":966 * self.ttype = self.otype * nargs = len(target) * if nargs >= 1: # <<<<<<<<<<<<<< * self.tdisp = target[0] * if nargs >= 2: */ } /* "mpi4py/MPI/msgbuffer.pxi":968 * if nargs >= 1: * self.tdisp = target[0] * if nargs >= 2: # <<<<<<<<<<<<<< * self.tcount = target[1] * if nargs >= 3: */ __pyx_t_3 = ((__pyx_v_nargs >= 2) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":969 * self.tdisp = target[0] * if nargs >= 2: * self.tcount = target[1] # <<<<<<<<<<<<<< * if nargs >= 3: * self.ttype = (target[2]).ob_mpi */ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_target, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 969, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_self->tcount = ((int)__pyx_t_7); /* "mpi4py/MPI/msgbuffer.pxi":968 * if nargs >= 1: * self.tdisp = target[0] * if nargs >= 2: # <<<<<<<<<<<<<< * self.tcount = target[1] * if nargs >= 3: */ } /* "mpi4py/MPI/msgbuffer.pxi":970 * if nargs >= 2: * self.tcount = target[1] * if nargs >= 3: # <<<<<<<<<<<<<< * self.ttype = (target[2]).ob_mpi * if nargs >= 4: */ __pyx_t_3 = ((__pyx_v_nargs >= 3) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgbuffer.pxi":971 * self.tcount = target[1] * if nargs >= 3: * self.ttype = (target[2]).ob_mpi # <<<<<<<<<<<<<< * if nargs >= 4: * raise ValueError("target: expecting 3 items at most") */ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_target, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Datatype)))) __PYX_ERR(5, 971, __pyx_L1_error) __pyx_t_6 = ((struct PyMPIDatatypeObject *)__pyx_t_1)->ob_mpi; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_self->ttype = __pyx_t_6; /* "mpi4py/MPI/msgbuffer.pxi":970 * if nargs >= 2: * self.tcount = target[1] * if nargs >= 3: # <<<<<<<<<<<<<< * self.ttype = (target[2]).ob_mpi * if nargs >= 4: */ } /* "mpi4py/MPI/msgbuffer.pxi":972 * if nargs >= 3: * self.ttype = (target[2]).ob_mpi * if nargs >= 4: # <<<<<<<<<<<<<< * raise ValueError("target: expecting 3 items at most") * else: */ __pyx_t_3 = ((__pyx_v_nargs >= 4) != 0); if (unlikely(__pyx_t_3)) { /* "mpi4py/MPI/msgbuffer.pxi":973 * self.ttype = (target[2]).ob_mpi * if nargs >= 4: * raise ValueError("target: expecting 3 items at most") # <<<<<<<<<<<<<< * else: * raise ValueError("target: expecting integral or list/tuple") */ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 973, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(5, 973, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":972 * if nargs >= 3: * self.ttype = (target[2]).ob_mpi * if nargs >= 4: # <<<<<<<<<<<<<< * raise ValueError("target: expecting 3 items at most") * else: */ } /* "mpi4py/MPI/msgbuffer.pxi":961 * self.tcount = self.ocount * self.ttype = self.otype * elif is_list(target) or is_tuple(target): # <<<<<<<<<<<<<< * self.tdisp = 0 * self.tcount = self.ocount */ goto __pyx_L10; } /* "mpi4py/MPI/msgbuffer.pxi":975 * raise ValueError("target: expecting 3 items at most") * else: * raise ValueError("target: expecting integral or list/tuple") # <<<<<<<<<<<<<< * self._target = target * return 0 */ /*else*/ { __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(5, 975, __pyx_L1_error) } __pyx_L10:; /* "mpi4py/MPI/msgbuffer.pxi":976 * else: * raise ValueError("target: expecting integral or list/tuple") * self._target = target # <<<<<<<<<<<<<< * return 0 * */ __Pyx_INCREF(__pyx_v_target); __Pyx_GIVEREF(__pyx_v_target); __Pyx_GOTREF(__pyx_v_self->_target); __Pyx_DECREF(__pyx_v_self->_target); __pyx_v_self->_target = __pyx_v_target; /* "mpi4py/MPI/msgbuffer.pxi":977 * raise ValueError("target: expecting integral or list/tuple") * self._target = target * return 0 # <<<<<<<<<<<<<< * * cdef int for_put(self, object origin, int rank, object target) except -1: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":939 * self.ttype = MPI_DATATYPE_NULL * * cdef int for_rma(self, int readonly, # <<<<<<<<<<<<<< * object origin, int rank, object target) except -1: * # ORIGIN */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._p_msg_rma.for_rma", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":979 * return 0 * * cdef int for_put(self, object origin, int rank, object target) except -1: # <<<<<<<<<<<<<< * self.for_rma(1, origin, rank, target) * return 0 */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_put(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_rank, PyObject *__pyx_v_target) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_put", 0); /* "mpi4py/MPI/msgbuffer.pxi":980 * * cdef int for_put(self, object origin, int rank, object target) except -1: * self.for_rma(1, origin, rank, target) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_rma(__pyx_v_self, 1, __pyx_v_origin, __pyx_v_rank, __pyx_v_target); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 980, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":981 * cdef int for_put(self, object origin, int rank, object target) except -1: * self.for_rma(1, origin, rank, target) * return 0 # <<<<<<<<<<<<<< * * cdef int for_get(self, object origin, int rank, object target) except -1: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":979 * return 0 * * cdef int for_put(self, object origin, int rank, object target) except -1: # <<<<<<<<<<<<<< * self.for_rma(1, origin, rank, target) * return 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_msg_rma.for_put", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":983 * return 0 * * cdef int for_get(self, object origin, int rank, object target) except -1: # <<<<<<<<<<<<<< * self.for_rma(0, origin, rank, target) * return 0 */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_get(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_rank, PyObject *__pyx_v_target) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_get", 0); /* "mpi4py/MPI/msgbuffer.pxi":984 * * cdef int for_get(self, object origin, int rank, object target) except -1: * self.for_rma(0, origin, rank, target) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_rma(__pyx_v_self, 0, __pyx_v_origin, __pyx_v_rank, __pyx_v_target); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 984, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":985 * cdef int for_get(self, object origin, int rank, object target) except -1: * self.for_rma(0, origin, rank, target) * return 0 # <<<<<<<<<<<<<< * * cdef int for_acc(self, object origin, int rank, object target) except -1: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":983 * return 0 * * cdef int for_get(self, object origin, int rank, object target) except -1: # <<<<<<<<<<<<<< * self.for_rma(0, origin, rank, target) * return 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_msg_rma.for_get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":987 * return 0 * * cdef int for_acc(self, object origin, int rank, object target) except -1: # <<<<<<<<<<<<<< * self.for_rma(1, origin, rank, target) * return 0 */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_acc(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_rank, PyObject *__pyx_v_target) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_acc", 0); /* "mpi4py/MPI/msgbuffer.pxi":988 * * cdef int for_acc(self, object origin, int rank, object target) except -1: * self.for_rma(1, origin, rank, target) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_rma(__pyx_v_self, 1, __pyx_v_origin, __pyx_v_rank, __pyx_v_target); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 988, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":989 * cdef int for_acc(self, object origin, int rank, object target) except -1: * self.for_rma(1, origin, rank, target) * return 0 # <<<<<<<<<<<<<< * * cdef int set_origin(self, object origin, int rank) except -1: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":987 * return 0 * * cdef int for_acc(self, object origin, int rank, object target) except -1: # <<<<<<<<<<<<<< * self.for_rma(1, origin, rank, target) * return 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_msg_rma.for_acc", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":991 * return 0 * * cdef int set_origin(self, object origin, int rank) except -1: # <<<<<<<<<<<<<< * self._origin = message_simple( * origin, 1, rank, 0, */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_origin(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_rank) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; MPI_Datatype __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("set_origin", 0); /* "mpi4py/MPI/msgbuffer.pxi":992 * * cdef int set_origin(self, object origin, int rank) except -1: * self._origin = message_simple( # <<<<<<<<<<<<<< * origin, 1, rank, 0, * &self.oaddr, &self.ocount, &self.otype) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_simple(__pyx_v_origin, 1, __pyx_v_rank, 0, (&__pyx_v_self->oaddr), (&__pyx_v_self->ocount), (&__pyx_v_self->otype))); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_origin); __Pyx_DECREF(__pyx_v_self->_origin); __pyx_v_self->_origin = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgbuffer.pxi":995 * origin, 1, rank, 0, * &self.oaddr, &self.ocount, &self.otype) * self.tdisp = 0 # <<<<<<<<<<<<<< * self.tcount = self.ocount * self.ttype = self.otype */ __pyx_v_self->tdisp = 0; /* "mpi4py/MPI/msgbuffer.pxi":996 * &self.oaddr, &self.ocount, &self.otype) * self.tdisp = 0 * self.tcount = self.ocount # <<<<<<<<<<<<<< * self.ttype = self.otype * */ __pyx_t_2 = __pyx_v_self->ocount; __pyx_v_self->tcount = __pyx_t_2; /* "mpi4py/MPI/msgbuffer.pxi":997 * self.tdisp = 0 * self.tcount = self.ocount * self.ttype = self.otype # <<<<<<<<<<<<<< * * cdef int set_compare(self, object compare, int rank) except -1: */ __pyx_t_3 = __pyx_v_self->otype; __pyx_v_self->ttype = __pyx_t_3; /* "mpi4py/MPI/msgbuffer.pxi":991 * return 0 * * cdef int set_origin(self, object origin, int rank) except -1: # <<<<<<<<<<<<<< * self._origin = message_simple( * origin, 1, rank, 0, */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._p_msg_rma.set_origin", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":999 * self.ttype = self.otype * * cdef int set_compare(self, object compare, int rank) except -1: # <<<<<<<<<<<<<< * self._compare = message_simple( * compare, 1, rank, 0, */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_compare(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_compare, int __pyx_v_rank) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("set_compare", 0); /* "mpi4py/MPI/msgbuffer.pxi":1000 * * cdef int set_compare(self, object compare, int rank) except -1: * self._compare = message_simple( # <<<<<<<<<<<<<< * compare, 1, rank, 0, * &self.caddr, &self.ccount, &self.ctype) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_simple(__pyx_v_compare, 1, __pyx_v_rank, 0, (&__pyx_v_self->caddr), (&__pyx_v_self->ccount), (&__pyx_v_self->ctype))); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_compare); __Pyx_DECREF(__pyx_v_self->_compare); __pyx_v_self->_compare = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgbuffer.pxi":999 * self.ttype = self.otype * * cdef int set_compare(self, object compare, int rank) except -1: # <<<<<<<<<<<<<< * self._compare = message_simple( * compare, 1, rank, 0, */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._p_msg_rma.set_compare", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":1004 * &self.caddr, &self.ccount, &self.ctype) * * cdef int set_result(self, object result, int rank) except -1: # <<<<<<<<<<<<<< * self._result = message_simple( * result, 0, rank, 0, */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_result(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_result, int __pyx_v_rank) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("set_result", 0); /* "mpi4py/MPI/msgbuffer.pxi":1005 * * cdef int set_result(self, object result, int rank) except -1: * self._result = message_simple( # <<<<<<<<<<<<<< * result, 0, rank, 0, * &self.raddr, &self.rcount, &self.rtype) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_simple(__pyx_v_result, 0, __pyx_v_rank, 0, (&__pyx_v_self->raddr), (&__pyx_v_self->rcount), (&__pyx_v_self->rtype))); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 1005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_result); __Pyx_DECREF(__pyx_v_self->_result); __pyx_v_self->_result = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgbuffer.pxi":1004 * &self.caddr, &self.ccount, &self.ctype) * * cdef int set_result(self, object result, int rank) except -1: # <<<<<<<<<<<<<< * self._result = message_simple( * result, 0, rank, 0, */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._p_msg_rma.set_result", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":1009 * &self.raddr, &self.rcount, &self.rtype) * * cdef int for_get_acc(self, object origin, object result, # <<<<<<<<<<<<<< * int rank, object target) except -1: * self.for_rma(0, origin, rank, target) */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_get_acc(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_result, int __pyx_v_rank, PyObject *__pyx_v_target) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_get_acc", 0); /* "mpi4py/MPI/msgbuffer.pxi":1011 * cdef int for_get_acc(self, object origin, object result, * int rank, object target) except -1: * self.for_rma(0, origin, rank, target) # <<<<<<<<<<<<<< * self.set_result(result, rank) * return 0 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_rma(__pyx_v_self, 0, __pyx_v_origin, __pyx_v_rank, __pyx_v_target); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 1011, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":1012 * int rank, object target) except -1: * self.for_rma(0, origin, rank, target) * self.set_result(result, rank) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_result(__pyx_v_self, __pyx_v_result, __pyx_v_rank); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 1012, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":1013 * self.for_rma(0, origin, rank, target) * self.set_result(result, rank) * return 0 # <<<<<<<<<<<<<< * * cdef int for_fetch_op(self, object origin, object result, */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":1009 * &self.raddr, &self.rcount, &self.rtype) * * cdef int for_get_acc(self, object origin, object result, # <<<<<<<<<<<<<< * int rank, object target) except -1: * self.for_rma(0, origin, rank, target) */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._p_msg_rma.for_get_acc", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":1015 * return 0 * * cdef int for_fetch_op(self, object origin, object result, # <<<<<<<<<<<<<< * int rank, MPI_Aint disp) except -1: * self.set_origin(origin, rank) */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_fetch_op(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_result, int __pyx_v_rank, MPI_Aint __pyx_v_disp) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_fetch_op", 0); /* "mpi4py/MPI/msgbuffer.pxi":1017 * cdef int for_fetch_op(self, object origin, object result, * int rank, MPI_Aint disp) except -1: * self.set_origin(origin, rank) # <<<<<<<<<<<<<< * self.set_result(result, rank) * self.tdisp = disp */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_origin(__pyx_v_self, __pyx_v_origin, __pyx_v_rank); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 1017, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":1018 * int rank, MPI_Aint disp) except -1: * self.set_origin(origin, rank) * self.set_result(result, rank) # <<<<<<<<<<<<<< * self.tdisp = disp * if rank == MPI_PROC_NULL: return 0 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_result(__pyx_v_self, __pyx_v_result, __pyx_v_rank); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 1018, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":1019 * self.set_origin(origin, rank) * self.set_result(result, rank) * self.tdisp = disp # <<<<<<<<<<<<<< * if rank == MPI_PROC_NULL: return 0 * # Check */ __pyx_v_self->tdisp = __pyx_v_disp; /* "mpi4py/MPI/msgbuffer.pxi":1020 * self.set_result(result, rank) * self.tdisp = disp * if rank == MPI_PROC_NULL: return 0 # <<<<<<<<<<<<<< * # Check * if self.ocount != 1: raise ValueError( */ __pyx_t_2 = ((__pyx_v_rank == MPI_PROC_NULL) != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":1022 * if rank == MPI_PROC_NULL: return 0 * # Check * if self.ocount != 1: raise ValueError( # <<<<<<<<<<<<<< * "origin: expecting a single element, got %d" % self.ocount) * if self.rcount != 1: raise ValueError( */ __pyx_t_2 = ((__pyx_v_self->ocount != 1) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/msgbuffer.pxi":1023 * # Check * if self.ocount != 1: raise ValueError( * "origin: expecting a single element, got %d" % self.ocount) # <<<<<<<<<<<<<< * if self.rcount != 1: raise ValueError( * "result: expecting a single element, got %d" % self.rcount) */ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->ocount); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_origin_expecting_a_single_elemen, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgbuffer.pxi":1022 * if rank == MPI_PROC_NULL: return 0 * # Check * if self.ocount != 1: raise ValueError( # <<<<<<<<<<<<<< * "origin: expecting a single element, got %d" % self.ocount) * if self.rcount != 1: raise ValueError( */ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(5, 1022, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":1024 * if self.ocount != 1: raise ValueError( * "origin: expecting a single element, got %d" % self.ocount) * if self.rcount != 1: raise ValueError( # <<<<<<<<<<<<<< * "result: expecting a single element, got %d" % self.rcount) * if self.otype != self.rtype: raise ValueError( */ __pyx_t_2 = ((__pyx_v_self->rcount != 1) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/msgbuffer.pxi":1025 * "origin: expecting a single element, got %d" % self.ocount) * if self.rcount != 1: raise ValueError( * "result: expecting a single element, got %d" % self.rcount) # <<<<<<<<<<<<<< * if self.otype != self.rtype: raise ValueError( * "mismatch in origin and result MPI datatypes") */ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->rcount); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_result_expecting_a_single_elemen, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgbuffer.pxi":1024 * if self.ocount != 1: raise ValueError( * "origin: expecting a single element, got %d" % self.ocount) * if self.rcount != 1: raise ValueError( # <<<<<<<<<<<<<< * "result: expecting a single element, got %d" % self.rcount) * if self.otype != self.rtype: raise ValueError( */ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(5, 1024, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":1026 * if self.rcount != 1: raise ValueError( * "result: expecting a single element, got %d" % self.rcount) * if self.otype != self.rtype: raise ValueError( # <<<<<<<<<<<<<< * "mismatch in origin and result MPI datatypes") * return 0 */ __pyx_t_2 = ((__pyx_v_self->otype != __pyx_v_self->rtype) != 0); if (unlikely(__pyx_t_2)) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(5, 1026, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":1028 * if self.otype != self.rtype: raise ValueError( * "mismatch in origin and result MPI datatypes") * return 0 # <<<<<<<<<<<<<< * * cdef int for_cmp_swap(self, object origin, object compare, object result, */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":1015 * return 0 * * cdef int for_fetch_op(self, object origin, object result, # <<<<<<<<<<<<<< * int rank, MPI_Aint disp) except -1: * self.set_origin(origin, rank) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI._p_msg_rma.for_fetch_op", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":1030 * return 0 * * cdef int for_cmp_swap(self, object origin, object compare, object result, # <<<<<<<<<<<<<< * int rank, MPI_Aint disp) except -1: * self.set_origin(origin, rank) */ static int __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_cmp_swap(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_compare, PyObject *__pyx_v_result, int __pyx_v_rank, MPI_Aint __pyx_v_disp) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_cmp_swap", 0); /* "mpi4py/MPI/msgbuffer.pxi":1032 * cdef int for_cmp_swap(self, object origin, object compare, object result, * int rank, MPI_Aint disp) except -1: * self.set_origin(origin, rank) # <<<<<<<<<<<<<< * self.set_compare(compare, rank) * self.set_result(result, rank) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_origin(__pyx_v_self, __pyx_v_origin, __pyx_v_rank); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 1032, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":1033 * int rank, MPI_Aint disp) except -1: * self.set_origin(origin, rank) * self.set_compare(compare, rank) # <<<<<<<<<<<<<< * self.set_result(result, rank) * self.tdisp = disp */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_compare(__pyx_v_self, __pyx_v_compare, __pyx_v_rank); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 1033, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":1034 * self.set_origin(origin, rank) * self.set_compare(compare, rank) * self.set_result(result, rank) # <<<<<<<<<<<<<< * self.tdisp = disp * if rank == MPI_PROC_NULL: return 0 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_result(__pyx_v_self, __pyx_v_result, __pyx_v_rank); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 1034, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":1035 * self.set_compare(compare, rank) * self.set_result(result, rank) * self.tdisp = disp # <<<<<<<<<<<<<< * if rank == MPI_PROC_NULL: return 0 * # Check */ __pyx_v_self->tdisp = __pyx_v_disp; /* "mpi4py/MPI/msgbuffer.pxi":1036 * self.set_result(result, rank) * self.tdisp = disp * if rank == MPI_PROC_NULL: return 0 # <<<<<<<<<<<<<< * # Check * if self.ocount != 1: raise ValueError( */ __pyx_t_2 = ((__pyx_v_rank == MPI_PROC_NULL) != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgbuffer.pxi":1038 * if rank == MPI_PROC_NULL: return 0 * # Check * if self.ocount != 1: raise ValueError( # <<<<<<<<<<<<<< * "origin: expecting a single element, got %d" % self.ocount) * if self.ccount != 1: raise ValueError( */ __pyx_t_2 = ((__pyx_v_self->ocount != 1) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/msgbuffer.pxi":1039 * # Check * if self.ocount != 1: raise ValueError( * "origin: expecting a single element, got %d" % self.ocount) # <<<<<<<<<<<<<< * if self.ccount != 1: raise ValueError( * "compare: expecting a single element, got %d" % self.ccount) */ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->ocount); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_origin_expecting_a_single_elemen, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgbuffer.pxi":1038 * if rank == MPI_PROC_NULL: return 0 * # Check * if self.ocount != 1: raise ValueError( # <<<<<<<<<<<<<< * "origin: expecting a single element, got %d" % self.ocount) * if self.ccount != 1: raise ValueError( */ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(5, 1038, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":1040 * if self.ocount != 1: raise ValueError( * "origin: expecting a single element, got %d" % self.ocount) * if self.ccount != 1: raise ValueError( # <<<<<<<<<<<<<< * "compare: expecting a single element, got %d" % self.ccount) * if self.rcount != 1: raise ValueError( */ __pyx_t_2 = ((__pyx_v_self->ccount != 1) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/msgbuffer.pxi":1041 * "origin: expecting a single element, got %d" % self.ocount) * if self.ccount != 1: raise ValueError( * "compare: expecting a single element, got %d" % self.ccount) # <<<<<<<<<<<<<< * if self.rcount != 1: raise ValueError( * "result: expecting a single element, got %d" % self.rcount) */ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->ccount); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_compare_expecting_a_single_eleme, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgbuffer.pxi":1040 * if self.ocount != 1: raise ValueError( * "origin: expecting a single element, got %d" % self.ocount) * if self.ccount != 1: raise ValueError( # <<<<<<<<<<<<<< * "compare: expecting a single element, got %d" % self.ccount) * if self.rcount != 1: raise ValueError( */ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(5, 1040, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":1042 * if self.ccount != 1: raise ValueError( * "compare: expecting a single element, got %d" % self.ccount) * if self.rcount != 1: raise ValueError( # <<<<<<<<<<<<<< * "result: expecting a single element, got %d" % self.rcount) * if self.otype != self.ctype: raise ValueError( */ __pyx_t_2 = ((__pyx_v_self->rcount != 1) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/msgbuffer.pxi":1043 * "compare: expecting a single element, got %d" % self.ccount) * if self.rcount != 1: raise ValueError( * "result: expecting a single element, got %d" % self.rcount) # <<<<<<<<<<<<<< * if self.otype != self.ctype: raise ValueError( * "mismatch in origin and compare MPI datatypes") */ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->rcount); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_result_expecting_a_single_elemen, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgbuffer.pxi":1042 * if self.ccount != 1: raise ValueError( * "compare: expecting a single element, got %d" % self.ccount) * if self.rcount != 1: raise ValueError( # <<<<<<<<<<<<<< * "result: expecting a single element, got %d" % self.rcount) * if self.otype != self.ctype: raise ValueError( */ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(5, 1042, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":1044 * if self.rcount != 1: raise ValueError( * "result: expecting a single element, got %d" % self.rcount) * if self.otype != self.ctype: raise ValueError( # <<<<<<<<<<<<<< * "mismatch in origin and compare MPI datatypes") * if self.otype != self.rtype: raise ValueError( */ __pyx_t_2 = ((__pyx_v_self->otype != __pyx_v_self->ctype) != 0); if (unlikely(__pyx_t_2)) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(5, 1044, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":1046 * if self.otype != self.ctype: raise ValueError( * "mismatch in origin and compare MPI datatypes") * if self.otype != self.rtype: raise ValueError( # <<<<<<<<<<<<<< * "mismatch in origin and result MPI datatypes") * return 0 */ __pyx_t_2 = ((__pyx_v_self->otype != __pyx_v_self->rtype) != 0); if (unlikely(__pyx_t_2)) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(5, 1046, __pyx_L1_error) } /* "mpi4py/MPI/msgbuffer.pxi":1048 * if self.otype != self.rtype: raise ValueError( * "mismatch in origin and result MPI datatypes") * return 0 # <<<<<<<<<<<<<< * * cdef inline _p_msg_rma message_rma(): */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":1030 * return 0 * * cdef int for_cmp_swap(self, object origin, object compare, object result, # <<<<<<<<<<<<<< * int rank, MPI_Aint disp) except -1: * self.set_origin(origin, rank) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI._p_msg_rma.for_cmp_swap", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":1050 * return 0 * * cdef inline _p_msg_rma message_rma(): # <<<<<<<<<<<<<< * cdef _p_msg_rma msg = <_p_msg_rma>_p_msg_rma.__new__(_p_msg_rma) * return msg */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_f_6mpi4py_3MPI_message_rma(void) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_msg = 0; struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("message_rma", 0); /* "mpi4py/MPI/msgbuffer.pxi":1051 * * cdef inline _p_msg_rma message_rma(): * cdef _p_msg_rma msg = <_p_msg_rma>_p_msg_rma.__new__(_p_msg_rma) # <<<<<<<<<<<<<< * return msg * */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI__p_msg_rma(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI__p_msg_rma), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 1051, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":1052 * cdef inline _p_msg_rma message_rma(): * cdef _p_msg_rma msg = <_p_msg_rma>_p_msg_rma.__new__(_p_msg_rma) * return msg # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_msg)); __pyx_r = __pyx_v_msg; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":1050 * return 0 * * cdef inline _p_msg_rma message_rma(): # <<<<<<<<<<<<<< * cdef _p_msg_rma msg = <_p_msg_rma>_p_msg_rma.__new__(_p_msg_rma) * return msg */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.message_rma", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":1067 * cdef object _msg * * def __cinit__(self): # <<<<<<<<<<<<<< * self.buf = NULL * self.count = 0 */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_9_p_msg_io_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_9_p_msg_io_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_6mpi4py_3MPI_9_p_msg_io___cinit__(((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_9_p_msg_io___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/msgbuffer.pxi":1068 * * def __cinit__(self): * self.buf = NULL # <<<<<<<<<<<<<< * self.count = 0 * self.dtype = MPI_DATATYPE_NULL */ __pyx_v_self->buf = NULL; /* "mpi4py/MPI/msgbuffer.pxi":1069 * def __cinit__(self): * self.buf = NULL * self.count = 0 # <<<<<<<<<<<<<< * self.dtype = MPI_DATATYPE_NULL * */ __pyx_v_self->count = 0; /* "mpi4py/MPI/msgbuffer.pxi":1070 * self.buf = NULL * self.count = 0 * self.dtype = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * * cdef int for_read(self, object msg) except -1: */ __pyx_v_self->dtype = MPI_DATATYPE_NULL; /* "mpi4py/MPI/msgbuffer.pxi":1067 * cdef object _msg * * def __cinit__(self): # <<<<<<<<<<<<<< * self.buf = NULL * self.count = 0 */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":1072 * self.dtype = MPI_DATATYPE_NULL * * cdef int for_read(self, object msg) except -1: # <<<<<<<<<<<<<< * self._msg = message_simple(msg, 0, # writable * 0, 0, */ static int __pyx_f_6mpi4py_3MPI_9_p_msg_io_for_read(struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_self, PyObject *__pyx_v_msg) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_read", 0); /* "mpi4py/MPI/msgbuffer.pxi":1073 * * cdef int for_read(self, object msg) except -1: * self._msg = message_simple(msg, 0, # writable # <<<<<<<<<<<<<< * 0, 0, * &self.buf, */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_simple(__pyx_v_msg, 0, 0, 0, (&__pyx_v_self->buf), (&__pyx_v_self->count), (&__pyx_v_self->dtype))); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 1073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_msg); __Pyx_DECREF(__pyx_v_self->_msg); __pyx_v_self->_msg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgbuffer.pxi":1078 * &self.count, * &self.dtype) * return 0 # <<<<<<<<<<<<<< * * cdef int for_write(self, object msg) except -1: */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":1072 * self.dtype = MPI_DATATYPE_NULL * * cdef int for_read(self, object msg) except -1: # <<<<<<<<<<<<<< * self._msg = message_simple(msg, 0, # writable * 0, 0, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._p_msg_io.for_read", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":1080 * return 0 * * cdef int for_write(self, object msg) except -1: # <<<<<<<<<<<<<< * self._msg = message_simple(msg, 1, # readonly * 0, 0, */ static int __pyx_f_6mpi4py_3MPI_9_p_msg_io_for_write(struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_self, PyObject *__pyx_v_msg) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("for_write", 0); /* "mpi4py/MPI/msgbuffer.pxi":1081 * * cdef int for_write(self, object msg) except -1: * self._msg = message_simple(msg, 1, # readonly # <<<<<<<<<<<<<< * 0, 0, * &self.buf, */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_simple(__pyx_v_msg, 1, 0, 0, (&__pyx_v_self->buf), (&__pyx_v_self->count), (&__pyx_v_self->dtype))); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 1081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->_msg); __Pyx_DECREF(__pyx_v_self->_msg); __pyx_v_self->_msg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgbuffer.pxi":1086 * &self.count, * &self.dtype) * return 0 # <<<<<<<<<<<<<< * * cdef inline _p_msg_io message_io_read(object buf): */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":1080 * return 0 * * cdef int for_write(self, object msg) except -1: # <<<<<<<<<<<<<< * self._msg = message_simple(msg, 1, # readonly * 0, 0, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI._p_msg_io.for_write", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":1088 * return 0 * * cdef inline _p_msg_io message_io_read(object buf): # <<<<<<<<<<<<<< * cdef _p_msg_io msg = <_p_msg_io>_p_msg_io.__new__(_p_msg_io) * msg.for_read(buf) */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_f_6mpi4py_3MPI_message_io_read(PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_msg = 0; struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("message_io_read", 0); /* "mpi4py/MPI/msgbuffer.pxi":1089 * * cdef inline _p_msg_io message_io_read(object buf): * cdef _p_msg_io msg = <_p_msg_io>_p_msg_io.__new__(_p_msg_io) # <<<<<<<<<<<<<< * msg.for_read(buf) * return msg */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI__p_msg_io(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI__p_msg_io), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 1089, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":1090 * cdef inline _p_msg_io message_io_read(object buf): * cdef _p_msg_io msg = <_p_msg_io>_p_msg_io.__new__(_p_msg_io) * msg.for_read(buf) # <<<<<<<<<<<<<< * return msg * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_9_p_msg_io_for_read(__pyx_v_msg, __pyx_v_buf); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(5, 1090, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":1091 * cdef _p_msg_io msg = <_p_msg_io>_p_msg_io.__new__(_p_msg_io) * msg.for_read(buf) * return msg # <<<<<<<<<<<<<< * * cdef inline _p_msg_io message_io_write(object buf): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_msg)); __pyx_r = __pyx_v_msg; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":1088 * return 0 * * cdef inline _p_msg_io message_io_read(object buf): # <<<<<<<<<<<<<< * cdef _p_msg_io msg = <_p_msg_io>_p_msg_io.__new__(_p_msg_io) * msg.for_read(buf) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.message_io_read", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgbuffer.pxi":1093 * return msg * * cdef inline _p_msg_io message_io_write(object buf): # <<<<<<<<<<<<<< * cdef _p_msg_io msg = <_p_msg_io>_p_msg_io.__new__(_p_msg_io) * msg.for_write(buf) */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_f_6mpi4py_3MPI_message_io_write(PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_msg = 0; struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("message_io_write", 0); /* "mpi4py/MPI/msgbuffer.pxi":1094 * * cdef inline _p_msg_io message_io_write(object buf): * cdef _p_msg_io msg = <_p_msg_io>_p_msg_io.__new__(_p_msg_io) # <<<<<<<<<<<<<< * msg.for_write(buf) * return msg */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI__p_msg_io(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI__p_msg_io), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 1094, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgbuffer.pxi":1095 * cdef inline _p_msg_io message_io_write(object buf): * cdef _p_msg_io msg = <_p_msg_io>_p_msg_io.__new__(_p_msg_io) * msg.for_write(buf) # <<<<<<<<<<<<<< * return msg * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_9_p_msg_io_for_write(__pyx_v_msg, __pyx_v_buf); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(5, 1095, __pyx_L1_error) /* "mpi4py/MPI/msgbuffer.pxi":1096 * cdef _p_msg_io msg = <_p_msg_io>_p_msg_io.__new__(_p_msg_io) * msg.for_write(buf) * return msg # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_msg)); __pyx_r = __pyx_v_msg; goto __pyx_L0; /* "mpi4py/MPI/msgbuffer.pxi":1093 * return msg * * cdef inline _p_msg_io message_io_write(object buf): # <<<<<<<<<<<<<< * cdef _p_msg_io msg = <_p_msg_io>_p_msg_io.__new__(_p_msg_io) * msg.for_write(buf) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.message_io_write", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF((PyObject *)__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":54 * cdef object ob_PROTO * * def __cinit__(self, *args, **kwargs): # <<<<<<<<<<<<<< * self.ob_dumps = PyPickle_dumps * self.ob_loads = PyPickle_loads */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Pickle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Pickle_1__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_6mpi4py_3MPI_6Pickle___cinit__(((struct __pyx_obj_6mpi4py_3MPI_Pickle *)__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_6mpi4py_3MPI_6Pickle___cinit__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/msgpickle.pxi":55 * * def __cinit__(self, *args, **kwargs): * self.ob_dumps = PyPickle_dumps # <<<<<<<<<<<<<< * self.ob_loads = PyPickle_loads * self.ob_PROTO = PyPickle_PROTOCOL */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_dumps); __Pyx_GIVEREF(__pyx_v_6mpi4py_3MPI_PyPickle_dumps); __Pyx_GOTREF(__pyx_v_self->ob_dumps); __Pyx_DECREF(__pyx_v_self->ob_dumps); __pyx_v_self->ob_dumps = __pyx_v_6mpi4py_3MPI_PyPickle_dumps; /* "mpi4py/MPI/msgpickle.pxi":56 * def __cinit__(self, *args, **kwargs): * self.ob_dumps = PyPickle_dumps * self.ob_loads = PyPickle_loads # <<<<<<<<<<<<<< * self.ob_PROTO = PyPickle_PROTOCOL * */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_loads); __Pyx_GIVEREF(__pyx_v_6mpi4py_3MPI_PyPickle_loads); __Pyx_GOTREF(__pyx_v_self->ob_loads); __Pyx_DECREF(__pyx_v_self->ob_loads); __pyx_v_self->ob_loads = __pyx_v_6mpi4py_3MPI_PyPickle_loads; /* "mpi4py/MPI/msgpickle.pxi":57 * self.ob_dumps = PyPickle_dumps * self.ob_loads = PyPickle_loads * self.ob_PROTO = PyPickle_PROTOCOL # <<<<<<<<<<<<<< * * def __init__(self, dumps=None, loads=None, protocol=None): */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); __Pyx_GIVEREF(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); __Pyx_GOTREF(__pyx_v_self->ob_PROTO); __Pyx_DECREF(__pyx_v_self->ob_PROTO); __pyx_v_self->ob_PROTO = __pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL; /* "mpi4py/MPI/msgpickle.pxi":54 * cdef object ob_PROTO * * def __cinit__(self, *args, **kwargs): # <<<<<<<<<<<<<< * self.ob_dumps = PyPickle_dumps * self.ob_loads = PyPickle_loads */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":59 * self.ob_PROTO = PyPickle_PROTOCOL * * def __init__(self, dumps=None, loads=None, protocol=None): # <<<<<<<<<<<<<< * if dumps is None: * dumps = PyPickle_dumps */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Pickle_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Pickle_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_dumps = 0; PyObject *__pyx_v_loads = 0; PyObject *__pyx_v_protocol = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dumps,&__pyx_n_s_loads,&__pyx_n_s_protocol,0}; PyObject* values[3] = {0,0,0}; values[0] = ((PyObject *)Py_None); values[1] = ((PyObject *)Py_None); 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 (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dumps); 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_loads); 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_protocol); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(6, 59, __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_dumps = values[0]; __pyx_v_loads = values[1]; __pyx_v_protocol = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(6, 59, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Pickle.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Pickle_2__init__(((struct __pyx_obj_6mpi4py_3MPI_Pickle *)__pyx_v_self), __pyx_v_dumps, __pyx_v_loads, __pyx_v_protocol); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6Pickle_2__init__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_dumps, PyObject *__pyx_v_loads, PyObject *__pyx_v_protocol) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("__init__", 0); __Pyx_INCREF(__pyx_v_dumps); __Pyx_INCREF(__pyx_v_loads); __Pyx_INCREF(__pyx_v_protocol); /* "mpi4py/MPI/msgpickle.pxi":60 * * def __init__(self, dumps=None, loads=None, protocol=None): * if dumps is None: # <<<<<<<<<<<<<< * dumps = PyPickle_dumps * if loads is None: */ __pyx_t_1 = (__pyx_v_dumps == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":61 * def __init__(self, dumps=None, loads=None, protocol=None): * if dumps is None: * dumps = PyPickle_dumps # <<<<<<<<<<<<<< * if loads is None: * loads = PyPickle_loads */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_dumps); __Pyx_DECREF_SET(__pyx_v_dumps, __pyx_v_6mpi4py_3MPI_PyPickle_dumps); /* "mpi4py/MPI/msgpickle.pxi":60 * * def __init__(self, dumps=None, loads=None, protocol=None): * if dumps is None: # <<<<<<<<<<<<<< * dumps = PyPickle_dumps * if loads is None: */ } /* "mpi4py/MPI/msgpickle.pxi":62 * if dumps is None: * dumps = PyPickle_dumps * if loads is None: # <<<<<<<<<<<<<< * loads = PyPickle_loads * if protocol is None: */ __pyx_t_2 = (__pyx_v_loads == Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":63 * dumps = PyPickle_dumps * if loads is None: * loads = PyPickle_loads # <<<<<<<<<<<<<< * if protocol is None: * if dumps is PyPickle_dumps: */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_loads); __Pyx_DECREF_SET(__pyx_v_loads, __pyx_v_6mpi4py_3MPI_PyPickle_loads); /* "mpi4py/MPI/msgpickle.pxi":62 * if dumps is None: * dumps = PyPickle_dumps * if loads is None: # <<<<<<<<<<<<<< * loads = PyPickle_loads * if protocol is None: */ } /* "mpi4py/MPI/msgpickle.pxi":64 * if loads is None: * loads = PyPickle_loads * if protocol is None: # <<<<<<<<<<<<<< * if dumps is PyPickle_dumps: * protocol = PyPickle_PROTOCOL */ __pyx_t_1 = (__pyx_v_protocol == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":65 * loads = PyPickle_loads * if protocol is None: * if dumps is PyPickle_dumps: # <<<<<<<<<<<<<< * protocol = PyPickle_PROTOCOL * self.ob_dumps = dumps */ __pyx_t_2 = (__pyx_v_dumps == __pyx_v_6mpi4py_3MPI_PyPickle_dumps); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":66 * if protocol is None: * if dumps is PyPickle_dumps: * protocol = PyPickle_PROTOCOL # <<<<<<<<<<<<<< * self.ob_dumps = dumps * self.ob_loads = loads */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); __Pyx_DECREF_SET(__pyx_v_protocol, __pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); /* "mpi4py/MPI/msgpickle.pxi":65 * loads = PyPickle_loads * if protocol is None: * if dumps is PyPickle_dumps: # <<<<<<<<<<<<<< * protocol = PyPickle_PROTOCOL * self.ob_dumps = dumps */ } /* "mpi4py/MPI/msgpickle.pxi":64 * if loads is None: * loads = PyPickle_loads * if protocol is None: # <<<<<<<<<<<<<< * if dumps is PyPickle_dumps: * protocol = PyPickle_PROTOCOL */ } /* "mpi4py/MPI/msgpickle.pxi":67 * if dumps is PyPickle_dumps: * protocol = PyPickle_PROTOCOL * self.ob_dumps = dumps # <<<<<<<<<<<<<< * self.ob_loads = loads * self.ob_PROTO = protocol */ __Pyx_INCREF(__pyx_v_dumps); __Pyx_GIVEREF(__pyx_v_dumps); __Pyx_GOTREF(__pyx_v_self->ob_dumps); __Pyx_DECREF(__pyx_v_self->ob_dumps); __pyx_v_self->ob_dumps = __pyx_v_dumps; /* "mpi4py/MPI/msgpickle.pxi":68 * protocol = PyPickle_PROTOCOL * self.ob_dumps = dumps * self.ob_loads = loads # <<<<<<<<<<<<<< * self.ob_PROTO = protocol * */ __Pyx_INCREF(__pyx_v_loads); __Pyx_GIVEREF(__pyx_v_loads); __Pyx_GOTREF(__pyx_v_self->ob_loads); __Pyx_DECREF(__pyx_v_self->ob_loads); __pyx_v_self->ob_loads = __pyx_v_loads; /* "mpi4py/MPI/msgpickle.pxi":69 * self.ob_dumps = dumps * self.ob_loads = loads * self.ob_PROTO = protocol # <<<<<<<<<<<<<< * * def dumps(self, obj): */ __Pyx_INCREF(__pyx_v_protocol); __Pyx_GIVEREF(__pyx_v_protocol); __Pyx_GOTREF(__pyx_v_self->ob_PROTO); __Pyx_DECREF(__pyx_v_self->ob_PROTO); __pyx_v_self->ob_PROTO = __pyx_v_protocol; /* "mpi4py/MPI/msgpickle.pxi":59 * self.ob_PROTO = PyPickle_PROTOCOL * * def __init__(self, dumps=None, loads=None, protocol=None): # <<<<<<<<<<<<<< * if dumps is None: * dumps = PyPickle_dumps */ /* function exit code */ __pyx_r = 0; __Pyx_XDECREF(__pyx_v_dumps); __Pyx_XDECREF(__pyx_v_loads); __Pyx_XDECREF(__pyx_v_protocol); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":71 * self.ob_PROTO = protocol * * def dumps(self, obj): # <<<<<<<<<<<<<< * "dumps(obj) -> bytes" * return self.cdumps(obj) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Pickle_5dumps(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Pickle_4dumps[] = "Pickle.dumps(self, obj)\ndumps(obj) -> bytes"; static PyObject *__pyx_pw_6mpi4py_3MPI_6Pickle_5dumps(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_obj = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("dumps (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,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_obj)) != 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, "dumps") < 0)) __PYX_ERR(6, 71, __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_obj = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("dumps", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(6, 71, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Pickle.dumps", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Pickle_4dumps(((struct __pyx_obj_6mpi4py_3MPI_Pickle *)__pyx_v_self), __pyx_v_obj); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Pickle_4dumps(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_obj) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("dumps", 0); /* "mpi4py/MPI/msgpickle.pxi":73 * def dumps(self, obj): * "dumps(obj) -> bytes" * return self.cdumps(obj) # <<<<<<<<<<<<<< * * def loads(self, buf): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_f_6mpi4py_3MPI_6Pickle_cdumps(__pyx_v_self, __pyx_v_obj); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":71 * self.ob_PROTO = protocol * * def dumps(self, obj): # <<<<<<<<<<<<<< * "dumps(obj) -> bytes" * return self.cdumps(obj) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Pickle.dumps", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":75 * return self.cdumps(obj) * * def loads(self, buf): # <<<<<<<<<<<<<< * "loads(buf) -> object" * return self.cloads(buf) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Pickle_7loads(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Pickle_6loads[] = "Pickle.loads(self, buf)\nloads(buf) -> object"; static PyObject *__pyx_pw_6mpi4py_3MPI_6Pickle_7loads(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("loads (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "loads") < 0)) __PYX_ERR(6, 75, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("loads", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(6, 75, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Pickle.loads", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Pickle_6loads(((struct __pyx_obj_6mpi4py_3MPI_Pickle *)__pyx_v_self), __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Pickle_6loads(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_buf) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("loads", 0); /* "mpi4py/MPI/msgpickle.pxi":77 * def loads(self, buf): * "loads(buf) -> object" * return self.cloads(buf) # <<<<<<<<<<<<<< * * property PROTOCOL: */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_f_6mpi4py_3MPI_6Pickle_cloads(__pyx_v_self, __pyx_v_buf); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":75 * return self.cdumps(obj) * * def loads(self, buf): # <<<<<<<<<<<<<< * "loads(buf) -> object" * return self.cloads(buf) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Pickle.loads", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":81 * property PROTOCOL: * "protocol" * def __get__(self): # <<<<<<<<<<<<<< * return self.ob_PROTO * def __set__(self, protocol): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Pickle_8PROTOCOL_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6Pickle_8PROTOCOL_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Pickle_8PROTOCOL___get__(((struct __pyx_obj_6mpi4py_3MPI_Pickle *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Pickle_8PROTOCOL___get__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/msgpickle.pxi":82 * "protocol" * def __get__(self): * return self.ob_PROTO # <<<<<<<<<<<<<< * def __set__(self, protocol): * if protocol is None: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_self->ob_PROTO); __pyx_r = __pyx_v_self->ob_PROTO; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":81 * property PROTOCOL: * "protocol" * def __get__(self): # <<<<<<<<<<<<<< * return self.ob_PROTO * def __set__(self, protocol): */ /* function exit code */ __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":83 * def __get__(self): * return self.ob_PROTO * def __set__(self, protocol): # <<<<<<<<<<<<<< * if protocol is None: * if self.ob_dumps is PyPickle_dumps: */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Pickle_8PROTOCOL_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_protocol); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Pickle_8PROTOCOL_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_protocol) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Pickle_8PROTOCOL_2__set__(((struct __pyx_obj_6mpi4py_3MPI_Pickle *)__pyx_v_self), ((PyObject *)__pyx_v_protocol)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6Pickle_8PROTOCOL_2__set__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_protocol) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("__set__", 0); __Pyx_INCREF(__pyx_v_protocol); /* "mpi4py/MPI/msgpickle.pxi":84 * return self.ob_PROTO * def __set__(self, protocol): * if protocol is None: # <<<<<<<<<<<<<< * if self.ob_dumps is PyPickle_dumps: * protocol = PyPickle_PROTOCOL */ __pyx_t_1 = (__pyx_v_protocol == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":85 * def __set__(self, protocol): * if protocol is None: * if self.ob_dumps is PyPickle_dumps: # <<<<<<<<<<<<<< * protocol = PyPickle_PROTOCOL * self.ob_PROTO = protocol */ __pyx_t_2 = (__pyx_v_self->ob_dumps == __pyx_v_6mpi4py_3MPI_PyPickle_dumps); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":86 * if protocol is None: * if self.ob_dumps is PyPickle_dumps: * protocol = PyPickle_PROTOCOL # <<<<<<<<<<<<<< * self.ob_PROTO = protocol * */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); __Pyx_DECREF_SET(__pyx_v_protocol, __pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); /* "mpi4py/MPI/msgpickle.pxi":85 * def __set__(self, protocol): * if protocol is None: * if self.ob_dumps is PyPickle_dumps: # <<<<<<<<<<<<<< * protocol = PyPickle_PROTOCOL * self.ob_PROTO = protocol */ } /* "mpi4py/MPI/msgpickle.pxi":84 * return self.ob_PROTO * def __set__(self, protocol): * if protocol is None: # <<<<<<<<<<<<<< * if self.ob_dumps is PyPickle_dumps: * protocol = PyPickle_PROTOCOL */ } /* "mpi4py/MPI/msgpickle.pxi":87 * if self.ob_dumps is PyPickle_dumps: * protocol = PyPickle_PROTOCOL * self.ob_PROTO = protocol # <<<<<<<<<<<<<< * * cdef object cdumps(self, object obj): */ __Pyx_INCREF(__pyx_v_protocol); __Pyx_GIVEREF(__pyx_v_protocol); __Pyx_GOTREF(__pyx_v_self->ob_PROTO); __Pyx_DECREF(__pyx_v_self->ob_PROTO); __pyx_v_self->ob_PROTO = __pyx_v_protocol; /* "mpi4py/MPI/msgpickle.pxi":83 * def __get__(self): * return self.ob_PROTO * def __set__(self, protocol): # <<<<<<<<<<<<<< * if protocol is None: * if self.ob_dumps is PyPickle_dumps: */ /* function exit code */ __pyx_r = 0; __Pyx_XDECREF(__pyx_v_protocol); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":89 * self.ob_PROTO = protocol * * cdef object cdumps(self, object obj): # <<<<<<<<<<<<<< * if self.ob_PROTO is not None: * return self.ob_dumps(obj, self.ob_PROTO) */ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_cdumps(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_obj) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; int __pyx_t_6; PyObject *__pyx_t_7 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("cdumps", 0); /* "mpi4py/MPI/msgpickle.pxi":90 * * cdef object cdumps(self, object obj): * if self.ob_PROTO is not None: # <<<<<<<<<<<<<< * return self.ob_dumps(obj, self.ob_PROTO) * else: */ __pyx_t_1 = (__pyx_v_self->ob_PROTO != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":91 * cdef object cdumps(self, object obj): * if self.ob_PROTO is not None: * return self.ob_dumps(obj, self.ob_PROTO) # <<<<<<<<<<<<<< * else: * return self.ob_dumps(obj) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_self->ob_dumps); __pyx_t_4 = __pyx_v_self->ob_dumps; __pyx_t_5 = NULL; __pyx_t_6 = 0; 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 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_obj, __pyx_v_self->ob_PROTO}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 91, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_obj, __pyx_v_self->ob_PROTO}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 91, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 91, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_obj); __Pyx_GIVEREF(__pyx_v_obj); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_obj); __Pyx_INCREF(__pyx_v_self->ob_PROTO); __Pyx_GIVEREF(__pyx_v_self->ob_PROTO); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_self->ob_PROTO); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 91, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":90 * * cdef object cdumps(self, object obj): * if self.ob_PROTO is not None: # <<<<<<<<<<<<<< * return self.ob_dumps(obj, self.ob_PROTO) * else: */ } /* "mpi4py/MPI/msgpickle.pxi":93 * return self.ob_dumps(obj, self.ob_PROTO) * else: * return self.ob_dumps(obj) # <<<<<<<<<<<<<< * * cdef object cloads(self, object buf): */ /*else*/ { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_self->ob_dumps); __pyx_t_4 = __pyx_v_self->ob_dumps; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_v_obj) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_obj); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":89 * self.ob_PROTO = protocol * * cdef object cdumps(self, object obj): # <<<<<<<<<<<<<< * if self.ob_PROTO is not None: * return self.ob_dumps(obj, self.ob_PROTO) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.Pickle.cdumps", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":95 * return self.ob_dumps(obj) * * cdef object cloads(self, object buf): # <<<<<<<<<<<<<< * if PY2: * if not PyBytes_CheckExact(buf): */ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_cloads(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_buf) { 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("cloads", 0); __Pyx_INCREF(__pyx_v_buf); /* "mpi4py/MPI/msgpickle.pxi":96 * * cdef object cloads(self, object buf): * if PY2: # <<<<<<<<<<<<<< * if not PyBytes_CheckExact(buf): * if self.ob_loads is PyPickle_loads: */ if ((PY_MAJOR_VERSION==2)) { /* "mpi4py/MPI/msgpickle.pxi":97 * cdef object cloads(self, object buf): * if PY2: * if not PyBytes_CheckExact(buf): # <<<<<<<<<<<<<< * if self.ob_loads is PyPickle_loads: * buf = PyBytesIO_New(buf) */ __pyx_t_1 = ((!(PyBytes_CheckExact(__pyx_v_buf) != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":98 * if PY2: * if not PyBytes_CheckExact(buf): * if self.ob_loads is PyPickle_loads: # <<<<<<<<<<<<<< * buf = PyBytesIO_New(buf) * return PyPickle_loadf(buf) */ __pyx_t_1 = (__pyx_v_self->ob_loads == __pyx_v_6mpi4py_3MPI_PyPickle_loads); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":99 * if not PyBytes_CheckExact(buf): * if self.ob_loads is PyPickle_loads: * buf = PyBytesIO_New(buf) # <<<<<<<<<<<<<< * return PyPickle_loadf(buf) * return self.ob_loads(buf) */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyBytesIO_New); __pyx_t_4 = __pyx_v_6mpi4py_3MPI_PyBytesIO_New; __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_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_buf); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":100 * if self.ob_loads is PyPickle_loads: * buf = PyBytesIO_New(buf) * return PyPickle_loadf(buf) # <<<<<<<<<<<<<< * return self.ob_loads(buf) * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_loadf); __pyx_t_4 = __pyx_v_6mpi4py_3MPI_PyPickle_loadf; __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_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_buf); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":98 * if PY2: * if not PyBytes_CheckExact(buf): * if self.ob_loads is PyPickle_loads: # <<<<<<<<<<<<<< * buf = PyBytesIO_New(buf) * return PyPickle_loadf(buf) */ } /* "mpi4py/MPI/msgpickle.pxi":97 * cdef object cloads(self, object buf): * if PY2: * if not PyBytes_CheckExact(buf): # <<<<<<<<<<<<<< * if self.ob_loads is PyPickle_loads: * buf = PyBytesIO_New(buf) */ } /* "mpi4py/MPI/msgpickle.pxi":96 * * cdef object cloads(self, object buf): * if PY2: # <<<<<<<<<<<<<< * if not PyBytes_CheckExact(buf): * if self.ob_loads is PyPickle_loads: */ } /* "mpi4py/MPI/msgpickle.pxi":101 * buf = PyBytesIO_New(buf) * return PyPickle_loadf(buf) * return self.ob_loads(buf) # <<<<<<<<<<<<<< * * cdef object dump(self, object obj, void **p, int *n): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_self->ob_loads); __pyx_t_4 = __pyx_v_self->ob_loads; __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_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_buf); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":95 * return self.ob_dumps(obj) * * cdef object cloads(self, object buf): # <<<<<<<<<<<<<< * if PY2: * if not PyBytes_CheckExact(buf): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Pickle.cloads", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_buf); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":103 * return self.ob_loads(buf) * * cdef object dump(self, object obj, void **p, int *n): # <<<<<<<<<<<<<< * cdef object buf = self.cdumps(obj) * p[0] = PyBytes_AsString(buf) */ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_dump(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_obj, void **__pyx_v_p, int *__pyx_v_n) { PyObject *__pyx_v_buf = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; char *__pyx_t_2; Py_ssize_t __pyx_t_3; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("dump", 0); /* "mpi4py/MPI/msgpickle.pxi":104 * * cdef object dump(self, object obj, void **p, int *n): * cdef object buf = self.cdumps(obj) # <<<<<<<<<<<<<< * p[0] = PyBytes_AsString(buf) * n[0] = downcast(PyBytes_Size(buf)) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_6Pickle_cdumps(__pyx_v_self, __pyx_v_obj); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_buf = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":105 * cdef object dump(self, object obj, void **p, int *n): * cdef object buf = self.cdumps(obj) * p[0] = PyBytes_AsString(buf) # <<<<<<<<<<<<<< * n[0] = downcast(PyBytes_Size(buf)) * return buf */ __pyx_t_2 = PyBytes_AsString(__pyx_v_buf); if (unlikely(__pyx_t_2 == ((char *)NULL))) __PYX_ERR(6, 105, __pyx_L1_error) (__pyx_v_p[0]) = ((void *)__pyx_t_2); /* "mpi4py/MPI/msgpickle.pxi":106 * cdef object buf = self.cdumps(obj) * p[0] = PyBytes_AsString(buf) * n[0] = downcast(PyBytes_Size(buf)) # <<<<<<<<<<<<<< * return buf * */ __pyx_t_3 = PyBytes_Size(__pyx_v_buf); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1L))) __PYX_ERR(6, 106, __pyx_L1_error) __pyx_t_4 = __pyx_f_6mpi4py_3MPI_downcast(__pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(6, 106, __pyx_L1_error) (__pyx_v_n[0]) = __pyx_t_4; /* "mpi4py/MPI/msgpickle.pxi":107 * p[0] = PyBytes_AsString(buf) * n[0] = downcast(PyBytes_Size(buf)) * return buf # <<<<<<<<<<<<<< * * cdef object load(self, void *p, int n): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_buf); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":103 * return self.ob_loads(buf) * * cdef object dump(self, object obj, void **p, int *n): # <<<<<<<<<<<<<< * cdef object buf = self.cdumps(obj) * p[0] = PyBytes_AsString(buf) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Pickle.dump", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_buf); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":109 * return buf * * cdef object load(self, void *p, int n): # <<<<<<<<<<<<<< * if p == NULL or n == 0: return None * return self.cloads(tomemory(p, n)) */ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_load(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, void *__pyx_v_p, int __pyx_v_n) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("load", 0); /* "mpi4py/MPI/msgpickle.pxi":110 * * cdef object load(self, void *p, int n): * if p == NULL or n == 0: return None # <<<<<<<<<<<<<< * return self.cloads(tomemory(p, n)) * */ __pyx_t_2 = ((__pyx_v_p == NULL) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L4_bool_binop_done; } __pyx_t_2 = ((__pyx_v_n == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":111 * cdef object load(self, void *p, int n): * if p == NULL or n == 0: return None * return self.cloads(tomemory(p, n)) # <<<<<<<<<<<<<< * * cdef object dumpv(self, object obj, void **p, int n, int cnt[], int dsp[]): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_p, __pyx_v_n)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_f_6mpi4py_3MPI_6Pickle_cloads(__pyx_v_self, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 111, __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; /* "mpi4py/MPI/msgpickle.pxi":109 * return buf * * cdef object load(self, void *p, int n): # <<<<<<<<<<<<<< * if p == NULL or n == 0: return None * return self.cloads(tomemory(p, n)) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Pickle.load", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":113 * return self.cloads(tomemory(p, n)) * * cdef object dumpv(self, object obj, void **p, int n, int cnt[], int dsp[]): # <<<<<<<<<<<<<< * cdef Py_ssize_t i=0, m=n * cdef object items */ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_dumpv(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_obj, void **__pyx_v_p, int __pyx_v_n, int *__pyx_v_cnt, int *__pyx_v_dsp) { Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_m; PyObject *__pyx_v_items = 0; int __pyx_v_c; int __pyx_v_d; PyObject *__pyx_v_buf = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; Py_ssize_t __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; char *__pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("dumpv", 0); /* "mpi4py/MPI/msgpickle.pxi":114 * * cdef object dumpv(self, object obj, void **p, int n, int cnt[], int dsp[]): * cdef Py_ssize_t i=0, m=n # <<<<<<<<<<<<<< * cdef object items * if obj is None: items = [None] * m */ __pyx_v_i = 0; __pyx_v_m = __pyx_v_n; /* "mpi4py/MPI/msgpickle.pxi":116 * cdef Py_ssize_t i=0, m=n * cdef object items * if obj is None: items = [None] * m # <<<<<<<<<<<<<< * else: items = list(obj) * m = len(items) */ __pyx_t_1 = (__pyx_v_obj == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_t_3 = PyList_New(1 * ((__pyx_v_m<0) ? 0:__pyx_v_m)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < __pyx_v_m; __pyx_temp++) { __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_3, __pyx_temp, Py_None); } } __pyx_v_items = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L3; } /* "mpi4py/MPI/msgpickle.pxi":117 * cdef object items * if obj is None: items = [None] * m * else: items = list(obj) # <<<<<<<<<<<<<< * m = len(items) * if m != n: raise ValueError( */ /*else*/ { __pyx_t_3 = PySequence_List(__pyx_v_obj); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_items = __pyx_t_3; __pyx_t_3 = 0; } __pyx_L3:; /* "mpi4py/MPI/msgpickle.pxi":118 * if obj is None: items = [None] * m * else: items = list(obj) * m = len(items) # <<<<<<<<<<<<<< * if m != n: raise ValueError( * "expecting %d items, got %d" % (n, m)) */ __pyx_t_4 = PyObject_Length(__pyx_v_items); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(6, 118, __pyx_L1_error) __pyx_v_m = __pyx_t_4; /* "mpi4py/MPI/msgpickle.pxi":119 * else: items = list(obj) * m = len(items) * if m != n: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (n, m)) * cdef int c=0, d=0 */ __pyx_t_2 = ((__pyx_v_m != __pyx_v_n) != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/msgpickle.pxi":120 * m = len(items) * if m != n: raise ValueError( * "expecting %d items, got %d" % (n, m)) # <<<<<<<<<<<<<< * cdef int c=0, d=0 * for i from 0 <= i < m: */ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_m); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_expecting_d_items_got_d, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/msgpickle.pxi":119 * else: items = list(obj) * m = len(items) * if m != n: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (n, m)) * cdef int c=0, d=0 */ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 119, __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(6, 119, __pyx_L1_error) } /* "mpi4py/MPI/msgpickle.pxi":121 * if m != n: raise ValueError( * "expecting %d items, got %d" % (n, m)) * cdef int c=0, d=0 # <<<<<<<<<<<<<< * for i from 0 <= i < m: * items[i] = self.dump(items[i], p, &c) */ __pyx_v_c = 0; __pyx_v_d = 0; /* "mpi4py/MPI/msgpickle.pxi":122 * "expecting %d items, got %d" % (n, m)) * cdef int c=0, d=0 * for i from 0 <= i < m: # <<<<<<<<<<<<<< * items[i] = self.dump(items[i], p, &c) * cnt[i] = c; dsp[i] = d; */ __pyx_t_4 = __pyx_v_m; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_4; __pyx_v_i++) { /* "mpi4py/MPI/msgpickle.pxi":123 * cdef int c=0, d=0 * for i from 0 <= i < m: * items[i] = self.dump(items[i], p, &c) # <<<<<<<<<<<<<< * cnt[i] = c; dsp[i] = d; * d = downcast(d + c) */ __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_items, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_self, __pyx_t_6, __pyx_v_p, (&__pyx_v_c)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_v_items, __pyx_v_i, __pyx_t_5, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(6, 123, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/msgpickle.pxi":124 * for i from 0 <= i < m: * items[i] = self.dump(items[i], p, &c) * cnt[i] = c; dsp[i] = d; # <<<<<<<<<<<<<< * d = downcast(d + c) * cdef object buf = PyBytes_Join(b'', items) */ (__pyx_v_cnt[__pyx_v_i]) = __pyx_v_c; (__pyx_v_dsp[__pyx_v_i]) = __pyx_v_d; /* "mpi4py/MPI/msgpickle.pxi":125 * items[i] = self.dump(items[i], p, &c) * cnt[i] = c; dsp[i] = d; * d = downcast(d + c) # <<<<<<<<<<<<<< * cdef object buf = PyBytes_Join(b'', items) * p[0] = PyBytes_AsString(buf) */ __pyx_t_7 = __pyx_f_6mpi4py_3MPI_downcast((((MPI_Aint)__pyx_v_d) + ((MPI_Aint)__pyx_v_c))); if (unlikely(__pyx_t_7 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(6, 125, __pyx_L1_error) __pyx_v_d = __pyx_t_7; } /* "mpi4py/MPI/msgpickle.pxi":126 * cnt[i] = c; dsp[i] = d; * d = downcast(d + c) * cdef object buf = PyBytes_Join(b'', items) # <<<<<<<<<<<<<< * p[0] = PyBytes_AsString(buf) * return buf */ __pyx_t_5 = _PyBytes_Join(__pyx_kp_b__23, __pyx_v_items); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_buf = __pyx_t_5; __pyx_t_5 = 0; /* "mpi4py/MPI/msgpickle.pxi":127 * d = downcast(d + c) * cdef object buf = PyBytes_Join(b'', items) * p[0] = PyBytes_AsString(buf) # <<<<<<<<<<<<<< * return buf * */ __pyx_t_8 = PyBytes_AsString(__pyx_v_buf); if (unlikely(__pyx_t_8 == ((char *)NULL))) __PYX_ERR(6, 127, __pyx_L1_error) (__pyx_v_p[0]) = __pyx_t_8; /* "mpi4py/MPI/msgpickle.pxi":128 * cdef object buf = PyBytes_Join(b'', items) * p[0] = PyBytes_AsString(buf) * return buf # <<<<<<<<<<<<<< * * cdef object loadv(self, void *p, int n, int cnt[], int dsp[]): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_buf); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":113 * return self.cloads(tomemory(p, n)) * * cdef object dumpv(self, object obj, void **p, int n, int cnt[], int dsp[]): # <<<<<<<<<<<<<< * cdef Py_ssize_t i=0, m=n * cdef object items */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("mpi4py.MPI.Pickle.dumpv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_items); __Pyx_XDECREF(__pyx_v_buf); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":130 * return buf * * cdef object loadv(self, void *p, int n, int cnt[], int dsp[]): # <<<<<<<<<<<<<< * cdef Py_ssize_t i=0, m=n * cdef object items = [None] * m */ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_loadv(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, void *__pyx_v_p, int __pyx_v_n, int *__pyx_v_cnt, int *__pyx_v_dsp) { Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_m; PyObject *__pyx_v_items = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; Py_ssize_t __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("loadv", 0); /* "mpi4py/MPI/msgpickle.pxi":131 * * cdef object loadv(self, void *p, int n, int cnt[], int dsp[]): * cdef Py_ssize_t i=0, m=n # <<<<<<<<<<<<<< * cdef object items = [None] * m * if p == NULL: return items */ __pyx_v_i = 0; __pyx_v_m = __pyx_v_n; /* "mpi4py/MPI/msgpickle.pxi":132 * cdef object loadv(self, void *p, int n, int cnt[], int dsp[]): * cdef Py_ssize_t i=0, m=n * cdef object items = [None] * m # <<<<<<<<<<<<<< * if p == NULL: return items * for i from 0 <= i < m: */ __pyx_t_1 = PyList_New(1 * ((__pyx_v_m<0) ? 0:__pyx_v_m)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < __pyx_v_m; __pyx_temp++) { __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_1, __pyx_temp, Py_None); } } __pyx_v_items = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":133 * cdef Py_ssize_t i=0, m=n * cdef object items = [None] * m * if p == NULL: return items # <<<<<<<<<<<<<< * for i from 0 <= i < m: * items[i] = self.load(p+dsp[i], cnt[i]) */ __pyx_t_2 = ((__pyx_v_p == NULL) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_items); __pyx_r = __pyx_v_items; goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":134 * cdef object items = [None] * m * if p == NULL: return items * for i from 0 <= i < m: # <<<<<<<<<<<<<< * items[i] = self.load(p+dsp[i], cnt[i]) * return items */ __pyx_t_3 = __pyx_v_m; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { /* "mpi4py/MPI/msgpickle.pxi":135 * if p == NULL: return items * for i from 0 <= i < m: * items[i] = self.load(p+dsp[i], cnt[i]) # <<<<<<<<<<<<<< * return items * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_self, (((char *)__pyx_v_p) + (__pyx_v_dsp[__pyx_v_i])), (__pyx_v_cnt[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(__Pyx_SetItemInt(__pyx_v_items, __pyx_v_i, __pyx_t_1, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(6, 135, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } /* "mpi4py/MPI/msgpickle.pxi":136 * for i from 0 <= i < m: * items[i] = self.load(p+dsp[i], cnt[i]) * return items # <<<<<<<<<<<<<< * * cdef object alloc(self, void **p, int n): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_items); __pyx_r = __pyx_v_items; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":130 * return buf * * cdef object loadv(self, void *p, int n, int cnt[], int dsp[]): # <<<<<<<<<<<<<< * cdef Py_ssize_t i=0, m=n * cdef object items = [None] * m */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Pickle.loadv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_items); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":138 * return items * * cdef object alloc(self, void **p, int n): # <<<<<<<<<<<<<< * cdef object buf = PyBytes_FromStringAndSize(NULL, n) * p[0] = PyBytes_AsString(buf) */ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_alloc(CYTHON_UNUSED struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, void **__pyx_v_p, int __pyx_v_n) { PyObject *__pyx_v_buf = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; char *__pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("alloc", 0); /* "mpi4py/MPI/msgpickle.pxi":139 * * cdef object alloc(self, void **p, int n): * cdef object buf = PyBytes_FromStringAndSize(NULL, n) # <<<<<<<<<<<<<< * p[0] = PyBytes_AsString(buf) * return buf */ __pyx_t_1 = PyBytes_FromStringAndSize(NULL, __pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_buf = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":140 * cdef object alloc(self, void **p, int n): * cdef object buf = PyBytes_FromStringAndSize(NULL, n) * p[0] = PyBytes_AsString(buf) # <<<<<<<<<<<<<< * return buf * */ __pyx_t_2 = PyBytes_AsString(__pyx_v_buf); if (unlikely(__pyx_t_2 == ((char *)NULL))) __PYX_ERR(6, 140, __pyx_L1_error) (__pyx_v_p[0]) = __pyx_t_2; /* "mpi4py/MPI/msgpickle.pxi":141 * cdef object buf = PyBytes_FromStringAndSize(NULL, n) * p[0] = PyBytes_AsString(buf) * return buf # <<<<<<<<<<<<<< * * cdef object allocv(self, void **p, int n, int cnt[], int dsp[]): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_buf); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":138 * return items * * cdef object alloc(self, void **p, int n): # <<<<<<<<<<<<<< * cdef object buf = PyBytes_FromStringAndSize(NULL, n) * p[0] = PyBytes_AsString(buf) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Pickle.alloc", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_buf); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":143 * return buf * * cdef object allocv(self, void **p, int n, int cnt[], int dsp[]): # <<<<<<<<<<<<<< * cdef int i=0, d=0 * for i from 0 <= i < n: */ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_allocv(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, void **__pyx_v_p, int __pyx_v_n, int *__pyx_v_cnt, int *__pyx_v_dsp) { int __pyx_v_i; int __pyx_v_d; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("allocv", 0); /* "mpi4py/MPI/msgpickle.pxi":144 * * cdef object allocv(self, void **p, int n, int cnt[], int dsp[]): * cdef int i=0, d=0 # <<<<<<<<<<<<<< * for i from 0 <= i < n: * dsp[i] = d */ __pyx_v_i = 0; __pyx_v_d = 0; /* "mpi4py/MPI/msgpickle.pxi":145 * cdef object allocv(self, void **p, int n, int cnt[], int dsp[]): * cdef int i=0, d=0 * for i from 0 <= i < n: # <<<<<<<<<<<<<< * dsp[i] = d * d += cnt[i] */ __pyx_t_1 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { /* "mpi4py/MPI/msgpickle.pxi":146 * cdef int i=0, d=0 * for i from 0 <= i < n: * dsp[i] = d # <<<<<<<<<<<<<< * d += cnt[i] * return self.alloc(p, d) */ (__pyx_v_dsp[__pyx_v_i]) = __pyx_v_d; /* "mpi4py/MPI/msgpickle.pxi":147 * for i from 0 <= i < n: * dsp[i] = d * d += cnt[i] # <<<<<<<<<<<<<< * return self.alloc(p, d) * */ __pyx_v_d = (__pyx_v_d + (__pyx_v_cnt[__pyx_v_i])); } /* "mpi4py/MPI/msgpickle.pxi":148 * dsp[i] = d * d += cnt[i] * return self.alloc(p, d) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_self, __pyx_v_p, __pyx_v_d); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":143 * return buf * * cdef object allocv(self, void **p, int n, int cnt[], int dsp[]): # <<<<<<<<<<<<<< * cdef int i=0, d=0 * for i from 0 <= i < n: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Pickle.allocv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":156 * # ----------------------------------------------------------------------------- * * cdef inline object allocate_count_displ(int n, int **p, int **q): # <<<<<<<<<<<<<< * cdef object mem = allocate(2*n, sizeof(int), p) * q[0] = p[0] + n */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_allocate_count_displ(int __pyx_v_n, int **__pyx_v_p, int **__pyx_v_q) { PyObject *__pyx_v_mem = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("allocate_count_displ", 0); /* "mpi4py/MPI/msgpickle.pxi":157 * * cdef inline object allocate_count_displ(int n, int **p, int **q): * cdef object mem = allocate(2*n, sizeof(int), p) # <<<<<<<<<<<<<< * q[0] = p[0] + n * return mem */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate((2 * __pyx_v_n), (sizeof(int)), __pyx_v_p)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_mem = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":158 * cdef inline object allocate_count_displ(int n, int **p, int **q): * cdef object mem = allocate(2*n, sizeof(int), p) * q[0] = p[0] + n # <<<<<<<<<<<<<< * return mem * */ (__pyx_v_q[0]) = ((__pyx_v_p[0]) + __pyx_v_n); /* "mpi4py/MPI/msgpickle.pxi":159 * cdef object mem = allocate(2*n, sizeof(int), p) * q[0] = p[0] + n * return mem # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_mem); __pyx_r = __pyx_v_mem; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":156 * # ----------------------------------------------------------------------------- * * cdef inline object allocate_count_displ(int n, int **p, int **q): # <<<<<<<<<<<<<< * cdef object mem = allocate(2*n, sizeof(int), p) * q[0] = p[0] + n */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.allocate_count_displ", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_mem); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":163 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_send(object obj, int dest, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_send(PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int __pyx_v_scount; MPI_Datatype __pyx_v_stype; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_send", 0); /* "mpi4py/MPI/msgpickle.pxi":165 * cdef object PyMPI_send(object obj, int dest, int tag, * MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *sbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":167 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":168 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * # */ __pyx_v_scount = 0; /* "mpi4py/MPI/msgpickle.pxi":169 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object tmps = None */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":171 * cdef MPI_Datatype stype = MPI_BYTE * # * cdef object tmps = None # <<<<<<<<<<<<<< * if dest != MPI_PROC_NULL: * tmps = pickle.dump(obj, &sbuf, &scount) */ __Pyx_INCREF(Py_None); __pyx_v_tmps = Py_None; /* "mpi4py/MPI/msgpickle.pxi":172 * # * cdef object tmps = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, */ __pyx_t_1 = ((__pyx_v_dest != MPI_PROC_NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":173 * cdef object tmps = None * if dest != MPI_PROC_NULL: * tmps = pickle.dump(obj, &sbuf, &scount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, * dest, tag, comm) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_obj, (&__pyx_v_sbuf), (&__pyx_v_scount)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":172 * # * cdef object tmps = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, */ } /* "mpi4py/MPI/msgpickle.pxi":174 * if dest != MPI_PROC_NULL: * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, # <<<<<<<<<<<<<< * dest, tag, comm) ) * return None */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":175 * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, * dest, tag, comm) ) # <<<<<<<<<<<<<< * return None * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Send(__pyx_v_sbuf, __pyx_v_scount, __pyx_v_stype, __pyx_v_dest, __pyx_v_tag, __pyx_v_comm)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(6, 174, __pyx_L5_error) } /* "mpi4py/MPI/msgpickle.pxi":174 * if dest != MPI_PROC_NULL: * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, # <<<<<<<<<<<<<< * dest, tag, comm) ) * return None */ /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":176 * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, * dest, tag, comm) ) * return None # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":163 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_send(object obj, int dest, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_send", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":179 * * * cdef object PyMPI_bsend(object obj, int dest, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_bsend(PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int __pyx_v_scount; MPI_Datatype __pyx_v_stype; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_bsend", 0); /* "mpi4py/MPI/msgpickle.pxi":181 * cdef object PyMPI_bsend(object obj, int dest, int tag, * MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *sbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":183 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":184 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * # */ __pyx_v_scount = 0; /* "mpi4py/MPI/msgpickle.pxi":185 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object tmps = None */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":187 * cdef MPI_Datatype stype = MPI_BYTE * # * cdef object tmps = None # <<<<<<<<<<<<<< * if dest != MPI_PROC_NULL: * tmps = pickle.dump(obj, &sbuf, &scount) */ __Pyx_INCREF(Py_None); __pyx_v_tmps = Py_None; /* "mpi4py/MPI/msgpickle.pxi":188 * # * cdef object tmps = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Bsend(sbuf, scount, stype, */ __pyx_t_1 = ((__pyx_v_dest != MPI_PROC_NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":189 * cdef object tmps = None * if dest != MPI_PROC_NULL: * tmps = pickle.dump(obj, &sbuf, &scount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bsend(sbuf, scount, stype, * dest, tag, comm) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_obj, (&__pyx_v_sbuf), (&__pyx_v_scount)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":188 * # * cdef object tmps = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Bsend(sbuf, scount, stype, */ } /* "mpi4py/MPI/msgpickle.pxi":190 * if dest != MPI_PROC_NULL: * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Bsend(sbuf, scount, stype, # <<<<<<<<<<<<<< * dest, tag, comm) ) * return None */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":191 * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Bsend(sbuf, scount, stype, * dest, tag, comm) ) # <<<<<<<<<<<<<< * return None * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Bsend(__pyx_v_sbuf, __pyx_v_scount, __pyx_v_stype, __pyx_v_dest, __pyx_v_tag, __pyx_v_comm)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(6, 190, __pyx_L5_error) } /* "mpi4py/MPI/msgpickle.pxi":190 * if dest != MPI_PROC_NULL: * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Bsend(sbuf, scount, stype, # <<<<<<<<<<<<<< * dest, tag, comm) ) * return None */ /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":192 * with nogil: CHKERR( MPI_Bsend(sbuf, scount, stype, * dest, tag, comm) ) * return None # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":179 * * * cdef object PyMPI_bsend(object obj, int dest, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_bsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":195 * * * cdef object PyMPI_ssend(object obj, int dest, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_ssend(PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int __pyx_v_scount; MPI_Datatype __pyx_v_stype; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_ssend", 0); /* "mpi4py/MPI/msgpickle.pxi":197 * cdef object PyMPI_ssend(object obj, int dest, int tag, * MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *sbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":199 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":200 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * # */ __pyx_v_scount = 0; /* "mpi4py/MPI/msgpickle.pxi":201 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object tmps = None */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":203 * cdef MPI_Datatype stype = MPI_BYTE * # * cdef object tmps = None # <<<<<<<<<<<<<< * if dest != MPI_PROC_NULL: * tmps = pickle.dump(obj, &sbuf, &scount) */ __Pyx_INCREF(Py_None); __pyx_v_tmps = Py_None; /* "mpi4py/MPI/msgpickle.pxi":204 * # * cdef object tmps = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Ssend(sbuf, scount, stype, */ __pyx_t_1 = ((__pyx_v_dest != MPI_PROC_NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":205 * cdef object tmps = None * if dest != MPI_PROC_NULL: * tmps = pickle.dump(obj, &sbuf, &scount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ssend(sbuf, scount, stype, * dest, tag, comm) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_obj, (&__pyx_v_sbuf), (&__pyx_v_scount)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":204 * # * cdef object tmps = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Ssend(sbuf, scount, stype, */ } /* "mpi4py/MPI/msgpickle.pxi":206 * if dest != MPI_PROC_NULL: * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Ssend(sbuf, scount, stype, # <<<<<<<<<<<<<< * dest, tag, comm) ) * return None */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":207 * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Ssend(sbuf, scount, stype, * dest, tag, comm) ) # <<<<<<<<<<<<<< * return None * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ssend(__pyx_v_sbuf, __pyx_v_scount, __pyx_v_stype, __pyx_v_dest, __pyx_v_tag, __pyx_v_comm)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(6, 206, __pyx_L5_error) } /* "mpi4py/MPI/msgpickle.pxi":206 * if dest != MPI_PROC_NULL: * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Ssend(sbuf, scount, stype, # <<<<<<<<<<<<<< * dest, tag, comm) ) * return None */ /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":208 * with nogil: CHKERR( MPI_Ssend(sbuf, scount, stype, * dest, tag, comm) ) * return None # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":195 * * * cdef object PyMPI_ssend(object obj, int dest, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_ssend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":215 * int PyErr_WarnEx(object, char*, int) except -1 * * cdef object PyMPI_recv_obarg(object obj, int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_recv_obarg(PyObject *__pyx_v_obj, int __pyx_v_source, int __pyx_v_tag, MPI_Comm __pyx_v_comm, MPI_Status *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_rbuf; int __pyx_v_rcount; MPI_Datatype __pyx_v_rtype; MPI_Status __pyx_v_rsts; PyObject *__pyx_v_rmsg = 0; MPI_Aint __pyx_v_rlen; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_recv_obarg", 0); /* "mpi4py/MPI/msgpickle.pxi":217 * cdef object PyMPI_recv_obarg(object obj, int source, int tag, * MPI_Comm comm, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *rbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":219 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":220 * # * cdef void *rbuf = NULL * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * cdef MPI_Status rsts */ __pyx_v_rcount = 0; /* "mpi4py/MPI/msgpickle.pxi":221 * cdef void *rbuf = NULL * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * cdef MPI_Status rsts * cdef object rmsg = None */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":223 * cdef MPI_Datatype rtype = MPI_BYTE * cdef MPI_Status rsts * cdef object rmsg = None # <<<<<<<<<<<<<< * cdef MPI_Aint rlen = 0 * # */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":224 * cdef MPI_Status rsts * cdef object rmsg = None * cdef MPI_Aint rlen = 0 # <<<<<<<<<<<<<< * # * PyErr_WarnEx(UserWarning, b"the 'buf' argument is deprecated", 1) */ __pyx_v_rlen = 0; /* "mpi4py/MPI/msgpickle.pxi":226 * cdef MPI_Aint rlen = 0 * # * PyErr_WarnEx(UserWarning, b"the 'buf' argument is deprecated", 1) # <<<<<<<<<<<<<< * # * if source != MPI_PROC_NULL: */ __pyx_t_1 = PyErr_WarnEx(__pyx_builtin_UserWarning, ((char *)"the 'buf' argument is deprecated"), 1); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 226, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":228 * PyErr_WarnEx(UserWarning, b"the 'buf' argument is deprecated", 1) * # * if source != MPI_PROC_NULL: # <<<<<<<<<<<<<< * if is_integral(obj): * rcount = obj */ __pyx_t_2 = ((__pyx_v_source != MPI_PROC_NULL) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":229 * # * if source != MPI_PROC_NULL: * if is_integral(obj): # <<<<<<<<<<<<<< * rcount = obj * rmsg = pickle.alloc(&rbuf, rcount) */ __pyx_t_2 = (__pyx_f_6mpi4py_3MPI_is_integral(__pyx_v_obj) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":230 * if source != MPI_PROC_NULL: * if is_integral(obj): * rcount = obj # <<<<<<<<<<<<<< * rmsg = pickle.alloc(&rbuf, rcount) * else: */ __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_obj); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 230, __pyx_L1_error) __pyx_v_rcount = ((int)__pyx_t_1); /* "mpi4py/MPI/msgpickle.pxi":231 * if is_integral(obj): * rcount = obj * rmsg = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * else: * rmsg = getbuffer_w(obj, &rbuf, &rlen) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_rcount); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":229 * # * if source != MPI_PROC_NULL: * if is_integral(obj): # <<<<<<<<<<<<<< * rcount = obj * rmsg = pickle.alloc(&rbuf, rcount) */ goto __pyx_L4; } /* "mpi4py/MPI/msgpickle.pxi":233 * rmsg = pickle.alloc(&rbuf, rcount) * else: * rmsg = getbuffer_w(obj, &rbuf, &rlen) # <<<<<<<<<<<<<< * rcount = clipcount(rlen) * if status == MPI_STATUS_IGNORE: */ /*else*/ { __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_obj, (&__pyx_v_rbuf), (&__pyx_v_rlen))); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":234 * else: * rmsg = getbuffer_w(obj, &rbuf, &rlen) * rcount = clipcount(rlen) # <<<<<<<<<<<<<< * if status == MPI_STATUS_IGNORE: * status = &rsts */ __pyx_v_rcount = __pyx_f_6mpi4py_3MPI_clipcount(__pyx_v_rlen); } __pyx_L4:; /* "mpi4py/MPI/msgpickle.pxi":235 * rmsg = getbuffer_w(obj, &rbuf, &rlen) * rcount = clipcount(rlen) * if status == MPI_STATUS_IGNORE: # <<<<<<<<<<<<<< * status = &rsts * rmsg */ __pyx_t_2 = ((__pyx_v_status == MPI_STATUS_IGNORE) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":236 * rcount = clipcount(rlen) * if status == MPI_STATUS_IGNORE: * status = &rsts # <<<<<<<<<<<<<< * rmsg * with nogil: */ __pyx_v_status = (&__pyx_v_rsts); /* "mpi4py/MPI/msgpickle.pxi":235 * rmsg = getbuffer_w(obj, &rbuf, &rlen) * rcount = clipcount(rlen) * if status == MPI_STATUS_IGNORE: # <<<<<<<<<<<<<< * status = &rsts * rmsg */ } /* "mpi4py/MPI/msgpickle.pxi":237 * if status == MPI_STATUS_IGNORE: * status = &rsts * rmsg # <<<<<<<<<<<<<< * with nogil: * CHKERR( MPI_Recv(rbuf, rcount, rtype, */ ((void)__pyx_v_rmsg); /* "mpi4py/MPI/msgpickle.pxi":228 * PyErr_WarnEx(UserWarning, b"the 'buf' argument is deprecated", 1) * # * if source != MPI_PROC_NULL: # <<<<<<<<<<<<<< * if is_integral(obj): * rcount = obj */ } /* "mpi4py/MPI/msgpickle.pxi":238 * status = &rsts * rmsg * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Recv(rbuf, rcount, rtype, * source, tag, comm, status) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":239 * rmsg * with nogil: * CHKERR( MPI_Recv(rbuf, rcount, rtype, # <<<<<<<<<<<<<< * source, tag, comm, status) ) * if source != MPI_PROC_NULL: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Recv(__pyx_v_rbuf, __pyx_v_rcount, __pyx_v_rtype, __pyx_v_source, __pyx_v_tag, __pyx_v_comm, __pyx_v_status)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 239, __pyx_L7_error) /* "mpi4py/MPI/msgpickle.pxi":241 * CHKERR( MPI_Recv(rbuf, rcount, rtype, * source, tag, comm, status) ) * if source != MPI_PROC_NULL: # <<<<<<<<<<<<<< * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * # */ __pyx_t_2 = ((__pyx_v_source != MPI_PROC_NULL) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":242 * source, tag, comm, status) ) * if source != MPI_PROC_NULL: * CHKERR( MPI_Get_count(status, rtype, &rcount) ) # <<<<<<<<<<<<<< * # * if rcount <= 0: return None */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_count(__pyx_v_status, __pyx_v_rtype, (&__pyx_v_rcount))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 242, __pyx_L7_error) /* "mpi4py/MPI/msgpickle.pxi":241 * CHKERR( MPI_Recv(rbuf, rcount, rtype, * source, tag, comm, status) ) * if source != MPI_PROC_NULL: # <<<<<<<<<<<<<< * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * # */ } } /* "mpi4py/MPI/msgpickle.pxi":238 * status = &rsts * rmsg * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Recv(rbuf, rcount, rtype, * source, tag, comm, status) ) */ /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":244 * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * # * if rcount <= 0: return None # <<<<<<<<<<<<<< * return pickle.load(rbuf, rcount) * */ __pyx_t_2 = ((__pyx_v_rcount <= 0) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":245 * # * if rcount <= 0: return None * return pickle.load(rbuf, rcount) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_rcount); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":215 * int PyErr_WarnEx(object, char*, int) except -1 * * cdef object PyMPI_recv_obarg(object obj, int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_recv_obarg", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":248 * * * cdef object PyMPI_recv_match(object obj, int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_recv_match(PyObject *__pyx_v_obj, int __pyx_v_source, int __pyx_v_tag, MPI_Comm __pyx_v_comm, MPI_Status *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_rbuf; int __pyx_v_rcount; MPI_Datatype __pyx_v_rtype; MPI_Message __pyx_v_match; MPI_Status __pyx_v_rsts; CYTHON_UNUSED PyObject *__pyx_v_tmpr = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_recv_match", 0); /* "mpi4py/MPI/msgpickle.pxi":250 * cdef object PyMPI_recv_match(object obj, int source, int tag, * MPI_Comm comm, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *rbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":252 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":253 * # * cdef void *rbuf = NULL * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rcount = 0; /* "mpi4py/MPI/msgpickle.pxi":254 * cdef void *rbuf = NULL * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef MPI_Message match = MPI_MESSAGE_NULL */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":256 * cdef MPI_Datatype rtype = MPI_BYTE * # * cdef MPI_Message match = MPI_MESSAGE_NULL # <<<<<<<<<<<<<< * cdef MPI_Status rsts * obj # unused */ __pyx_v_match = MPI_MESSAGE_NULL; /* "mpi4py/MPI/msgpickle.pxi":258 * cdef MPI_Message match = MPI_MESSAGE_NULL * cdef MPI_Status rsts * obj # unused # <<<<<<<<<<<<<< * # * with nogil: */ ((void)__pyx_v_obj); /* "mpi4py/MPI/msgpickle.pxi":260 * obj # unused * # * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Mprobe(source, tag, comm, &match, &rsts) ) * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":261 * # * with nogil: * CHKERR( MPI_Mprobe(source, tag, comm, &match, &rsts) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) * cdef object tmpr = pickle.alloc(&rbuf, rcount) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Mprobe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm, (&__pyx_v_match), (&__pyx_v_rsts))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 261, __pyx_L4_error) /* "mpi4py/MPI/msgpickle.pxi":262 * with nogil: * CHKERR( MPI_Mprobe(source, tag, comm, &match, &rsts) ) * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) # <<<<<<<<<<<<<< * cdef object tmpr = pickle.alloc(&rbuf, rcount) * with nogil: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_count((&__pyx_v_rsts), __pyx_v_rtype, (&__pyx_v_rcount))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 262, __pyx_L4_error) } /* "mpi4py/MPI/msgpickle.pxi":260 * obj # unused * # * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Mprobe(source, tag, comm, &match, &rsts) ) * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) */ /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":263 * CHKERR( MPI_Mprobe(source, tag, comm, &match, &rsts) ) * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) * cdef object tmpr = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * with nogil: * CHKERR( MPI_Mrecv(rbuf, rcount, rtype, &match, status) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_rcount); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmpr = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":264 * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) * cdef object tmpr = pickle.alloc(&rbuf, rcount) * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Mrecv(rbuf, rcount, rtype, &match, status) ) * # */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":265 * cdef object tmpr = pickle.alloc(&rbuf, rcount) * with nogil: * CHKERR( MPI_Mrecv(rbuf, rcount, rtype, &match, status) ) # <<<<<<<<<<<<<< * # * if rcount <= 0: return None */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Mrecv(__pyx_v_rbuf, __pyx_v_rcount, __pyx_v_rtype, (&__pyx_v_match), __pyx_v_status)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 265, __pyx_L7_error) } /* "mpi4py/MPI/msgpickle.pxi":264 * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) * cdef object tmpr = pickle.alloc(&rbuf, rcount) * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Mrecv(rbuf, rcount, rtype, &match, status) ) * # */ /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":267 * CHKERR( MPI_Mrecv(rbuf, rcount, rtype, &match, status) ) * # * if rcount <= 0: return None # <<<<<<<<<<<<<< * return pickle.load(rbuf, rcount) * */ __pyx_t_3 = ((__pyx_v_rcount <= 0) != 0); if (__pyx_t_3) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":268 * # * if rcount <= 0: return None * return pickle.load(rbuf, rcount) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_rcount); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":248 * * * cdef object PyMPI_recv_match(object obj, int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_recv_match", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmpr); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":271 * * * cdef object PyMPI_recv_probe(object obj, int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_recv_probe(PyObject *__pyx_v_obj, int __pyx_v_source, int __pyx_v_tag, MPI_Comm __pyx_v_comm, MPI_Status *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_rbuf; int __pyx_v_rcount; MPI_Datatype __pyx_v_rtype; MPI_Status __pyx_v_rsts; CYTHON_UNUSED PyObject *__pyx_v_tmpr = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; int __pyx_t_9; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_recv_probe", 0); /* "mpi4py/MPI/msgpickle.pxi":273 * cdef object PyMPI_recv_probe(object obj, int source, int tag, * MPI_Comm comm, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *rbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":275 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":276 * # * cdef void *rbuf = NULL * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rcount = 0; /* "mpi4py/MPI/msgpickle.pxi":277 * cdef void *rbuf = NULL * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef MPI_Status rsts */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":281 * cdef MPI_Status rsts * cdef object tmpr * obj # unused # <<<<<<<<<<<<<< * # * with PyMPI_Lock(comm, "recv"): */ ((void)__pyx_v_obj); /* "mpi4py/MPI/msgpickle.pxi":283 * obj # unused * # * with PyMPI_Lock(comm, "recv"): # <<<<<<<<<<<<<< * with nogil: * CHKERR( MPI_Probe(source, tag, comm, &rsts) ) */ /*with:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock(__pyx_v_comm, __pyx_n_s_recv); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 283, __pyx_L3_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(6, 283, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /*try:*/ { { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_t_8); /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":284 * # * with PyMPI_Lock(comm, "recv"): * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Probe(source, tag, comm, &rsts) ) * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":285 * with PyMPI_Lock(comm, "recv"): * with nogil: * CHKERR( MPI_Probe(source, tag, comm, &rsts) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) * source = rsts.MPI_SOURCE; tag = rsts.MPI_TAG */ __pyx_t_9 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Probe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm, (&__pyx_v_rsts))); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(6, 285, __pyx_L14_error) /* "mpi4py/MPI/msgpickle.pxi":286 * with nogil: * CHKERR( MPI_Probe(source, tag, comm, &rsts) ) * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) # <<<<<<<<<<<<<< * source = rsts.MPI_SOURCE; tag = rsts.MPI_TAG * tmpr = pickle.alloc(&rbuf, rcount) */ __pyx_t_9 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_count((&__pyx_v_rsts), __pyx_v_rtype, (&__pyx_v_rcount))); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(6, 286, __pyx_L14_error) /* "mpi4py/MPI/msgpickle.pxi":287 * CHKERR( MPI_Probe(source, tag, comm, &rsts) ) * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) * source = rsts.MPI_SOURCE; tag = rsts.MPI_TAG # <<<<<<<<<<<<<< * tmpr = pickle.alloc(&rbuf, rcount) * with nogil: */ __pyx_t_9 = __pyx_v_rsts.MPI_SOURCE; __pyx_v_source = __pyx_t_9; __pyx_t_9 = __pyx_v_rsts.MPI_TAG; __pyx_v_tag = __pyx_t_9; } /* "mpi4py/MPI/msgpickle.pxi":284 * # * with PyMPI_Lock(comm, "recv"): * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Probe(source, tag, comm, &rsts) ) * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L15; } __pyx_L14_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L7_error; } __pyx_L15:; } } /* "mpi4py/MPI/msgpickle.pxi":288 * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) * source = rsts.MPI_SOURCE; tag = rsts.MPI_TAG * tmpr = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * with nogil: * CHKERR( MPI_Recv(rbuf, rcount, rtype, */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_rcount); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 288, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmpr = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":289 * source = rsts.MPI_SOURCE; tag = rsts.MPI_TAG * tmpr = pickle.alloc(&rbuf, rcount) * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Recv(rbuf, rcount, rtype, * source, tag, comm, status) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":290 * tmpr = pickle.alloc(&rbuf, rcount) * with nogil: * CHKERR( MPI_Recv(rbuf, rcount, rtype, # <<<<<<<<<<<<<< * source, tag, comm, status) ) * # */ __pyx_t_9 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Recv(__pyx_v_rbuf, __pyx_v_rcount, __pyx_v_rtype, __pyx_v_source, __pyx_v_tag, __pyx_v_comm, __pyx_v_status)); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(6, 290, __pyx_L17_error) } /* "mpi4py/MPI/msgpickle.pxi":289 * source = rsts.MPI_SOURCE; tag = rsts.MPI_TAG * tmpr = pickle.alloc(&rbuf, rcount) * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Recv(rbuf, rcount, rtype, * source, tag, comm, status) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L18; } __pyx_L17_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L7_error; } __pyx_L18:; } } /* "mpi4py/MPI/msgpickle.pxi":283 * obj # unused * # * with PyMPI_Lock(comm, "recv"): # <<<<<<<<<<<<<< * with nogil: * CHKERR( MPI_Probe(source, tag, comm, &rsts) ) */ } __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_L12_try_end; __pyx_L7_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.PyMPI_recv_probe", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(6, 283, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 283, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 283, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_11 < 0) __PYX_ERR(6, 283, __pyx_L9_except_error) __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_4); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __PYX_ERR(6, 283, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L8_exception_handled; } __pyx_L9_except_error:; __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_XGIVEREF(__pyx_t_8); __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); goto __pyx_L1_error; __pyx_L8_exception_handled:; __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_XGIVEREF(__pyx_t_8); __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); __pyx_L12_try_end:; } } /*finally:*/ { /*normal exit:*/{ if (__pyx_t_2) { __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(6, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } goto __pyx_L6; } __pyx_L6:; } goto __pyx_L22; __pyx_L3_error:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L1_error; __pyx_L22:; } /* "mpi4py/MPI/msgpickle.pxi":293 * source, tag, comm, status) ) * # * if rcount <= 0: return None # <<<<<<<<<<<<<< * return pickle.load(rbuf, rcount) * */ __pyx_t_12 = ((__pyx_v_rcount <= 0) != 0); if (__pyx_t_12) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":294 * # * if rcount <= 0: return None * return pickle.load(rbuf, rcount) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_rcount); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":271 * * * cdef object PyMPI_recv_probe(object obj, int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_recv_probe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmpr); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":297 * * * cdef object PyMPI_recv(object obj, int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Status *status): * if obj is not None: */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_recv(PyObject *__pyx_v_obj, int __pyx_v_source, int __pyx_v_tag, MPI_Comm __pyx_v_comm, MPI_Status *__pyx_v_status) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_recv", 0); /* "mpi4py/MPI/msgpickle.pxi":299 * cdef object PyMPI_recv(object obj, int source, int tag, * MPI_Comm comm, MPI_Status *status): * if obj is not None: # <<<<<<<<<<<<<< * return PyMPI_recv_obarg(obj, source, tag, comm, status) * elif options.recv_mprobe: */ __pyx_t_1 = (__pyx_v_obj != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":300 * MPI_Comm comm, MPI_Status *status): * if obj is not None: * return PyMPI_recv_obarg(obj, source, tag, comm, status) # <<<<<<<<<<<<<< * elif options.recv_mprobe: * return PyMPI_recv_match(obj, source, tag, comm, status) */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_recv_obarg(__pyx_v_obj, __pyx_v_source, __pyx_v_tag, __pyx_v_comm, __pyx_v_status); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":299 * cdef object PyMPI_recv(object obj, int source, int tag, * MPI_Comm comm, MPI_Status *status): * if obj is not None: # <<<<<<<<<<<<<< * return PyMPI_recv_obarg(obj, source, tag, comm, status) * elif options.recv_mprobe: */ } /* "mpi4py/MPI/msgpickle.pxi":301 * if obj is not None: * return PyMPI_recv_obarg(obj, source, tag, comm, status) * elif options.recv_mprobe: # <<<<<<<<<<<<<< * return PyMPI_recv_match(obj, source, tag, comm, status) * else: */ __pyx_t_2 = (__pyx_v_6mpi4py_3MPI_options.recv_mprobe != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":302 * return PyMPI_recv_obarg(obj, source, tag, comm, status) * elif options.recv_mprobe: * return PyMPI_recv_match(obj, source, tag, comm, status) # <<<<<<<<<<<<<< * else: * return PyMPI_recv_probe(obj, source, tag, comm, status) */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_recv_match(__pyx_v_obj, __pyx_v_source, __pyx_v_tag, __pyx_v_comm, __pyx_v_status); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":301 * if obj is not None: * return PyMPI_recv_obarg(obj, source, tag, comm, status) * elif options.recv_mprobe: # <<<<<<<<<<<<<< * return PyMPI_recv_match(obj, source, tag, comm, status) * else: */ } /* "mpi4py/MPI/msgpickle.pxi":304 * return PyMPI_recv_match(obj, source, tag, comm, status) * else: * return PyMPI_recv_probe(obj, source, tag, comm, status) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_recv_probe(__pyx_v_obj, __pyx_v_source, __pyx_v_tag, __pyx_v_comm, __pyx_v_status); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":297 * * * cdef object PyMPI_recv(object obj, int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Status *status): * if obj is not None: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":308 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_isend(object obj, int dest, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Request *request): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_isend(PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag, MPI_Comm __pyx_v_comm, MPI_Request *__pyx_v_request) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int __pyx_v_scount; MPI_Datatype __pyx_v_stype; PyObject *__pyx_v_smsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_isend", 0); /* "mpi4py/MPI/msgpickle.pxi":310 * cdef object PyMPI_isend(object obj, int dest, int tag, * MPI_Comm comm, MPI_Request *request): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *sbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":312 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":313 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * # */ __pyx_v_scount = 0; /* "mpi4py/MPI/msgpickle.pxi":314 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object smsg = None */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":316 * cdef MPI_Datatype stype = MPI_BYTE * # * cdef object smsg = None # <<<<<<<<<<<<<< * if dest != MPI_PROC_NULL: * smsg = pickle.dump(obj, &sbuf, &scount) */ __Pyx_INCREF(Py_None); __pyx_v_smsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":317 * # * cdef object smsg = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Isend(sbuf, scount, stype, */ __pyx_t_1 = ((__pyx_v_dest != MPI_PROC_NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":318 * cdef object smsg = None * if dest != MPI_PROC_NULL: * smsg = pickle.dump(obj, &sbuf, &scount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Isend(sbuf, scount, stype, * dest, tag, comm, request) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_obj, (&__pyx_v_sbuf), (&__pyx_v_scount)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 318, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_smsg, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":317 * # * cdef object smsg = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Isend(sbuf, scount, stype, */ } /* "mpi4py/MPI/msgpickle.pxi":319 * if dest != MPI_PROC_NULL: * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Isend(sbuf, scount, stype, # <<<<<<<<<<<<<< * dest, tag, comm, request) ) * return smsg */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":320 * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Isend(sbuf, scount, stype, * dest, tag, comm, request) ) # <<<<<<<<<<<<<< * return smsg * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Isend(__pyx_v_sbuf, __pyx_v_scount, __pyx_v_stype, __pyx_v_dest, __pyx_v_tag, __pyx_v_comm, __pyx_v_request)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(6, 319, __pyx_L5_error) } /* "mpi4py/MPI/msgpickle.pxi":319 * if dest != MPI_PROC_NULL: * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Isend(sbuf, scount, stype, # <<<<<<<<<<<<<< * dest, tag, comm, request) ) * return smsg */ /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":321 * with nogil: CHKERR( MPI_Isend(sbuf, scount, stype, * dest, tag, comm, request) ) * return smsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_smsg); __pyx_r = __pyx_v_smsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":308 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_isend(object obj, int dest, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Request *request): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_isend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_smsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":324 * * * cdef object PyMPI_ibsend(object obj, int dest, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Request *request): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_ibsend(PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag, MPI_Comm __pyx_v_comm, MPI_Request *__pyx_v_request) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int __pyx_v_scount; MPI_Datatype __pyx_v_stype; PyObject *__pyx_v_smsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_ibsend", 0); /* "mpi4py/MPI/msgpickle.pxi":326 * cdef object PyMPI_ibsend(object obj, int dest, int tag, * MPI_Comm comm, MPI_Request *request): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *sbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":328 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":329 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * # */ __pyx_v_scount = 0; /* "mpi4py/MPI/msgpickle.pxi":330 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object smsg = None */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":332 * cdef MPI_Datatype stype = MPI_BYTE * # * cdef object smsg = None # <<<<<<<<<<<<<< * if dest != MPI_PROC_NULL: * smsg = pickle.dump(obj, &sbuf, &scount) */ __Pyx_INCREF(Py_None); __pyx_v_smsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":333 * # * cdef object smsg = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Ibsend(sbuf, scount, stype, */ __pyx_t_1 = ((__pyx_v_dest != MPI_PROC_NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":334 * cdef object smsg = None * if dest != MPI_PROC_NULL: * smsg = pickle.dump(obj, &sbuf, &scount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ibsend(sbuf, scount, stype, * dest, tag, comm, request) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_obj, (&__pyx_v_sbuf), (&__pyx_v_scount)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_smsg, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":333 * # * cdef object smsg = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Ibsend(sbuf, scount, stype, */ } /* "mpi4py/MPI/msgpickle.pxi":335 * if dest != MPI_PROC_NULL: * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Ibsend(sbuf, scount, stype, # <<<<<<<<<<<<<< * dest, tag, comm, request) ) * return smsg */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":336 * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Ibsend(sbuf, scount, stype, * dest, tag, comm, request) ) # <<<<<<<<<<<<<< * return smsg * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ibsend(__pyx_v_sbuf, __pyx_v_scount, __pyx_v_stype, __pyx_v_dest, __pyx_v_tag, __pyx_v_comm, __pyx_v_request)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(6, 335, __pyx_L5_error) } /* "mpi4py/MPI/msgpickle.pxi":335 * if dest != MPI_PROC_NULL: * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Ibsend(sbuf, scount, stype, # <<<<<<<<<<<<<< * dest, tag, comm, request) ) * return smsg */ /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":337 * with nogil: CHKERR( MPI_Ibsend(sbuf, scount, stype, * dest, tag, comm, request) ) * return smsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_smsg); __pyx_r = __pyx_v_smsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":324 * * * cdef object PyMPI_ibsend(object obj, int dest, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Request *request): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_ibsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_smsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":340 * * * cdef object PyMPI_issend(object obj, int dest, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Request *request): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_issend(PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag, MPI_Comm __pyx_v_comm, MPI_Request *__pyx_v_request) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int __pyx_v_scount; MPI_Datatype __pyx_v_stype; PyObject *__pyx_v_smsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_issend", 0); /* "mpi4py/MPI/msgpickle.pxi":342 * cdef object PyMPI_issend(object obj, int dest, int tag, * MPI_Comm comm, MPI_Request *request): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *sbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":344 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":345 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * # */ __pyx_v_scount = 0; /* "mpi4py/MPI/msgpickle.pxi":346 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object smsg = None */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":348 * cdef MPI_Datatype stype = MPI_BYTE * # * cdef object smsg = None # <<<<<<<<<<<<<< * if dest != MPI_PROC_NULL: * smsg = pickle.dump(obj, &sbuf, &scount) */ __Pyx_INCREF(Py_None); __pyx_v_smsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":349 * # * cdef object smsg = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Issend(sbuf, scount, stype, */ __pyx_t_1 = ((__pyx_v_dest != MPI_PROC_NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":350 * cdef object smsg = None * if dest != MPI_PROC_NULL: * smsg = pickle.dump(obj, &sbuf, &scount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Issend(sbuf, scount, stype, * dest, tag, comm, request) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_obj, (&__pyx_v_sbuf), (&__pyx_v_scount)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_smsg, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":349 * # * cdef object smsg = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Issend(sbuf, scount, stype, */ } /* "mpi4py/MPI/msgpickle.pxi":351 * if dest != MPI_PROC_NULL: * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Issend(sbuf, scount, stype, # <<<<<<<<<<<<<< * dest, tag, comm, request) ) * return smsg */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":352 * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Issend(sbuf, scount, stype, * dest, tag, comm, request) ) # <<<<<<<<<<<<<< * return smsg * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Issend(__pyx_v_sbuf, __pyx_v_scount, __pyx_v_stype, __pyx_v_dest, __pyx_v_tag, __pyx_v_comm, __pyx_v_request)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(6, 351, __pyx_L5_error) } /* "mpi4py/MPI/msgpickle.pxi":351 * if dest != MPI_PROC_NULL: * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Issend(sbuf, scount, stype, # <<<<<<<<<<<<<< * dest, tag, comm, request) ) * return smsg */ /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":353 * with nogil: CHKERR( MPI_Issend(sbuf, scount, stype, * dest, tag, comm, request) ) * return smsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_smsg); __pyx_r = __pyx_v_smsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":340 * * * cdef object PyMPI_issend(object obj, int dest, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Request *request): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_issend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_smsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":356 * * * cdef object PyMPI_irecv(object obj, int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Request *request): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_irecv(PyObject *__pyx_v_obj, int __pyx_v_source, int __pyx_v_tag, MPI_Comm __pyx_v_comm, MPI_Request *__pyx_v_request) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_rbuf; MPI_Aint __pyx_v_rlen; int __pyx_v_rcount; MPI_Datatype __pyx_v_rtype; PyObject *__pyx_v_rmsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_irecv", 0); __Pyx_INCREF(__pyx_v_obj); /* "mpi4py/MPI/msgpickle.pxi":358 * cdef object PyMPI_irecv(object obj, int source, int tag, * MPI_Comm comm, MPI_Request *request): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *rbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":360 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint rlen = 0 * cdef int rcount = 0 */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":361 * # * cdef void *rbuf = NULL * cdef MPI_Aint rlen = 0 # <<<<<<<<<<<<<< * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rlen = 0; /* "mpi4py/MPI/msgpickle.pxi":362 * cdef void *rbuf = NULL * cdef MPI_Aint rlen = 0 * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rcount = 0; /* "mpi4py/MPI/msgpickle.pxi":363 * cdef MPI_Aint rlen = 0 * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object rmsg = None */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":365 * cdef MPI_Datatype rtype = MPI_BYTE * # * cdef object rmsg = None # <<<<<<<<<<<<<< * if source != MPI_PROC_NULL: * if obj is None: */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":366 * # * cdef object rmsg = None * if source != MPI_PROC_NULL: # <<<<<<<<<<<<<< * if obj is None: * rcount = (1<<15) */ __pyx_t_1 = ((__pyx_v_source != MPI_PROC_NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":367 * cdef object rmsg = None * if source != MPI_PROC_NULL: * if obj is None: # <<<<<<<<<<<<<< * rcount = (1<<15) * obj = pickle.alloc(&rbuf, rcount) */ __pyx_t_1 = (__pyx_v_obj == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":368 * if source != MPI_PROC_NULL: * if obj is None: * rcount = (1<<15) # <<<<<<<<<<<<<< * obj = pickle.alloc(&rbuf, rcount) * rmsg = getbuffer_r(obj, NULL, NULL) */ __pyx_v_rcount = ((int)0x8000); /* "mpi4py/MPI/msgpickle.pxi":369 * if obj is None: * rcount = (1<<15) * obj = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * rmsg = getbuffer_r(obj, NULL, NULL) * elif is_integral(obj): */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_rcount); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_obj, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":370 * rcount = (1<<15) * obj = pickle.alloc(&rbuf, rcount) * rmsg = getbuffer_r(obj, NULL, NULL) # <<<<<<<<<<<<<< * elif is_integral(obj): * rcount = obj */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_r(__pyx_v_obj, NULL, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":367 * cdef object rmsg = None * if source != MPI_PROC_NULL: * if obj is None: # <<<<<<<<<<<<<< * rcount = (1<<15) * obj = pickle.alloc(&rbuf, rcount) */ goto __pyx_L4; } /* "mpi4py/MPI/msgpickle.pxi":371 * obj = pickle.alloc(&rbuf, rcount) * rmsg = getbuffer_r(obj, NULL, NULL) * elif is_integral(obj): # <<<<<<<<<<<<<< * rcount = obj * obj = pickle.alloc(&rbuf, rcount) */ __pyx_t_2 = (__pyx_f_6mpi4py_3MPI_is_integral(__pyx_v_obj) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":372 * rmsg = getbuffer_r(obj, NULL, NULL) * elif is_integral(obj): * rcount = obj # <<<<<<<<<<<<<< * obj = pickle.alloc(&rbuf, rcount) * rmsg = getbuffer_r(obj, NULL, NULL) */ __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_v_obj); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 372, __pyx_L1_error) __pyx_v_rcount = ((int)__pyx_t_4); /* "mpi4py/MPI/msgpickle.pxi":373 * elif is_integral(obj): * rcount = obj * obj = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * rmsg = getbuffer_r(obj, NULL, NULL) * else: */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_rcount); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_obj, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":374 * rcount = obj * obj = pickle.alloc(&rbuf, rcount) * rmsg = getbuffer_r(obj, NULL, NULL) # <<<<<<<<<<<<<< * else: * rmsg = getbuffer_w(obj, &rbuf, &rlen) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_r(__pyx_v_obj, NULL, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":371 * obj = pickle.alloc(&rbuf, rcount) * rmsg = getbuffer_r(obj, NULL, NULL) * elif is_integral(obj): # <<<<<<<<<<<<<< * rcount = obj * obj = pickle.alloc(&rbuf, rcount) */ goto __pyx_L4; } /* "mpi4py/MPI/msgpickle.pxi":376 * rmsg = getbuffer_r(obj, NULL, NULL) * else: * rmsg = getbuffer_w(obj, &rbuf, &rlen) # <<<<<<<<<<<<<< * rcount = clipcount(rlen) * with nogil: CHKERR( MPI_Irecv(rbuf, rcount, rtype, */ /*else*/ { __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_obj, (&__pyx_v_rbuf), (&__pyx_v_rlen))); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":377 * else: * rmsg = getbuffer_w(obj, &rbuf, &rlen) * rcount = clipcount(rlen) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Irecv(rbuf, rcount, rtype, * source, tag, comm, request) ) */ __pyx_v_rcount = __pyx_f_6mpi4py_3MPI_clipcount(__pyx_v_rlen); } __pyx_L4:; /* "mpi4py/MPI/msgpickle.pxi":366 * # * cdef object rmsg = None * if source != MPI_PROC_NULL: # <<<<<<<<<<<<<< * if obj is None: * rcount = (1<<15) */ } /* "mpi4py/MPI/msgpickle.pxi":378 * rmsg = getbuffer_w(obj, &rbuf, &rlen) * rcount = clipcount(rlen) * with nogil: CHKERR( MPI_Irecv(rbuf, rcount, rtype, # <<<<<<<<<<<<<< * source, tag, comm, request) ) * return rmsg */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":379 * rcount = clipcount(rlen) * with nogil: CHKERR( MPI_Irecv(rbuf, rcount, rtype, * source, tag, comm, request) ) # <<<<<<<<<<<<<< * return rmsg * */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Irecv(__pyx_v_rbuf, __pyx_v_rcount, __pyx_v_rtype, __pyx_v_source, __pyx_v_tag, __pyx_v_comm, __pyx_v_request)); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(6, 378, __pyx_L6_error) } /* "mpi4py/MPI/msgpickle.pxi":378 * rmsg = getbuffer_w(obj, &rbuf, &rlen) * rcount = clipcount(rlen) * with nogil: CHKERR( MPI_Irecv(rbuf, rcount, rtype, # <<<<<<<<<<<<<< * source, tag, comm, request) ) * return rmsg */ /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":380 * with nogil: CHKERR( MPI_Irecv(rbuf, rcount, rtype, * source, tag, comm, request) ) * return rmsg # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":356 * * * cdef object PyMPI_irecv(object obj, int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Request *request): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_irecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XDECREF(__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":384 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_sendrecv(object sobj, int dest, int sendtag, # <<<<<<<<<<<<<< * object robj, int source, int recvtag, * MPI_Comm comm, MPI_Status *status): */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_sendrecv(PyObject *__pyx_v_sobj, int __pyx_v_dest, int __pyx_v_sendtag, PyObject *__pyx_v_robj, int __pyx_v_source, int __pyx_v_recvtag, MPI_Comm __pyx_v_comm, MPI_Status *__pyx_v_status) { MPI_Request __pyx_v_request; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_sendrecv", 0); __Pyx_INCREF(__pyx_v_sobj); __Pyx_INCREF(__pyx_v_robj); /* "mpi4py/MPI/msgpickle.pxi":387 * object robj, int source, int recvtag, * MPI_Comm comm, MPI_Status *status): * cdef MPI_Request request = MPI_REQUEST_NULL # <<<<<<<<<<<<<< * sobj = PyMPI_isend(sobj, dest, sendtag, comm, &request) * robj = PyMPI_recv (robj, source, recvtag, comm, status) */ __pyx_v_request = MPI_REQUEST_NULL; /* "mpi4py/MPI/msgpickle.pxi":388 * MPI_Comm comm, MPI_Status *status): * cdef MPI_Request request = MPI_REQUEST_NULL * sobj = PyMPI_isend(sobj, dest, sendtag, comm, &request) # <<<<<<<<<<<<<< * robj = PyMPI_recv (robj, source, recvtag, comm, status) * with nogil: CHKERR( MPI_Wait(&request, MPI_STATUS_IGNORE) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_isend(__pyx_v_sobj, __pyx_v_dest, __pyx_v_sendtag, __pyx_v_comm, (&__pyx_v_request)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_sobj, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":389 * cdef MPI_Request request = MPI_REQUEST_NULL * sobj = PyMPI_isend(sobj, dest, sendtag, comm, &request) * robj = PyMPI_recv (robj, source, recvtag, comm, status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Wait(&request, MPI_STATUS_IGNORE) ) * return robj */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_recv(__pyx_v_robj, __pyx_v_source, __pyx_v_recvtag, __pyx_v_comm, __pyx_v_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_robj, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":390 * sobj = PyMPI_isend(sobj, dest, sendtag, comm, &request) * robj = PyMPI_recv (robj, source, recvtag, comm, status) * with nogil: CHKERR( MPI_Wait(&request, MPI_STATUS_IGNORE) ) # <<<<<<<<<<<<<< * return robj * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Wait((&__pyx_v_request), MPI_STATUS_IGNORE)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 390, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":391 * robj = PyMPI_recv (robj, source, recvtag, comm, status) * with nogil: CHKERR( MPI_Wait(&request, MPI_STATUS_IGNORE) ) * return robj # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_robj); __pyx_r = __pyx_v_robj; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":384 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_sendrecv(object sobj, int dest, int sendtag, # <<<<<<<<<<<<<< * object robj, int source, int recvtag, * MPI_Comm comm, MPI_Status *status): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_sendrecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_sobj); __Pyx_XDECREF(__pyx_v_robj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":395 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_load(MPI_Status *status, object ob): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *rbuf = NULL */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_load(MPI_Status *__pyx_v_status, PyObject *__pyx_v_ob) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_rbuf; int __pyx_v_rcount; MPI_Datatype __pyx_v_rtype; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_load", 0); __Pyx_INCREF(__pyx_v_ob); /* "mpi4py/MPI/msgpickle.pxi":396 * * cdef object PyMPI_load(MPI_Status *status, object ob): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * cdef void *rbuf = NULL * cdef int rcount = 0 */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":397 * cdef object PyMPI_load(MPI_Status *status, object ob): * cdef Pickle pickle = PyMPI_PICKLE * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":398 * cdef Pickle pickle = PyMPI_PICKLE * cdef void *rbuf = NULL * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * if type(ob) is not memory: return None */ __pyx_v_rcount = 0; /* "mpi4py/MPI/msgpickle.pxi":399 * cdef void *rbuf = NULL * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * if type(ob) is not memory: return None * CHKERR( MPI_Get_count(status, rtype, &rcount) ) */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":400 * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE * if type(ob) is not memory: return None # <<<<<<<<<<<<<< * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * if rcount <= 0: return None */ __pyx_t_1 = (((PyObject *)Py_TYPE(__pyx_v_ob)) != ((PyObject *)__pyx_ptype_6mpi4py_3MPI_memory)); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":401 * cdef MPI_Datatype rtype = MPI_BYTE * if type(ob) is not memory: return None * CHKERR( MPI_Get_count(status, rtype, &rcount) ) # <<<<<<<<<<<<<< * if rcount <= 0: return None * ob = asmemory(ob, &rbuf, NULL) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_count(__pyx_v_status, __pyx_v_rtype, (&__pyx_v_rcount))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(6, 401, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":402 * if type(ob) is not memory: return None * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * if rcount <= 0: return None # <<<<<<<<<<<<<< * ob = asmemory(ob, &rbuf, NULL) * return pickle.load(rbuf, rcount) */ __pyx_t_2 = ((__pyx_v_rcount <= 0) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":403 * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * if rcount <= 0: return None * ob = asmemory(ob, &rbuf, NULL) # <<<<<<<<<<<<<< * return pickle.load(rbuf, rcount) * */ __pyx_t_4 = ((PyObject *)__pyx_f_6mpi4py_3MPI_asmemory(__pyx_v_ob, (&__pyx_v_rbuf), NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_ob, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":404 * if rcount <= 0: return None * ob = asmemory(ob, &rbuf, NULL) * return pickle.load(rbuf, rcount) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_rcount); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":395 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_load(MPI_Status *status, object ob): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *rbuf = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_load", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_ob); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":407 * * * cdef object PyMPI_wait(Request request, Status status): # <<<<<<<<<<<<<< * cdef object buf * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_wait(struct PyMPIRequestObject *__pyx_v_request, struct PyMPIStatusObject *__pyx_v_status) { PyObject *__pyx_v_buf = 0; MPI_Status __pyx_v_rsts; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_wait", 0); /* "mpi4py/MPI/msgpickle.pxi":411 * # * cdef MPI_Status rsts * with nogil: CHKERR( MPI_Wait(&request.ob_mpi, &rsts) ) # <<<<<<<<<<<<<< * buf = request.ob_buf * if status is not None: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Wait((&__pyx_v_request->ob_mpi), (&__pyx_v_rsts))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 411, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":412 * cdef MPI_Status rsts * with nogil: CHKERR( MPI_Wait(&request.ob_mpi, &rsts) ) * buf = request.ob_buf # <<<<<<<<<<<<<< * if status is not None: * status.ob_mpi = rsts */ __pyx_t_2 = __pyx_v_request->ob_buf; __Pyx_INCREF(__pyx_t_2); __pyx_v_buf = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":413 * with nogil: CHKERR( MPI_Wait(&request.ob_mpi, &rsts) ) * buf = request.ob_buf * if status is not None: # <<<<<<<<<<<<<< * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: */ __pyx_t_3 = (((PyObject *)__pyx_v_status) != Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/msgpickle.pxi":414 * buf = request.ob_buf * if status is not None: * status.ob_mpi = rsts # <<<<<<<<<<<<<< * if request.ob_mpi == MPI_REQUEST_NULL: * request.ob_buf = None */ __pyx_v_status->ob_mpi = __pyx_v_rsts; /* "mpi4py/MPI/msgpickle.pxi":413 * with nogil: CHKERR( MPI_Wait(&request.ob_mpi, &rsts) ) * buf = request.ob_buf * if status is not None: # <<<<<<<<<<<<<< * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: */ } /* "mpi4py/MPI/msgpickle.pxi":415 * if status is not None: * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * request.ob_buf = None * # */ __pyx_t_4 = ((__pyx_v_request->ob_mpi == MPI_REQUEST_NULL) != 0); if (__pyx_t_4) { /* "mpi4py/MPI/msgpickle.pxi":416 * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: * request.ob_buf = None # <<<<<<<<<<<<<< * # * return PyMPI_load(&rsts, buf) */ __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = Py_None; /* "mpi4py/MPI/msgpickle.pxi":415 * if status is not None: * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * request.ob_buf = None * # */ } /* "mpi4py/MPI/msgpickle.pxi":418 * request.ob_buf = None * # * return PyMPI_load(&rsts, buf) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_load((&__pyx_v_rsts), __pyx_v_buf); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":407 * * * cdef object PyMPI_wait(Request request, Status status): # <<<<<<<<<<<<<< * cdef object buf * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_wait", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_buf); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":421 * * * cdef object PyMPI_test(Request request, int *flag, Status status): # <<<<<<<<<<<<<< * cdef object buf = None * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_test(struct PyMPIRequestObject *__pyx_v_request, int *__pyx_v_flag, struct PyMPIStatusObject *__pyx_v_status) { PyObject *__pyx_v_buf = 0; MPI_Status __pyx_v_rsts; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_test", 0); /* "mpi4py/MPI/msgpickle.pxi":422 * * cdef object PyMPI_test(Request request, int *flag, Status status): * cdef object buf = None # <<<<<<<<<<<<<< * # * cdef MPI_Status rsts */ __Pyx_INCREF(Py_None); __pyx_v_buf = Py_None; /* "mpi4py/MPI/msgpickle.pxi":425 * # * cdef MPI_Status rsts * with nogil: CHKERR( MPI_Test(&request.ob_mpi, flag, &rsts) ) # <<<<<<<<<<<<<< * if flag[0]: * buf = request.ob_buf */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Test((&__pyx_v_request->ob_mpi), __pyx_v_flag, (&__pyx_v_rsts))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 425, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":426 * cdef MPI_Status rsts * with nogil: CHKERR( MPI_Test(&request.ob_mpi, flag, &rsts) ) * if flag[0]: # <<<<<<<<<<<<<< * buf = request.ob_buf * if status is not None: */ __pyx_t_2 = ((__pyx_v_flag[0]) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":427 * with nogil: CHKERR( MPI_Test(&request.ob_mpi, flag, &rsts) ) * if flag[0]: * buf = request.ob_buf # <<<<<<<<<<<<<< * if status is not None: * status.ob_mpi = rsts */ __pyx_t_3 = __pyx_v_request->ob_buf; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":426 * cdef MPI_Status rsts * with nogil: CHKERR( MPI_Test(&request.ob_mpi, flag, &rsts) ) * if flag[0]: # <<<<<<<<<<<<<< * buf = request.ob_buf * if status is not None: */ } /* "mpi4py/MPI/msgpickle.pxi":428 * if flag[0]: * buf = request.ob_buf * if status is not None: # <<<<<<<<<<<<<< * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: */ __pyx_t_2 = (((PyObject *)__pyx_v_status) != Py_None); __pyx_t_4 = (__pyx_t_2 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/msgpickle.pxi":429 * buf = request.ob_buf * if status is not None: * status.ob_mpi = rsts # <<<<<<<<<<<<<< * if request.ob_mpi == MPI_REQUEST_NULL: * request.ob_buf = None */ __pyx_v_status->ob_mpi = __pyx_v_rsts; /* "mpi4py/MPI/msgpickle.pxi":428 * if flag[0]: * buf = request.ob_buf * if status is not None: # <<<<<<<<<<<<<< * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: */ } /* "mpi4py/MPI/msgpickle.pxi":430 * if status is not None: * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * request.ob_buf = None * # */ __pyx_t_4 = ((__pyx_v_request->ob_mpi == MPI_REQUEST_NULL) != 0); if (__pyx_t_4) { /* "mpi4py/MPI/msgpickle.pxi":431 * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: * request.ob_buf = None # <<<<<<<<<<<<<< * # * if not flag[0]: return None */ __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = Py_None; /* "mpi4py/MPI/msgpickle.pxi":430 * if status is not None: * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * request.ob_buf = None * # */ } /* "mpi4py/MPI/msgpickle.pxi":433 * request.ob_buf = None * # * if not flag[0]: return None # <<<<<<<<<<<<<< * return PyMPI_load(&rsts, buf) * */ __pyx_t_4 = ((!((__pyx_v_flag[0]) != 0)) != 0); if (__pyx_t_4) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":434 * # * if not flag[0]: return None * return PyMPI_load(&rsts, buf) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_load((&__pyx_v_rsts), __pyx_v_buf); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 434, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":421 * * * cdef object PyMPI_test(Request request, int *flag, Status status): # <<<<<<<<<<<<<< * cdef object buf = None * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_test", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_buf); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":437 * * * cdef object PyMPI_waitany(requests, int *index, Status status): # <<<<<<<<<<<<<< * cdef object buf = None * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_waitany(PyObject *__pyx_v_requests, int *__pyx_v_index, struct PyMPIStatusObject *__pyx_v_status) { PyObject *__pyx_v_buf = 0; int __pyx_v_count; MPI_Request *__pyx_v_irequests; MPI_Status __pyx_v_rsts; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_t_6; char const *__pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; int __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_waitany", 0); /* "mpi4py/MPI/msgpickle.pxi":438 * * cdef object PyMPI_waitany(requests, int *index, Status status): * cdef object buf = None # <<<<<<<<<<<<<< * # * cdef int count = 0 */ __Pyx_INCREF(Py_None); __pyx_v_buf = Py_None; /* "mpi4py/MPI/msgpickle.pxi":440 * cdef object buf = None * # * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef MPI_Status rsts */ __pyx_v_count = 0; /* "mpi4py/MPI/msgpickle.pxi":441 * # * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef MPI_Status rsts * # */ __pyx_v_irequests = NULL; /* "mpi4py/MPI/msgpickle.pxi":444 * cdef MPI_Status rsts * # * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) # <<<<<<<<<<<<<< * try: * with nogil: CHKERR( MPI_Waitany(count, irequests, index, &rsts) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_acquire_rs(__pyx_v_requests, Py_None, (&__pyx_v_count), (&__pyx_v_irequests), NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":445 * # * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Waitany(count, irequests, index, &rsts) ) * if index[0] != MPI_UNDEFINED: */ /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":446 * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * try: * with nogil: CHKERR( MPI_Waitany(count, irequests, index, &rsts) ) # <<<<<<<<<<<<<< * if index[0] != MPI_UNDEFINED: * buf = (requests[index[0]]).ob_buf */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Waitany(__pyx_v_count, __pyx_v_irequests, __pyx_v_index, (&__pyx_v_rsts))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 446, __pyx_L7_error) } /*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_L4_error; } __pyx_L8:; } } /* "mpi4py/MPI/msgpickle.pxi":447 * try: * with nogil: CHKERR( MPI_Waitany(count, irequests, index, &rsts) ) * if index[0] != MPI_UNDEFINED: # <<<<<<<<<<<<<< * buf = (requests[index[0]]).ob_buf * if status is not None: */ __pyx_t_3 = (((__pyx_v_index[0]) != MPI_UNDEFINED) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgpickle.pxi":448 * with nogil: CHKERR( MPI_Waitany(count, irequests, index, &rsts) ) * if index[0] != MPI_UNDEFINED: * buf = (requests[index[0]]).ob_buf # <<<<<<<<<<<<<< * if status is not None: * status.ob_mpi = rsts */ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_requests, (__pyx_v_index[0]), int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 448, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = ((struct PyMPIRequestObject *)__pyx_t_1)->ob_buf; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":447 * try: * with nogil: CHKERR( MPI_Waitany(count, irequests, index, &rsts) ) * if index[0] != MPI_UNDEFINED: # <<<<<<<<<<<<<< * buf = (requests[index[0]]).ob_buf * if status is not None: */ } /* "mpi4py/MPI/msgpickle.pxi":449 * if index[0] != MPI_UNDEFINED: * buf = (requests[index[0]]).ob_buf * if status is not None: # <<<<<<<<<<<<<< * status.ob_mpi = rsts * finally: */ __pyx_t_3 = (((PyObject *)__pyx_v_status) != Py_None); __pyx_t_5 = (__pyx_t_3 != 0); if (__pyx_t_5) { /* "mpi4py/MPI/msgpickle.pxi":450 * buf = (requests[index[0]]).ob_buf * if status is not None: * status.ob_mpi = rsts # <<<<<<<<<<<<<< * finally: * release_rs(requests, None, count, irequests, NULL) */ __pyx_v_status->ob_mpi = __pyx_v_rsts; /* "mpi4py/MPI/msgpickle.pxi":449 * if index[0] != MPI_UNDEFINED: * buf = (requests[index[0]]).ob_buf * if status is not None: # <<<<<<<<<<<<<< * status.ob_mpi = rsts * finally: */ } } /* "mpi4py/MPI/msgpickle.pxi":452 * status.ob_mpi = rsts * finally: * release_rs(requests, None, count, irequests, NULL) # <<<<<<<<<<<<<< * # * if index[0] == MPI_UNDEFINED: return None */ /*finally:*/ { /*normal exit:*/{ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, Py_None, __pyx_v_count, __pyx_v_irequests, NULL); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 452, __pyx_L1_error) goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); __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_XGOTREF(__pyx_t_13); __pyx_t_2 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename; { __pyx_t_14 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, Py_None, __pyx_v_count, __pyx_v_irequests, NULL); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(6, 452, __pyx_L12_error) } if (PY_MAJOR_VERSION >= 3) { __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_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10); __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_lineno = __pyx_t_2; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7; goto __pyx_L1_error; __pyx_L12_error:; if (PY_MAJOR_VERSION >= 3) { __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_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/msgpickle.pxi":454 * release_rs(requests, None, count, irequests, NULL) * # * if index[0] == MPI_UNDEFINED: return None # <<<<<<<<<<<<<< * return PyMPI_load(&rsts, buf) * */ __pyx_t_5 = (((__pyx_v_index[0]) == MPI_UNDEFINED) != 0); if (__pyx_t_5) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":455 * # * if index[0] == MPI_UNDEFINED: return None * return PyMPI_load(&rsts, buf) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __pyx_f_6mpi4py_3MPI_PyMPI_load((&__pyx_v_rsts), __pyx_v_buf); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":437 * * * cdef object PyMPI_waitany(requests, int *index, Status status): # <<<<<<<<<<<<<< * cdef object buf = None * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_waitany", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_buf); __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":458 * * * cdef object PyMPI_testany(requests, int *index, int *flag, Status status): # <<<<<<<<<<<<<< * cdef object buf = None * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_testany(PyObject *__pyx_v_requests, int *__pyx_v_index, int *__pyx_v_flag, struct PyMPIStatusObject *__pyx_v_status) { PyObject *__pyx_v_buf = 0; int __pyx_v_count; MPI_Request *__pyx_v_irequests; MPI_Status __pyx_v_rsts; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_t_6; char const *__pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; int __pyx_t_14; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_testany", 0); /* "mpi4py/MPI/msgpickle.pxi":459 * * cdef object PyMPI_testany(requests, int *index, int *flag, Status status): * cdef object buf = None # <<<<<<<<<<<<<< * # * cdef int count = 0 */ __Pyx_INCREF(Py_None); __pyx_v_buf = Py_None; /* "mpi4py/MPI/msgpickle.pxi":461 * cdef object buf = None * # * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef MPI_Status rsts */ __pyx_v_count = 0; /* "mpi4py/MPI/msgpickle.pxi":462 * # * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef MPI_Status rsts * # */ __pyx_v_irequests = NULL; /* "mpi4py/MPI/msgpickle.pxi":465 * cdef MPI_Status rsts * # * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) # <<<<<<<<<<<<<< * try: * with nogil: CHKERR( MPI_Testany(count, irequests, index, flag, &rsts) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_acquire_rs(__pyx_v_requests, Py_None, (&__pyx_v_count), (&__pyx_v_irequests), NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":466 * # * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Testany(count, irequests, index, flag, &rsts) ) * if index[0] != MPI_UNDEFINED: */ /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":467 * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * try: * with nogil: CHKERR( MPI_Testany(count, irequests, index, flag, &rsts) ) # <<<<<<<<<<<<<< * if index[0] != MPI_UNDEFINED: * buf = (requests[index[0]]).ob_buf */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Testany(__pyx_v_count, __pyx_v_irequests, __pyx_v_index, __pyx_v_flag, (&__pyx_v_rsts))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 467, __pyx_L7_error) } /*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_L4_error; } __pyx_L8:; } } /* "mpi4py/MPI/msgpickle.pxi":468 * try: * with nogil: CHKERR( MPI_Testany(count, irequests, index, flag, &rsts) ) * if index[0] != MPI_UNDEFINED: # <<<<<<<<<<<<<< * buf = (requests[index[0]]).ob_buf * if status is not None: */ __pyx_t_3 = (((__pyx_v_index[0]) != MPI_UNDEFINED) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgpickle.pxi":469 * with nogil: CHKERR( MPI_Testany(count, irequests, index, flag, &rsts) ) * if index[0] != MPI_UNDEFINED: * buf = (requests[index[0]]).ob_buf # <<<<<<<<<<<<<< * if status is not None: * status.ob_mpi = rsts */ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_requests, (__pyx_v_index[0]), int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 469, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = ((struct PyMPIRequestObject *)__pyx_t_1)->ob_buf; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":468 * try: * with nogil: CHKERR( MPI_Testany(count, irequests, index, flag, &rsts) ) * if index[0] != MPI_UNDEFINED: # <<<<<<<<<<<<<< * buf = (requests[index[0]]).ob_buf * if status is not None: */ } /* "mpi4py/MPI/msgpickle.pxi":470 * if index[0] != MPI_UNDEFINED: * buf = (requests[index[0]]).ob_buf * if status is not None: # <<<<<<<<<<<<<< * status.ob_mpi = rsts * finally: */ __pyx_t_3 = (((PyObject *)__pyx_v_status) != Py_None); __pyx_t_5 = (__pyx_t_3 != 0); if (__pyx_t_5) { /* "mpi4py/MPI/msgpickle.pxi":471 * buf = (requests[index[0]]).ob_buf * if status is not None: * status.ob_mpi = rsts # <<<<<<<<<<<<<< * finally: * release_rs(requests, None, count, irequests, NULL) */ __pyx_v_status->ob_mpi = __pyx_v_rsts; /* "mpi4py/MPI/msgpickle.pxi":470 * if index[0] != MPI_UNDEFINED: * buf = (requests[index[0]]).ob_buf * if status is not None: # <<<<<<<<<<<<<< * status.ob_mpi = rsts * finally: */ } } /* "mpi4py/MPI/msgpickle.pxi":473 * status.ob_mpi = rsts * finally: * release_rs(requests, None, count, irequests, NULL) # <<<<<<<<<<<<<< * # * if index[0] == MPI_UNDEFINED: return None */ /*finally:*/ { /*normal exit:*/{ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, Py_None, __pyx_v_count, __pyx_v_irequests, NULL); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 473, __pyx_L1_error) goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); __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_XGOTREF(__pyx_t_13); __pyx_t_2 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename; { __pyx_t_14 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, Py_None, __pyx_v_count, __pyx_v_irequests, NULL); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(6, 473, __pyx_L12_error) } if (PY_MAJOR_VERSION >= 3) { __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_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10); __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_lineno = __pyx_t_2; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7; goto __pyx_L1_error; __pyx_L12_error:; if (PY_MAJOR_VERSION >= 3) { __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_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/msgpickle.pxi":475 * release_rs(requests, None, count, irequests, NULL) * # * if index[0] == MPI_UNDEFINED: return None # <<<<<<<<<<<<<< * if not flag[0]: return None * return PyMPI_load(&rsts, buf) */ __pyx_t_5 = (((__pyx_v_index[0]) == MPI_UNDEFINED) != 0); if (__pyx_t_5) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":476 * # * if index[0] == MPI_UNDEFINED: return None * if not flag[0]: return None # <<<<<<<<<<<<<< * return PyMPI_load(&rsts, buf) * */ __pyx_t_5 = ((!((__pyx_v_flag[0]) != 0)) != 0); if (__pyx_t_5) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":477 * if index[0] == MPI_UNDEFINED: return None * if not flag[0]: return None * return PyMPI_load(&rsts, buf) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __pyx_f_6mpi4py_3MPI_PyMPI_load((&__pyx_v_rsts), __pyx_v_buf); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 477, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":458 * * * cdef object PyMPI_testany(requests, int *index, int *flag, Status status): # <<<<<<<<<<<<<< * cdef object buf = None * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_testany", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_buf); __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":480 * * * cdef object PyMPI_waitall(requests, statuses): # <<<<<<<<<<<<<< * cdef object bufs = None * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_waitall(PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses) { PyObject *__pyx_v_bufs = 0; Py_ssize_t __pyx_v_i; int __pyx_v_count; MPI_Request *__pyx_v_irequests; MPI_Status *__pyx_v_istatuses; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; char const *__pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; int __pyx_t_12; PyObject *__pyx_t_13 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_waitall", 0); /* "mpi4py/MPI/msgpickle.pxi":481 * * cdef object PyMPI_waitall(requests, statuses): * cdef object bufs = None # <<<<<<<<<<<<<< * # * cdef Py_ssize_t i = 0 */ __Pyx_INCREF(Py_None); __pyx_v_bufs = Py_None; /* "mpi4py/MPI/msgpickle.pxi":483 * cdef object bufs = None * # * cdef Py_ssize_t i = 0 # <<<<<<<<<<<<<< * cdef int count = 0 * cdef MPI_Request *irequests = NULL */ __pyx_v_i = 0; /* "mpi4py/MPI/msgpickle.pxi":484 * # * cdef Py_ssize_t i = 0 * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE */ __pyx_v_count = 0; /* "mpi4py/MPI/msgpickle.pxi":485 * cdef Py_ssize_t i = 0 * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # */ __pyx_v_irequests = NULL; /* "mpi4py/MPI/msgpickle.pxi":486 * cdef int count = 0 * cdef MPI_Request *irequests = NULL * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE # <<<<<<<<<<<<<< * # * cdef tmp = acquire_rs(requests, True, &count, &irequests, &istatuses) */ __pyx_v_istatuses = MPI_STATUSES_IGNORE; /* "mpi4py/MPI/msgpickle.pxi":488 * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # * cdef tmp = acquire_rs(requests, True, &count, &irequests, &istatuses) # <<<<<<<<<<<<<< * try: * with nogil: CHKERR( MPI_Waitall(count, irequests, istatuses) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_acquire_rs(__pyx_v_requests, Py_True, (&__pyx_v_count), (&__pyx_v_irequests), (&__pyx_v_istatuses)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":489 * # * cdef tmp = acquire_rs(requests, True, &count, &irequests, &istatuses) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Waitall(count, irequests, istatuses) ) * bufs = [(requests[i]).ob_buf for i from 0 <= i < count] */ /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":490 * cdef tmp = acquire_rs(requests, True, &count, &irequests, &istatuses) * try: * with nogil: CHKERR( MPI_Waitall(count, irequests, istatuses) ) # <<<<<<<<<<<<<< * bufs = [(requests[i]).ob_buf for i from 0 <= i < count] * finally: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Waitall(__pyx_v_count, __pyx_v_irequests, __pyx_v_istatuses)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 490, __pyx_L7_error) } /*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_L4_error; } __pyx_L8:; } } /* "mpi4py/MPI/msgpickle.pxi":491 * try: * with nogil: CHKERR( MPI_Waitall(count, irequests, istatuses) ) * bufs = [(requests[i]).ob_buf for i from 0 <= i < count] # <<<<<<<<<<<<<< * finally: * release_rs(requests, statuses, count, irequests, istatuses) */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 491, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_v_count; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_2; __pyx_v_i++) { __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_requests, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 491, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)((struct PyMPIRequestObject *)__pyx_t_3)->ob_buf))) __PYX_ERR(6, 491, __pyx_L4_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF_SET(__pyx_v_bufs, __pyx_t_1); __pyx_t_1 = 0; } /* "mpi4py/MPI/msgpickle.pxi":493 * bufs = [(requests[i]).ob_buf for i from 0 <= i < count] * finally: * release_rs(requests, statuses, count, irequests, istatuses) # <<<<<<<<<<<<<< * # * return [PyMPI_load(&istatuses[i], bufs[i]) for i from 0 <= i < count] */ /*finally:*/ { /*normal exit:*/{ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, __pyx_v_statuses, __pyx_v_count, __pyx_v_irequests, __pyx_v_istatuses); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 493, __pyx_L1_error) goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); __Pyx_XGOTREF(__pyx_t_6); __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_t_2 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename; { __pyx_t_12 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, __pyx_v_statuses, __pyx_v_count, __pyx_v_irequests, __pyx_v_istatuses); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(6, 493, __pyx_L12_error) } if (PY_MAJOR_VERSION >= 3) { __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_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_XGIVEREF(__pyx_t_8); __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8); __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_lineno = __pyx_t_2; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5; goto __pyx_L1_error; __pyx_L12_error:; if (PY_MAJOR_VERSION >= 3) { __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_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_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/msgpickle.pxi":495 * release_rs(requests, statuses, count, irequests, istatuses) * # * return [PyMPI_load(&istatuses[i], bufs[i]) for i from 0 <= i < count] # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __pyx_v_count; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_4; __pyx_v_i++) { __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_bufs, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = __pyx_f_6mpi4py_3MPI_PyMPI_load((&(__pyx_v_istatuses[__pyx_v_i])), __pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_13))) __PYX_ERR(6, 495, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":480 * * * cdef object PyMPI_waitall(requests, statuses): # <<<<<<<<<<<<<< * cdef object bufs = None * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_13); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_waitall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_bufs); __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":498 * * * cdef object PyMPI_testall(requests, int *flag, statuses): # <<<<<<<<<<<<<< * cdef object bufs = None * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_testall(PyObject *__pyx_v_requests, int *__pyx_v_flag, PyObject *__pyx_v_statuses) { PyObject *__pyx_v_bufs = 0; Py_ssize_t __pyx_v_i; int __pyx_v_count; MPI_Request *__pyx_v_irequests; MPI_Status *__pyx_v_istatuses; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; char const *__pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; int __pyx_t_13; PyObject *__pyx_t_14 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_testall", 0); /* "mpi4py/MPI/msgpickle.pxi":499 * * cdef object PyMPI_testall(requests, int *flag, statuses): * cdef object bufs = None # <<<<<<<<<<<<<< * # * cdef Py_ssize_t i = 0 */ __Pyx_INCREF(Py_None); __pyx_v_bufs = Py_None; /* "mpi4py/MPI/msgpickle.pxi":501 * cdef object bufs = None * # * cdef Py_ssize_t i = 0 # <<<<<<<<<<<<<< * cdef int count = 0 * cdef MPI_Request *irequests = NULL */ __pyx_v_i = 0; /* "mpi4py/MPI/msgpickle.pxi":502 * # * cdef Py_ssize_t i = 0 * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE */ __pyx_v_count = 0; /* "mpi4py/MPI/msgpickle.pxi":503 * cdef Py_ssize_t i = 0 * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # */ __pyx_v_irequests = NULL; /* "mpi4py/MPI/msgpickle.pxi":504 * cdef int count = 0 * cdef MPI_Request *irequests = NULL * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE # <<<<<<<<<<<<<< * # * cdef tmp = acquire_rs(requests, True, &count, &irequests, &istatuses) */ __pyx_v_istatuses = MPI_STATUSES_IGNORE; /* "mpi4py/MPI/msgpickle.pxi":506 * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # * cdef tmp = acquire_rs(requests, True, &count, &irequests, &istatuses) # <<<<<<<<<<<<<< * try: * with nogil: CHKERR( MPI_Testall(count, irequests, flag, istatuses) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_acquire_rs(__pyx_v_requests, Py_True, (&__pyx_v_count), (&__pyx_v_irequests), (&__pyx_v_istatuses)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":507 * # * cdef tmp = acquire_rs(requests, True, &count, &irequests, &istatuses) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Testall(count, irequests, flag, istatuses) ) * if flag[0]: */ /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":508 * cdef tmp = acquire_rs(requests, True, &count, &irequests, &istatuses) * try: * with nogil: CHKERR( MPI_Testall(count, irequests, flag, istatuses) ) # <<<<<<<<<<<<<< * if flag[0]: * bufs = [(requests[i]).ob_buf for i from 0 <= i < count] */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Testall(__pyx_v_count, __pyx_v_irequests, __pyx_v_flag, __pyx_v_istatuses)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 508, __pyx_L7_error) } /*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_L4_error; } __pyx_L8:; } } /* "mpi4py/MPI/msgpickle.pxi":509 * try: * with nogil: CHKERR( MPI_Testall(count, irequests, flag, istatuses) ) * if flag[0]: # <<<<<<<<<<<<<< * bufs = [(requests[i]).ob_buf for i from 0 <= i < count] * finally: */ __pyx_t_3 = ((__pyx_v_flag[0]) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgpickle.pxi":510 * with nogil: CHKERR( MPI_Testall(count, irequests, flag, istatuses) ) * if flag[0]: * bufs = [(requests[i]).ob_buf for i from 0 <= i < count] # <<<<<<<<<<<<<< * finally: * release_rs(requests, statuses, count, irequests, istatuses) */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 510, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_v_count; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_2; __pyx_v_i++) { __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_requests, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 510, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)((struct PyMPIRequestObject *)__pyx_t_4)->ob_buf))) __PYX_ERR(6, 510, __pyx_L4_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF_SET(__pyx_v_bufs, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":509 * try: * with nogil: CHKERR( MPI_Testall(count, irequests, flag, istatuses) ) * if flag[0]: # <<<<<<<<<<<<<< * bufs = [(requests[i]).ob_buf for i from 0 <= i < count] * finally: */ } } /* "mpi4py/MPI/msgpickle.pxi":512 * bufs = [(requests[i]).ob_buf for i from 0 <= i < count] * finally: * release_rs(requests, statuses, count, irequests, istatuses) # <<<<<<<<<<<<<< * # * if not flag[0]: return None */ /*finally:*/ { /*normal exit:*/{ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, __pyx_v_statuses, __pyx_v_count, __pyx_v_irequests, __pyx_v_istatuses); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 512, __pyx_L1_error) 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_4); __pyx_t_4 = 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_2 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; { __pyx_t_13 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, __pyx_v_statuses, __pyx_v_count, __pyx_v_irequests, __pyx_v_istatuses); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(6, 512, __pyx_L13_error) } 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_2; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; goto __pyx_L1_error; __pyx_L13_error:; 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_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; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/msgpickle.pxi":514 * release_rs(requests, statuses, count, irequests, istatuses) * # * if not flag[0]: return None # <<<<<<<<<<<<<< * return [PyMPI_load(&istatuses[i], bufs[i]) for i from 0 <= i < count] * */ __pyx_t_3 = ((!((__pyx_v_flag[0]) != 0)) != 0); if (__pyx_t_3) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":515 * # * if not flag[0]: return None * return [PyMPI_load(&istatuses[i], bufs[i]) for i from 0 <= i < count] # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __pyx_v_count; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_5; __pyx_v_i++) { __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_bufs, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_14 = __pyx_f_6mpi4py_3MPI_PyMPI_load((&(__pyx_v_istatuses[__pyx_v_i])), __pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(6, 515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_14))) __PYX_ERR(6, 515, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":498 * * * cdef object PyMPI_testall(requests, int *flag, statuses): # <<<<<<<<<<<<<< * cdef object bufs = None * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_14); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_testall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_bufs); __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":519 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_probe(int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Status *status): * with nogil: CHKERR( MPI_Probe(source, tag, comm, status) ) */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_probe(int __pyx_v_source, int __pyx_v_tag, MPI_Comm __pyx_v_comm, MPI_Status *__pyx_v_status) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_probe", 0); /* "mpi4py/MPI/msgpickle.pxi":521 * cdef object PyMPI_probe(int source, int tag, * MPI_Comm comm, MPI_Status *status): * with nogil: CHKERR( MPI_Probe(source, tag, comm, status) ) # <<<<<<<<<<<<<< * return True * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Probe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm, __pyx_v_status)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 521, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":522 * MPI_Comm comm, MPI_Status *status): * with nogil: CHKERR( MPI_Probe(source, tag, comm, status) ) * return True # <<<<<<<<<<<<<< * * cdef object PyMPI_iprobe(int source, int tag, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_True); __pyx_r = Py_True; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":519 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_probe(int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Status *status): * with nogil: CHKERR( MPI_Probe(source, tag, comm, status) ) */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPI_probe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":524 * return True * * cdef object PyMPI_iprobe(int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Status *status): * cdef int flag = 0 */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_iprobe(int __pyx_v_source, int __pyx_v_tag, MPI_Comm __pyx_v_comm, MPI_Status *__pyx_v_status) { int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_iprobe", 0); /* "mpi4py/MPI/msgpickle.pxi":526 * cdef object PyMPI_iprobe(int source, int tag, * MPI_Comm comm, MPI_Status *status): * cdef int flag = 0 # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Iprobe(source, tag, comm, &flag, status) ) * return flag */ __pyx_v_flag = 0; /* "mpi4py/MPI/msgpickle.pxi":527 * MPI_Comm comm, MPI_Status *status): * cdef int flag = 0 * with nogil: CHKERR( MPI_Iprobe(source, tag, comm, &flag, status) ) # <<<<<<<<<<<<<< * return flag * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Iprobe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm, (&__pyx_v_flag), __pyx_v_status)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 527, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":528 * cdef int flag = 0 * with nogil: CHKERR( MPI_Iprobe(source, tag, comm, &flag, status) ) * return flag # <<<<<<<<<<<<<< * * cdef object PyMPI_mprobe(int source, int tag, MPI_Comm comm, */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":524 * return True * * cdef object PyMPI_iprobe(int source, int tag, # <<<<<<<<<<<<<< * MPI_Comm comm, MPI_Status *status): * cdef int flag = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_iprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":530 * return flag * * cdef object PyMPI_mprobe(int source, int tag, MPI_Comm comm, # <<<<<<<<<<<<<< * MPI_Message *message, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_mprobe(int __pyx_v_source, int __pyx_v_tag, MPI_Comm __pyx_v_comm, MPI_Message *__pyx_v_message, MPI_Status *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_rbuf; int __pyx_v_rcount; MPI_Datatype __pyx_v_rtype; MPI_Status __pyx_v_rsts; PyObject *__pyx_v_rmsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_mprobe", 0); /* "mpi4py/MPI/msgpickle.pxi":532 * cdef object PyMPI_mprobe(int source, int tag, MPI_Comm comm, * MPI_Message *message, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * cdef void* rbuf = NULL * cdef int rcount = 0 */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":533 * MPI_Message *message, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE * cdef void* rbuf = NULL # <<<<<<<<<<<<<< * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":534 * cdef Pickle pickle = PyMPI_PICKLE * cdef void* rbuf = NULL * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * cdef MPI_Status rsts */ __pyx_v_rcount = 0; /* "mpi4py/MPI/msgpickle.pxi":535 * cdef void* rbuf = NULL * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * cdef MPI_Status rsts * if (status == MPI_STATUS_IGNORE): status = &rsts */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":537 * cdef MPI_Datatype rtype = MPI_BYTE * cdef MPI_Status rsts * if (status == MPI_STATUS_IGNORE): status = &rsts # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Mprobe(source, tag, comm, message, status) ) * if message[0] == MPI_MESSAGE_NO_PROC: return None */ __pyx_t_1 = ((__pyx_v_status == MPI_STATUS_IGNORE) != 0); if (__pyx_t_1) { __pyx_v_status = (&__pyx_v_rsts); } /* "mpi4py/MPI/msgpickle.pxi":538 * cdef MPI_Status rsts * if (status == MPI_STATUS_IGNORE): status = &rsts * with nogil: CHKERR( MPI_Mprobe(source, tag, comm, message, status) ) # <<<<<<<<<<<<<< * if message[0] == MPI_MESSAGE_NO_PROC: return None * CHKERR( MPI_Get_count(status, rtype, &rcount) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Mprobe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm, __pyx_v_message, __pyx_v_status)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 538, __pyx_L5_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":539 * if (status == MPI_STATUS_IGNORE): status = &rsts * with nogil: CHKERR( MPI_Mprobe(source, tag, comm, message, status) ) * if message[0] == MPI_MESSAGE_NO_PROC: return None # <<<<<<<<<<<<<< * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * cdef object rmsg = pickle.alloc(&rbuf, rcount) */ __pyx_t_1 = (((__pyx_v_message[0]) == MPI_MESSAGE_NO_PROC) != 0); if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":540 * with nogil: CHKERR( MPI_Mprobe(source, tag, comm, message, status) ) * if message[0] == MPI_MESSAGE_NO_PROC: return None * CHKERR( MPI_Get_count(status, rtype, &rcount) ) # <<<<<<<<<<<<<< * cdef object rmsg = pickle.alloc(&rbuf, rcount) * return rmsg */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_count(__pyx_v_status, __pyx_v_rtype, (&__pyx_v_rcount))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 540, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":541 * if message[0] == MPI_MESSAGE_NO_PROC: return None * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * cdef object rmsg = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * return rmsg * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_rcount); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_rmsg = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":542 * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * cdef object rmsg = pickle.alloc(&rbuf, rcount) * return rmsg # <<<<<<<<<<<<<< * * cdef object PyMPI_improbe(int source, int tag, MPI_Comm comm, int *flag, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":530 * return flag * * cdef object PyMPI_mprobe(int source, int tag, MPI_Comm comm, # <<<<<<<<<<<<<< * MPI_Message *message, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_mprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":544 * return rmsg * * cdef object PyMPI_improbe(int source, int tag, MPI_Comm comm, int *flag, # <<<<<<<<<<<<<< * MPI_Message *message, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_improbe(int __pyx_v_source, int __pyx_v_tag, MPI_Comm __pyx_v_comm, int *__pyx_v_flag, MPI_Message *__pyx_v_message, MPI_Status *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_rbuf; int __pyx_v_rcount; MPI_Datatype __pyx_v_rtype; MPI_Status __pyx_v_rsts; PyObject *__pyx_v_rmsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_improbe", 0); /* "mpi4py/MPI/msgpickle.pxi":546 * cdef object PyMPI_improbe(int source, int tag, MPI_Comm comm, int *flag, * MPI_Message *message, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * cdef void* rbuf = NULL * cdef int rcount = 0 */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":547 * MPI_Message *message, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE * cdef void* rbuf = NULL # <<<<<<<<<<<<<< * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":548 * cdef Pickle pickle = PyMPI_PICKLE * cdef void* rbuf = NULL * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * cdef MPI_Status rsts */ __pyx_v_rcount = 0; /* "mpi4py/MPI/msgpickle.pxi":549 * cdef void* rbuf = NULL * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * cdef MPI_Status rsts * if (status == MPI_STATUS_IGNORE): status = &rsts */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":551 * cdef MPI_Datatype rtype = MPI_BYTE * cdef MPI_Status rsts * if (status == MPI_STATUS_IGNORE): status = &rsts # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Improbe(source, tag, comm, flag, message, status) ) * if flag[0] == 0 or message[0] == MPI_MESSAGE_NO_PROC: return None */ __pyx_t_1 = ((__pyx_v_status == MPI_STATUS_IGNORE) != 0); if (__pyx_t_1) { __pyx_v_status = (&__pyx_v_rsts); } /* "mpi4py/MPI/msgpickle.pxi":552 * cdef MPI_Status rsts * if (status == MPI_STATUS_IGNORE): status = &rsts * with nogil: CHKERR( MPI_Improbe(source, tag, comm, flag, message, status) ) # <<<<<<<<<<<<<< * if flag[0] == 0 or message[0] == MPI_MESSAGE_NO_PROC: return None * CHKERR( MPI_Get_count(status, rtype, &rcount) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Improbe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm, __pyx_v_flag, __pyx_v_message, __pyx_v_status)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 552, __pyx_L5_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":553 * if (status == MPI_STATUS_IGNORE): status = &rsts * with nogil: CHKERR( MPI_Improbe(source, tag, comm, flag, message, status) ) * if flag[0] == 0 or message[0] == MPI_MESSAGE_NO_PROC: return None # <<<<<<<<<<<<<< * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * cdef object rmsg = pickle.alloc(&rbuf, rcount) */ __pyx_t_3 = (((__pyx_v_flag[0]) == 0) != 0); if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L8_bool_binop_done; } __pyx_t_3 = (((__pyx_v_message[0]) == MPI_MESSAGE_NO_PROC) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L8_bool_binop_done:; if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":554 * with nogil: CHKERR( MPI_Improbe(source, tag, comm, flag, message, status) ) * if flag[0] == 0 or message[0] == MPI_MESSAGE_NO_PROC: return None * CHKERR( MPI_Get_count(status, rtype, &rcount) ) # <<<<<<<<<<<<<< * cdef object rmsg = pickle.alloc(&rbuf, rcount) * return rmsg */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_count(__pyx_v_status, __pyx_v_rtype, (&__pyx_v_rcount))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 554, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":555 * if flag[0] == 0 or message[0] == MPI_MESSAGE_NO_PROC: return None * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * cdef object rmsg = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * return rmsg * */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_rcount); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_rmsg = __pyx_t_4; __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":556 * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * cdef object rmsg = pickle.alloc(&rbuf, rcount) * return rmsg # <<<<<<<<<<<<<< * * cdef object PyMPI_mrecv(object rmsg, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":544 * return rmsg * * cdef object PyMPI_improbe(int source, int tag, MPI_Comm comm, int *flag, # <<<<<<<<<<<<<< * MPI_Message *message, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_improbe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":558 * return rmsg * * cdef object PyMPI_mrecv(object rmsg, # <<<<<<<<<<<<<< * MPI_Message *message, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_mrecv(PyObject *__pyx_v_rmsg, MPI_Message *__pyx_v_message, MPI_Status *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_rbuf; MPI_Aint __pyx_v_rlen; MPI_Datatype __pyx_v_rtype; int __pyx_v_rcount; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_mrecv", 0); __Pyx_INCREF(__pyx_v_rmsg); /* "mpi4py/MPI/msgpickle.pxi":560 * cdef object PyMPI_mrecv(object rmsg, * MPI_Message *message, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * cdef void* rbuf = NULL * cdef MPI_Aint rlen = 0 */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":561 * MPI_Message *message, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE * cdef void* rbuf = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint rlen = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":562 * cdef Pickle pickle = PyMPI_PICKLE * cdef void* rbuf = NULL * cdef MPI_Aint rlen = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * if message[0] == MPI_MESSAGE_NO_PROC: */ __pyx_v_rlen = 0; /* "mpi4py/MPI/msgpickle.pxi":563 * cdef void* rbuf = NULL * cdef MPI_Aint rlen = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * if message[0] == MPI_MESSAGE_NO_PROC: * rmsg = None */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":564 * cdef MPI_Aint rlen = 0 * cdef MPI_Datatype rtype = MPI_BYTE * if message[0] == MPI_MESSAGE_NO_PROC: # <<<<<<<<<<<<<< * rmsg = None * elif rmsg is None: */ __pyx_t_1 = (((__pyx_v_message[0]) == MPI_MESSAGE_NO_PROC) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":565 * cdef MPI_Datatype rtype = MPI_BYTE * if message[0] == MPI_MESSAGE_NO_PROC: * rmsg = None # <<<<<<<<<<<<<< * elif rmsg is None: * pass */ __Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_rmsg, Py_None); /* "mpi4py/MPI/msgpickle.pxi":564 * cdef MPI_Aint rlen = 0 * cdef MPI_Datatype rtype = MPI_BYTE * if message[0] == MPI_MESSAGE_NO_PROC: # <<<<<<<<<<<<<< * rmsg = None * elif rmsg is None: */ goto __pyx_L3; } /* "mpi4py/MPI/msgpickle.pxi":566 * if message[0] == MPI_MESSAGE_NO_PROC: * rmsg = None * elif rmsg is None: # <<<<<<<<<<<<<< * pass * elif PyBytes_CheckExact(rmsg): */ __pyx_t_1 = (__pyx_v_rmsg == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { goto __pyx_L3; } /* "mpi4py/MPI/msgpickle.pxi":568 * elif rmsg is None: * pass * elif PyBytes_CheckExact(rmsg): # <<<<<<<<<<<<<< * rmsg = getbuffer_r(rmsg, &rbuf, &rlen) * else: */ __pyx_t_2 = (PyBytes_CheckExact(__pyx_v_rmsg) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":569 * pass * elif PyBytes_CheckExact(rmsg): * rmsg = getbuffer_r(rmsg, &rbuf, &rlen) # <<<<<<<<<<<<<< * else: * rmsg = getbuffer_w(rmsg, &rbuf, &rlen) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_r(__pyx_v_rmsg, (&__pyx_v_rbuf), (&__pyx_v_rlen))); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":568 * elif rmsg is None: * pass * elif PyBytes_CheckExact(rmsg): # <<<<<<<<<<<<<< * rmsg = getbuffer_r(rmsg, &rbuf, &rlen) * else: */ goto __pyx_L3; } /* "mpi4py/MPI/msgpickle.pxi":571 * rmsg = getbuffer_r(rmsg, &rbuf, &rlen) * else: * rmsg = getbuffer_w(rmsg, &rbuf, &rlen) # <<<<<<<<<<<<<< * cdef int rcount = clipcount(rlen) * with nogil: CHKERR( MPI_Mrecv(rbuf, rcount, rtype, message, status) ) */ /*else*/ { __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_rmsg, (&__pyx_v_rbuf), (&__pyx_v_rlen))); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; } __pyx_L3:; /* "mpi4py/MPI/msgpickle.pxi":572 * else: * rmsg = getbuffer_w(rmsg, &rbuf, &rlen) * cdef int rcount = clipcount(rlen) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Mrecv(rbuf, rcount, rtype, message, status) ) * rmsg = pickle.load(rbuf, rcount) */ __pyx_v_rcount = __pyx_f_6mpi4py_3MPI_clipcount(__pyx_v_rlen); /* "mpi4py/MPI/msgpickle.pxi":573 * rmsg = getbuffer_w(rmsg, &rbuf, &rlen) * cdef int rcount = clipcount(rlen) * with nogil: CHKERR( MPI_Mrecv(rbuf, rcount, rtype, message, status) ) # <<<<<<<<<<<<<< * rmsg = pickle.load(rbuf, rcount) * return rmsg */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_4 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Mrecv(__pyx_v_rbuf, __pyx_v_rcount, __pyx_v_rtype, __pyx_v_message, __pyx_v_status)); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(6, 573, __pyx_L5_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":574 * cdef int rcount = clipcount(rlen) * with nogil: CHKERR( MPI_Mrecv(rbuf, rcount, rtype, message, status) ) * rmsg = pickle.load(rbuf, rcount) # <<<<<<<<<<<<<< * return rmsg * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_rcount); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 574, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":575 * with nogil: CHKERR( MPI_Mrecv(rbuf, rcount, rtype, message, status) ) * rmsg = pickle.load(rbuf, rcount) * return rmsg # <<<<<<<<<<<<<< * * cdef object PyMPI_imrecv(object rmsg, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":558 * return rmsg * * cdef object PyMPI_mrecv(object rmsg, # <<<<<<<<<<<<<< * MPI_Message *message, MPI_Status *status): * cdef Pickle pickle = PyMPI_PICKLE */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_mrecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":577 * return rmsg * * cdef object PyMPI_imrecv(object rmsg, # <<<<<<<<<<<<<< * MPI_Message *message, MPI_Request *request): * cdef void* rbuf = NULL */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_imrecv(PyObject *__pyx_v_rmsg, MPI_Message *__pyx_v_message, MPI_Request *__pyx_v_request) { void *__pyx_v_rbuf; MPI_Aint __pyx_v_rlen; MPI_Datatype __pyx_v_rtype; int __pyx_v_rcount; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_imrecv", 0); __Pyx_INCREF(__pyx_v_rmsg); /* "mpi4py/MPI/msgpickle.pxi":579 * cdef object PyMPI_imrecv(object rmsg, * MPI_Message *message, MPI_Request *request): * cdef void* rbuf = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint rlen = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":580 * MPI_Message *message, MPI_Request *request): * cdef void* rbuf = NULL * cdef MPI_Aint rlen = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * if message[0] == MPI_MESSAGE_NO_PROC: */ __pyx_v_rlen = 0; /* "mpi4py/MPI/msgpickle.pxi":581 * cdef void* rbuf = NULL * cdef MPI_Aint rlen = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * if message[0] == MPI_MESSAGE_NO_PROC: * rmsg = None */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":582 * cdef MPI_Aint rlen = 0 * cdef MPI_Datatype rtype = MPI_BYTE * if message[0] == MPI_MESSAGE_NO_PROC: # <<<<<<<<<<<<<< * rmsg = None * elif rmsg is None: */ __pyx_t_1 = (((__pyx_v_message[0]) == MPI_MESSAGE_NO_PROC) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":583 * cdef MPI_Datatype rtype = MPI_BYTE * if message[0] == MPI_MESSAGE_NO_PROC: * rmsg = None # <<<<<<<<<<<<<< * elif rmsg is None: * pass */ __Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_rmsg, Py_None); /* "mpi4py/MPI/msgpickle.pxi":582 * cdef MPI_Aint rlen = 0 * cdef MPI_Datatype rtype = MPI_BYTE * if message[0] == MPI_MESSAGE_NO_PROC: # <<<<<<<<<<<<<< * rmsg = None * elif rmsg is None: */ goto __pyx_L3; } /* "mpi4py/MPI/msgpickle.pxi":584 * if message[0] == MPI_MESSAGE_NO_PROC: * rmsg = None * elif rmsg is None: # <<<<<<<<<<<<<< * pass * elif PyBytes_CheckExact(rmsg): */ __pyx_t_1 = (__pyx_v_rmsg == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { goto __pyx_L3; } /* "mpi4py/MPI/msgpickle.pxi":586 * elif rmsg is None: * pass * elif PyBytes_CheckExact(rmsg): # <<<<<<<<<<<<<< * rmsg = getbuffer_r(rmsg, &rbuf, &rlen) * else: */ __pyx_t_2 = (PyBytes_CheckExact(__pyx_v_rmsg) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":587 * pass * elif PyBytes_CheckExact(rmsg): * rmsg = getbuffer_r(rmsg, &rbuf, &rlen) # <<<<<<<<<<<<<< * else: * rmsg = getbuffer_w(rmsg, &rbuf, &rlen) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_r(__pyx_v_rmsg, (&__pyx_v_rbuf), (&__pyx_v_rlen))); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":586 * elif rmsg is None: * pass * elif PyBytes_CheckExact(rmsg): # <<<<<<<<<<<<<< * rmsg = getbuffer_r(rmsg, &rbuf, &rlen) * else: */ goto __pyx_L3; } /* "mpi4py/MPI/msgpickle.pxi":589 * rmsg = getbuffer_r(rmsg, &rbuf, &rlen) * else: * rmsg = getbuffer_w(rmsg, &rbuf, &rlen) # <<<<<<<<<<<<<< * cdef int rcount = clipcount(rlen) * with nogil: CHKERR( MPI_Imrecv(rbuf, rcount, rtype, message, request) ) */ /*else*/ { __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_rmsg, (&__pyx_v_rbuf), (&__pyx_v_rlen))); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 589, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; } __pyx_L3:; /* "mpi4py/MPI/msgpickle.pxi":590 * else: * rmsg = getbuffer_w(rmsg, &rbuf, &rlen) * cdef int rcount = clipcount(rlen) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Imrecv(rbuf, rcount, rtype, message, request) ) * return rmsg */ __pyx_v_rcount = __pyx_f_6mpi4py_3MPI_clipcount(__pyx_v_rlen); /* "mpi4py/MPI/msgpickle.pxi":591 * rmsg = getbuffer_w(rmsg, &rbuf, &rlen) * cdef int rcount = clipcount(rlen) * with nogil: CHKERR( MPI_Imrecv(rbuf, rcount, rtype, message, request) ) # <<<<<<<<<<<<<< * return rmsg * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_4 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Imrecv(__pyx_v_rbuf, __pyx_v_rcount, __pyx_v_rtype, __pyx_v_message, __pyx_v_request)); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(6, 591, __pyx_L5_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":592 * cdef int rcount = clipcount(rlen) * with nogil: CHKERR( MPI_Imrecv(rbuf, rcount, rtype, message, request) ) * return rmsg # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":577 * return rmsg * * cdef object PyMPI_imrecv(object rmsg, # <<<<<<<<<<<<<< * MPI_Message *message, MPI_Request *request): * cdef void* rbuf = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_imrecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":596 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_barrier(MPI_Comm comm): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Barrier(comm) ) * return None */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_barrier(MPI_Comm __pyx_v_comm) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_barrier", 0); /* "mpi4py/MPI/msgpickle.pxi":597 * * cdef object PyMPI_barrier(MPI_Comm comm): * with nogil: CHKERR( MPI_Barrier(comm) ) # <<<<<<<<<<<<<< * return None * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Barrier(__pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 597, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":598 * cdef object PyMPI_barrier(MPI_Comm comm): * with nogil: CHKERR( MPI_Barrier(comm) ) * return None # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":596 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_barrier(MPI_Comm comm): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Barrier(comm) ) * return None */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPI_barrier", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":601 * * * cdef object PyMPI_bcast(object obj, int root, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_bcast(PyObject *__pyx_v_obj, int __pyx_v_root, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_buf; int __pyx_v_count; MPI_Datatype __pyx_v_dtype; int __pyx_v_dosend; int __pyx_v_dorecv; int __pyx_v_inter; int __pyx_v_rank; PyObject *__pyx_v_smsg = 0; PyObject *__pyx_v_rmsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_bcast", 0); /* "mpi4py/MPI/msgpickle.pxi":602 * * cdef object PyMPI_bcast(object obj, int root, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *buf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":604 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *buf = NULL # <<<<<<<<<<<<<< * cdef int count = 0 * cdef MPI_Datatype dtype = MPI_BYTE */ __pyx_v_buf = NULL; /* "mpi4py/MPI/msgpickle.pxi":605 * # * cdef void *buf = NULL * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype dtype = MPI_BYTE * # */ __pyx_v_count = 0; /* "mpi4py/MPI/msgpickle.pxi":606 * cdef void *buf = NULL * cdef int count = 0 * cdef MPI_Datatype dtype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef int dosend=0, dorecv=0 */ __pyx_v_dtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":608 * cdef MPI_Datatype dtype = MPI_BYTE * # * cdef int dosend=0, dorecv=0 # <<<<<<<<<<<<<< * cdef int inter=0, rank=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_v_dosend = 0; __pyx_v_dorecv = 0; /* "mpi4py/MPI/msgpickle.pxi":609 * # * cdef int dosend=0, dorecv=0 * cdef int inter=0, rank=0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: */ __pyx_v_inter = 0; __pyx_v_rank = 0; /* "mpi4py/MPI/msgpickle.pxi":610 * cdef int dosend=0, dorecv=0 * cdef int inter=0, rank=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if inter: * if root == MPI_PROC_NULL: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 610, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":611 * cdef int inter=0, rank=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: # <<<<<<<<<<<<<< * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; */ __pyx_t_2 = (__pyx_v_inter != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":612 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: * if root == MPI_PROC_NULL: # <<<<<<<<<<<<<< * dosend=0; dorecv=0; * elif root == MPI_ROOT: */ __pyx_t_2 = ((__pyx_v_root == MPI_PROC_NULL) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":613 * if inter: * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; # <<<<<<<<<<<<<< * elif root == MPI_ROOT: * dosend=1; dorecv=0; */ __pyx_v_dosend = 0; __pyx_v_dorecv = 0; /* "mpi4py/MPI/msgpickle.pxi":612 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: * if root == MPI_PROC_NULL: # <<<<<<<<<<<<<< * dosend=0; dorecv=0; * elif root == MPI_ROOT: */ goto __pyx_L4; } /* "mpi4py/MPI/msgpickle.pxi":614 * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; * elif root == MPI_ROOT: # <<<<<<<<<<<<<< * dosend=1; dorecv=0; * else: */ __pyx_t_2 = ((__pyx_v_root == MPI_ROOT) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":615 * dosend=0; dorecv=0; * elif root == MPI_ROOT: * dosend=1; dorecv=0; # <<<<<<<<<<<<<< * else: * dosend=0; dorecv=1; */ __pyx_v_dosend = 1; __pyx_v_dorecv = 0; /* "mpi4py/MPI/msgpickle.pxi":614 * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; * elif root == MPI_ROOT: # <<<<<<<<<<<<<< * dosend=1; dorecv=0; * else: */ goto __pyx_L4; } /* "mpi4py/MPI/msgpickle.pxi":617 * dosend=1; dorecv=0; * else: * dosend=0; dorecv=1; # <<<<<<<<<<<<<< * else: * CHKERR( MPI_Comm_rank(comm, &rank) ) */ /*else*/ { __pyx_v_dosend = 0; __pyx_v_dorecv = 1; } __pyx_L4:; /* "mpi4py/MPI/msgpickle.pxi":611 * cdef int inter=0, rank=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: # <<<<<<<<<<<<<< * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; */ goto __pyx_L3; } /* "mpi4py/MPI/msgpickle.pxi":619 * dosend=0; dorecv=1; * else: * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * if root == rank: * dosend=1; dorecv=1; */ /*else*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 619, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":620 * else: * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * dosend=1; dorecv=1; * else: */ __pyx_t_2 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":621 * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: * dosend=1; dorecv=1; # <<<<<<<<<<<<<< * else: * dosend=0; dorecv=1; */ __pyx_v_dosend = 1; __pyx_v_dorecv = 1; /* "mpi4py/MPI/msgpickle.pxi":620 * else: * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * dosend=1; dorecv=1; * else: */ goto __pyx_L5; } /* "mpi4py/MPI/msgpickle.pxi":623 * dosend=1; dorecv=1; * else: * dosend=0; dorecv=1; # <<<<<<<<<<<<<< * # * cdef object smsg = None */ /*else*/ { __pyx_v_dosend = 0; __pyx_v_dorecv = 1; } __pyx_L5:; } __pyx_L3:; /* "mpi4py/MPI/msgpickle.pxi":625 * dosend=0; dorecv=1; * # * cdef object smsg = None # <<<<<<<<<<<<<< * cdef object rmsg = None * # */ __Pyx_INCREF(Py_None); __pyx_v_smsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":626 * # * cdef object smsg = None * cdef object rmsg = None # <<<<<<<<<<<<<< * # * if dosend: smsg = pickle.dump(obj, &buf, &count) */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":628 * cdef object rmsg = None * # * if dosend: smsg = pickle.dump(obj, &buf, &count) # <<<<<<<<<<<<<< * if dosend and dorecv: rmsg = smsg * with PyMPI_Lock(comm, "bcast"): */ __pyx_t_2 = (__pyx_v_dosend != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_obj, (&__pyx_v_buf), (&__pyx_v_count)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_smsg, __pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/msgpickle.pxi":629 * # * if dosend: smsg = pickle.dump(obj, &buf, &count) * if dosend and dorecv: rmsg = smsg # <<<<<<<<<<<<<< * with PyMPI_Lock(comm, "bcast"): * with nogil: CHKERR( MPI_Bcast( */ __pyx_t_4 = (__pyx_v_dosend != 0); if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L8_bool_binop_done; } __pyx_t_4 = (__pyx_v_dorecv != 0); __pyx_t_2 = __pyx_t_4; __pyx_L8_bool_binop_done:; if (__pyx_t_2) { __Pyx_INCREF(__pyx_v_smsg); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_v_smsg); } /* "mpi4py/MPI/msgpickle.pxi":630 * if dosend: smsg = pickle.dump(obj, &buf, &count) * if dosend and dorecv: rmsg = smsg * with PyMPI_Lock(comm, "bcast"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bcast( * &count, 1, MPI_INT, */ /*with:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock(__pyx_v_comm, __pyx_n_s_bcast); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 630, __pyx_L10_error) __Pyx_GOTREF(__pyx_t_7); __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_6 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 630, __pyx_L10_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 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:*/ { /* "mpi4py/MPI/msgpickle.pxi":631 * if dosend and dorecv: rmsg = smsg * with PyMPI_Lock(comm, "bcast"): * with nogil: CHKERR( MPI_Bcast( # <<<<<<<<<<<<<< * &count, 1, MPI_INT, * root, comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":633 * with nogil: CHKERR( MPI_Bcast( * &count, 1, MPI_INT, * root, comm) ) # <<<<<<<<<<<<<< * if dorecv and not dosend: * rmsg = pickle.alloc(&buf, count) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Bcast((&__pyx_v_count), 1, MPI_INT, __pyx_v_root, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 631, __pyx_L21_error) } /* "mpi4py/MPI/msgpickle.pxi":631 * if dosend and dorecv: rmsg = smsg * with PyMPI_Lock(comm, "bcast"): * with nogil: CHKERR( MPI_Bcast( # <<<<<<<<<<<<<< * &count, 1, MPI_INT, * root, comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L22; } __pyx_L21_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L14_error; } __pyx_L22:; } } /* "mpi4py/MPI/msgpickle.pxi":634 * &count, 1, MPI_INT, * root, comm) ) * if dorecv and not dosend: # <<<<<<<<<<<<<< * rmsg = pickle.alloc(&buf, count) * with nogil: CHKERR( MPI_Bcast( */ __pyx_t_4 = (__pyx_v_dorecv != 0); if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L24_bool_binop_done; } __pyx_t_4 = ((!(__pyx_v_dosend != 0)) != 0); __pyx_t_2 = __pyx_t_4; __pyx_L24_bool_binop_done:; if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":635 * root, comm) ) * if dorecv and not dosend: * rmsg = pickle.alloc(&buf, count) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bcast( * buf, count, dtype, */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_buf), __pyx_v_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 635, __pyx_L14_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":634 * &count, 1, MPI_INT, * root, comm) ) * if dorecv and not dosend: # <<<<<<<<<<<<<< * rmsg = pickle.alloc(&buf, count) * with nogil: CHKERR( MPI_Bcast( */ } /* "mpi4py/MPI/msgpickle.pxi":636 * if dorecv and not dosend: * rmsg = pickle.alloc(&buf, count) * with nogil: CHKERR( MPI_Bcast( # <<<<<<<<<<<<<< * buf, count, dtype, * root, comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":638 * with nogil: CHKERR( MPI_Bcast( * buf, count, dtype, * root, comm) ) # <<<<<<<<<<<<<< * if dorecv: rmsg = pickle.load(buf, count) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Bcast(__pyx_v_buf, __pyx_v_count, __pyx_v_dtype, __pyx_v_root, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 636, __pyx_L27_error) } /* "mpi4py/MPI/msgpickle.pxi":636 * if dorecv and not dosend: * rmsg = pickle.alloc(&buf, count) * with nogil: CHKERR( MPI_Bcast( # <<<<<<<<<<<<<< * buf, count, dtype, * root, comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L28; } __pyx_L27_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L14_error; } __pyx_L28:; } } /* "mpi4py/MPI/msgpickle.pxi":630 * if dosend: smsg = pickle.dump(obj, &buf, &count) * if dosend and dorecv: rmsg = smsg * with PyMPI_Lock(comm, "bcast"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bcast( * &count, 1, MPI_INT, */ } __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_L19_try_end; __pyx_L14_error:; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 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; /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.PyMPI_bcast", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(6, 630, __pyx_L16_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(6, 630, __pyx_L16_except_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(6, 630, __pyx_L16_except_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_12); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_2 < 0) __PYX_ERR(6, 630, __pyx_L16_except_error) __pyx_t_4 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_6, __pyx_t_7); __pyx_t_3 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __PYX_ERR(6, 630, __pyx_L16_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L15_exception_handled; } __pyx_L16_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_L15_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_L19_try_end:; } } /*finally:*/ { /*normal exit:*/{ if (__pyx_t_5) { __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } goto __pyx_L13; } __pyx_L13:; } goto __pyx_L32; __pyx_L10_error:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L1_error; __pyx_L32:; } /* "mpi4py/MPI/msgpickle.pxi":639 * buf, count, dtype, * root, comm) ) * if dorecv: rmsg = pickle.load(buf, count) # <<<<<<<<<<<<<< * # * return rmsg */ __pyx_t_4 = (__pyx_v_dorecv != 0); if (__pyx_t_4) { __pyx_t_7 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_buf, __pyx_v_count); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_7); __pyx_t_7 = 0; } /* "mpi4py/MPI/msgpickle.pxi":641 * if dorecv: rmsg = pickle.load(buf, count) * # * return rmsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":601 * * * cdef object PyMPI_bcast(object obj, int root, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_bcast", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_smsg); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":644 * * * cdef object PyMPI_gather(object sendobj, int root, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_gather(PyObject *__pyx_v_sendobj, int __pyx_v_root, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int __pyx_v_scount; MPI_Datatype __pyx_v_stype; void *__pyx_v_rbuf; int *__pyx_v_rcounts; int *__pyx_v_rdispls; MPI_Datatype __pyx_v_rtype; int __pyx_v_dosend; int __pyx_v_dorecv; int __pyx_v_inter; int __pyx_v_size; int __pyx_v_rank; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; PyObject *__pyx_v_rmsg = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_gather", 0); /* "mpi4py/MPI/msgpickle.pxi":645 * * cdef object PyMPI_gather(object sendobj, int root, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *sbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":647 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":648 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL */ __pyx_v_scount = 0; /* "mpi4py/MPI/msgpickle.pxi":649 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * cdef void *rbuf = NULL * cdef int *rcounts = NULL */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":650 * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef int *rcounts = NULL * cdef int *rdispls = NULL */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":651 * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL * cdef int *rcounts = NULL # <<<<<<<<<<<<<< * cdef int *rdispls = NULL * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rcounts = NULL; /* "mpi4py/MPI/msgpickle.pxi":652 * cdef void *rbuf = NULL * cdef int *rcounts = NULL * cdef int *rdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rdispls = NULL; /* "mpi4py/MPI/msgpickle.pxi":653 * cdef int *rcounts = NULL * cdef int *rdispls = NULL * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef int dosend=0, dorecv=0 */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":655 * cdef MPI_Datatype rtype = MPI_BYTE * # * cdef int dosend=0, dorecv=0 # <<<<<<<<<<<<<< * cdef int inter=0, size=0, rank=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_v_dosend = 0; __pyx_v_dorecv = 0; /* "mpi4py/MPI/msgpickle.pxi":656 * # * cdef int dosend=0, dorecv=0 * cdef int inter=0, size=0, rank=0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: */ __pyx_v_inter = 0; __pyx_v_size = 0; __pyx_v_rank = 0; /* "mpi4py/MPI/msgpickle.pxi":657 * cdef int dosend=0, dorecv=0 * cdef int inter=0, size=0, rank=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if inter: * CHKERR( MPI_Comm_remote_size(comm, &size) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 657, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":658 * cdef int inter=0, size=0, rank=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if root == MPI_PROC_NULL: */ __pyx_t_2 = (__pyx_v_inter != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":659 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: * CHKERR( MPI_Comm_remote_size(comm, &size) ) # <<<<<<<<<<<<<< * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 659, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":660 * if inter: * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if root == MPI_PROC_NULL: # <<<<<<<<<<<<<< * dosend=0; dorecv=0; * elif root == MPI_ROOT: */ __pyx_t_2 = ((__pyx_v_root == MPI_PROC_NULL) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":661 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; # <<<<<<<<<<<<<< * elif root == MPI_ROOT: * dosend=0; dorecv=1; */ __pyx_v_dosend = 0; __pyx_v_dorecv = 0; /* "mpi4py/MPI/msgpickle.pxi":660 * if inter: * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if root == MPI_PROC_NULL: # <<<<<<<<<<<<<< * dosend=0; dorecv=0; * elif root == MPI_ROOT: */ goto __pyx_L4; } /* "mpi4py/MPI/msgpickle.pxi":662 * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; * elif root == MPI_ROOT: # <<<<<<<<<<<<<< * dosend=0; dorecv=1; * else: */ __pyx_t_2 = ((__pyx_v_root == MPI_ROOT) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":663 * dosend=0; dorecv=0; * elif root == MPI_ROOT: * dosend=0; dorecv=1; # <<<<<<<<<<<<<< * else: * dosend=1; dorecv=0; */ __pyx_v_dosend = 0; __pyx_v_dorecv = 1; /* "mpi4py/MPI/msgpickle.pxi":662 * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; * elif root == MPI_ROOT: # <<<<<<<<<<<<<< * dosend=0; dorecv=1; * else: */ goto __pyx_L4; } /* "mpi4py/MPI/msgpickle.pxi":665 * dosend=0; dorecv=1; * else: * dosend=1; dorecv=0; # <<<<<<<<<<<<<< * else: * CHKERR( MPI_Comm_size(comm, &size) ) */ /*else*/ { __pyx_v_dosend = 1; __pyx_v_dorecv = 0; } __pyx_L4:; /* "mpi4py/MPI/msgpickle.pxi":658 * cdef int inter=0, size=0, rank=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if root == MPI_PROC_NULL: */ goto __pyx_L3; } /* "mpi4py/MPI/msgpickle.pxi":667 * dosend=1; dorecv=0; * else: * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: */ /*else*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 667, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":668 * else: * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * if root == rank: * dosend=1; dorecv=1; */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 668, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":669 * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * dosend=1; dorecv=1; * else: */ __pyx_t_2 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":670 * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: * dosend=1; dorecv=1; # <<<<<<<<<<<<<< * else: * dosend=1; dorecv=0; */ __pyx_v_dosend = 1; __pyx_v_dorecv = 1; /* "mpi4py/MPI/msgpickle.pxi":669 * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * dosend=1; dorecv=1; * else: */ goto __pyx_L5; } /* "mpi4py/MPI/msgpickle.pxi":672 * dosend=1; dorecv=1; * else: * dosend=1; dorecv=0; # <<<<<<<<<<<<<< * # * cdef object tmps = None */ /*else*/ { __pyx_v_dosend = 1; __pyx_v_dorecv = 0; } __pyx_L5:; } __pyx_L3:; /* "mpi4py/MPI/msgpickle.pxi":674 * dosend=1; dorecv=0; * # * cdef object tmps = None # <<<<<<<<<<<<<< * cdef object rmsg = None * cdef object tmp1 */ __Pyx_INCREF(Py_None); __pyx_v_tmps = Py_None; /* "mpi4py/MPI/msgpickle.pxi":675 * # * cdef object tmps = None * cdef object rmsg = None # <<<<<<<<<<<<<< * cdef object tmp1 * # */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":678 * cdef object tmp1 * # * if dorecv: tmp1 = allocate_count_displ(size, &rcounts, &rdispls) # <<<<<<<<<<<<<< * if dosend: tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "gather"): */ __pyx_t_2 = (__pyx_v_dorecv != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_allocate_count_displ(__pyx_v_size, (&__pyx_v_rcounts), (&__pyx_v_rdispls)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp1 = __pyx_t_3; __pyx_t_3 = 0; } /* "mpi4py/MPI/msgpickle.pxi":679 * # * if dorecv: tmp1 = allocate_count_displ(size, &rcounts, &rdispls) * if dosend: tmps = pickle.dump(sendobj, &sbuf, &scount) # <<<<<<<<<<<<<< * with PyMPI_Lock(comm, "gather"): * with nogil: CHKERR( MPI_Gather( */ __pyx_t_2 = (__pyx_v_dosend != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_sendobj, (&__pyx_v_sbuf), (&__pyx_v_scount)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/msgpickle.pxi":680 * if dorecv: tmp1 = allocate_count_displ(size, &rcounts, &rdispls) * if dosend: tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "gather"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Gather( * &scount, 1, MPI_INT, */ /*with:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock(__pyx_v_comm, __pyx_n_s_gather); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 680, __pyx_L8_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(6, 680, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /*try:*/ { { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); __Pyx_XGOTREF(__pyx_t_8); __Pyx_XGOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_t_10); /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":681 * if dosend: tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "gather"): * with nogil: CHKERR( MPI_Gather( # <<<<<<<<<<<<<< * &scount, 1, MPI_INT, * rcounts, 1, MPI_INT, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":684 * &scount, 1, MPI_INT, * rcounts, 1, MPI_INT, * root, comm) ) # <<<<<<<<<<<<<< * if dorecv: rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Gatherv( */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Gather((&__pyx_v_scount), 1, MPI_INT, __pyx_v_rcounts, 1, MPI_INT, __pyx_v_root, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 681, __pyx_L19_error) } /* "mpi4py/MPI/msgpickle.pxi":681 * if dosend: tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "gather"): * with nogil: CHKERR( MPI_Gather( # <<<<<<<<<<<<<< * &scount, 1, MPI_INT, * rcounts, 1, MPI_INT, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L20; } __pyx_L19_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L12_error; } __pyx_L20:; } } /* "mpi4py/MPI/msgpickle.pxi":685 * rcounts, 1, MPI_INT, * root, comm) ) * if dorecv: rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Gatherv( * sbuf, scount, stype, */ __pyx_t_2 = (__pyx_v_dorecv != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_allocv(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_size, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 685, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/msgpickle.pxi":686 * root, comm) ) * if dorecv: rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Gatherv( # <<<<<<<<<<<<<< * sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":689 * sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, * root, comm) ) # <<<<<<<<<<<<<< * if dorecv: rmsg = pickle.loadv(rbuf, size, rcounts, rdispls) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Gatherv(__pyx_v_sbuf, __pyx_v_scount, __pyx_v_stype, __pyx_v_rbuf, __pyx_v_rcounts, __pyx_v_rdispls, __pyx_v_rtype, __pyx_v_root, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 686, __pyx_L23_error) } /* "mpi4py/MPI/msgpickle.pxi":686 * root, comm) ) * if dorecv: rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Gatherv( # <<<<<<<<<<<<<< * sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L24; } __pyx_L23_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L12_error; } __pyx_L24:; } } /* "mpi4py/MPI/msgpickle.pxi":680 * if dorecv: tmp1 = allocate_count_displ(size, &rcounts, &rdispls) * if dosend: tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "gather"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Gather( * &scount, 1, MPI_INT, */ } __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L17_try_end; __pyx_L12_error:; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 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; /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.PyMPI_gather", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(6, 680, __pyx_L14_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 680, __pyx_L14_except_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 680, __pyx_L14_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_2 < 0) __PYX_ERR(6, 680, __pyx_L14_except_error) __pyx_t_12 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __PYX_ERR(6, 680, __pyx_L14_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L13_exception_handled; } __pyx_L14_except_error:; __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); goto __pyx_L1_error; __pyx_L13_exception_handled:; __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); __pyx_L17_try_end:; } } /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } goto __pyx_L11; } __pyx_L11:; } goto __pyx_L28; __pyx_L8_error:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L1_error; __pyx_L28:; } /* "mpi4py/MPI/msgpickle.pxi":690 * rbuf, rcounts, rdispls, rtype, * root, comm) ) * if dorecv: rmsg = pickle.loadv(rbuf, size, rcounts, rdispls) # <<<<<<<<<<<<<< * # * return rmsg */ __pyx_t_12 = (__pyx_v_dorecv != 0); if (__pyx_t_12) { __pyx_t_6 = __pyx_f_6mpi4py_3MPI_6Pickle_loadv(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_size, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_6); __pyx_t_6 = 0; } /* "mpi4py/MPI/msgpickle.pxi":692 * if dorecv: rmsg = pickle.loadv(rbuf, size, rcounts, rdispls) * # * return rmsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":644 * * * cdef object PyMPI_gather(object sendobj, int root, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_gather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":695 * * * cdef object PyMPI_scatter(object sendobj, int root, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_scatter(PyObject *__pyx_v_sendobj, int __pyx_v_root, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int *__pyx_v_scounts; int *__pyx_v_sdispls; MPI_Datatype __pyx_v_stype; void *__pyx_v_rbuf; int __pyx_v_rcount; MPI_Datatype __pyx_v_rtype; int __pyx_v_dosend; int __pyx_v_dorecv; int __pyx_v_inter; int __pyx_v_size; int __pyx_v_rank; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; PyObject *__pyx_v_rmsg = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_scatter", 0); /* "mpi4py/MPI/msgpickle.pxi":696 * * cdef object PyMPI_scatter(object sendobj, int root, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *sbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":698 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int *scounts = NULL * cdef int *sdispls = NULL */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":699 * # * cdef void *sbuf = NULL * cdef int *scounts = NULL # <<<<<<<<<<<<<< * cdef int *sdispls = NULL * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_scounts = NULL; /* "mpi4py/MPI/msgpickle.pxi":700 * cdef void *sbuf = NULL * cdef int *scounts = NULL * cdef int *sdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL */ __pyx_v_sdispls = NULL; /* "mpi4py/MPI/msgpickle.pxi":701 * cdef int *scounts = NULL * cdef int *sdispls = NULL * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * cdef void *rbuf = NULL * cdef int rcount = 0 */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":702 * cdef int *sdispls = NULL * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":703 * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rcount = 0; /* "mpi4py/MPI/msgpickle.pxi":704 * cdef void *rbuf = NULL * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef int dosend=0, dorecv=0 */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":706 * cdef MPI_Datatype rtype = MPI_BYTE * # * cdef int dosend=0, dorecv=0 # <<<<<<<<<<<<<< * cdef int inter=0, size=0, rank=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ __pyx_v_dosend = 0; __pyx_v_dorecv = 0; /* "mpi4py/MPI/msgpickle.pxi":707 * # * cdef int dosend=0, dorecv=0 * cdef int inter=0, size=0, rank=0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: */ __pyx_v_inter = 0; __pyx_v_size = 0; __pyx_v_rank = 0; /* "mpi4py/MPI/msgpickle.pxi":708 * cdef int dosend=0, dorecv=0 * cdef int inter=0, size=0, rank=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if inter: * CHKERR( MPI_Comm_remote_size(comm, &size) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 708, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":709 * cdef int inter=0, size=0, rank=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if root == MPI_PROC_NULL: */ __pyx_t_2 = (__pyx_v_inter != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":710 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: * CHKERR( MPI_Comm_remote_size(comm, &size) ) # <<<<<<<<<<<<<< * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 710, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":711 * if inter: * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if root == MPI_PROC_NULL: # <<<<<<<<<<<<<< * dosend=0; dorecv=0; * elif root == MPI_ROOT: */ __pyx_t_2 = ((__pyx_v_root == MPI_PROC_NULL) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":712 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; # <<<<<<<<<<<<<< * elif root == MPI_ROOT: * dosend=1; dorecv=0; */ __pyx_v_dosend = 0; __pyx_v_dorecv = 0; /* "mpi4py/MPI/msgpickle.pxi":711 * if inter: * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if root == MPI_PROC_NULL: # <<<<<<<<<<<<<< * dosend=0; dorecv=0; * elif root == MPI_ROOT: */ goto __pyx_L4; } /* "mpi4py/MPI/msgpickle.pxi":713 * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; * elif root == MPI_ROOT: # <<<<<<<<<<<<<< * dosend=1; dorecv=0; * else: */ __pyx_t_2 = ((__pyx_v_root == MPI_ROOT) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":714 * dosend=0; dorecv=0; * elif root == MPI_ROOT: * dosend=1; dorecv=0; # <<<<<<<<<<<<<< * else: * dosend=0; dorecv=1; */ __pyx_v_dosend = 1; __pyx_v_dorecv = 0; /* "mpi4py/MPI/msgpickle.pxi":713 * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; * elif root == MPI_ROOT: # <<<<<<<<<<<<<< * dosend=1; dorecv=0; * else: */ goto __pyx_L4; } /* "mpi4py/MPI/msgpickle.pxi":716 * dosend=1; dorecv=0; * else: * dosend=0; dorecv=1; # <<<<<<<<<<<<<< * else: * CHKERR( MPI_Comm_size(comm, &size) ) */ /*else*/ { __pyx_v_dosend = 0; __pyx_v_dorecv = 1; } __pyx_L4:; /* "mpi4py/MPI/msgpickle.pxi":709 * cdef int inter=0, size=0, rank=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_remote_size(comm, &size) ) * if root == MPI_PROC_NULL: */ goto __pyx_L3; } /* "mpi4py/MPI/msgpickle.pxi":718 * dosend=0; dorecv=1; * else: * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: */ /*else*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 718, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":719 * else: * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * if root == rank: * dosend=1; dorecv=1; */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 719, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":720 * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * dosend=1; dorecv=1; * else: */ __pyx_t_2 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":721 * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: * dosend=1; dorecv=1; # <<<<<<<<<<<<<< * else: * dosend=0; dorecv=1; */ __pyx_v_dosend = 1; __pyx_v_dorecv = 1; /* "mpi4py/MPI/msgpickle.pxi":720 * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * dosend=1; dorecv=1; * else: */ goto __pyx_L5; } /* "mpi4py/MPI/msgpickle.pxi":723 * dosend=1; dorecv=1; * else: * dosend=0; dorecv=1; # <<<<<<<<<<<<<< * # * cdef object tmps = None */ /*else*/ { __pyx_v_dosend = 0; __pyx_v_dorecv = 1; } __pyx_L5:; } __pyx_L3:; /* "mpi4py/MPI/msgpickle.pxi":725 * dosend=0; dorecv=1; * # * cdef object tmps = None # <<<<<<<<<<<<<< * cdef object rmsg = None * cdef object tmp1 */ __Pyx_INCREF(Py_None); __pyx_v_tmps = Py_None; /* "mpi4py/MPI/msgpickle.pxi":726 * # * cdef object tmps = None * cdef object rmsg = None # <<<<<<<<<<<<<< * cdef object tmp1 * # */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":729 * cdef object tmp1 * # * if dosend: tmp1 = allocate_count_displ(size, &scounts, &sdispls) # <<<<<<<<<<<<<< * if dosend: tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with PyMPI_Lock(comm, "scatter"): */ __pyx_t_2 = (__pyx_v_dosend != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_allocate_count_displ(__pyx_v_size, (&__pyx_v_scounts), (&__pyx_v_sdispls)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 729, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp1 = __pyx_t_3; __pyx_t_3 = 0; } /* "mpi4py/MPI/msgpickle.pxi":730 * # * if dosend: tmp1 = allocate_count_displ(size, &scounts, &sdispls) * if dosend: tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) # <<<<<<<<<<<<<< * with PyMPI_Lock(comm, "scatter"): * with nogil: CHKERR( MPI_Scatter( */ __pyx_t_2 = (__pyx_v_dosend != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_dumpv(__pyx_v_pickle, __pyx_v_sendobj, (&__pyx_v_sbuf), __pyx_v_size, __pyx_v_scounts, __pyx_v_sdispls); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/msgpickle.pxi":731 * if dosend: tmp1 = allocate_count_displ(size, &scounts, &sdispls) * if dosend: tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with PyMPI_Lock(comm, "scatter"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Scatter( * scounts, 1, MPI_INT, */ /*with:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock(__pyx_v_comm, __pyx_n_s_scatter); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 731, __pyx_L8_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(6, 731, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /*try:*/ { { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); __Pyx_XGOTREF(__pyx_t_8); __Pyx_XGOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_t_10); /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":732 * if dosend: tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with PyMPI_Lock(comm, "scatter"): * with nogil: CHKERR( MPI_Scatter( # <<<<<<<<<<<<<< * scounts, 1, MPI_INT, * &rcount, 1, MPI_INT, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":735 * scounts, 1, MPI_INT, * &rcount, 1, MPI_INT, * root, comm) ) # <<<<<<<<<<<<<< * if dorecv: rmsg = pickle.alloc(&rbuf, rcount) * with nogil: CHKERR( MPI_Scatterv( */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Scatter(__pyx_v_scounts, 1, MPI_INT, (&__pyx_v_rcount), 1, MPI_INT, __pyx_v_root, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 732, __pyx_L19_error) } /* "mpi4py/MPI/msgpickle.pxi":732 * if dosend: tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with PyMPI_Lock(comm, "scatter"): * with nogil: CHKERR( MPI_Scatter( # <<<<<<<<<<<<<< * scounts, 1, MPI_INT, * &rcount, 1, MPI_INT, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L20; } __pyx_L19_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L12_error; } __pyx_L20:; } } /* "mpi4py/MPI/msgpickle.pxi":736 * &rcount, 1, MPI_INT, * root, comm) ) * if dorecv: rmsg = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Scatterv( * sbuf, scounts, sdispls, stype, */ __pyx_t_2 = (__pyx_v_dorecv != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_rcount); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 736, __pyx_L12_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/msgpickle.pxi":737 * root, comm) ) * if dorecv: rmsg = pickle.alloc(&rbuf, rcount) * with nogil: CHKERR( MPI_Scatterv( # <<<<<<<<<<<<<< * sbuf, scounts, sdispls, stype, * rbuf, rcount, rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":740 * sbuf, scounts, sdispls, stype, * rbuf, rcount, rtype, * root, comm) ) # <<<<<<<<<<<<<< * if dorecv: rmsg = pickle.load(rbuf, rcount) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Scatterv(__pyx_v_sbuf, __pyx_v_scounts, __pyx_v_sdispls, __pyx_v_stype, __pyx_v_rbuf, __pyx_v_rcount, __pyx_v_rtype, __pyx_v_root, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 737, __pyx_L23_error) } /* "mpi4py/MPI/msgpickle.pxi":737 * root, comm) ) * if dorecv: rmsg = pickle.alloc(&rbuf, rcount) * with nogil: CHKERR( MPI_Scatterv( # <<<<<<<<<<<<<< * sbuf, scounts, sdispls, stype, * rbuf, rcount, rtype, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L24; } __pyx_L23_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L12_error; } __pyx_L24:; } } /* "mpi4py/MPI/msgpickle.pxi":731 * if dosend: tmp1 = allocate_count_displ(size, &scounts, &sdispls) * if dosend: tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with PyMPI_Lock(comm, "scatter"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Scatter( * scounts, 1, MPI_INT, */ } __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L17_try_end; __pyx_L12_error:; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 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; /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.PyMPI_scatter", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(6, 731, __pyx_L14_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 731, __pyx_L14_except_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 731, __pyx_L14_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_2 < 0) __PYX_ERR(6, 731, __pyx_L14_except_error) __pyx_t_12 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __PYX_ERR(6, 731, __pyx_L14_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L13_exception_handled; } __pyx_L14_except_error:; __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); goto __pyx_L1_error; __pyx_L13_exception_handled:; __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); __pyx_L17_try_end:; } } /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } goto __pyx_L11; } __pyx_L11:; } goto __pyx_L28; __pyx_L8_error:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L1_error; __pyx_L28:; } /* "mpi4py/MPI/msgpickle.pxi":741 * rbuf, rcount, rtype, * root, comm) ) * if dorecv: rmsg = pickle.load(rbuf, rcount) # <<<<<<<<<<<<<< * # * return rmsg */ __pyx_t_12 = (__pyx_v_dorecv != 0); if (__pyx_t_12) { __pyx_t_6 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_rcount); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_6); __pyx_t_6 = 0; } /* "mpi4py/MPI/msgpickle.pxi":743 * if dorecv: rmsg = pickle.load(rbuf, rcount) * # * return rmsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":695 * * * cdef object PyMPI_scatter(object sendobj, int root, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_scatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":746 * * * cdef object PyMPI_allgather(object sendobj, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_allgather(PyObject *__pyx_v_sendobj, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int __pyx_v_scount; MPI_Datatype __pyx_v_stype; void *__pyx_v_rbuf; int *__pyx_v_rcounts; int *__pyx_v_rdispls; MPI_Datatype __pyx_v_rtype; int __pyx_v_inter; int __pyx_v_size; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; PyObject *__pyx_v_rmsg = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_allgather", 0); /* "mpi4py/MPI/msgpickle.pxi":747 * * cdef object PyMPI_allgather(object sendobj, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *sbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":749 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":750 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL */ __pyx_v_scount = 0; /* "mpi4py/MPI/msgpickle.pxi":751 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * cdef void *rbuf = NULL * cdef int *rcounts = NULL */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":752 * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef int *rcounts = NULL * cdef int *rdispls = NULL */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":753 * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL * cdef int *rcounts = NULL # <<<<<<<<<<<<<< * cdef int *rdispls = NULL * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rcounts = NULL; /* "mpi4py/MPI/msgpickle.pxi":754 * cdef void *rbuf = NULL * cdef int *rcounts = NULL * cdef int *rdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rdispls = NULL; /* "mpi4py/MPI/msgpickle.pxi":755 * cdef int *rcounts = NULL * cdef int *rdispls = NULL * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef int inter=0, size=0 */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":757 * cdef MPI_Datatype rtype = MPI_BYTE * # * cdef int inter=0, size=0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: */ __pyx_v_inter = 0; __pyx_v_size = 0; /* "mpi4py/MPI/msgpickle.pxi":758 * # * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if inter: * CHKERR( MPI_Comm_remote_size(comm, &size) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 758, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":759 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_remote_size(comm, &size) ) * else: */ __pyx_t_2 = (__pyx_v_inter != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":760 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: * CHKERR( MPI_Comm_remote_size(comm, &size) ) # <<<<<<<<<<<<<< * else: * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 760, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":759 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_remote_size(comm, &size) ) * else: */ goto __pyx_L3; } /* "mpi4py/MPI/msgpickle.pxi":762 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * else: * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * # * cdef object tmps = None */ /*else*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 762, __pyx_L1_error) } __pyx_L3:; /* "mpi4py/MPI/msgpickle.pxi":764 * CHKERR( MPI_Comm_size(comm, &size) ) * # * cdef object tmps = None # <<<<<<<<<<<<<< * cdef object rmsg = None * cdef object tmp1 */ __Pyx_INCREF(Py_None); __pyx_v_tmps = Py_None; /* "mpi4py/MPI/msgpickle.pxi":765 * # * cdef object tmps = None * cdef object rmsg = None # <<<<<<<<<<<<<< * cdef object tmp1 * # */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":768 * cdef object tmp1 * # * tmp1 = allocate_count_displ(size, &rcounts, &rdispls) # <<<<<<<<<<<<<< * tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "allgather"): */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_allocate_count_displ(__pyx_v_size, (&__pyx_v_rcounts), (&__pyx_v_rdispls)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 768, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp1 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":769 * # * tmp1 = allocate_count_displ(size, &rcounts, &rdispls) * tmps = pickle.dump(sendobj, &sbuf, &scount) # <<<<<<<<<<<<<< * with PyMPI_Lock(comm, "allgather"): * with nogil: CHKERR( MPI_Allgather( */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_sendobj, (&__pyx_v_sbuf), (&__pyx_v_scount)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":770 * tmp1 = allocate_count_displ(size, &rcounts, &rdispls) * tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "allgather"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Allgather( * &scount, 1, MPI_INT, */ /*with:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock(__pyx_v_comm, __pyx_n_s_allgather); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 770, __pyx_L4_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(6, 770, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /*try:*/ { { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); __Pyx_XGOTREF(__pyx_t_8); __Pyx_XGOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_t_10); /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":771 * tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "allgather"): * with nogil: CHKERR( MPI_Allgather( # <<<<<<<<<<<<<< * &scount, 1, MPI_INT, * rcounts, 1, MPI_INT, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":774 * &scount, 1, MPI_INT, * rcounts, 1, MPI_INT, * comm) ) # <<<<<<<<<<<<<< * rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Allgatherv( */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Allgather((&__pyx_v_scount), 1, MPI_INT, __pyx_v_rcounts, 1, MPI_INT, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 771, __pyx_L15_error) } /* "mpi4py/MPI/msgpickle.pxi":771 * tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "allgather"): * with nogil: CHKERR( MPI_Allgather( # <<<<<<<<<<<<<< * &scount, 1, MPI_INT, * rcounts, 1, MPI_INT, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L16; } __pyx_L15_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L8_error; } __pyx_L16:; } } /* "mpi4py/MPI/msgpickle.pxi":775 * rcounts, 1, MPI_INT, * comm) ) * rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Allgatherv( * sbuf, scount, stype, */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_allocv(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_size, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 775, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":776 * comm) ) * rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Allgatherv( # <<<<<<<<<<<<<< * sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":779 * sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, * comm) ) # <<<<<<<<<<<<<< * rmsg = pickle.loadv(rbuf, size, rcounts, rdispls) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Allgatherv(__pyx_v_sbuf, __pyx_v_scount, __pyx_v_stype, __pyx_v_rbuf, __pyx_v_rcounts, __pyx_v_rdispls, __pyx_v_rtype, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 776, __pyx_L18_error) } /* "mpi4py/MPI/msgpickle.pxi":776 * comm) ) * rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Allgatherv( # <<<<<<<<<<<<<< * sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L19; } __pyx_L18_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L8_error; } __pyx_L19:; } } /* "mpi4py/MPI/msgpickle.pxi":770 * tmp1 = allocate_count_displ(size, &rcounts, &rdispls) * tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "allgather"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Allgather( * &scount, 1, MPI_INT, */ } __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L13_try_end; __pyx_L8_error:; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 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; /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.PyMPI_allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(6, 770, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 770, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 770, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_2 < 0) __PYX_ERR(6, 770, __pyx_L10_except_error) __pyx_t_12 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __PYX_ERR(6, 770, __pyx_L10_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L9_exception_handled; } __pyx_L10_except_error:; __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); goto __pyx_L1_error; __pyx_L9_exception_handled:; __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); __pyx_L13_try_end:; } } /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } goto __pyx_L7; } __pyx_L7:; } goto __pyx_L23; __pyx_L4_error:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L1_error; __pyx_L23:; } /* "mpi4py/MPI/msgpickle.pxi":780 * rbuf, rcounts, rdispls, rtype, * comm) ) * rmsg = pickle.loadv(rbuf, size, rcounts, rdispls) # <<<<<<<<<<<<<< * # * return rmsg */ __pyx_t_6 = __pyx_f_6mpi4py_3MPI_6Pickle_loadv(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_size, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/msgpickle.pxi":782 * rmsg = pickle.loadv(rbuf, size, rcounts, rdispls) * # * return rmsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":746 * * * cdef object PyMPI_allgather(object sendobj, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":785 * * * cdef object PyMPI_alltoall(object sendobj, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_alltoall(PyObject *__pyx_v_sendobj, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int *__pyx_v_scounts; int *__pyx_v_sdispls; MPI_Datatype __pyx_v_stype; void *__pyx_v_rbuf; int *__pyx_v_rcounts; int *__pyx_v_rdispls; MPI_Datatype __pyx_v_rtype; int __pyx_v_inter; int __pyx_v_size; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; PyObject *__pyx_v_rmsg = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_alltoall", 0); /* "mpi4py/MPI/msgpickle.pxi":786 * * cdef object PyMPI_alltoall(object sendobj, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *sbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":788 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int *scounts = NULL * cdef int *sdispls = NULL */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":789 * # * cdef void *sbuf = NULL * cdef int *scounts = NULL # <<<<<<<<<<<<<< * cdef int *sdispls = NULL * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_scounts = NULL; /* "mpi4py/MPI/msgpickle.pxi":790 * cdef void *sbuf = NULL * cdef int *scounts = NULL * cdef int *sdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL */ __pyx_v_sdispls = NULL; /* "mpi4py/MPI/msgpickle.pxi":791 * cdef int *scounts = NULL * cdef int *sdispls = NULL * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * cdef void *rbuf = NULL * cdef int *rcounts = NULL */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":792 * cdef int *sdispls = NULL * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef int *rcounts = NULL * cdef int *rdispls = NULL */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":793 * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL * cdef int *rcounts = NULL # <<<<<<<<<<<<<< * cdef int *rdispls = NULL * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rcounts = NULL; /* "mpi4py/MPI/msgpickle.pxi":794 * cdef void *rbuf = NULL * cdef int *rcounts = NULL * cdef int *rdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rdispls = NULL; /* "mpi4py/MPI/msgpickle.pxi":795 * cdef int *rcounts = NULL * cdef int *rdispls = NULL * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef int inter=0, size=0 */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":797 * cdef MPI_Datatype rtype = MPI_BYTE * # * cdef int inter=0, size=0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: */ __pyx_v_inter = 0; __pyx_v_size = 0; /* "mpi4py/MPI/msgpickle.pxi":798 * # * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if inter: * CHKERR( MPI_Comm_remote_size(comm, &size) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 798, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":799 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_remote_size(comm, &size) ) * else: */ __pyx_t_2 = (__pyx_v_inter != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":800 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: * CHKERR( MPI_Comm_remote_size(comm, &size) ) # <<<<<<<<<<<<<< * else: * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 800, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":799 * cdef int inter=0, size=0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_remote_size(comm, &size) ) * else: */ goto __pyx_L3; } /* "mpi4py/MPI/msgpickle.pxi":802 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * else: * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * # * cdef object tmps = None */ /*else*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 802, __pyx_L1_error) } __pyx_L3:; /* "mpi4py/MPI/msgpickle.pxi":804 * CHKERR( MPI_Comm_size(comm, &size) ) * # * cdef object tmps = None # <<<<<<<<<<<<<< * cdef object rmsg = None * cdef object tmp1, tmp2 */ __Pyx_INCREF(Py_None); __pyx_v_tmps = Py_None; /* "mpi4py/MPI/msgpickle.pxi":805 * # * cdef object tmps = None * cdef object rmsg = None # <<<<<<<<<<<<<< * cdef object tmp1, tmp2 * # */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":808 * cdef object tmp1, tmp2 * # * tmp1 = allocate_count_displ(size, &scounts, &sdispls) # <<<<<<<<<<<<<< * tmp2 = allocate_count_displ(size, &rcounts, &rdispls) * tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_allocate_count_displ(__pyx_v_size, (&__pyx_v_scounts), (&__pyx_v_sdispls)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp1 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":809 * # * tmp1 = allocate_count_displ(size, &scounts, &sdispls) * tmp2 = allocate_count_displ(size, &rcounts, &rdispls) # <<<<<<<<<<<<<< * tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with PyMPI_Lock(comm, "alltoall"): */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_allocate_count_displ(__pyx_v_size, (&__pyx_v_rcounts), (&__pyx_v_rdispls)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp2 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":810 * tmp1 = allocate_count_displ(size, &scounts, &sdispls) * tmp2 = allocate_count_displ(size, &rcounts, &rdispls) * tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) # <<<<<<<<<<<<<< * with PyMPI_Lock(comm, "alltoall"): * with nogil: CHKERR( MPI_Alltoall( */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_dumpv(__pyx_v_pickle, __pyx_v_sendobj, (&__pyx_v_sbuf), __pyx_v_size, __pyx_v_scounts, __pyx_v_sdispls); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":811 * tmp2 = allocate_count_displ(size, &rcounts, &rdispls) * tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with PyMPI_Lock(comm, "alltoall"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Alltoall( * scounts, 1, MPI_INT, */ /*with:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock(__pyx_v_comm, __pyx_n_s_alltoall); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 811, __pyx_L4_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(6, 811, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /*try:*/ { { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); __Pyx_XGOTREF(__pyx_t_8); __Pyx_XGOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_t_10); /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":812 * tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with PyMPI_Lock(comm, "alltoall"): * with nogil: CHKERR( MPI_Alltoall( # <<<<<<<<<<<<<< * scounts, 1, MPI_INT, * rcounts, 1, MPI_INT, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":815 * scounts, 1, MPI_INT, * rcounts, 1, MPI_INT, * comm) ) # <<<<<<<<<<<<<< * rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Alltoallv( */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Alltoall(__pyx_v_scounts, 1, MPI_INT, __pyx_v_rcounts, 1, MPI_INT, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 812, __pyx_L15_error) } /* "mpi4py/MPI/msgpickle.pxi":812 * tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with PyMPI_Lock(comm, "alltoall"): * with nogil: CHKERR( MPI_Alltoall( # <<<<<<<<<<<<<< * scounts, 1, MPI_INT, * rcounts, 1, MPI_INT, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L16; } __pyx_L15_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L8_error; } __pyx_L16:; } } /* "mpi4py/MPI/msgpickle.pxi":816 * rcounts, 1, MPI_INT, * comm) ) * rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Alltoallv( * sbuf, scounts, sdispls, stype, */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_allocv(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_size, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 816, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":817 * comm) ) * rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Alltoallv( # <<<<<<<<<<<<<< * sbuf, scounts, sdispls, stype, * rbuf, rcounts, rdispls, rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":820 * sbuf, scounts, sdispls, stype, * rbuf, rcounts, rdispls, rtype, * comm) ) # <<<<<<<<<<<<<< * rmsg = pickle.loadv(rbuf, size, rcounts, rdispls) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Alltoallv(__pyx_v_sbuf, __pyx_v_scounts, __pyx_v_sdispls, __pyx_v_stype, __pyx_v_rbuf, __pyx_v_rcounts, __pyx_v_rdispls, __pyx_v_rtype, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 817, __pyx_L18_error) } /* "mpi4py/MPI/msgpickle.pxi":817 * comm) ) * rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Alltoallv( # <<<<<<<<<<<<<< * sbuf, scounts, sdispls, stype, * rbuf, rcounts, rdispls, rtype, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L19; } __pyx_L18_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L8_error; } __pyx_L19:; } } /* "mpi4py/MPI/msgpickle.pxi":811 * tmp2 = allocate_count_displ(size, &rcounts, &rdispls) * tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with PyMPI_Lock(comm, "alltoall"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Alltoall( * scounts, 1, MPI_INT, */ } __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L13_try_end; __pyx_L8_error:; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 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; /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.PyMPI_alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(6, 811, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 811, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 811, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_2 < 0) __PYX_ERR(6, 811, __pyx_L10_except_error) __pyx_t_12 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __PYX_ERR(6, 811, __pyx_L10_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L9_exception_handled; } __pyx_L10_except_error:; __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); goto __pyx_L1_error; __pyx_L9_exception_handled:; __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); __pyx_L13_try_end:; } } /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } goto __pyx_L7; } __pyx_L7:; } goto __pyx_L23; __pyx_L4_error:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L1_error; __pyx_L23:; } /* "mpi4py/MPI/msgpickle.pxi":821 * rbuf, rcounts, rdispls, rtype, * comm) ) * rmsg = pickle.loadv(rbuf, size, rcounts, rdispls) # <<<<<<<<<<<<<< * # * return rmsg */ __pyx_t_6 = __pyx_f_6mpi4py_3MPI_6Pickle_loadv(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_size, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/msgpickle.pxi":823 * rmsg = pickle.loadv(rbuf, size, rcounts, rdispls) * # * return rmsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":785 * * * cdef object PyMPI_alltoall(object sendobj, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":826 * * * cdef object PyMPI_neighbor_allgather(object sendobj, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_neighbor_allgather(PyObject *__pyx_v_sendobj, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int __pyx_v_scount; MPI_Datatype __pyx_v_stype; void *__pyx_v_rbuf; int *__pyx_v_rcounts; int *__pyx_v_rdispls; MPI_Datatype __pyx_v_rtype; int __pyx_v_i; int __pyx_v_rsize; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; PyObject *__pyx_v_rmsg = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_neighbor_allgather", 0); /* "mpi4py/MPI/msgpickle.pxi":827 * * cdef object PyMPI_neighbor_allgather(object sendobj, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *sbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":829 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":830 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL */ __pyx_v_scount = 0; /* "mpi4py/MPI/msgpickle.pxi":831 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * cdef void *rbuf = NULL * cdef int *rcounts = NULL */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":832 * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef int *rcounts = NULL * cdef int *rdispls = NULL */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":833 * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL * cdef int *rcounts = NULL # <<<<<<<<<<<<<< * cdef int *rdispls = NULL * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rcounts = NULL; /* "mpi4py/MPI/msgpickle.pxi":834 * cdef void *rbuf = NULL * cdef int *rcounts = NULL * cdef int *rdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rdispls = NULL; /* "mpi4py/MPI/msgpickle.pxi":835 * cdef int *rcounts = NULL * cdef int *rdispls = NULL * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef int i=0, rsize=0 */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":837 * cdef MPI_Datatype rtype = MPI_BYTE * # * cdef int i=0, rsize=0 # <<<<<<<<<<<<<< * comm_neighbors_count(comm, &rsize, NULL) * # */ __pyx_v_i = 0; __pyx_v_rsize = 0; /* "mpi4py/MPI/msgpickle.pxi":838 * # * cdef int i=0, rsize=0 * comm_neighbors_count(comm, &rsize, NULL) # <<<<<<<<<<<<<< * # * cdef object tmps = None */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_comm_neighbors_count(__pyx_v_comm, (&__pyx_v_rsize), NULL); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 838, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":840 * comm_neighbors_count(comm, &rsize, NULL) * # * cdef object tmps = None # <<<<<<<<<<<<<< * cdef object rmsg = None * cdef object tmp1 */ __Pyx_INCREF(Py_None); __pyx_v_tmps = Py_None; /* "mpi4py/MPI/msgpickle.pxi":841 * # * cdef object tmps = None * cdef object rmsg = None # <<<<<<<<<<<<<< * cdef object tmp1 * # */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":844 * cdef object tmp1 * # * tmp1 = allocate_count_displ(rsize, &rcounts, &rdispls) # <<<<<<<<<<<<<< * for i from 0 <= i < rsize: rcounts[i] = 0 * tmps = pickle.dump(sendobj, &sbuf, &scount) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_allocate_count_displ(__pyx_v_rsize, (&__pyx_v_rcounts), (&__pyx_v_rdispls)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":845 * # * tmp1 = allocate_count_displ(rsize, &rcounts, &rdispls) * for i from 0 <= i < rsize: rcounts[i] = 0 # <<<<<<<<<<<<<< * tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "neighbor_allgather"): */ __pyx_t_1 = __pyx_v_rsize; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { (__pyx_v_rcounts[__pyx_v_i]) = 0; } /* "mpi4py/MPI/msgpickle.pxi":846 * tmp1 = allocate_count_displ(rsize, &rcounts, &rdispls) * for i from 0 <= i < rsize: rcounts[i] = 0 * tmps = pickle.dump(sendobj, &sbuf, &scount) # <<<<<<<<<<<<<< * with PyMPI_Lock(comm, "neighbor_allgather"): * with nogil: CHKERR( MPI_Neighbor_allgather( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_sendobj, (&__pyx_v_sbuf), (&__pyx_v_scount)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":847 * for i from 0 <= i < rsize: rcounts[i] = 0 * tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "neighbor_allgather"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_allgather( * &scount, 1, MPI_INT, */ /*with:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock(__pyx_v_comm, __pyx_n_s_neighbor_allgather); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 847, __pyx_L5_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(6, 847, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /*try:*/ { { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); __Pyx_XGOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_t_8); __Pyx_XGOTREF(__pyx_t_9); /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":848 * tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "neighbor_allgather"): * with nogil: CHKERR( MPI_Neighbor_allgather( # <<<<<<<<<<<<<< * &scount, 1, MPI_INT, * rcounts, 1, MPI_INT, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":851 * &scount, 1, MPI_INT, * rcounts, 1, MPI_INT, * comm) ) # <<<<<<<<<<<<<< * rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) * with nogil: CHKERR( MPI_Neighbor_allgatherv( */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Neighbor_allgather((&__pyx_v_scount), 1, MPI_INT, __pyx_v_rcounts, 1, MPI_INT, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 848, __pyx_L16_error) } /* "mpi4py/MPI/msgpickle.pxi":848 * tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "neighbor_allgather"): * with nogil: CHKERR( MPI_Neighbor_allgather( # <<<<<<<<<<<<<< * &scount, 1, MPI_INT, * rcounts, 1, MPI_INT, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L17; } __pyx_L16_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L9_error; } __pyx_L17:; } } /* "mpi4py/MPI/msgpickle.pxi":852 * rcounts, 1, MPI_INT, * comm) ) * rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_allgatherv( * sbuf, scount, stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_allocv(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_rsize, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 852, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":853 * comm) ) * rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) * with nogil: CHKERR( MPI_Neighbor_allgatherv( # <<<<<<<<<<<<<< * sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":856 * sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, * comm) ) # <<<<<<<<<<<<<< * rmsg = pickle.loadv(rbuf, rsize, rcounts, rdispls) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Neighbor_allgatherv(__pyx_v_sbuf, __pyx_v_scount, __pyx_v_stype, __pyx_v_rbuf, __pyx_v_rcounts, __pyx_v_rdispls, __pyx_v_rtype, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 853, __pyx_L19_error) } /* "mpi4py/MPI/msgpickle.pxi":853 * comm) ) * rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) * with nogil: CHKERR( MPI_Neighbor_allgatherv( # <<<<<<<<<<<<<< * sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L20; } __pyx_L19_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L9_error; } __pyx_L20:; } } /* "mpi4py/MPI/msgpickle.pxi":847 * for i from 0 <= i < rsize: rcounts[i] = 0 * tmps = pickle.dump(sendobj, &sbuf, &scount) * with PyMPI_Lock(comm, "neighbor_allgather"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_allgather( * &scount, 1, MPI_INT, */ } __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_L14_try_end; __pyx_L9_error:; __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("mpi4py.MPI.PyMPI_neighbor_allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_5) < 0) __PYX_ERR(6, 847, __pyx_L11_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 847, __pyx_L11_except_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 847, __pyx_L11_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_11 < 0) __PYX_ERR(6, 847, __pyx_L11_except_error) __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_4, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __PYX_ERR(6, 847, __pyx_L11_except_error) } __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; goto __pyx_L10_exception_handled; } __pyx_L11_except_error:; __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); goto __pyx_L1_error; __pyx_L10_exception_handled:; __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_L14_try_end:; } } /*finally:*/ { /*normal exit:*/{ if (__pyx_t_3) { __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } goto __pyx_L8; } __pyx_L8:; } goto __pyx_L24; __pyx_L5_error:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L1_error; __pyx_L24:; } /* "mpi4py/MPI/msgpickle.pxi":857 * rbuf, rcounts, rdispls, rtype, * comm) ) * rmsg = pickle.loadv(rbuf, rsize, rcounts, rdispls) # <<<<<<<<<<<<<< * # * return rmsg */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_6Pickle_loadv(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_rsize, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/msgpickle.pxi":859 * rmsg = pickle.loadv(rbuf, rsize, rcounts, rdispls) * # * return rmsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":826 * * * cdef object PyMPI_neighbor_allgather(object sendobj, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_neighbor_allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":862 * * * cdef object PyMPI_neighbor_alltoall(object sendobj, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_neighbor_alltoall(PyObject *__pyx_v_sendobj, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int *__pyx_v_scounts; int *__pyx_v_sdispls; MPI_Datatype __pyx_v_stype; void *__pyx_v_rbuf; int *__pyx_v_rcounts; int *__pyx_v_rdispls; MPI_Datatype __pyx_v_rtype; int __pyx_v_i; int __pyx_v_ssize; int __pyx_v_rsize; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; PyObject *__pyx_v_rmsg = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_neighbor_alltoall", 0); /* "mpi4py/MPI/msgpickle.pxi":863 * * cdef object PyMPI_neighbor_alltoall(object sendobj, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * # * cdef void *sbuf = NULL */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":865 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int *scounts = NULL * cdef int *sdispls = NULL */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":866 * # * cdef void *sbuf = NULL * cdef int *scounts = NULL # <<<<<<<<<<<<<< * cdef int *sdispls = NULL * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_scounts = NULL; /* "mpi4py/MPI/msgpickle.pxi":867 * cdef void *sbuf = NULL * cdef int *scounts = NULL * cdef int *sdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL */ __pyx_v_sdispls = NULL; /* "mpi4py/MPI/msgpickle.pxi":868 * cdef int *scounts = NULL * cdef int *sdispls = NULL * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * cdef void *rbuf = NULL * cdef int *rcounts = NULL */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":869 * cdef int *sdispls = NULL * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef int *rcounts = NULL * cdef int *rdispls = NULL */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":870 * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL * cdef int *rcounts = NULL # <<<<<<<<<<<<<< * cdef int *rdispls = NULL * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rcounts = NULL; /* "mpi4py/MPI/msgpickle.pxi":871 * cdef void *rbuf = NULL * cdef int *rcounts = NULL * cdef int *rdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rdispls = NULL; /* "mpi4py/MPI/msgpickle.pxi":872 * cdef int *rcounts = NULL * cdef int *rdispls = NULL * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef int i=0, ssize=0, rsize=0 */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":874 * cdef MPI_Datatype rtype = MPI_BYTE * # * cdef int i=0, ssize=0, rsize=0 # <<<<<<<<<<<<<< * comm_neighbors_count(comm, &rsize, &ssize) * # */ __pyx_v_i = 0; __pyx_v_ssize = 0; __pyx_v_rsize = 0; /* "mpi4py/MPI/msgpickle.pxi":875 * # * cdef int i=0, ssize=0, rsize=0 * comm_neighbors_count(comm, &rsize, &ssize) # <<<<<<<<<<<<<< * # * cdef object tmps = None */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_comm_neighbors_count(__pyx_v_comm, (&__pyx_v_rsize), (&__pyx_v_ssize)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 875, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":877 * comm_neighbors_count(comm, &rsize, &ssize) * # * cdef object tmps = None # <<<<<<<<<<<<<< * cdef object rmsg = None * cdef object tmp1, tmp2 */ __Pyx_INCREF(Py_None); __pyx_v_tmps = Py_None; /* "mpi4py/MPI/msgpickle.pxi":878 * # * cdef object tmps = None * cdef object rmsg = None # <<<<<<<<<<<<<< * cdef object tmp1, tmp2 * # */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "mpi4py/MPI/msgpickle.pxi":881 * cdef object tmp1, tmp2 * # * tmp1 = allocate_count_displ(ssize, &scounts, &sdispls) # <<<<<<<<<<<<<< * tmp2 = allocate_count_displ(rsize, &rcounts, &rdispls) * for i from 0 <= i < rsize: rcounts[i] = 0 */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_allocate_count_displ(__pyx_v_ssize, (&__pyx_v_scounts), (&__pyx_v_sdispls)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 881, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":882 * # * tmp1 = allocate_count_displ(ssize, &scounts, &sdispls) * tmp2 = allocate_count_displ(rsize, &rcounts, &rdispls) # <<<<<<<<<<<<<< * for i from 0 <= i < rsize: rcounts[i] = 0 * tmps = pickle.dumpv(sendobj, &sbuf, ssize, scounts, sdispls) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_allocate_count_displ(__pyx_v_rsize, (&__pyx_v_rcounts), (&__pyx_v_rdispls)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":883 * tmp1 = allocate_count_displ(ssize, &scounts, &sdispls) * tmp2 = allocate_count_displ(rsize, &rcounts, &rdispls) * for i from 0 <= i < rsize: rcounts[i] = 0 # <<<<<<<<<<<<<< * tmps = pickle.dumpv(sendobj, &sbuf, ssize, scounts, sdispls) * with PyMPI_Lock(comm, "neighbor_alltoall"): */ __pyx_t_1 = __pyx_v_rsize; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { (__pyx_v_rcounts[__pyx_v_i]) = 0; } /* "mpi4py/MPI/msgpickle.pxi":884 * tmp2 = allocate_count_displ(rsize, &rcounts, &rdispls) * for i from 0 <= i < rsize: rcounts[i] = 0 * tmps = pickle.dumpv(sendobj, &sbuf, ssize, scounts, sdispls) # <<<<<<<<<<<<<< * with PyMPI_Lock(comm, "neighbor_alltoall"): * with nogil: CHKERR( MPI_Neighbor_alltoall( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_dumpv(__pyx_v_pickle, __pyx_v_sendobj, (&__pyx_v_sbuf), __pyx_v_ssize, __pyx_v_scounts, __pyx_v_sdispls); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":885 * for i from 0 <= i < rsize: rcounts[i] = 0 * tmps = pickle.dumpv(sendobj, &sbuf, ssize, scounts, sdispls) * with PyMPI_Lock(comm, "neighbor_alltoall"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_alltoall( * scounts, 1, MPI_INT, */ /*with:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock(__pyx_v_comm, __pyx_n_s_neighbor_alltoall); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 885, __pyx_L5_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(6, 885, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /*try:*/ { { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); __Pyx_XGOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_t_8); __Pyx_XGOTREF(__pyx_t_9); /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":886 * tmps = pickle.dumpv(sendobj, &sbuf, ssize, scounts, sdispls) * with PyMPI_Lock(comm, "neighbor_alltoall"): * with nogil: CHKERR( MPI_Neighbor_alltoall( # <<<<<<<<<<<<<< * scounts, 1, MPI_INT, * rcounts, 1, MPI_INT, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":889 * scounts, 1, MPI_INT, * rcounts, 1, MPI_INT, * comm) ) # <<<<<<<<<<<<<< * rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) * with nogil: CHKERR( MPI_Neighbor_alltoallv( */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Neighbor_alltoall(__pyx_v_scounts, 1, MPI_INT, __pyx_v_rcounts, 1, MPI_INT, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 886, __pyx_L16_error) } /* "mpi4py/MPI/msgpickle.pxi":886 * tmps = pickle.dumpv(sendobj, &sbuf, ssize, scounts, sdispls) * with PyMPI_Lock(comm, "neighbor_alltoall"): * with nogil: CHKERR( MPI_Neighbor_alltoall( # <<<<<<<<<<<<<< * scounts, 1, MPI_INT, * rcounts, 1, MPI_INT, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L17; } __pyx_L16_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L9_error; } __pyx_L17:; } } /* "mpi4py/MPI/msgpickle.pxi":890 * rcounts, 1, MPI_INT, * comm) ) * rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_alltoallv( * sbuf, scounts, sdispls, stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_allocv(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_rsize, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 890, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":891 * comm) ) * rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) * with nogil: CHKERR( MPI_Neighbor_alltoallv( # <<<<<<<<<<<<<< * sbuf, scounts, sdispls, stype, * rbuf, rcounts, rdispls, rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":894 * sbuf, scounts, sdispls, stype, * rbuf, rcounts, rdispls, rtype, * comm) ) # <<<<<<<<<<<<<< * rmsg = pickle.loadv(rbuf, rsize, rcounts, rdispls) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Neighbor_alltoallv(__pyx_v_sbuf, __pyx_v_scounts, __pyx_v_sdispls, __pyx_v_stype, __pyx_v_rbuf, __pyx_v_rcounts, __pyx_v_rdispls, __pyx_v_rtype, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 891, __pyx_L19_error) } /* "mpi4py/MPI/msgpickle.pxi":891 * comm) ) * rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) * with nogil: CHKERR( MPI_Neighbor_alltoallv( # <<<<<<<<<<<<<< * sbuf, scounts, sdispls, stype, * rbuf, rcounts, rdispls, rtype, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L20; } __pyx_L19_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L9_error; } __pyx_L20:; } } /* "mpi4py/MPI/msgpickle.pxi":885 * for i from 0 <= i < rsize: rcounts[i] = 0 * tmps = pickle.dumpv(sendobj, &sbuf, ssize, scounts, sdispls) * with PyMPI_Lock(comm, "neighbor_alltoall"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_alltoall( * scounts, 1, MPI_INT, */ } __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_L14_try_end; __pyx_L9_error:; __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("mpi4py.MPI.PyMPI_neighbor_alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_5) < 0) __PYX_ERR(6, 885, __pyx_L11_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 885, __pyx_L11_except_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 885, __pyx_L11_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_11 < 0) __PYX_ERR(6, 885, __pyx_L11_except_error) __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_4, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __PYX_ERR(6, 885, __pyx_L11_except_error) } __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; goto __pyx_L10_exception_handled; } __pyx_L11_except_error:; __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); goto __pyx_L1_error; __pyx_L10_exception_handled:; __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_L14_try_end:; } } /*finally:*/ { /*normal exit:*/{ if (__pyx_t_3) { __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } goto __pyx_L8; } __pyx_L8:; } goto __pyx_L24; __pyx_L5_error:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L1_error; __pyx_L24:; } /* "mpi4py/MPI/msgpickle.pxi":895 * rbuf, rcounts, rdispls, rtype, * comm) ) * rmsg = pickle.loadv(rbuf, rsize, rcounts, rdispls) # <<<<<<<<<<<<<< * # * return rmsg */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_6Pickle_loadv(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_rsize, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/msgpickle.pxi":897 * rmsg = pickle.loadv(rbuf, rsize, rcounts, rdispls) * # * return rmsg # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":862 * * * cdef object PyMPI_neighbor_alltoall(object sendobj, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * # */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_neighbor_alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":901 * # ----------------------------------------------------------------------------- * * cdef inline object _py_reduce(object seq, object op): # <<<<<<<<<<<<<< * if seq is None: return None * cdef Py_ssize_t i = 0 */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI__py_reduce(PyObject *__pyx_v_seq, PyObject *__pyx_v_op) { Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_n; PyObject *__pyx_v_res = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; Py_ssize_t __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; int __pyx_t_8; PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_py_reduce", 0); /* "mpi4py/MPI/msgpickle.pxi":902 * * cdef inline object _py_reduce(object seq, object op): * if seq is None: return None # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0 * cdef Py_ssize_t n = len(seq) */ __pyx_t_1 = (__pyx_v_seq == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":903 * cdef inline object _py_reduce(object seq, object op): * if seq is None: return None * cdef Py_ssize_t i = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t n = len(seq) * cdef object res = seq[0] */ __pyx_v_i = 0; /* "mpi4py/MPI/msgpickle.pxi":904 * if seq is None: return None * cdef Py_ssize_t i = 0 * cdef Py_ssize_t n = len(seq) # <<<<<<<<<<<<<< * cdef object res = seq[0] * for i from 1 <= i < n: */ __pyx_t_3 = PyObject_Length(__pyx_v_seq); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(6, 904, __pyx_L1_error) __pyx_v_n = __pyx_t_3; /* "mpi4py/MPI/msgpickle.pxi":905 * cdef Py_ssize_t i = 0 * cdef Py_ssize_t n = len(seq) * cdef object res = seq[0] # <<<<<<<<<<<<<< * for i from 1 <= i < n: * res = op(res, seq[i]) */ __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_seq, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_res = __pyx_t_4; __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":906 * cdef Py_ssize_t n = len(seq) * cdef object res = seq[0] * for i from 1 <= i < n: # <<<<<<<<<<<<<< * res = op(res, seq[i]) * return res */ __pyx_t_3 = __pyx_v_n; for (__pyx_v_i = 1; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { /* "mpi4py/MPI/msgpickle.pxi":907 * cdef object res = seq[0] * for i from 1 <= i < n: * res = op(res, seq[i]) # <<<<<<<<<<<<<< * return res * */ __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_seq, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_op); __pyx_t_6 = __pyx_v_op; __pyx_t_7 = NULL; __pyx_t_8 = 0; 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_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_res, __pyx_t_5}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 907, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_res, __pyx_t_5}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 907, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(6, 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_res); __Pyx_GIVEREF(__pyx_v_res); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_v_res); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_res, __pyx_t_4); __pyx_t_4 = 0; } /* "mpi4py/MPI/msgpickle.pxi":908 * for i from 1 <= i < n: * res = op(res, seq[i]) * return res # <<<<<<<<<<<<<< * * cdef inline object _py_scan(object seq, object op): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_res); __pyx_r = __pyx_v_res; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":901 * # ----------------------------------------------------------------------------- * * cdef inline object _py_reduce(object seq, object op): # <<<<<<<<<<<<<< * if seq is None: return None * cdef Py_ssize_t i = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_9); __Pyx_AddTraceback("mpi4py.MPI._py_reduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_res); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":910 * return res * * cdef inline object _py_scan(object seq, object op): # <<<<<<<<<<<<<< * if seq is None: return None * cdef Py_ssize_t i = 0 */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI__py_scan(PyObject *__pyx_v_seq, PyObject *__pyx_v_op) { Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_n; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; Py_ssize_t __pyx_t_3; PyObject *__pyx_t_4 = NULL; Py_ssize_t __pyx_t_5; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; int __pyx_t_10; PyObject *__pyx_t_11 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_py_scan", 0); /* "mpi4py/MPI/msgpickle.pxi":911 * * cdef inline object _py_scan(object seq, object op): * if seq is None: return None # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0 * cdef Py_ssize_t n = len(seq) */ __pyx_t_1 = (__pyx_v_seq == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":912 * cdef inline object _py_scan(object seq, object op): * if seq is None: return None * cdef Py_ssize_t i = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t n = len(seq) * for i from 1 <= i < n: */ __pyx_v_i = 0; /* "mpi4py/MPI/msgpickle.pxi":913 * if seq is None: return None * cdef Py_ssize_t i = 0 * cdef Py_ssize_t n = len(seq) # <<<<<<<<<<<<<< * for i from 1 <= i < n: * seq[i] = op(seq[i-1], seq[i]) */ __pyx_t_3 = PyObject_Length(__pyx_v_seq); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(6, 913, __pyx_L1_error) __pyx_v_n = __pyx_t_3; /* "mpi4py/MPI/msgpickle.pxi":914 * cdef Py_ssize_t i = 0 * cdef Py_ssize_t n = len(seq) * for i from 1 <= i < n: # <<<<<<<<<<<<<< * seq[i] = op(seq[i-1], seq[i]) * return seq */ __pyx_t_3 = __pyx_v_n; for (__pyx_v_i = 1; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { /* "mpi4py/MPI/msgpickle.pxi":915 * cdef Py_ssize_t n = len(seq) * for i from 1 <= i < n: * seq[i] = op(seq[i-1], seq[i]) # <<<<<<<<<<<<<< * return seq * */ __pyx_t_5 = (__pyx_v_i - 1); __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_seq, __pyx_t_5, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_seq, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_op); __pyx_t_8 = __pyx_v_op; __pyx_t_9 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_6, __pyx_t_7}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 915, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_6, __pyx_t_7}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 915, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_11 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_t_7); __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_11, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_v_seq, __pyx_v_i, __pyx_t_4, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(6, 915, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } /* "mpi4py/MPI/msgpickle.pxi":916 * for i from 1 <= i < n: * seq[i] = op(seq[i-1], seq[i]) * return seq # <<<<<<<<<<<<<< * * cdef inline object _py_exscan(object seq, object op): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_seq); __pyx_r = __pyx_v_seq; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":910 * return res * * cdef inline object _py_scan(object seq, object op): # <<<<<<<<<<<<<< * if seq is None: return None * cdef Py_ssize_t i = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_11); __Pyx_AddTraceback("mpi4py.MPI._py_scan", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":918 * return seq * * cdef inline object _py_exscan(object seq, object op): # <<<<<<<<<<<<<< * if seq is None: return None * seq = _py_scan(seq, op) */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI__py_exscan(PyObject *__pyx_v_seq, PyObject *__pyx_v_op) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_py_exscan", 0); __Pyx_INCREF(__pyx_v_seq); /* "mpi4py/MPI/msgpickle.pxi":919 * * cdef inline object _py_exscan(object seq, object op): * if seq is None: return None # <<<<<<<<<<<<<< * seq = _py_scan(seq, op) * seq.pop(-1) */ __pyx_t_1 = (__pyx_v_seq == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":920 * cdef inline object _py_exscan(object seq, object op): * if seq is None: return None * seq = _py_scan(seq, op) # <<<<<<<<<<<<<< * seq.pop(-1) * seq.insert(0, None) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI__py_scan(__pyx_v_seq, __pyx_v_op); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_seq, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":921 * if seq is None: return None * seq = _py_scan(seq, op) * seq.pop(-1) # <<<<<<<<<<<<<< * seq.insert(0, None) * return seq */ __pyx_t_3 = __Pyx_PyObject_PopIndex(__pyx_v_seq, __pyx_int_neg_1, -1L, 1, Py_ssize_t, PyInt_FromSsize_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":922 * seq = _py_scan(seq, op) * seq.pop(-1) * seq.insert(0, None) # <<<<<<<<<<<<<< * return seq * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_seq, __pyx_n_s_insert); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":923 * seq.pop(-1) * seq.insert(0, None) * return seq # <<<<<<<<<<<<<< * * cdef object PyMPI_reduce_naive(object sendobj, object op, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_seq); __pyx_r = __pyx_v_seq; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":918 * return seq * * cdef inline object _py_exscan(object seq, object op): # <<<<<<<<<<<<<< * if seq is None: return None * seq = _py_scan(seq, op) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI._py_exscan", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_seq); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":925 * return seq * * cdef object PyMPI_reduce_naive(object sendobj, object op, # <<<<<<<<<<<<<< * int root, MPI_Comm comm): * cdef object items = PyMPI_gather(sendobj, root, comm) */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_reduce_naive(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, int __pyx_v_root, MPI_Comm __pyx_v_comm) { PyObject *__pyx_v_items = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_reduce_naive", 0); /* "mpi4py/MPI/msgpickle.pxi":927 * cdef object PyMPI_reduce_naive(object sendobj, object op, * int root, MPI_Comm comm): * cdef object items = PyMPI_gather(sendobj, root, comm) # <<<<<<<<<<<<<< * return _py_reduce(items, op) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_gather(__pyx_v_sendobj, __pyx_v_root, __pyx_v_comm); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 927, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_items = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":928 * int root, MPI_Comm comm): * cdef object items = PyMPI_gather(sendobj, root, comm) * return _py_reduce(items, op) # <<<<<<<<<<<<<< * * cdef object PyMPI_allreduce_naive(object sendobj, object op, MPI_Comm comm): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_f_6mpi4py_3MPI__py_reduce(__pyx_v_items, __pyx_v_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":925 * return seq * * cdef object PyMPI_reduce_naive(object sendobj, object op, # <<<<<<<<<<<<<< * int root, MPI_Comm comm): * cdef object items = PyMPI_gather(sendobj, root, comm) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_reduce_naive", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_items); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":930 * return _py_reduce(items, op) * * cdef object PyMPI_allreduce_naive(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef object items = PyMPI_allgather(sendobj, comm) * return _py_reduce(items, op) */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_allreduce_naive(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, MPI_Comm __pyx_v_comm) { PyObject *__pyx_v_items = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_allreduce_naive", 0); /* "mpi4py/MPI/msgpickle.pxi":931 * * cdef object PyMPI_allreduce_naive(object sendobj, object op, MPI_Comm comm): * cdef object items = PyMPI_allgather(sendobj, comm) # <<<<<<<<<<<<<< * return _py_reduce(items, op) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_allgather(__pyx_v_sendobj, __pyx_v_comm); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_items = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":932 * cdef object PyMPI_allreduce_naive(object sendobj, object op, MPI_Comm comm): * cdef object items = PyMPI_allgather(sendobj, comm) * return _py_reduce(items, op) # <<<<<<<<<<<<<< * * cdef object PyMPI_scan_naive(object sendobj, object op, MPI_Comm comm): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_f_6mpi4py_3MPI__py_reduce(__pyx_v_items, __pyx_v_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 932, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":930 * return _py_reduce(items, op) * * cdef object PyMPI_allreduce_naive(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef object items = PyMPI_allgather(sendobj, comm) * return _py_reduce(items, op) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_allreduce_naive", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_items); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":934 * return _py_reduce(items, op) * * cdef object PyMPI_scan_naive(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef object items = PyMPI_gather(sendobj, 0, comm) * items = _py_scan(items, op) */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_scan_naive(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, MPI_Comm __pyx_v_comm) { PyObject *__pyx_v_items = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_scan_naive", 0); /* "mpi4py/MPI/msgpickle.pxi":935 * * cdef object PyMPI_scan_naive(object sendobj, object op, MPI_Comm comm): * cdef object items = PyMPI_gather(sendobj, 0, comm) # <<<<<<<<<<<<<< * items = _py_scan(items, op) * return PyMPI_scatter(items, 0, comm) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_gather(__pyx_v_sendobj, 0, __pyx_v_comm); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_items = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":936 * cdef object PyMPI_scan_naive(object sendobj, object op, MPI_Comm comm): * cdef object items = PyMPI_gather(sendobj, 0, comm) * items = _py_scan(items, op) # <<<<<<<<<<<<<< * return PyMPI_scatter(items, 0, comm) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__py_scan(__pyx_v_items, __pyx_v_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_items, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":937 * cdef object items = PyMPI_gather(sendobj, 0, comm) * items = _py_scan(items, op) * return PyMPI_scatter(items, 0, comm) # <<<<<<<<<<<<<< * * cdef object PyMPI_exscan_naive(object sendobj, object op, MPI_Comm comm): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_scatter(__pyx_v_items, 0, __pyx_v_comm); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":934 * return _py_reduce(items, op) * * cdef object PyMPI_scan_naive(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef object items = PyMPI_gather(sendobj, 0, comm) * items = _py_scan(items, op) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_scan_naive", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_items); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":939 * return PyMPI_scatter(items, 0, comm) * * cdef object PyMPI_exscan_naive(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef object items = PyMPI_gather(sendobj, 0, comm) * items = _py_exscan(items, op) */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_exscan_naive(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, MPI_Comm __pyx_v_comm) { PyObject *__pyx_v_items = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_exscan_naive", 0); /* "mpi4py/MPI/msgpickle.pxi":940 * * cdef object PyMPI_exscan_naive(object sendobj, object op, MPI_Comm comm): * cdef object items = PyMPI_gather(sendobj, 0, comm) # <<<<<<<<<<<<<< * items = _py_exscan(items, op) * return PyMPI_scatter(items, 0, comm) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_gather(__pyx_v_sendobj, 0, __pyx_v_comm); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_items = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":941 * cdef object PyMPI_exscan_naive(object sendobj, object op, MPI_Comm comm): * cdef object items = PyMPI_gather(sendobj, 0, comm) * items = _py_exscan(items, op) # <<<<<<<<<<<<<< * return PyMPI_scatter(items, 0, comm) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__py_exscan(__pyx_v_items, __pyx_v_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_items, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":942 * cdef object items = PyMPI_gather(sendobj, 0, comm) * items = _py_exscan(items, op) * return PyMPI_scatter(items, 0, comm) # <<<<<<<<<<<<<< * * # ----- */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_scatter(__pyx_v_items, 0, __pyx_v_comm); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":939 * return PyMPI_scatter(items, 0, comm) * * cdef object PyMPI_exscan_naive(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef object items = PyMPI_gather(sendobj, 0, comm) * items = _py_exscan(items, op) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_exscan_naive", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_items); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":946 * # ----- * * cdef inline object PyMPI_copy(object obj): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = NULL */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_copy(PyObject *__pyx_v_obj) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_buf; int __pyx_v_count; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_copy", 0); __Pyx_INCREF(__pyx_v_obj); /* "mpi4py/MPI/msgpickle.pxi":947 * * cdef inline object PyMPI_copy(object obj): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * cdef void *buf = NULL * cdef int count = 0 */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":948 * cdef inline object PyMPI_copy(object obj): * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = NULL # <<<<<<<<<<<<<< * cdef int count = 0 * obj = pickle.dump(obj, &buf, &count) */ __pyx_v_buf = NULL; /* "mpi4py/MPI/msgpickle.pxi":949 * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = NULL * cdef int count = 0 # <<<<<<<<<<<<<< * obj = pickle.dump(obj, &buf, &count) * return pickle.load(buf, count) */ __pyx_v_count = 0; /* "mpi4py/MPI/msgpickle.pxi":950 * cdef void *buf = NULL * cdef int count = 0 * obj = pickle.dump(obj, &buf, &count) # <<<<<<<<<<<<<< * return pickle.load(buf, count) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_obj, (&__pyx_v_buf), (&__pyx_v_count)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_obj, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":951 * cdef int count = 0 * obj = pickle.dump(obj, &buf, &count) * return pickle.load(buf, count) # <<<<<<<<<<<<<< * * cdef object PyMPI_send_p2p(object obj, int dst, int tag, MPI_Comm comm): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_buf, __pyx_v_count); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":946 * # ----- * * cdef inline object PyMPI_copy(object obj): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_copy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":953 * return pickle.load(buf, count) * * cdef object PyMPI_send_p2p(object obj, int dst, int tag, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *sbuf = NULL */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_send_p2p(PyObject *__pyx_v_obj, int __pyx_v_dst, int __pyx_v_tag, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; int __pyx_v_scount; MPI_Datatype __pyx_v_stype; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_send_p2p", 0); /* "mpi4py/MPI/msgpickle.pxi":954 * * cdef object PyMPI_send_p2p(object obj, int dst, int tag, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * cdef void *sbuf = NULL * cdef int scount = 0 */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":955 * cdef object PyMPI_send_p2p(object obj, int dst, int tag, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":956 * cdef Pickle pickle = PyMPI_PICKLE * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * cdef object tmps = pickle.dump(obj, &sbuf, &scount) */ __pyx_v_scount = 0; /* "mpi4py/MPI/msgpickle.pxi":957 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * cdef object tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Send(&scount, 1, MPI_INT, dst, tag, comm) ) */ __pyx_v_stype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":958 * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE * cdef object tmps = pickle.dump(obj, &sbuf, &scount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Send(&scount, 1, MPI_INT, dst, tag, comm) ) * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, dst, tag, comm) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_obj, (&__pyx_v_sbuf), (&__pyx_v_scount)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmps = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":959 * cdef MPI_Datatype stype = MPI_BYTE * cdef object tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Send(&scount, 1, MPI_INT, dst, tag, comm) ) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, dst, tag, comm) ) * return None */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Send((&__pyx_v_scount), 1, MPI_INT, __pyx_v_dst, __pyx_v_tag, __pyx_v_comm)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 959, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":960 * cdef object tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Send(&scount, 1, MPI_INT, dst, tag, comm) ) * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, dst, tag, comm) ) # <<<<<<<<<<<<<< * return None * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Send(__pyx_v_sbuf, __pyx_v_scount, __pyx_v_stype, __pyx_v_dst, __pyx_v_tag, __pyx_v_comm)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 960, __pyx_L7_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":961 * with nogil: CHKERR( MPI_Send(&scount, 1, MPI_INT, dst, tag, comm) ) * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, dst, tag, comm) ) * return None # <<<<<<<<<<<<<< * * cdef object PyMPI_recv_p2p(int src, int tag, MPI_Comm comm): */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":953 * return pickle.load(buf, count) * * cdef object PyMPI_send_p2p(object obj, int dst, int tag, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *sbuf = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_send_p2p", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":963 * return None * * cdef object PyMPI_recv_p2p(int src, int tag, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *rbuf = NULL */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_recv_p2p(int __pyx_v_src, int __pyx_v_tag, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_rbuf; int __pyx_v_rcount; MPI_Datatype __pyx_v_rtype; MPI_Status *__pyx_v_status; CYTHON_UNUSED PyObject *__pyx_v_tmpr = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_recv_p2p", 0); /* "mpi4py/MPI/msgpickle.pxi":964 * * cdef object PyMPI_recv_p2p(int src, int tag, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * cdef void *rbuf = NULL * cdef int rcount = 0 */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":965 * cdef object PyMPI_recv_p2p(int src, int tag, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":966 * cdef Pickle pickle = PyMPI_PICKLE * cdef void *rbuf = NULL * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * cdef MPI_Status *status = MPI_STATUS_IGNORE */ __pyx_v_rcount = 0; /* "mpi4py/MPI/msgpickle.pxi":967 * cdef void *rbuf = NULL * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * cdef MPI_Status *status = MPI_STATUS_IGNORE * with nogil: CHKERR( MPI_Recv(&rcount, 1, MPI_INT, src, tag, comm, status) ) */ __pyx_v_rtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":968 * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE * cdef MPI_Status *status = MPI_STATUS_IGNORE # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Recv(&rcount, 1, MPI_INT, src, tag, comm, status) ) * cdef object tmpr = pickle.alloc(&rbuf, rcount) */ __pyx_v_status = MPI_STATUS_IGNORE; /* "mpi4py/MPI/msgpickle.pxi":969 * cdef MPI_Datatype rtype = MPI_BYTE * cdef MPI_Status *status = MPI_STATUS_IGNORE * with nogil: CHKERR( MPI_Recv(&rcount, 1, MPI_INT, src, tag, comm, status) ) # <<<<<<<<<<<<<< * cdef object tmpr = pickle.alloc(&rbuf, rcount) * with nogil: CHKERR( MPI_Recv(rbuf, rcount, rtype, src, tag, comm, status) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Recv((&__pyx_v_rcount), 1, MPI_INT, __pyx_v_src, __pyx_v_tag, __pyx_v_comm, __pyx_v_status)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 969, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":970 * cdef MPI_Status *status = MPI_STATUS_IGNORE * with nogil: CHKERR( MPI_Recv(&rcount, 1, MPI_INT, src, tag, comm, status) ) * cdef object tmpr = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Recv(rbuf, rcount, rtype, src, tag, comm, status) ) * return pickle.load(rbuf, rcount) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_rcount); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmpr = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":971 * with nogil: CHKERR( MPI_Recv(&rcount, 1, MPI_INT, src, tag, comm, status) ) * cdef object tmpr = pickle.alloc(&rbuf, rcount) * with nogil: CHKERR( MPI_Recv(rbuf, rcount, rtype, src, tag, comm, status) ) # <<<<<<<<<<<<<< * return pickle.load(rbuf, rcount) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Recv(__pyx_v_rbuf, __pyx_v_rcount, __pyx_v_rtype, __pyx_v_src, __pyx_v_tag, __pyx_v_comm, __pyx_v_status)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 971, __pyx_L7_error) } /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":972 * cdef object tmpr = pickle.alloc(&rbuf, rcount) * with nogil: CHKERR( MPI_Recv(rbuf, rcount, rtype, src, tag, comm, status) ) * return pickle.load(rbuf, rcount) # <<<<<<<<<<<<<< * * cdef object PyMPI_sendrecv_p2p(object obj, */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_rcount); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":963 * return None * * cdef object PyMPI_recv_p2p(int src, int tag, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *rbuf = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_recv_p2p", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmpr); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":974 * return pickle.load(rbuf, rcount) * * cdef object PyMPI_sendrecv_p2p(object obj, # <<<<<<<<<<<<<< * int dst, int stag, * int src, int rtag, */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_sendrecv_p2p(PyObject *__pyx_v_obj, int __pyx_v_dst, int __pyx_v_stag, int __pyx_v_src, int __pyx_v_rtag, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_sbuf; void *__pyx_v_rbuf; int __pyx_v_scount; int __pyx_v_rcount; MPI_Datatype __pyx_v_dtype; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; CYTHON_UNUSED PyObject *__pyx_v_tmpr = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_sendrecv_p2p", 0); /* "mpi4py/MPI/msgpickle.pxi":978 * int src, int rtag, * MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * cdef void *sbuf = NULL, *rbuf = NULL * cdef int scount = 0, rcount = 0 */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":979 * MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE * cdef void *sbuf = NULL, *rbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0, rcount = 0 * cdef MPI_Datatype dtype = MPI_BYTE */ __pyx_v_sbuf = NULL; __pyx_v_rbuf = NULL; /* "mpi4py/MPI/msgpickle.pxi":980 * cdef Pickle pickle = PyMPI_PICKLE * cdef void *sbuf = NULL, *rbuf = NULL * cdef int scount = 0, rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype dtype = MPI_BYTE * cdef object tmps = pickle.dump(obj, &sbuf, &scount) */ __pyx_v_scount = 0; __pyx_v_rcount = 0; /* "mpi4py/MPI/msgpickle.pxi":981 * cdef void *sbuf = NULL, *rbuf = NULL * cdef int scount = 0, rcount = 0 * cdef MPI_Datatype dtype = MPI_BYTE # <<<<<<<<<<<<<< * cdef object tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Sendrecv(&scount, 1, MPI_INT, dst, stag, */ __pyx_v_dtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":982 * cdef int scount = 0, rcount = 0 * cdef MPI_Datatype dtype = MPI_BYTE * cdef object tmps = pickle.dump(obj, &sbuf, &scount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Sendrecv(&scount, 1, MPI_INT, dst, stag, * &rcount, 1, MPI_INT, src, rtag, */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_obj, (&__pyx_v_sbuf), (&__pyx_v_scount)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmps = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":983 * cdef MPI_Datatype dtype = MPI_BYTE * cdef object tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Sendrecv(&scount, 1, MPI_INT, dst, stag, # <<<<<<<<<<<<<< * &rcount, 1, MPI_INT, src, rtag, * comm, MPI_STATUS_IGNORE) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":985 * with nogil: CHKERR( MPI_Sendrecv(&scount, 1, MPI_INT, dst, stag, * &rcount, 1, MPI_INT, src, rtag, * comm, MPI_STATUS_IGNORE) ) # <<<<<<<<<<<<<< * cdef object tmpr = pickle.alloc(&rbuf, rcount) * with nogil: CHKERR( MPI_Sendrecv(sbuf, scount, dtype, dst, stag, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Sendrecv((&__pyx_v_scount), 1, MPI_INT, __pyx_v_dst, __pyx_v_stag, (&__pyx_v_rcount), 1, MPI_INT, __pyx_v_src, __pyx_v_rtag, __pyx_v_comm, MPI_STATUS_IGNORE)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 983, __pyx_L4_error) } /* "mpi4py/MPI/msgpickle.pxi":983 * cdef MPI_Datatype dtype = MPI_BYTE * cdef object tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Sendrecv(&scount, 1, MPI_INT, dst, stag, # <<<<<<<<<<<<<< * &rcount, 1, MPI_INT, src, rtag, * comm, MPI_STATUS_IGNORE) ) */ /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":986 * &rcount, 1, MPI_INT, src, rtag, * comm, MPI_STATUS_IGNORE) ) * cdef object tmpr = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Sendrecv(sbuf, scount, dtype, dst, stag, * rbuf, rcount, dtype, src, rtag, */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_rbuf), __pyx_v_rcount); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmpr = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":987 * comm, MPI_STATUS_IGNORE) ) * cdef object tmpr = pickle.alloc(&rbuf, rcount) * with nogil: CHKERR( MPI_Sendrecv(sbuf, scount, dtype, dst, stag, # <<<<<<<<<<<<<< * rbuf, rcount, dtype, src, rtag, * comm, MPI_STATUS_IGNORE) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":989 * with nogil: CHKERR( MPI_Sendrecv(sbuf, scount, dtype, dst, stag, * rbuf, rcount, dtype, src, rtag, * comm, MPI_STATUS_IGNORE) ) # <<<<<<<<<<<<<< * return pickle.load(rbuf, rcount) * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Sendrecv(__pyx_v_sbuf, __pyx_v_scount, __pyx_v_dtype, __pyx_v_dst, __pyx_v_stag, __pyx_v_rbuf, __pyx_v_rcount, __pyx_v_dtype, __pyx_v_src, __pyx_v_rtag, __pyx_v_comm, MPI_STATUS_IGNORE)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(6, 987, __pyx_L7_error) } /* "mpi4py/MPI/msgpickle.pxi":987 * comm, MPI_STATUS_IGNORE) ) * cdef object tmpr = pickle.alloc(&rbuf, rcount) * with nogil: CHKERR( MPI_Sendrecv(sbuf, scount, dtype, dst, stag, # <<<<<<<<<<<<<< * rbuf, rcount, dtype, src, rtag, * comm, MPI_STATUS_IGNORE) ) */ /*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:; } } /* "mpi4py/MPI/msgpickle.pxi":990 * rbuf, rcount, dtype, src, rtag, * comm, MPI_STATUS_IGNORE) ) * return pickle.load(rbuf, rcount) # <<<<<<<<<<<<<< * * cdef object PyMPI_bcast_p2p(object obj, int root, MPI_Comm comm): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_rbuf, __pyx_v_rcount); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":974 * return pickle.load(rbuf, rcount) * * cdef object PyMPI_sendrecv_p2p(object obj, # <<<<<<<<<<<<<< * int dst, int stag, * int src, int rtag, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_sendrecv_p2p", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_tmpr); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":992 * return pickle.load(rbuf, rcount) * * cdef object PyMPI_bcast_p2p(object obj, int root, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = NULL */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_bcast_p2p(PyObject *__pyx_v_obj, int __pyx_v_root, MPI_Comm __pyx_v_comm) { struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; void *__pyx_v_buf; int __pyx_v_count; MPI_Datatype __pyx_v_dtype; int __pyx_v_rank; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_bcast_p2p", 0); __Pyx_INCREF(__pyx_v_obj); /* "mpi4py/MPI/msgpickle.pxi":993 * * cdef object PyMPI_bcast_p2p(object obj, int root, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * cdef void *buf = NULL * cdef int count = 0 */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "mpi4py/MPI/msgpickle.pxi":994 * cdef object PyMPI_bcast_p2p(object obj, int root, MPI_Comm comm): * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = NULL # <<<<<<<<<<<<<< * cdef int count = 0 * cdef MPI_Datatype dtype = MPI_BYTE */ __pyx_v_buf = NULL; /* "mpi4py/MPI/msgpickle.pxi":995 * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = NULL * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype dtype = MPI_BYTE * cdef int rank = MPI_PROC_NULL */ __pyx_v_count = 0; /* "mpi4py/MPI/msgpickle.pxi":996 * cdef void *buf = NULL * cdef int count = 0 * cdef MPI_Datatype dtype = MPI_BYTE # <<<<<<<<<<<<<< * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_v_dtype = MPI_BYTE; /* "mpi4py/MPI/msgpickle.pxi":997 * cdef int count = 0 * cdef MPI_Datatype dtype = MPI_BYTE * cdef int rank = MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: obj = pickle.dump(obj, &buf, &count) */ __pyx_v_rank = MPI_PROC_NULL; /* "mpi4py/MPI/msgpickle.pxi":998 * cdef MPI_Datatype dtype = MPI_BYTE * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * if root == rank: obj = pickle.dump(obj, &buf, &count) * with PyMPI_Lock(comm, "@bcast_p2p@"): */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 998, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":999 * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: obj = pickle.dump(obj, &buf, &count) # <<<<<<<<<<<<<< * with PyMPI_Lock(comm, "@bcast_p2p@"): * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, root, comm) ) */ __pyx_t_2 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_pickle, __pyx_v_obj, (&__pyx_v_buf), (&__pyx_v_count)); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_obj, __pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/msgpickle.pxi":1000 * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: obj = pickle.dump(obj, &buf, &count) * with PyMPI_Lock(comm, "@bcast_p2p@"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, root, comm) ) * if root != rank: obj = pickle.alloc(&buf, count) */ /*with:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock(__pyx_v_comm, __pyx_kp_s_bcast_p2p); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 1000, __pyx_L4_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(6, 1000, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /*try:*/ { { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); __Pyx_XGOTREF(__pyx_t_8); __Pyx_XGOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_t_10); /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":1001 * if root == rank: obj = pickle.dump(obj, &buf, &count) * with PyMPI_Lock(comm, "@bcast_p2p@"): * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, root, comm) ) # <<<<<<<<<<<<<< * if root != rank: obj = pickle.alloc(&buf, count) * with nogil: CHKERR( MPI_Bcast(buf, count, dtype, root, comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Bcast((&__pyx_v_count), 1, MPI_INT, __pyx_v_root, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1001, __pyx_L15_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L16; } __pyx_L15_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L8_error; } __pyx_L16:; } } /* "mpi4py/MPI/msgpickle.pxi":1002 * with PyMPI_Lock(comm, "@bcast_p2p@"): * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, root, comm) ) * if root != rank: obj = pickle.alloc(&buf, count) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bcast(buf, count, dtype, root, comm) ) * return pickle.load(buf, count) */ __pyx_t_2 = ((__pyx_v_root != __pyx_v_rank) != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_buf), __pyx_v_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 1002, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_obj, __pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/msgpickle.pxi":1003 * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, root, comm) ) * if root != rank: obj = pickle.alloc(&buf, count) * with nogil: CHKERR( MPI_Bcast(buf, count, dtype, root, comm) ) # <<<<<<<<<<<<<< * return pickle.load(buf, count) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Bcast(__pyx_v_buf, __pyx_v_count, __pyx_v_dtype, __pyx_v_root, __pyx_v_comm)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1003, __pyx_L19_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L20; } __pyx_L19_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L8_error; } __pyx_L20:; } } /* "mpi4py/MPI/msgpickle.pxi":1000 * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: obj = pickle.dump(obj, &buf, &count) * with PyMPI_Lock(comm, "@bcast_p2p@"): # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, root, comm) ) * if root != rank: obj = pickle.alloc(&buf, count) */ } __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L13_try_end; __pyx_L8_error:; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 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; /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.PyMPI_bcast_p2p", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(6, 1000, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 1000, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 1000, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_2 < 0) __PYX_ERR(6, 1000, __pyx_L10_except_error) __pyx_t_12 = ((!(__pyx_t_2 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __PYX_ERR(6, 1000, __pyx_L10_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L9_exception_handled; } __pyx_L10_except_error:; __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); goto __pyx_L1_error; __pyx_L9_exception_handled:; __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); __pyx_L13_try_end:; } } /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } goto __pyx_L7; } __pyx_L7:; } goto __pyx_L24; __pyx_L4_error:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L1_error; __pyx_L24:; } /* "mpi4py/MPI/msgpickle.pxi":1004 * if root != rank: obj = pickle.alloc(&buf, count) * with nogil: CHKERR( MPI_Bcast(buf, count, dtype, root, comm) ) * return pickle.load(buf, count) # <<<<<<<<<<<<<< * * cdef object PyMPI_reduce_p2p(object sendobj, object op, int root, */ __Pyx_XDECREF(__pyx_r); __pyx_t_6 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_buf, __pyx_v_count); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 1004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_r = __pyx_t_6; __pyx_t_6 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":992 * return pickle.load(rbuf, rcount) * * cdef object PyMPI_bcast_p2p(object obj, int root, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_bcast_p2p", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_pickle); __Pyx_XDECREF(__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1006 * return pickle.load(buf, count) * * cdef object PyMPI_reduce_p2p(object sendobj, object op, int root, # <<<<<<<<<<<<<< * MPI_Comm comm, int tag): * # Get communicator size and rank */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_reduce_p2p(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, int __pyx_v_root, MPI_Comm __pyx_v_comm, int __pyx_v_tag) { int __pyx_v_size; int __pyx_v_rank; PyObject *__pyx_v_result = 0; PyObject *__pyx_v_tmp = 0; unsigned int __pyx_v_umask; unsigned int __pyx_v_usize; unsigned int __pyx_v_urank; int __pyx_v_target; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_reduce_p2p", 0); /* "mpi4py/MPI/msgpickle.pxi":1009 * MPI_Comm comm, int tag): * # Get communicator size and rank * cdef int size = MPI_UNDEFINED # <<<<<<<<<<<<<< * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_v_size = MPI_UNDEFINED; /* "mpi4py/MPI/msgpickle.pxi":1010 * # Get communicator size and rank * cdef int size = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_v_rank = MPI_PROC_NULL; /* "mpi4py/MPI/msgpickle.pxi":1011 * cdef int size = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * # Check root argument */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1011, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1012 * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * # Check root argument * if root < 0 or root >= size: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1012, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1014 * CHKERR( MPI_Comm_rank(comm, &rank) ) * # Check root argument * if root < 0 or root >= size: # <<<<<<<<<<<<<< * MPI_Comm_call_errhandler(comm, MPI_ERR_ROOT) * raise MPIException(MPI_ERR_ROOT) */ __pyx_t_3 = ((__pyx_v_root < 0) != 0); if (!__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = ((__pyx_v_root >= __pyx_v_size) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/msgpickle.pxi":1015 * # Check root argument * if root < 0 or root >= size: * MPI_Comm_call_errhandler(comm, MPI_ERR_ROOT) # <<<<<<<<<<<<<< * raise MPIException(MPI_ERR_ROOT) * # */ ((void)MPI_Comm_call_errhandler(__pyx_v_comm, MPI_ERR_ROOT)); /* "mpi4py/MPI/msgpickle.pxi":1016 * if root < 0 or root >= size: * MPI_Comm_call_errhandler(comm, MPI_ERR_ROOT) * raise MPIException(MPI_ERR_ROOT) # <<<<<<<<<<<<<< * # * cdef object result = PyMPI_copy(sendobj) */ __pyx_t_5 = __Pyx_PyInt_From_int(MPI_ERR_ROOT); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_MPIException); __pyx_t_6 = __pyx_v_6mpi4py_3MPI_MPIException; __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(6, 1016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(6, 1016, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1014 * CHKERR( MPI_Comm_rank(comm, &rank) ) * # Check root argument * if root < 0 or root >= size: # <<<<<<<<<<<<<< * MPI_Comm_call_errhandler(comm, MPI_ERR_ROOT) * raise MPIException(MPI_ERR_ROOT) */ } /* "mpi4py/MPI/msgpickle.pxi":1018 * raise MPIException(MPI_ERR_ROOT) * # * cdef object result = PyMPI_copy(sendobj) # <<<<<<<<<<<<<< * cdef object tmp * # Compute reduction at process 0 */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_PyMPI_copy(__pyx_v_sendobj); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_result = __pyx_t_4; __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":1021 * cdef object tmp * # Compute reduction at process 0 * cdef unsigned int umask = 1 # <<<<<<<<<<<<<< * cdef unsigned int usize = size * cdef unsigned int urank = rank */ __pyx_v_umask = ((unsigned int)1); /* "mpi4py/MPI/msgpickle.pxi":1022 * # Compute reduction at process 0 * cdef unsigned int umask = 1 * cdef unsigned int usize = size # <<<<<<<<<<<<<< * cdef unsigned int urank = rank * cdef int target = 0 */ __pyx_v_usize = ((unsigned int)__pyx_v_size); /* "mpi4py/MPI/msgpickle.pxi":1023 * cdef unsigned int umask = 1 * cdef unsigned int usize = size * cdef unsigned int urank = rank # <<<<<<<<<<<<<< * cdef int target = 0 * while umask < usize: */ __pyx_v_urank = ((unsigned int)__pyx_v_rank); /* "mpi4py/MPI/msgpickle.pxi":1024 * cdef unsigned int usize = size * cdef unsigned int urank = rank * cdef int target = 0 # <<<<<<<<<<<<<< * while umask < usize: * if (umask & urank) != 0: */ __pyx_v_target = 0; /* "mpi4py/MPI/msgpickle.pxi":1025 * cdef unsigned int urank = rank * cdef int target = 0 * while umask < usize: # <<<<<<<<<<<<<< * if (umask & urank) != 0: * target = ((urank & ~umask) % usize) */ while (1) { __pyx_t_2 = ((__pyx_v_umask < __pyx_v_usize) != 0); if (!__pyx_t_2) break; /* "mpi4py/MPI/msgpickle.pxi":1026 * cdef int target = 0 * while umask < usize: * if (umask & urank) != 0: # <<<<<<<<<<<<<< * target = ((urank & ~umask) % usize) * PyMPI_send_p2p(result, target, tag, comm) */ __pyx_t_2 = (((__pyx_v_umask & __pyx_v_urank) != 0) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":1027 * while umask < usize: * if (umask & urank) != 0: * target = ((urank & ~umask) % usize) # <<<<<<<<<<<<<< * PyMPI_send_p2p(result, target, tag, comm) * else: */ __pyx_v_target = ((int)((__pyx_v_urank & (~__pyx_v_umask)) % __pyx_v_usize)); /* "mpi4py/MPI/msgpickle.pxi":1028 * if (umask & urank) != 0: * target = ((urank & ~umask) % usize) * PyMPI_send_p2p(result, target, tag, comm) # <<<<<<<<<<<<<< * else: * target = (urank | umask) */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_PyMPI_send_p2p(__pyx_v_result, __pyx_v_target, __pyx_v_tag, __pyx_v_comm); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":1026 * cdef int target = 0 * while umask < usize: * if (umask & urank) != 0: # <<<<<<<<<<<<<< * target = ((urank & ~umask) % usize) * PyMPI_send_p2p(result, target, tag, comm) */ goto __pyx_L8; } /* "mpi4py/MPI/msgpickle.pxi":1030 * PyMPI_send_p2p(result, target, tag, comm) * else: * target = (urank | umask) # <<<<<<<<<<<<<< * if target < size: * tmp = PyMPI_recv_p2p(target, tag, comm) */ /*else*/ { __pyx_v_target = ((int)(__pyx_v_urank | __pyx_v_umask)); /* "mpi4py/MPI/msgpickle.pxi":1031 * else: * target = (urank | umask) * if target < size: # <<<<<<<<<<<<<< * tmp = PyMPI_recv_p2p(target, tag, comm) * result = op(result, tmp) */ __pyx_t_2 = ((__pyx_v_target < __pyx_v_size) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":1032 * target = (urank | umask) * if target < size: * tmp = PyMPI_recv_p2p(target, tag, comm) # <<<<<<<<<<<<<< * result = op(result, tmp) * umask <<= 1 */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_PyMPI_recv_p2p(__pyx_v_target, __pyx_v_tag, __pyx_v_comm); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_tmp, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":1033 * if target < size: * tmp = PyMPI_recv_p2p(target, tag, comm) * result = op(result, tmp) # <<<<<<<<<<<<<< * umask <<= 1 * # Send reduction to root */ __Pyx_INCREF(__pyx_v_op); __pyx_t_6 = __pyx_v_op; __pyx_t_5 = NULL; __pyx_t_1 = 0; 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_1 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_result, __pyx_v_tmp}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1033, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_result, __pyx_v_tmp}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1033, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_7 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 1033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_result); __Pyx_GIVEREF(__pyx_v_result); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_1, __pyx_v_result); __Pyx_INCREF(__pyx_v_tmp); __Pyx_GIVEREF(__pyx_v_tmp); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_1, __pyx_v_tmp); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":1031 * else: * target = (urank | umask) * if target < size: # <<<<<<<<<<<<<< * tmp = PyMPI_recv_p2p(target, tag, comm) * result = op(result, tmp) */ } } __pyx_L8:; /* "mpi4py/MPI/msgpickle.pxi":1034 * tmp = PyMPI_recv_p2p(target, tag, comm) * result = op(result, tmp) * umask <<= 1 # <<<<<<<<<<<<<< * # Send reduction to root * if root != 0: */ __pyx_v_umask = (__pyx_v_umask << 1); } /* "mpi4py/MPI/msgpickle.pxi":1036 * umask <<= 1 * # Send reduction to root * if root != 0: # <<<<<<<<<<<<<< * if rank == 0: * PyMPI_send_p2p(result, root, tag, comm) */ __pyx_t_2 = ((__pyx_v_root != 0) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":1037 * # Send reduction to root * if root != 0: * if rank == 0: # <<<<<<<<<<<<<< * PyMPI_send_p2p(result, root, tag, comm) * elif rank == root: */ __pyx_t_2 = ((__pyx_v_rank == 0) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":1038 * if root != 0: * if rank == 0: * PyMPI_send_p2p(result, root, tag, comm) # <<<<<<<<<<<<<< * elif rank == root: * result = PyMPI_recv_p2p(0, tag, comm) */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_PyMPI_send_p2p(__pyx_v_result, __pyx_v_root, __pyx_v_tag, __pyx_v_comm); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":1037 * # Send reduction to root * if root != 0: * if rank == 0: # <<<<<<<<<<<<<< * PyMPI_send_p2p(result, root, tag, comm) * elif rank == root: */ goto __pyx_L11; } /* "mpi4py/MPI/msgpickle.pxi":1039 * if rank == 0: * PyMPI_send_p2p(result, root, tag, comm) * elif rank == root: # <<<<<<<<<<<<<< * result = PyMPI_recv_p2p(0, tag, comm) * if rank != root: */ __pyx_t_2 = ((__pyx_v_rank == __pyx_v_root) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":1040 * PyMPI_send_p2p(result, root, tag, comm) * elif rank == root: * result = PyMPI_recv_p2p(0, tag, comm) # <<<<<<<<<<<<<< * if rank != root: * result = None */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_PyMPI_recv_p2p(0, __pyx_v_tag, __pyx_v_comm); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":1039 * if rank == 0: * PyMPI_send_p2p(result, root, tag, comm) * elif rank == root: # <<<<<<<<<<<<<< * result = PyMPI_recv_p2p(0, tag, comm) * if rank != root: */ } __pyx_L11:; /* "mpi4py/MPI/msgpickle.pxi":1036 * umask <<= 1 * # Send reduction to root * if root != 0: # <<<<<<<<<<<<<< * if rank == 0: * PyMPI_send_p2p(result, root, tag, comm) */ } /* "mpi4py/MPI/msgpickle.pxi":1041 * elif rank == root: * result = PyMPI_recv_p2p(0, tag, comm) * if rank != root: # <<<<<<<<<<<<<< * result = None * # */ __pyx_t_2 = ((__pyx_v_rank != __pyx_v_root) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":1042 * result = PyMPI_recv_p2p(0, tag, comm) * if rank != root: * result = None # <<<<<<<<<<<<<< * # * return result */ __Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_result, Py_None); /* "mpi4py/MPI/msgpickle.pxi":1041 * elif rank == root: * result = PyMPI_recv_p2p(0, tag, comm) * if rank != root: # <<<<<<<<<<<<<< * result = None * # */ } /* "mpi4py/MPI/msgpickle.pxi":1044 * result = None * # * return result # <<<<<<<<<<<<<< * * cdef object PyMPI_scan_p2p(object sendobj, object op, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_result); __pyx_r = __pyx_v_result; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1006 * return pickle.load(buf, count) * * cdef object PyMPI_reduce_p2p(object sendobj, object op, int root, # <<<<<<<<<<<<<< * MPI_Comm comm, int tag): * # Get communicator size and rank */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_reduce_p2p", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_result); __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1046 * return result * * cdef object PyMPI_scan_p2p(object sendobj, object op, # <<<<<<<<<<<<<< * MPI_Comm comm, int tag): * # Get communicator size and rank */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_scan_p2p(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, MPI_Comm __pyx_v_comm, int __pyx_v_tag) { int __pyx_v_size; int __pyx_v_rank; PyObject *__pyx_v_result = 0; PyObject *__pyx_v_partial = 0; PyObject *__pyx_v_tmp = 0; unsigned int __pyx_v_umask; unsigned int __pyx_v_usize; unsigned int __pyx_v_urank; int __pyx_v_target; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_scan_p2p", 0); /* "mpi4py/MPI/msgpickle.pxi":1049 * MPI_Comm comm, int tag): * # Get communicator size and rank * cdef int size = MPI_UNDEFINED # <<<<<<<<<<<<<< * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_v_size = MPI_UNDEFINED; /* "mpi4py/MPI/msgpickle.pxi":1050 * # Get communicator size and rank * cdef int size = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_v_rank = MPI_PROC_NULL; /* "mpi4py/MPI/msgpickle.pxi":1051 * cdef int size = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1051, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1052 * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * # * cdef object result = PyMPI_copy(sendobj) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1052, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1054 * CHKERR( MPI_Comm_rank(comm, &rank) ) * # * cdef object result = PyMPI_copy(sendobj) # <<<<<<<<<<<<<< * cdef object partial = result * cdef object tmp */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_copy(__pyx_v_sendobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_result = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":1055 * # * cdef object result = PyMPI_copy(sendobj) * cdef object partial = result # <<<<<<<<<<<<<< * cdef object tmp * # Compute prefix reduction */ __Pyx_INCREF(__pyx_v_result); __pyx_v_partial = __pyx_v_result; /* "mpi4py/MPI/msgpickle.pxi":1058 * cdef object tmp * # Compute prefix reduction * cdef unsigned int umask = 1 # <<<<<<<<<<<<<< * cdef unsigned int usize = size * cdef unsigned int urank = rank */ __pyx_v_umask = ((unsigned int)1); /* "mpi4py/MPI/msgpickle.pxi":1059 * # Compute prefix reduction * cdef unsigned int umask = 1 * cdef unsigned int usize = size # <<<<<<<<<<<<<< * cdef unsigned int urank = rank * cdef int target = 0 */ __pyx_v_usize = ((unsigned int)__pyx_v_size); /* "mpi4py/MPI/msgpickle.pxi":1060 * cdef unsigned int umask = 1 * cdef unsigned int usize = size * cdef unsigned int urank = rank # <<<<<<<<<<<<<< * cdef int target = 0 * while umask < usize: */ __pyx_v_urank = ((unsigned int)__pyx_v_rank); /* "mpi4py/MPI/msgpickle.pxi":1061 * cdef unsigned int usize = size * cdef unsigned int urank = rank * cdef int target = 0 # <<<<<<<<<<<<<< * while umask < usize: * target = (urank ^ umask) */ __pyx_v_target = 0; /* "mpi4py/MPI/msgpickle.pxi":1062 * cdef unsigned int urank = rank * cdef int target = 0 * while umask < usize: # <<<<<<<<<<<<<< * target = (urank ^ umask) * if target < size: */ while (1) { __pyx_t_3 = ((__pyx_v_umask < __pyx_v_usize) != 0); if (!__pyx_t_3) break; /* "mpi4py/MPI/msgpickle.pxi":1063 * cdef int target = 0 * while umask < usize: * target = (urank ^ umask) # <<<<<<<<<<<<<< * if target < size: * tmp = PyMPI_sendrecv_p2p(partial, target, tag, */ __pyx_v_target = ((int)(__pyx_v_urank ^ __pyx_v_umask)); /* "mpi4py/MPI/msgpickle.pxi":1064 * while umask < usize: * target = (urank ^ umask) * if target < size: # <<<<<<<<<<<<<< * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) */ __pyx_t_3 = ((__pyx_v_target < __pyx_v_size) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgpickle.pxi":1065 * target = (urank ^ umask) * if target < size: * tmp = PyMPI_sendrecv_p2p(partial, target, tag, # <<<<<<<<<<<<<< * target, tag, comm) * if rank > target: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_sendrecv_p2p(__pyx_v_partial, __pyx_v_target, __pyx_v_tag, __pyx_v_target, __pyx_v_tag, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_tmp, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":1067 * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) * if rank > target: # <<<<<<<<<<<<<< * partial = op(tmp, partial) * result = op(tmp, result) */ __pyx_t_3 = ((__pyx_v_rank > __pyx_v_target) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgpickle.pxi":1068 * target, tag, comm) * if rank > target: * partial = op(tmp, partial) # <<<<<<<<<<<<<< * result = op(tmp, result) * else: */ __Pyx_INCREF(__pyx_v_op); __pyx_t_4 = __pyx_v_op; __pyx_t_5 = NULL; __pyx_t_1 = 0; 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_1 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_tmp, __pyx_v_partial}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1068, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_tmp, __pyx_v_partial}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1068, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 1068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_tmp); __Pyx_GIVEREF(__pyx_v_tmp); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_1, __pyx_v_tmp); __Pyx_INCREF(__pyx_v_partial); __Pyx_GIVEREF(__pyx_v_partial); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_1, __pyx_v_partial); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_partial, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":1069 * if rank > target: * partial = op(tmp, partial) * result = op(tmp, result) # <<<<<<<<<<<<<< * else: * tmp = op(partial, tmp) */ __Pyx_INCREF(__pyx_v_op); __pyx_t_4 = __pyx_v_op; __pyx_t_6 = NULL; __pyx_t_1 = 0; 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 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_tmp, __pyx_v_result}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1069, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_tmp, __pyx_v_result}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1069, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_tmp); __Pyx_GIVEREF(__pyx_v_tmp); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_1, __pyx_v_tmp); __Pyx_INCREF(__pyx_v_result); __Pyx_GIVEREF(__pyx_v_result); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_1, __pyx_v_result); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":1067 * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) * if rank > target: # <<<<<<<<<<<<<< * partial = op(tmp, partial) * result = op(tmp, result) */ goto __pyx_L6; } /* "mpi4py/MPI/msgpickle.pxi":1071 * result = op(tmp, result) * else: * tmp = op(partial, tmp) # <<<<<<<<<<<<<< * partial = tmp * umask <<= 1 */ /*else*/ { __Pyx_INCREF(__pyx_v_op); __pyx_t_4 = __pyx_v_op; __pyx_t_5 = NULL; __pyx_t_1 = 0; 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_1 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_partial, __pyx_v_tmp}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1071, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_partial, __pyx_v_tmp}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1071, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 1071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_partial); __Pyx_GIVEREF(__pyx_v_partial); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_1, __pyx_v_partial); __Pyx_INCREF(__pyx_v_tmp); __Pyx_GIVEREF(__pyx_v_tmp); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_1, __pyx_v_tmp); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_tmp, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":1072 * else: * tmp = op(partial, tmp) * partial = tmp # <<<<<<<<<<<<<< * umask <<= 1 * # */ __Pyx_INCREF(__pyx_v_tmp); __Pyx_DECREF_SET(__pyx_v_partial, __pyx_v_tmp); } __pyx_L6:; /* "mpi4py/MPI/msgpickle.pxi":1064 * while umask < usize: * target = (urank ^ umask) * if target < size: # <<<<<<<<<<<<<< * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) */ } /* "mpi4py/MPI/msgpickle.pxi":1073 * tmp = op(partial, tmp) * partial = tmp * umask <<= 1 # <<<<<<<<<<<<<< * # * return result */ __pyx_v_umask = (__pyx_v_umask << 1); } /* "mpi4py/MPI/msgpickle.pxi":1075 * umask <<= 1 * # * return result # <<<<<<<<<<<<<< * * cdef object PyMPI_exscan_p2p(object sendobj, object op, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_result); __pyx_r = __pyx_v_result; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1046 * return result * * cdef object PyMPI_scan_p2p(object sendobj, object op, # <<<<<<<<<<<<<< * MPI_Comm comm, int tag): * # Get communicator size and rank */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_scan_p2p", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_result); __Pyx_XDECREF(__pyx_v_partial); __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1077 * return result * * cdef object PyMPI_exscan_p2p(object sendobj, object op, # <<<<<<<<<<<<<< * MPI_Comm comm, int tag): * # Get communicator size and rank */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_exscan_p2p(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, MPI_Comm __pyx_v_comm, int __pyx_v_tag) { int __pyx_v_size; int __pyx_v_rank; PyObject *__pyx_v_result = 0; PyObject *__pyx_v_partial = 0; PyObject *__pyx_v_tmp = 0; unsigned int __pyx_v_umask; unsigned int __pyx_v_usize; unsigned int __pyx_v_urank; unsigned int __pyx_v_uflag; int __pyx_v_target; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_exscan_p2p", 0); /* "mpi4py/MPI/msgpickle.pxi":1080 * MPI_Comm comm, int tag): * # Get communicator size and rank * cdef int size = MPI_UNDEFINED # <<<<<<<<<<<<<< * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_size(comm, &size) ) */ __pyx_v_size = MPI_UNDEFINED; /* "mpi4py/MPI/msgpickle.pxi":1081 * # Get communicator size and rank * cdef int size = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_v_rank = MPI_PROC_NULL; /* "mpi4py/MPI/msgpickle.pxi":1082 * cdef int size = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1082, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1083 * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * # * cdef object result = PyMPI_copy(sendobj) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1083, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1085 * CHKERR( MPI_Comm_rank(comm, &rank) ) * # * cdef object result = PyMPI_copy(sendobj) # <<<<<<<<<<<<<< * cdef object partial = result * cdef object tmp */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_copy(__pyx_v_sendobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_result = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":1086 * # * cdef object result = PyMPI_copy(sendobj) * cdef object partial = result # <<<<<<<<<<<<<< * cdef object tmp * # Compute prefix reduction */ __Pyx_INCREF(__pyx_v_result); __pyx_v_partial = __pyx_v_result; /* "mpi4py/MPI/msgpickle.pxi":1089 * cdef object tmp * # Compute prefix reduction * cdef unsigned int umask = 1 # <<<<<<<<<<<<<< * cdef unsigned int usize = size * cdef unsigned int urank = rank */ __pyx_v_umask = ((unsigned int)1); /* "mpi4py/MPI/msgpickle.pxi":1090 * # Compute prefix reduction * cdef unsigned int umask = 1 * cdef unsigned int usize = size # <<<<<<<<<<<<<< * cdef unsigned int urank = rank * cdef unsigned int uflag = 0 */ __pyx_v_usize = ((unsigned int)__pyx_v_size); /* "mpi4py/MPI/msgpickle.pxi":1091 * cdef unsigned int umask = 1 * cdef unsigned int usize = size * cdef unsigned int urank = rank # <<<<<<<<<<<<<< * cdef unsigned int uflag = 0 * cdef int target = 0 */ __pyx_v_urank = ((unsigned int)__pyx_v_rank); /* "mpi4py/MPI/msgpickle.pxi":1092 * cdef unsigned int usize = size * cdef unsigned int urank = rank * cdef unsigned int uflag = 0 # <<<<<<<<<<<<<< * cdef int target = 0 * while umask < usize: */ __pyx_v_uflag = ((unsigned int)0); /* "mpi4py/MPI/msgpickle.pxi":1093 * cdef unsigned int urank = rank * cdef unsigned int uflag = 0 * cdef int target = 0 # <<<<<<<<<<<<<< * while umask < usize: * target = (urank ^ umask) */ __pyx_v_target = 0; /* "mpi4py/MPI/msgpickle.pxi":1094 * cdef unsigned int uflag = 0 * cdef int target = 0 * while umask < usize: # <<<<<<<<<<<<<< * target = (urank ^ umask) * if target < size: */ while (1) { __pyx_t_3 = ((__pyx_v_umask < __pyx_v_usize) != 0); if (!__pyx_t_3) break; /* "mpi4py/MPI/msgpickle.pxi":1095 * cdef int target = 0 * while umask < usize: * target = (urank ^ umask) # <<<<<<<<<<<<<< * if target < size: * tmp = PyMPI_sendrecv_p2p(partial, target, tag, */ __pyx_v_target = ((int)(__pyx_v_urank ^ __pyx_v_umask)); /* "mpi4py/MPI/msgpickle.pxi":1096 * while umask < usize: * target = (urank ^ umask) * if target < size: # <<<<<<<<<<<<<< * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) */ __pyx_t_3 = ((__pyx_v_target < __pyx_v_size) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgpickle.pxi":1097 * target = (urank ^ umask) * if target < size: * tmp = PyMPI_sendrecv_p2p(partial, target, tag, # <<<<<<<<<<<<<< * target, tag, comm) * if rank > target: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_sendrecv_p2p(__pyx_v_partial, __pyx_v_target, __pyx_v_tag, __pyx_v_target, __pyx_v_tag, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_tmp, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":1099 * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) * if rank > target: # <<<<<<<<<<<<<< * partial = op(tmp, partial) * if uflag == 0: */ __pyx_t_3 = ((__pyx_v_rank > __pyx_v_target) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgpickle.pxi":1100 * target, tag, comm) * if rank > target: * partial = op(tmp, partial) # <<<<<<<<<<<<<< * if uflag == 0: * result = tmp; uflag = 1 */ __Pyx_INCREF(__pyx_v_op); __pyx_t_4 = __pyx_v_op; __pyx_t_5 = NULL; __pyx_t_1 = 0; 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_1 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_tmp, __pyx_v_partial}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1100, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_tmp, __pyx_v_partial}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1100, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 1100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_tmp); __Pyx_GIVEREF(__pyx_v_tmp); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_1, __pyx_v_tmp); __Pyx_INCREF(__pyx_v_partial); __Pyx_GIVEREF(__pyx_v_partial); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_1, __pyx_v_partial); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_partial, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":1101 * if rank > target: * partial = op(tmp, partial) * if uflag == 0: # <<<<<<<<<<<<<< * result = tmp; uflag = 1 * else: */ __pyx_t_3 = ((__pyx_v_uflag == 0) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgpickle.pxi":1102 * partial = op(tmp, partial) * if uflag == 0: * result = tmp; uflag = 1 # <<<<<<<<<<<<<< * else: * result = op(tmp, result) */ __Pyx_INCREF(__pyx_v_tmp); __Pyx_DECREF_SET(__pyx_v_result, __pyx_v_tmp); __pyx_v_uflag = 1; /* "mpi4py/MPI/msgpickle.pxi":1101 * if rank > target: * partial = op(tmp, partial) * if uflag == 0: # <<<<<<<<<<<<<< * result = tmp; uflag = 1 * else: */ goto __pyx_L7; } /* "mpi4py/MPI/msgpickle.pxi":1104 * result = tmp; uflag = 1 * else: * result = op(tmp, result) # <<<<<<<<<<<<<< * else: * tmp = op(partial, tmp) */ /*else*/ { __Pyx_INCREF(__pyx_v_op); __pyx_t_4 = __pyx_v_op; __pyx_t_6 = NULL; __pyx_t_1 = 0; 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 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_tmp, __pyx_v_result}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1104, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_tmp, __pyx_v_result}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1104, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_tmp); __Pyx_GIVEREF(__pyx_v_tmp); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_1, __pyx_v_tmp); __Pyx_INCREF(__pyx_v_result); __Pyx_GIVEREF(__pyx_v_result); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_1, __pyx_v_result); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_2); __pyx_t_2 = 0; } __pyx_L7:; /* "mpi4py/MPI/msgpickle.pxi":1099 * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) * if rank > target: # <<<<<<<<<<<<<< * partial = op(tmp, partial) * if uflag == 0: */ goto __pyx_L6; } /* "mpi4py/MPI/msgpickle.pxi":1106 * result = op(tmp, result) * else: * tmp = op(partial, tmp) # <<<<<<<<<<<<<< * partial = tmp * umask <<= 1 */ /*else*/ { __Pyx_INCREF(__pyx_v_op); __pyx_t_4 = __pyx_v_op; __pyx_t_5 = NULL; __pyx_t_1 = 0; 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_1 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_partial, __pyx_v_tmp}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1106, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_partial, __pyx_v_tmp}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1106, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 1106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_partial); __Pyx_GIVEREF(__pyx_v_partial); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_1, __pyx_v_partial); __Pyx_INCREF(__pyx_v_tmp); __Pyx_GIVEREF(__pyx_v_tmp); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_1, __pyx_v_tmp); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_tmp, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":1107 * else: * tmp = op(partial, tmp) * partial = tmp # <<<<<<<<<<<<<< * umask <<= 1 * # */ __Pyx_INCREF(__pyx_v_tmp); __Pyx_DECREF_SET(__pyx_v_partial, __pyx_v_tmp); } __pyx_L6:; /* "mpi4py/MPI/msgpickle.pxi":1096 * while umask < usize: * target = (urank ^ umask) * if target < size: # <<<<<<<<<<<<<< * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) */ } /* "mpi4py/MPI/msgpickle.pxi":1108 * tmp = op(partial, tmp) * partial = tmp * umask <<= 1 # <<<<<<<<<<<<<< * # * if rank == 0: */ __pyx_v_umask = (__pyx_v_umask << 1); } /* "mpi4py/MPI/msgpickle.pxi":1110 * umask <<= 1 * # * if rank == 0: # <<<<<<<<<<<<<< * result = None * return result */ __pyx_t_3 = ((__pyx_v_rank == 0) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgpickle.pxi":1111 * # * if rank == 0: * result = None # <<<<<<<<<<<<<< * return result * */ __Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_result, Py_None); /* "mpi4py/MPI/msgpickle.pxi":1110 * umask <<= 1 * # * if rank == 0: # <<<<<<<<<<<<<< * result = None * return result */ } /* "mpi4py/MPI/msgpickle.pxi":1112 * if rank == 0: * result = None * return result # <<<<<<<<<<<<<< * * # ----- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_result); __pyx_r = __pyx_v_result; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1077 * return result * * cdef object PyMPI_exscan_p2p(object sendobj, object op, # <<<<<<<<<<<<<< * MPI_Comm comm, int tag): * # Get communicator size and rank */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_exscan_p2p", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_result); __Pyx_XDECREF(__pyx_v_partial); __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1120 * int PyMPI_Commctx_inter(MPI_Comm,MPI_Comm*,int*,MPI_Comm*,int*) nogil * * cdef int PyMPI_Commctx_INTRA(MPI_Comm comm, # <<<<<<<<<<<<<< * MPI_Comm *dupcomm, int *tag) except -1: * with PyMPI_Lock(comm, "@commctx_intra"): */ static int __pyx_f_6mpi4py_3MPI_PyMPI_Commctx_INTRA(MPI_Comm __pyx_v_comm, MPI_Comm *__pyx_v_dupcomm, int *__pyx_v_tag) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; int __pyx_t_9; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_Commctx_INTRA", 0); /* "mpi4py/MPI/msgpickle.pxi":1122 * cdef int PyMPI_Commctx_INTRA(MPI_Comm comm, * MPI_Comm *dupcomm, int *tag) except -1: * with PyMPI_Lock(comm, "@commctx_intra"): # <<<<<<<<<<<<<< * CHKERR( PyMPI_Commctx_intra(comm, dupcomm, tag) ) * return 0 */ /*with:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock(__pyx_v_comm, __pyx_kp_s_commctx_intra); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1122, __pyx_L3_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(6, 1122, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /*try:*/ { { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_t_8); /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":1123 * MPI_Comm *dupcomm, int *tag) except -1: * with PyMPI_Lock(comm, "@commctx_intra"): * CHKERR( PyMPI_Commctx_intra(comm, dupcomm, tag) ) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_9 = __pyx_f_6mpi4py_3MPI_CHKERR(PyMPI_Commctx_intra(__pyx_v_comm, __pyx_v_dupcomm, __pyx_v_tag)); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(6, 1123, __pyx_L7_error) /* "mpi4py/MPI/msgpickle.pxi":1122 * cdef int PyMPI_Commctx_INTRA(MPI_Comm comm, * MPI_Comm *dupcomm, int *tag) except -1: * with PyMPI_Lock(comm, "@commctx_intra"): # <<<<<<<<<<<<<< * CHKERR( PyMPI_Commctx_intra(comm, dupcomm, tag) ) * return 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; goto __pyx_L12_try_end; __pyx_L7_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.PyMPI_Commctx_INTRA", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(6, 1122, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1122, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 1122, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_11 < 0) __PYX_ERR(6, 1122, __pyx_L9_except_error) __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_4); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __PYX_ERR(6, 1122, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L8_exception_handled; } __pyx_L9_except_error:; __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_XGIVEREF(__pyx_t_8); __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); goto __pyx_L1_error; __pyx_L8_exception_handled:; __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_XGIVEREF(__pyx_t_8); __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); __pyx_L12_try_end:; } } /*finally:*/ { /*normal exit:*/{ if (__pyx_t_2) { __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(6, 1122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } goto __pyx_L6; } __pyx_L6:; } goto __pyx_L16; __pyx_L3_error:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L1_error; __pyx_L16:; } /* "mpi4py/MPI/msgpickle.pxi":1124 * with PyMPI_Lock(comm, "@commctx_intra"): * CHKERR( PyMPI_Commctx_intra(comm, dupcomm, tag) ) * return 0 # <<<<<<<<<<<<<< * * cdef int PyMPI_Commctx_INTER(MPI_Comm comm, */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1120 * int PyMPI_Commctx_inter(MPI_Comm,MPI_Comm*,int*,MPI_Comm*,int*) nogil * * cdef int PyMPI_Commctx_INTRA(MPI_Comm comm, # <<<<<<<<<<<<<< * MPI_Comm *dupcomm, int *tag) except -1: * with PyMPI_Lock(comm, "@commctx_intra"): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_Commctx_INTRA", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1126 * return 0 * * cdef int PyMPI_Commctx_INTER(MPI_Comm comm, # <<<<<<<<<<<<<< * MPI_Comm *dupcomm, int *tag, * MPI_Comm *localcomm, int *low_group) except -1: */ static int __pyx_f_6mpi4py_3MPI_PyMPI_Commctx_INTER(MPI_Comm __pyx_v_comm, MPI_Comm *__pyx_v_dupcomm, int *__pyx_v_tag, MPI_Comm *__pyx_v_localcomm, int *__pyx_v_low_group) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; int __pyx_t_9; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_Commctx_INTER", 0); /* "mpi4py/MPI/msgpickle.pxi":1129 * MPI_Comm *dupcomm, int *tag, * MPI_Comm *localcomm, int *low_group) except -1: * with PyMPI_Lock(comm, "@commctx_inter"): # <<<<<<<<<<<<<< * CHKERR( PyMPI_Commctx_inter(comm, dupcomm, tag, * localcomm, low_group) ) */ /*with:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_Lock(__pyx_v_comm, __pyx_kp_s_commctx_inter); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 1129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1129, __pyx_L3_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(6, 1129, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /*try:*/ { { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_t_8); /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":1130 * MPI_Comm *localcomm, int *low_group) except -1: * with PyMPI_Lock(comm, "@commctx_inter"): * CHKERR( PyMPI_Commctx_inter(comm, dupcomm, tag, # <<<<<<<<<<<<<< * localcomm, low_group) ) * return 0 */ __pyx_t_9 = __pyx_f_6mpi4py_3MPI_CHKERR(PyMPI_Commctx_inter(__pyx_v_comm, __pyx_v_dupcomm, __pyx_v_tag, __pyx_v_localcomm, __pyx_v_low_group)); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(6, 1130, __pyx_L7_error) /* "mpi4py/MPI/msgpickle.pxi":1129 * MPI_Comm *dupcomm, int *tag, * MPI_Comm *localcomm, int *low_group) except -1: * with PyMPI_Lock(comm, "@commctx_inter"): # <<<<<<<<<<<<<< * CHKERR( PyMPI_Commctx_inter(comm, dupcomm, tag, * localcomm, low_group) ) */ } __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_L12_try_end; __pyx_L7_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.PyMPI_Commctx_INTER", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(6, 1129, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1129, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(6, 1129, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_11 < 0) __PYX_ERR(6, 1129, __pyx_L9_except_error) __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_4); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __PYX_ERR(6, 1129, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L8_exception_handled; } __pyx_L9_except_error:; __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_XGIVEREF(__pyx_t_8); __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); goto __pyx_L1_error; __pyx_L8_exception_handled:; __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_XGIVEREF(__pyx_t_8); __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); __pyx_L12_try_end:; } } /*finally:*/ { /*normal exit:*/{ if (__pyx_t_2) { __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(6, 1129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } goto __pyx_L6; } __pyx_L6:; } goto __pyx_L16; __pyx_L3_error:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L1_error; __pyx_L16:; } /* "mpi4py/MPI/msgpickle.pxi":1132 * CHKERR( PyMPI_Commctx_inter(comm, dupcomm, tag, * localcomm, low_group) ) * return 0 # <<<<<<<<<<<<<< * * */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1126 * return 0 * * cdef int PyMPI_Commctx_INTER(MPI_Comm comm, # <<<<<<<<<<<<<< * MPI_Comm *dupcomm, int *tag, * MPI_Comm *localcomm, int *low_group) except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_Commctx_INTER", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1135 * * * cdef object PyMPI_reduce_intra(object sendobj, object op, # <<<<<<<<<<<<<< * int root, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_reduce_intra(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, int __pyx_v_root, MPI_Comm __pyx_v_comm) { int __pyx_v_tag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_reduce_intra", 0); /* "mpi4py/MPI/msgpickle.pxi":1137 * cdef object PyMPI_reduce_intra(object sendobj, object op, * int root, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED # <<<<<<<<<<<<<< * PyMPI_Commctx_INTRA(comm, &comm, &tag) * return PyMPI_reduce_p2p(sendobj, op, root, comm, tag) */ __pyx_v_tag = MPI_UNDEFINED; /* "mpi4py/MPI/msgpickle.pxi":1138 * int root, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) # <<<<<<<<<<<<<< * return PyMPI_reduce_p2p(sendobj, op, root, comm, tag) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_Commctx_INTRA(__pyx_v_comm, (&__pyx_v_comm), (&__pyx_v_tag)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1138, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1139 * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) * return PyMPI_reduce_p2p(sendobj, op, root, comm, tag) # <<<<<<<<<<<<<< * * cdef object PyMPI_reduce_inter(object sendobj, object op, */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_reduce_p2p(__pyx_v_sendobj, __pyx_v_op, __pyx_v_root, __pyx_v_comm, __pyx_v_tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1135 * * * cdef object PyMPI_reduce_intra(object sendobj, object op, # <<<<<<<<<<<<<< * int root, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_reduce_intra", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1141 * return PyMPI_reduce_p2p(sendobj, op, root, comm, tag) * * cdef object PyMPI_reduce_inter(object sendobj, object op, # <<<<<<<<<<<<<< * int root, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_reduce_inter(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, int __pyx_v_root, MPI_Comm __pyx_v_comm) { int __pyx_v_tag; MPI_Comm __pyx_v_localcomm; int __pyx_v_size; int __pyx_v_rank; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_reduce_inter", 0); __Pyx_INCREF(__pyx_v_sendobj); /* "mpi4py/MPI/msgpickle.pxi":1143 * cdef object PyMPI_reduce_inter(object sendobj, object op, * int root, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED # <<<<<<<<<<<<<< * cdef MPI_Comm localcomm = MPI_COMM_NULL * PyMPI_Commctx_INTER(comm, &comm, &tag, &localcomm, NULL) */ __pyx_v_tag = MPI_UNDEFINED; /* "mpi4py/MPI/msgpickle.pxi":1144 * int root, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED * cdef MPI_Comm localcomm = MPI_COMM_NULL # <<<<<<<<<<<<<< * PyMPI_Commctx_INTER(comm, &comm, &tag, &localcomm, NULL) * # Get communicator remote size and rank */ __pyx_v_localcomm = MPI_COMM_NULL; /* "mpi4py/MPI/msgpickle.pxi":1145 * cdef int tag = MPI_UNDEFINED * cdef MPI_Comm localcomm = MPI_COMM_NULL * PyMPI_Commctx_INTER(comm, &comm, &tag, &localcomm, NULL) # <<<<<<<<<<<<<< * # Get communicator remote size and rank * cdef int size = MPI_UNDEFINED */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_Commctx_INTER(__pyx_v_comm, (&__pyx_v_comm), (&__pyx_v_tag), (&__pyx_v_localcomm), NULL); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1145, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1147 * PyMPI_Commctx_INTER(comm, &comm, &tag, &localcomm, NULL) * # Get communicator remote size and rank * cdef int size = MPI_UNDEFINED # <<<<<<<<<<<<<< * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_remote_size(comm, &size) ) */ __pyx_v_size = MPI_UNDEFINED; /* "mpi4py/MPI/msgpickle.pxi":1148 * # Get communicator remote size and rank * cdef int size = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_remote_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_v_rank = MPI_PROC_NULL; /* "mpi4py/MPI/msgpickle.pxi":1149 * cdef int size = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_remote_size(comm, &size) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root >= 0 and root < size: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1149, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1150 * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_remote_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * if root >= 0 and root < size: * # Reduce in local group and send to remote root */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1150, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1151 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root >= 0 and root < size: # <<<<<<<<<<<<<< * # Reduce in local group and send to remote root * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, localcomm, tag) */ __pyx_t_3 = ((__pyx_v_root >= 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = ((__pyx_v_root < __pyx_v_size) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":1153 * if root >= 0 and root < size: * # Reduce in local group and send to remote root * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, localcomm, tag) # <<<<<<<<<<<<<< * if rank == 0: PyMPI_send_p2p(sendobj, root, tag, comm) * return None */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_PyMPI_reduce_p2p(__pyx_v_sendobj, __pyx_v_op, 0, __pyx_v_localcomm, __pyx_v_tag); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_sendobj, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/msgpickle.pxi":1154 * # Reduce in local group and send to remote root * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, localcomm, tag) * if rank == 0: PyMPI_send_p2p(sendobj, root, tag, comm) # <<<<<<<<<<<<<< * return None * elif root == MPI_ROOT: # Receive from remote group */ __pyx_t_2 = ((__pyx_v_rank == 0) != 0); if (__pyx_t_2) { __pyx_t_4 = __pyx_f_6mpi4py_3MPI_PyMPI_send_p2p(__pyx_v_sendobj, __pyx_v_root, __pyx_v_tag, __pyx_v_comm); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } /* "mpi4py/MPI/msgpickle.pxi":1155 * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, localcomm, tag) * if rank == 0: PyMPI_send_p2p(sendobj, root, tag, comm) * return None # <<<<<<<<<<<<<< * elif root == MPI_ROOT: # Receive from remote group * return PyMPI_recv_p2p(0, tag, comm) */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1151 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root >= 0 and root < size: # <<<<<<<<<<<<<< * # Reduce in local group and send to remote root * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, localcomm, tag) */ } /* "mpi4py/MPI/msgpickle.pxi":1156 * if rank == 0: PyMPI_send_p2p(sendobj, root, tag, comm) * return None * elif root == MPI_ROOT: # Receive from remote group # <<<<<<<<<<<<<< * return PyMPI_recv_p2p(0, tag, comm) * elif root == MPI_PROC_NULL: # This process does nothing */ __pyx_t_2 = ((__pyx_v_root == MPI_ROOT) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/msgpickle.pxi":1157 * return None * elif root == MPI_ROOT: # Receive from remote group * return PyMPI_recv_p2p(0, tag, comm) # <<<<<<<<<<<<<< * elif root == MPI_PROC_NULL: # This process does nothing * return None */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __pyx_f_6mpi4py_3MPI_PyMPI_recv_p2p(0, __pyx_v_tag, __pyx_v_comm); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 1157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1156 * if rank == 0: PyMPI_send_p2p(sendobj, root, tag, comm) * return None * elif root == MPI_ROOT: # Receive from remote group # <<<<<<<<<<<<<< * return PyMPI_recv_p2p(0, tag, comm) * elif root == MPI_PROC_NULL: # This process does nothing */ } /* "mpi4py/MPI/msgpickle.pxi":1158 * elif root == MPI_ROOT: # Receive from remote group * return PyMPI_recv_p2p(0, tag, comm) * elif root == MPI_PROC_NULL: # This process does nothing # <<<<<<<<<<<<<< * return None * else: # Wrong root argument */ __pyx_t_2 = ((__pyx_v_root == MPI_PROC_NULL) != 0); if (likely(__pyx_t_2)) { /* "mpi4py/MPI/msgpickle.pxi":1159 * return PyMPI_recv_p2p(0, tag, comm) * elif root == MPI_PROC_NULL: # This process does nothing * return None # <<<<<<<<<<<<<< * else: # Wrong root argument * MPI_Comm_call_errhandler(comm, MPI_ERR_ROOT) */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1158 * elif root == MPI_ROOT: # Receive from remote group * return PyMPI_recv_p2p(0, tag, comm) * elif root == MPI_PROC_NULL: # This process does nothing # <<<<<<<<<<<<<< * return None * else: # Wrong root argument */ } /* "mpi4py/MPI/msgpickle.pxi":1161 * return None * else: # Wrong root argument * MPI_Comm_call_errhandler(comm, MPI_ERR_ROOT) # <<<<<<<<<<<<<< * raise MPIException(MPI_ERR_ROOT) * */ /*else*/ { ((void)MPI_Comm_call_errhandler(__pyx_v_comm, MPI_ERR_ROOT)); /* "mpi4py/MPI/msgpickle.pxi":1162 * else: # Wrong root argument * MPI_Comm_call_errhandler(comm, MPI_ERR_ROOT) * raise MPIException(MPI_ERR_ROOT) # <<<<<<<<<<<<<< * * */ __pyx_t_5 = __Pyx_PyInt_From_int(MPI_ERR_ROOT); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 1162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_MPIException); __pyx_t_6 = __pyx_v_6mpi4py_3MPI_MPIException; __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(6, 1162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(6, 1162, __pyx_L1_error) } /* "mpi4py/MPI/msgpickle.pxi":1141 * return PyMPI_reduce_p2p(sendobj, op, root, comm, tag) * * cdef object PyMPI_reduce_inter(object sendobj, object op, # <<<<<<<<<<<<<< * int root, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_reduce_inter", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_sendobj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1165 * * * cdef object PyMPI_allreduce_intra(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_allreduce_intra(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, MPI_Comm __pyx_v_comm) { int __pyx_v_tag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_allreduce_intra", 0); __Pyx_INCREF(__pyx_v_sendobj); /* "mpi4py/MPI/msgpickle.pxi":1166 * * cdef object PyMPI_allreduce_intra(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED # <<<<<<<<<<<<<< * PyMPI_Commctx_INTRA(comm, &comm, &tag) * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, comm, tag) */ __pyx_v_tag = MPI_UNDEFINED; /* "mpi4py/MPI/msgpickle.pxi":1167 * cdef object PyMPI_allreduce_intra(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) # <<<<<<<<<<<<<< * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, comm, tag) * return PyMPI_bcast_p2p(sendobj, 0, comm) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_Commctx_INTRA(__pyx_v_comm, (&__pyx_v_comm), (&__pyx_v_tag)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1167, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1168 * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, comm, tag) # <<<<<<<<<<<<<< * return PyMPI_bcast_p2p(sendobj, 0, comm) * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_reduce_p2p(__pyx_v_sendobj, __pyx_v_op, 0, __pyx_v_comm, __pyx_v_tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_sendobj, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":1169 * PyMPI_Commctx_INTRA(comm, &comm, &tag) * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, comm, tag) * return PyMPI_bcast_p2p(sendobj, 0, comm) # <<<<<<<<<<<<<< * * cdef object PyMPI_allreduce_inter(object sendobj, object op, MPI_Comm comm): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_bcast_p2p(__pyx_v_sendobj, 0, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1165 * * * cdef object PyMPI_allreduce_intra(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_allreduce_intra", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_sendobj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1171 * return PyMPI_bcast_p2p(sendobj, 0, comm) * * cdef object PyMPI_allreduce_inter(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef int tag = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_allreduce_inter(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, MPI_Comm __pyx_v_comm) { int __pyx_v_tag; int __pyx_v_rank; MPI_Comm __pyx_v_localcomm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_allreduce_inter", 0); __Pyx_INCREF(__pyx_v_sendobj); /* "mpi4py/MPI/msgpickle.pxi":1172 * * cdef object PyMPI_allreduce_inter(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED # <<<<<<<<<<<<<< * cdef int rank = MPI_PROC_NULL * cdef MPI_Comm localcomm = MPI_COMM_NULL */ __pyx_v_tag = MPI_UNDEFINED; /* "mpi4py/MPI/msgpickle.pxi":1173 * cdef object PyMPI_allreduce_inter(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL # <<<<<<<<<<<<<< * cdef MPI_Comm localcomm = MPI_COMM_NULL * PyMPI_Commctx_INTER(comm, &comm, &tag, &localcomm, NULL) */ __pyx_v_rank = MPI_PROC_NULL; /* "mpi4py/MPI/msgpickle.pxi":1174 * cdef int tag = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL * cdef MPI_Comm localcomm = MPI_COMM_NULL # <<<<<<<<<<<<<< * PyMPI_Commctx_INTER(comm, &comm, &tag, &localcomm, NULL) * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_v_localcomm = MPI_COMM_NULL; /* "mpi4py/MPI/msgpickle.pxi":1175 * cdef int rank = MPI_PROC_NULL * cdef MPI_Comm localcomm = MPI_COMM_NULL * PyMPI_Commctx_INTER(comm, &comm, &tag, &localcomm, NULL) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * # Reduce in local group, exchange, and broadcast in local group */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_Commctx_INTER(__pyx_v_comm, (&__pyx_v_comm), (&__pyx_v_tag), (&__pyx_v_localcomm), NULL); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1175, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1176 * cdef MPI_Comm localcomm = MPI_COMM_NULL * PyMPI_Commctx_INTER(comm, &comm, &tag, &localcomm, NULL) * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * # Reduce in local group, exchange, and broadcast in local group * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, localcomm, tag) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1176, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1178 * CHKERR( MPI_Comm_rank(comm, &rank) ) * # Reduce in local group, exchange, and broadcast in local group * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, localcomm, tag) # <<<<<<<<<<<<<< * if rank == 0: * sendobj = PyMPI_sendrecv_p2p(sendobj, 0, tag, 0, tag, comm) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_reduce_p2p(__pyx_v_sendobj, __pyx_v_op, 0, __pyx_v_localcomm, __pyx_v_tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_sendobj, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":1179 * # Reduce in local group, exchange, and broadcast in local group * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, localcomm, tag) * if rank == 0: # <<<<<<<<<<<<<< * sendobj = PyMPI_sendrecv_p2p(sendobj, 0, tag, 0, tag, comm) * return PyMPI_bcast_p2p(sendobj, 0, localcomm) */ __pyx_t_3 = ((__pyx_v_rank == 0) != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgpickle.pxi":1180 * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, localcomm, tag) * if rank == 0: * sendobj = PyMPI_sendrecv_p2p(sendobj, 0, tag, 0, tag, comm) # <<<<<<<<<<<<<< * return PyMPI_bcast_p2p(sendobj, 0, localcomm) * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_sendrecv_p2p(__pyx_v_sendobj, 0, __pyx_v_tag, 0, __pyx_v_tag, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_sendobj, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/msgpickle.pxi":1179 * # Reduce in local group, exchange, and broadcast in local group * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, localcomm, tag) * if rank == 0: # <<<<<<<<<<<<<< * sendobj = PyMPI_sendrecv_p2p(sendobj, 0, tag, 0, tag, comm) * return PyMPI_bcast_p2p(sendobj, 0, localcomm) */ } /* "mpi4py/MPI/msgpickle.pxi":1181 * if rank == 0: * sendobj = PyMPI_sendrecv_p2p(sendobj, 0, tag, 0, tag, comm) * return PyMPI_bcast_p2p(sendobj, 0, localcomm) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_bcast_p2p(__pyx_v_sendobj, 0, __pyx_v_localcomm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1171 * return PyMPI_bcast_p2p(sendobj, 0, comm) * * cdef object PyMPI_allreduce_inter(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef int tag = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_allreduce_inter", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_sendobj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1184 * * * cdef object PyMPI_scan_intra(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_scan_intra(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, MPI_Comm __pyx_v_comm) { int __pyx_v_tag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_scan_intra", 0); /* "mpi4py/MPI/msgpickle.pxi":1185 * * cdef object PyMPI_scan_intra(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED # <<<<<<<<<<<<<< * PyMPI_Commctx_INTRA(comm, &comm, &tag) * return PyMPI_scan_p2p(sendobj, op, comm, tag) */ __pyx_v_tag = MPI_UNDEFINED; /* "mpi4py/MPI/msgpickle.pxi":1186 * cdef object PyMPI_scan_intra(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) # <<<<<<<<<<<<<< * return PyMPI_scan_p2p(sendobj, op, comm, tag) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_Commctx_INTRA(__pyx_v_comm, (&__pyx_v_comm), (&__pyx_v_tag)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1186, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1187 * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) * return PyMPI_scan_p2p(sendobj, op, comm, tag) # <<<<<<<<<<<<<< * * cdef object PyMPI_exscan_intra(object sendobj, object op, MPI_Comm comm): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_scan_p2p(__pyx_v_sendobj, __pyx_v_op, __pyx_v_comm, __pyx_v_tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1184 * * * cdef object PyMPI_scan_intra(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_scan_intra", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1189 * return PyMPI_scan_p2p(sendobj, op, comm, tag) * * cdef object PyMPI_exscan_intra(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_exscan_intra(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, MPI_Comm __pyx_v_comm) { int __pyx_v_tag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_exscan_intra", 0); /* "mpi4py/MPI/msgpickle.pxi":1190 * * cdef object PyMPI_exscan_intra(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED # <<<<<<<<<<<<<< * PyMPI_Commctx_INTRA(comm, &comm, &tag) * return PyMPI_exscan_p2p(sendobj, op, comm, tag) */ __pyx_v_tag = MPI_UNDEFINED; /* "mpi4py/MPI/msgpickle.pxi":1191 * cdef object PyMPI_exscan_intra(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) # <<<<<<<<<<<<<< * return PyMPI_exscan_p2p(sendobj, op, comm, tag) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_Commctx_INTRA(__pyx_v_comm, (&__pyx_v_comm), (&__pyx_v_tag)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1191, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1192 * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) * return PyMPI_exscan_p2p(sendobj, op, comm, tag) # <<<<<<<<<<<<<< * * # ----- */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_exscan_p2p(__pyx_v_sendobj, __pyx_v_op, __pyx_v_comm, __pyx_v_tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1189 * return PyMPI_scan_p2p(sendobj, op, comm, tag) * * cdef object PyMPI_exscan_intra(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef int tag = MPI_UNDEFINED * PyMPI_Commctx_INTRA(comm, &comm, &tag) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_exscan_intra", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1196 * # ----- * * cdef inline bint comm_is_intra(MPI_Comm comm) nogil except -1: # <<<<<<<<<<<<<< * cdef int inter = 0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_comm_is_intra(MPI_Comm __pyx_v_comm) { int __pyx_v_inter; int __pyx_r; int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* "mpi4py/MPI/msgpickle.pxi":1197 * * cdef inline bint comm_is_intra(MPI_Comm comm) nogil except -1: * cdef int inter = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: return 0 */ __pyx_v_inter = 0; /* "mpi4py/MPI/msgpickle.pxi":1198 * cdef inline bint comm_is_intra(MPI_Comm comm) nogil except -1: * cdef int inter = 0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) # <<<<<<<<<<<<<< * if inter: return 0 * else: return 1 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_comm, (&__pyx_v_inter))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1198, __pyx_L1_error) /* "mpi4py/MPI/msgpickle.pxi":1199 * cdef int inter = 0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: return 0 # <<<<<<<<<<<<<< * else: return 1 * */ __pyx_t_2 = (__pyx_v_inter != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":1200 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: return 0 * else: return 1 # <<<<<<<<<<<<<< * * */ /*else*/ { __pyx_r = 1; goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":1196 * # ----- * * cdef inline bint comm_is_intra(MPI_Comm comm) nogil except -1: # <<<<<<<<<<<<<< * cdef int inter = 0 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) */ /* function exit code */ __pyx_L1_error:; { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure(); #endif __Pyx_AddTraceback("mpi4py.MPI.comm_is_intra", __pyx_clineno, __pyx_lineno, __pyx_filename); #ifdef WITH_THREAD __Pyx_PyGILState_Release(__pyx_gilstate_save); #endif } __pyx_r = -1; __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1203 * * * cdef object PyMPI_reduce(object sendobj, object op, int root, MPI_Comm comm): # <<<<<<<<<<<<<< * if not options.fast_reduce: * return PyMPI_reduce_naive(sendobj, op, root, comm) */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_reduce(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, int __pyx_v_root, MPI_Comm __pyx_v_comm) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_reduce", 0); /* "mpi4py/MPI/msgpickle.pxi":1204 * * cdef object PyMPI_reduce(object sendobj, object op, int root, MPI_Comm comm): * if not options.fast_reduce: # <<<<<<<<<<<<<< * return PyMPI_reduce_naive(sendobj, op, root, comm) * elif comm_is_intra(comm): */ __pyx_t_1 = ((!(__pyx_v_6mpi4py_3MPI_options.fast_reduce != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":1205 * cdef object PyMPI_reduce(object sendobj, object op, int root, MPI_Comm comm): * if not options.fast_reduce: * return PyMPI_reduce_naive(sendobj, op, root, comm) # <<<<<<<<<<<<<< * elif comm_is_intra(comm): * return PyMPI_reduce_intra(sendobj, op, root, comm) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_reduce_naive(__pyx_v_sendobj, __pyx_v_op, __pyx_v_root, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1204 * * cdef object PyMPI_reduce(object sendobj, object op, int root, MPI_Comm comm): * if not options.fast_reduce: # <<<<<<<<<<<<<< * return PyMPI_reduce_naive(sendobj, op, root, comm) * elif comm_is_intra(comm): */ } /* "mpi4py/MPI/msgpickle.pxi":1206 * if not options.fast_reduce: * return PyMPI_reduce_naive(sendobj, op, root, comm) * elif comm_is_intra(comm): # <<<<<<<<<<<<<< * return PyMPI_reduce_intra(sendobj, op, root, comm) * else: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_comm_is_intra(__pyx_v_comm); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1206, __pyx_L1_error) __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgpickle.pxi":1207 * return PyMPI_reduce_naive(sendobj, op, root, comm) * elif comm_is_intra(comm): * return PyMPI_reduce_intra(sendobj, op, root, comm) # <<<<<<<<<<<<<< * else: * return PyMPI_reduce_inter(sendobj, op, root, comm) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_reduce_intra(__pyx_v_sendobj, __pyx_v_op, __pyx_v_root, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1206 * if not options.fast_reduce: * return PyMPI_reduce_naive(sendobj, op, root, comm) * elif comm_is_intra(comm): # <<<<<<<<<<<<<< * return PyMPI_reduce_intra(sendobj, op, root, comm) * else: */ } /* "mpi4py/MPI/msgpickle.pxi":1209 * return PyMPI_reduce_intra(sendobj, op, root, comm) * else: * return PyMPI_reduce_inter(sendobj, op, root, comm) # <<<<<<<<<<<<<< * * */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_reduce_inter(__pyx_v_sendobj, __pyx_v_op, __pyx_v_root, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":1203 * * * cdef object PyMPI_reduce(object sendobj, object op, int root, MPI_Comm comm): # <<<<<<<<<<<<<< * if not options.fast_reduce: * return PyMPI_reduce_naive(sendobj, op, root, comm) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_reduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1212 * * * cdef object PyMPI_allreduce(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * if not options.fast_reduce: * return PyMPI_allreduce_naive(sendobj, op, comm) */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_allreduce(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, MPI_Comm __pyx_v_comm) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_allreduce", 0); /* "mpi4py/MPI/msgpickle.pxi":1213 * * cdef object PyMPI_allreduce(object sendobj, object op, MPI_Comm comm): * if not options.fast_reduce: # <<<<<<<<<<<<<< * return PyMPI_allreduce_naive(sendobj, op, comm) * elif comm_is_intra(comm): */ __pyx_t_1 = ((!(__pyx_v_6mpi4py_3MPI_options.fast_reduce != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":1214 * cdef object PyMPI_allreduce(object sendobj, object op, MPI_Comm comm): * if not options.fast_reduce: * return PyMPI_allreduce_naive(sendobj, op, comm) # <<<<<<<<<<<<<< * elif comm_is_intra(comm): * return PyMPI_allreduce_intra(sendobj, op, comm) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_allreduce_naive(__pyx_v_sendobj, __pyx_v_op, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1213 * * cdef object PyMPI_allreduce(object sendobj, object op, MPI_Comm comm): * if not options.fast_reduce: # <<<<<<<<<<<<<< * return PyMPI_allreduce_naive(sendobj, op, comm) * elif comm_is_intra(comm): */ } /* "mpi4py/MPI/msgpickle.pxi":1215 * if not options.fast_reduce: * return PyMPI_allreduce_naive(sendobj, op, comm) * elif comm_is_intra(comm): # <<<<<<<<<<<<<< * return PyMPI_allreduce_intra(sendobj, op, comm) * else: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_comm_is_intra(__pyx_v_comm); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 1215, __pyx_L1_error) __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/msgpickle.pxi":1216 * return PyMPI_allreduce_naive(sendobj, op, comm) * elif comm_is_intra(comm): * return PyMPI_allreduce_intra(sendobj, op, comm) # <<<<<<<<<<<<<< * else: * return PyMPI_allreduce_inter(sendobj, op, comm) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_allreduce_intra(__pyx_v_sendobj, __pyx_v_op, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1215 * if not options.fast_reduce: * return PyMPI_allreduce_naive(sendobj, op, comm) * elif comm_is_intra(comm): # <<<<<<<<<<<<<< * return PyMPI_allreduce_intra(sendobj, op, comm) * else: */ } /* "mpi4py/MPI/msgpickle.pxi":1218 * return PyMPI_allreduce_intra(sendobj, op, comm) * else: * return PyMPI_allreduce_inter(sendobj, op, comm) # <<<<<<<<<<<<<< * * */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_allreduce_inter(__pyx_v_sendobj, __pyx_v_op, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":1212 * * * cdef object PyMPI_allreduce(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * if not options.fast_reduce: * return PyMPI_allreduce_naive(sendobj, op, comm) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_allreduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1221 * * * cdef object PyMPI_scan(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * if not options.fast_reduce: * return PyMPI_scan_naive(sendobj, op, comm) */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_scan(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, MPI_Comm __pyx_v_comm) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_scan", 0); /* "mpi4py/MPI/msgpickle.pxi":1222 * * cdef object PyMPI_scan(object sendobj, object op, MPI_Comm comm): * if not options.fast_reduce: # <<<<<<<<<<<<<< * return PyMPI_scan_naive(sendobj, op, comm) * else: */ __pyx_t_1 = ((!(__pyx_v_6mpi4py_3MPI_options.fast_reduce != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":1223 * cdef object PyMPI_scan(object sendobj, object op, MPI_Comm comm): * if not options.fast_reduce: * return PyMPI_scan_naive(sendobj, op, comm) # <<<<<<<<<<<<<< * else: * return PyMPI_scan_intra(sendobj, op, comm) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_scan_naive(__pyx_v_sendobj, __pyx_v_op, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1222 * * cdef object PyMPI_scan(object sendobj, object op, MPI_Comm comm): * if not options.fast_reduce: # <<<<<<<<<<<<<< * return PyMPI_scan_naive(sendobj, op, comm) * else: */ } /* "mpi4py/MPI/msgpickle.pxi":1225 * return PyMPI_scan_naive(sendobj, op, comm) * else: * return PyMPI_scan_intra(sendobj, op, comm) # <<<<<<<<<<<<<< * * */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_scan_intra(__pyx_v_sendobj, __pyx_v_op, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":1221 * * * cdef object PyMPI_scan(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * if not options.fast_reduce: * return PyMPI_scan_naive(sendobj, op, comm) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_scan", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/msgpickle.pxi":1228 * * * cdef object PyMPI_exscan(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * if not options.fast_reduce: * return PyMPI_exscan_naive(sendobj, op, comm) */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_exscan(PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, MPI_Comm __pyx_v_comm) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPI_exscan", 0); /* "mpi4py/MPI/msgpickle.pxi":1229 * * cdef object PyMPI_exscan(object sendobj, object op, MPI_Comm comm): * if not options.fast_reduce: # <<<<<<<<<<<<<< * return PyMPI_exscan_naive(sendobj, op, comm) * else: */ __pyx_t_1 = ((!(__pyx_v_6mpi4py_3MPI_options.fast_reduce != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/msgpickle.pxi":1230 * cdef object PyMPI_exscan(object sendobj, object op, MPI_Comm comm): * if not options.fast_reduce: * return PyMPI_exscan_naive(sendobj, op, comm) # <<<<<<<<<<<<<< * else: * return PyMPI_exscan_intra(sendobj, op, comm) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_exscan_naive(__pyx_v_sendobj, __pyx_v_op, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/msgpickle.pxi":1229 * * cdef object PyMPI_exscan(object sendobj, object op, MPI_Comm comm): * if not options.fast_reduce: # <<<<<<<<<<<<<< * return PyMPI_exscan_naive(sendobj, op, comm) * else: */ } /* "mpi4py/MPI/msgpickle.pxi":1232 * return PyMPI_exscan_naive(sendobj, op, comm) * else: * return PyMPI_exscan_intra(sendobj, op, comm) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_exscan_intra(__pyx_v_sendobj, __pyx_v_op, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 1232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "mpi4py/MPI/msgpickle.pxi":1228 * * * cdef object PyMPI_exscan(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * if not options.fast_reduce: * return PyMPI_exscan_naive(sendobj, op, comm) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_exscan", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":5 * # Datatype * * cdef api object PyMPIDatatype_New(MPI_Datatype arg): # <<<<<<<<<<<<<< * cdef Datatype obj = Datatype.__new__(Datatype) * obj.ob_mpi = arg */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIDatatype_New(MPI_Datatype __pyx_v_arg) { struct PyMPIDatatypeObject *__pyx_v_obj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIDatatype_New", 0); /* "mpi4py/MPI/CAPI.pxi":6 * * cdef api object PyMPIDatatype_New(MPI_Datatype arg): * cdef Datatype obj = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * obj.ob_mpi = arg * return obj */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 6, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_obj = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/CAPI.pxi":7 * cdef api object PyMPIDatatype_New(MPI_Datatype arg): * cdef Datatype obj = Datatype.__new__(Datatype) * obj.ob_mpi = arg # <<<<<<<<<<<<<< * return obj * */ __pyx_v_obj->ob_mpi = __pyx_v_arg; /* "mpi4py/MPI/CAPI.pxi":8 * cdef Datatype obj = Datatype.__new__(Datatype) * obj.ob_mpi = arg * return obj # <<<<<<<<<<<<<< * * cdef api MPI_Datatype* PyMPIDatatype_Get(object arg) except NULL: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_obj)); __pyx_r = ((PyObject *)__pyx_v_obj); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":5 * # Datatype * * cdef api object PyMPIDatatype_New(MPI_Datatype arg): # <<<<<<<<<<<<<< * cdef Datatype obj = Datatype.__new__(Datatype) * obj.ob_mpi = arg */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPIDatatype_New", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":10 * return obj * * cdef api MPI_Datatype* PyMPIDatatype_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ static MPI_Datatype *__pyx_f_6mpi4py_3MPI_PyMPIDatatype_Get(PyObject *__pyx_v_arg) { MPI_Datatype *__pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIDatatype_Get", 0); /* "mpi4py/MPI/CAPI.pxi":11 * * cdef api MPI_Datatype* PyMPIDatatype_Get(object arg) except NULL: * return &(arg).ob_mpi # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ if (!(likely(__Pyx_TypeTest(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Datatype)))) __PYX_ERR(18, 11, __pyx_L1_error) __pyx_r = (&((struct PyMPIDatatypeObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":10 * return obj * * cdef api MPI_Datatype* PyMPIDatatype_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPIDatatype_Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":17 * # Status * * cdef api object PyMPIStatus_New(MPI_Status *arg): # <<<<<<<<<<<<<< * cdef Status obj = Status.__new__(Status) * if (arg != NULL and */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIStatus_New(MPI_Status *__pyx_v_arg) { struct PyMPIStatusObject *__pyx_v_obj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIStatus_New", 0); /* "mpi4py/MPI/CAPI.pxi":18 * * cdef api object PyMPIStatus_New(MPI_Status *arg): * cdef Status obj = Status.__new__(Status) # <<<<<<<<<<<<<< * if (arg != NULL and * arg != MPI_STATUS_IGNORE and */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Status(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Status), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 18, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_obj = ((struct PyMPIStatusObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/CAPI.pxi":19 * cdef api object PyMPIStatus_New(MPI_Status *arg): * cdef Status obj = Status.__new__(Status) * if (arg != NULL and # <<<<<<<<<<<<<< * arg != MPI_STATUS_IGNORE and * arg != MPI_STATUSES_IGNORE): */ __pyx_t_4 = ((__pyx_v_arg != NULL) != 0); if (__pyx_t_4) { } else { __pyx_t_3 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } /* "mpi4py/MPI/CAPI.pxi":20 * cdef Status obj = Status.__new__(Status) * if (arg != NULL and * arg != MPI_STATUS_IGNORE and # <<<<<<<<<<<<<< * arg != MPI_STATUSES_IGNORE): * obj.ob_mpi = arg[0] */ __pyx_t_4 = ((__pyx_v_arg != MPI_STATUS_IGNORE) != 0); if (__pyx_t_4) { } else { __pyx_t_3 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } /* "mpi4py/MPI/CAPI.pxi":21 * if (arg != NULL and * arg != MPI_STATUS_IGNORE and * arg != MPI_STATUSES_IGNORE): # <<<<<<<<<<<<<< * obj.ob_mpi = arg[0] * else: pass # XXX should fail ? */ __pyx_t_4 = ((__pyx_v_arg != MPI_STATUSES_IGNORE) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L4_bool_binop_done:; /* "mpi4py/MPI/CAPI.pxi":19 * cdef api object PyMPIStatus_New(MPI_Status *arg): * cdef Status obj = Status.__new__(Status) * if (arg != NULL and # <<<<<<<<<<<<<< * arg != MPI_STATUS_IGNORE and * arg != MPI_STATUSES_IGNORE): */ if (__pyx_t_3) { /* "mpi4py/MPI/CAPI.pxi":22 * arg != MPI_STATUS_IGNORE and * arg != MPI_STATUSES_IGNORE): * obj.ob_mpi = arg[0] # <<<<<<<<<<<<<< * else: pass # XXX should fail ? * return obj */ __pyx_v_obj->ob_mpi = (__pyx_v_arg[0]); /* "mpi4py/MPI/CAPI.pxi":19 * cdef api object PyMPIStatus_New(MPI_Status *arg): * cdef Status obj = Status.__new__(Status) * if (arg != NULL and # <<<<<<<<<<<<<< * arg != MPI_STATUS_IGNORE and * arg != MPI_STATUSES_IGNORE): */ goto __pyx_L3; } /* "mpi4py/MPI/CAPI.pxi":23 * arg != MPI_STATUSES_IGNORE): * obj.ob_mpi = arg[0] * else: pass # XXX should fail ? # <<<<<<<<<<<<<< * return obj * */ /*else*/ { } __pyx_L3:; /* "mpi4py/MPI/CAPI.pxi":24 * obj.ob_mpi = arg[0] * else: pass # XXX should fail ? * return obj # <<<<<<<<<<<<<< * * cdef api MPI_Status* PyMPIStatus_Get(object arg) except? NULL: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_obj)); __pyx_r = ((PyObject *)__pyx_v_obj); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":17 * # Status * * cdef api object PyMPIStatus_New(MPI_Status *arg): # <<<<<<<<<<<<<< * cdef Status obj = Status.__new__(Status) * if (arg != NULL and */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPIStatus_New", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":26 * return obj * * cdef api MPI_Status* PyMPIStatus_Get(object arg) except? NULL: # <<<<<<<<<<<<<< * if arg is None: return MPI_STATUS_IGNORE * return &(arg).ob_mpi */ static MPI_Status *__pyx_f_6mpi4py_3MPI_PyMPIStatus_Get(PyObject *__pyx_v_arg) { MPI_Status *__pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIStatus_Get", 0); /* "mpi4py/MPI/CAPI.pxi":27 * * cdef api MPI_Status* PyMPIStatus_Get(object arg) except? NULL: * if arg is None: return MPI_STATUS_IGNORE # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ __pyx_t_1 = (__pyx_v_arg == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = MPI_STATUS_IGNORE; goto __pyx_L0; } /* "mpi4py/MPI/CAPI.pxi":28 * cdef api MPI_Status* PyMPIStatus_Get(object arg) except? NULL: * if arg is None: return MPI_STATUS_IGNORE * return &(arg).ob_mpi # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ if (!(likely(__Pyx_TypeTest(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Status)))) __PYX_ERR(18, 28, __pyx_L1_error) __pyx_r = (&((struct PyMPIStatusObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":26 * return obj * * cdef api MPI_Status* PyMPIStatus_Get(object arg) except? NULL: # <<<<<<<<<<<<<< * if arg is None: return MPI_STATUS_IGNORE * return &(arg).ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPIStatus_Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":34 * # Request * * cdef api object PyMPIRequest_New(MPI_Request arg): # <<<<<<<<<<<<<< * cdef Request obj = Request.__new__(Request) * obj.ob_mpi = arg */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIRequest_New(MPI_Request __pyx_v_arg) { struct PyMPIRequestObject *__pyx_v_obj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIRequest_New", 0); /* "mpi4py/MPI/CAPI.pxi":35 * * cdef api object PyMPIRequest_New(MPI_Request arg): * cdef Request obj = Request.__new__(Request) # <<<<<<<<<<<<<< * obj.ob_mpi = arg * return obj */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 35, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_obj = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/CAPI.pxi":36 * cdef api object PyMPIRequest_New(MPI_Request arg): * cdef Request obj = Request.__new__(Request) * obj.ob_mpi = arg # <<<<<<<<<<<<<< * return obj * */ __pyx_v_obj->ob_mpi = __pyx_v_arg; /* "mpi4py/MPI/CAPI.pxi":37 * cdef Request obj = Request.__new__(Request) * obj.ob_mpi = arg * return obj # <<<<<<<<<<<<<< * * cdef api MPI_Request* PyMPIRequest_Get(object arg) except NULL: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_obj)); __pyx_r = ((PyObject *)__pyx_v_obj); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":34 * # Request * * cdef api object PyMPIRequest_New(MPI_Request arg): # <<<<<<<<<<<<<< * cdef Request obj = Request.__new__(Request) * obj.ob_mpi = arg */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPIRequest_New", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":39 * return obj * * cdef api MPI_Request* PyMPIRequest_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ static MPI_Request *__pyx_f_6mpi4py_3MPI_PyMPIRequest_Get(PyObject *__pyx_v_arg) { MPI_Request *__pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIRequest_Get", 0); /* "mpi4py/MPI/CAPI.pxi":40 * * cdef api MPI_Request* PyMPIRequest_Get(object arg) except NULL: * return &(arg).ob_mpi # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ if (!(likely(__Pyx_TypeTest(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Request)))) __PYX_ERR(18, 40, __pyx_L1_error) __pyx_r = (&((struct PyMPIRequestObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":39 * return obj * * cdef api MPI_Request* PyMPIRequest_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPIRequest_Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":46 * # Message * * cdef api object PyMPIMessage_New(MPI_Message arg): # <<<<<<<<<<<<<< * cdef Message obj = Message.__new__(Message) * obj.ob_mpi = arg */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIMessage_New(MPI_Message __pyx_v_arg) { struct PyMPIMessageObject *__pyx_v_obj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIMessage_New", 0); /* "mpi4py/MPI/CAPI.pxi":47 * * cdef api object PyMPIMessage_New(MPI_Message arg): * cdef Message obj = Message.__new__(Message) # <<<<<<<<<<<<<< * obj.ob_mpi = arg * return obj */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 47, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_obj = ((struct PyMPIMessageObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/CAPI.pxi":48 * cdef api object PyMPIMessage_New(MPI_Message arg): * cdef Message obj = Message.__new__(Message) * obj.ob_mpi = arg # <<<<<<<<<<<<<< * return obj * */ __pyx_v_obj->ob_mpi = __pyx_v_arg; /* "mpi4py/MPI/CAPI.pxi":49 * cdef Message obj = Message.__new__(Message) * obj.ob_mpi = arg * return obj # <<<<<<<<<<<<<< * * cdef api MPI_Message* PyMPIMessage_Get(object arg) except NULL: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_obj)); __pyx_r = ((PyObject *)__pyx_v_obj); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":46 * # Message * * cdef api object PyMPIMessage_New(MPI_Message arg): # <<<<<<<<<<<<<< * cdef Message obj = Message.__new__(Message) * obj.ob_mpi = arg */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPIMessage_New", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":51 * return obj * * cdef api MPI_Message* PyMPIMessage_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ static MPI_Message *__pyx_f_6mpi4py_3MPI_PyMPIMessage_Get(PyObject *__pyx_v_arg) { MPI_Message *__pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIMessage_Get", 0); /* "mpi4py/MPI/CAPI.pxi":52 * * cdef api MPI_Message* PyMPIMessage_Get(object arg) except NULL: * return &(arg).ob_mpi # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ if (!(likely(__Pyx_TypeTest(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Message)))) __PYX_ERR(18, 52, __pyx_L1_error) __pyx_r = (&((struct PyMPIMessageObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":51 * return obj * * cdef api MPI_Message* PyMPIMessage_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPIMessage_Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":58 * # Op * * cdef api object PyMPIOp_New(MPI_Op arg): # <<<<<<<<<<<<<< * cdef Op obj = Op.__new__(Op) * obj.ob_mpi = arg */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIOp_New(MPI_Op __pyx_v_arg) { struct PyMPIOpObject *__pyx_v_obj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIOp_New", 0); /* "mpi4py/MPI/CAPI.pxi":59 * * cdef api object PyMPIOp_New(MPI_Op arg): * cdef Op obj = Op.__new__(Op) # <<<<<<<<<<<<<< * obj.ob_mpi = arg * return obj */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Op(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Op), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 59, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_obj = ((struct PyMPIOpObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/CAPI.pxi":60 * cdef api object PyMPIOp_New(MPI_Op arg): * cdef Op obj = Op.__new__(Op) * obj.ob_mpi = arg # <<<<<<<<<<<<<< * return obj * */ __pyx_v_obj->ob_mpi = __pyx_v_arg; /* "mpi4py/MPI/CAPI.pxi":61 * cdef Op obj = Op.__new__(Op) * obj.ob_mpi = arg * return obj # <<<<<<<<<<<<<< * * cdef api MPI_Op* PyMPIOp_Get(object arg) except NULL: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_obj)); __pyx_r = ((PyObject *)__pyx_v_obj); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":58 * # Op * * cdef api object PyMPIOp_New(MPI_Op arg): # <<<<<<<<<<<<<< * cdef Op obj = Op.__new__(Op) * obj.ob_mpi = arg */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPIOp_New", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":63 * return obj * * cdef api MPI_Op* PyMPIOp_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ static MPI_Op *__pyx_f_6mpi4py_3MPI_PyMPIOp_Get(PyObject *__pyx_v_arg) { MPI_Op *__pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIOp_Get", 0); /* "mpi4py/MPI/CAPI.pxi":64 * * cdef api MPI_Op* PyMPIOp_Get(object arg) except NULL: * return &(arg).ob_mpi # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ if (!(likely(__Pyx_TypeTest(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Op)))) __PYX_ERR(18, 64, __pyx_L1_error) __pyx_r = (&((struct PyMPIOpObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":63 * return obj * * cdef api MPI_Op* PyMPIOp_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPIOp_Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":70 * # Info * * cdef api object PyMPIInfo_New(MPI_Info arg): # <<<<<<<<<<<<<< * cdef Info obj = Info.__new__(Info) * obj.ob_mpi = arg */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIInfo_New(MPI_Info __pyx_v_arg) { struct PyMPIInfoObject *__pyx_v_obj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIInfo_New", 0); /* "mpi4py/MPI/CAPI.pxi":71 * * cdef api object PyMPIInfo_New(MPI_Info arg): * cdef Info obj = Info.__new__(Info) # <<<<<<<<<<<<<< * obj.ob_mpi = arg * return obj */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 71, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_obj = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/CAPI.pxi":72 * cdef api object PyMPIInfo_New(MPI_Info arg): * cdef Info obj = Info.__new__(Info) * obj.ob_mpi = arg # <<<<<<<<<<<<<< * return obj * */ __pyx_v_obj->ob_mpi = __pyx_v_arg; /* "mpi4py/MPI/CAPI.pxi":73 * cdef Info obj = Info.__new__(Info) * obj.ob_mpi = arg * return obj # <<<<<<<<<<<<<< * * cdef api MPI_Info* PyMPIInfo_Get(object arg) except NULL: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_obj)); __pyx_r = ((PyObject *)__pyx_v_obj); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":70 * # Info * * cdef api object PyMPIInfo_New(MPI_Info arg): # <<<<<<<<<<<<<< * cdef Info obj = Info.__new__(Info) * obj.ob_mpi = arg */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPIInfo_New", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":75 * return obj * * cdef api MPI_Info* PyMPIInfo_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ static MPI_Info *__pyx_f_6mpi4py_3MPI_PyMPIInfo_Get(PyObject *__pyx_v_arg) { MPI_Info *__pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIInfo_Get", 0); /* "mpi4py/MPI/CAPI.pxi":76 * * cdef api MPI_Info* PyMPIInfo_Get(object arg) except NULL: * return &(arg).ob_mpi # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ if (!(likely(__Pyx_TypeTest(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Info)))) __PYX_ERR(18, 76, __pyx_L1_error) __pyx_r = (&((struct PyMPIInfoObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":75 * return obj * * cdef api MPI_Info* PyMPIInfo_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPIInfo_Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":82 * # Group * * cdef api object PyMPIGroup_New(MPI_Group arg): # <<<<<<<<<<<<<< * cdef Group obj = Group.__new__(Group) * obj.ob_mpi = arg */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIGroup_New(MPI_Group __pyx_v_arg) { struct PyMPIGroupObject *__pyx_v_obj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIGroup_New", 0); /* "mpi4py/MPI/CAPI.pxi":83 * * cdef api object PyMPIGroup_New(MPI_Group arg): * cdef Group obj = Group.__new__(Group) # <<<<<<<<<<<<<< * obj.ob_mpi = arg * return obj */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 83, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_obj = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/CAPI.pxi":84 * cdef api object PyMPIGroup_New(MPI_Group arg): * cdef Group obj = Group.__new__(Group) * obj.ob_mpi = arg # <<<<<<<<<<<<<< * return obj * */ __pyx_v_obj->ob_mpi = __pyx_v_arg; /* "mpi4py/MPI/CAPI.pxi":85 * cdef Group obj = Group.__new__(Group) * obj.ob_mpi = arg * return obj # <<<<<<<<<<<<<< * * cdef api MPI_Group* PyMPIGroup_Get(object arg) except NULL: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_obj)); __pyx_r = ((PyObject *)__pyx_v_obj); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":82 * # Group * * cdef api object PyMPIGroup_New(MPI_Group arg): # <<<<<<<<<<<<<< * cdef Group obj = Group.__new__(Group) * obj.ob_mpi = arg */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPIGroup_New", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":87 * return obj * * cdef api MPI_Group* PyMPIGroup_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ static MPI_Group *__pyx_f_6mpi4py_3MPI_PyMPIGroup_Get(PyObject *__pyx_v_arg) { MPI_Group *__pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIGroup_Get", 0); /* "mpi4py/MPI/CAPI.pxi":88 * * cdef api MPI_Group* PyMPIGroup_Get(object arg) except NULL: * return &(arg).ob_mpi # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ if (!(likely(__Pyx_TypeTest(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Group)))) __PYX_ERR(18, 88, __pyx_L1_error) __pyx_r = (&((struct PyMPIGroupObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":87 * return obj * * cdef api MPI_Group* PyMPIGroup_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPIGroup_Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":94 * # Comm * * cdef api object PyMPIComm_New(MPI_Comm arg): # <<<<<<<<<<<<<< * cdef type cls = Comm * cdef int inter = 0 */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIComm_New(MPI_Comm __pyx_v_arg) { PyTypeObject *__pyx_v_cls = 0; int __pyx_v_inter; int __pyx_v_topo; struct PyMPICommObject *__pyx_v_obj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIComm_New", 0); /* "mpi4py/MPI/CAPI.pxi":95 * * cdef api object PyMPIComm_New(MPI_Comm arg): * cdef type cls = Comm # <<<<<<<<<<<<<< * cdef int inter = 0 * cdef int topo = MPI_UNDEFINED */ __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm)); __pyx_v_cls = __pyx_ptype_6mpi4py_3MPI_Comm; /* "mpi4py/MPI/CAPI.pxi":96 * cdef api object PyMPIComm_New(MPI_Comm arg): * cdef type cls = Comm * cdef int inter = 0 # <<<<<<<<<<<<<< * cdef int topo = MPI_UNDEFINED * if arg != MPI_COMM_NULL: */ __pyx_v_inter = 0; /* "mpi4py/MPI/CAPI.pxi":97 * cdef type cls = Comm * cdef int inter = 0 * cdef int topo = MPI_UNDEFINED # <<<<<<<<<<<<<< * if arg != MPI_COMM_NULL: * CHKERR( MPI_Comm_test_inter(arg, &inter) ) */ __pyx_v_topo = MPI_UNDEFINED; /* "mpi4py/MPI/CAPI.pxi":98 * cdef int inter = 0 * cdef int topo = MPI_UNDEFINED * if arg != MPI_COMM_NULL: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(arg, &inter) ) * if inter: */ __pyx_t_1 = ((__pyx_v_arg != MPI_COMM_NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/CAPI.pxi":99 * cdef int topo = MPI_UNDEFINED * if arg != MPI_COMM_NULL: * CHKERR( MPI_Comm_test_inter(arg, &inter) ) # <<<<<<<<<<<<<< * if inter: * cls = Intercomm */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_arg, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(18, 99, __pyx_L1_error) /* "mpi4py/MPI/CAPI.pxi":100 * if arg != MPI_COMM_NULL: * CHKERR( MPI_Comm_test_inter(arg, &inter) ) * if inter: # <<<<<<<<<<<<<< * cls = Intercomm * else: */ __pyx_t_1 = (__pyx_v_inter != 0); if (__pyx_t_1) { /* "mpi4py/MPI/CAPI.pxi":101 * CHKERR( MPI_Comm_test_inter(arg, &inter) ) * if inter: * cls = Intercomm # <<<<<<<<<<<<<< * else: * CHKERR( MPI_Topo_test(arg, &topo) ) */ __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm)); __Pyx_DECREF_SET(__pyx_v_cls, __pyx_ptype_6mpi4py_3MPI_Intercomm); /* "mpi4py/MPI/CAPI.pxi":100 * if arg != MPI_COMM_NULL: * CHKERR( MPI_Comm_test_inter(arg, &inter) ) * if inter: # <<<<<<<<<<<<<< * cls = Intercomm * else: */ goto __pyx_L4; } /* "mpi4py/MPI/CAPI.pxi":103 * cls = Intercomm * else: * CHKERR( MPI_Topo_test(arg, &topo) ) # <<<<<<<<<<<<<< * if topo == MPI_UNDEFINED: * cls = Intracomm */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Topo_test(__pyx_v_arg, (&__pyx_v_topo))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(18, 103, __pyx_L1_error) /* "mpi4py/MPI/CAPI.pxi":104 * else: * CHKERR( MPI_Topo_test(arg, &topo) ) * if topo == MPI_UNDEFINED: # <<<<<<<<<<<<<< * cls = Intracomm * elif topo == MPI_CART: */ __pyx_t_1 = ((__pyx_v_topo == MPI_UNDEFINED) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/CAPI.pxi":105 * CHKERR( MPI_Topo_test(arg, &topo) ) * if topo == MPI_UNDEFINED: * cls = Intracomm # <<<<<<<<<<<<<< * elif topo == MPI_CART: * cls = Cartcomm */ __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Intracomm)); __Pyx_DECREF_SET(__pyx_v_cls, __pyx_ptype_6mpi4py_3MPI_Intracomm); /* "mpi4py/MPI/CAPI.pxi":104 * else: * CHKERR( MPI_Topo_test(arg, &topo) ) * if topo == MPI_UNDEFINED: # <<<<<<<<<<<<<< * cls = Intracomm * elif topo == MPI_CART: */ goto __pyx_L5; } /* "mpi4py/MPI/CAPI.pxi":106 * if topo == MPI_UNDEFINED: * cls = Intracomm * elif topo == MPI_CART: # <<<<<<<<<<<<<< * cls = Cartcomm * elif topo == MPI_GRAPH: */ __pyx_t_1 = ((__pyx_v_topo == MPI_CART) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/CAPI.pxi":107 * cls = Intracomm * elif topo == MPI_CART: * cls = Cartcomm # <<<<<<<<<<<<<< * elif topo == MPI_GRAPH: * cls = Graphcomm */ __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Cartcomm)); __Pyx_DECREF_SET(__pyx_v_cls, __pyx_ptype_6mpi4py_3MPI_Cartcomm); /* "mpi4py/MPI/CAPI.pxi":106 * if topo == MPI_UNDEFINED: * cls = Intracomm * elif topo == MPI_CART: # <<<<<<<<<<<<<< * cls = Cartcomm * elif topo == MPI_GRAPH: */ goto __pyx_L5; } /* "mpi4py/MPI/CAPI.pxi":108 * elif topo == MPI_CART: * cls = Cartcomm * elif topo == MPI_GRAPH: # <<<<<<<<<<<<<< * cls = Graphcomm * elif topo == MPI_DIST_GRAPH: */ __pyx_t_1 = ((__pyx_v_topo == MPI_GRAPH) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/CAPI.pxi":109 * cls = Cartcomm * elif topo == MPI_GRAPH: * cls = Graphcomm # <<<<<<<<<<<<<< * elif topo == MPI_DIST_GRAPH: * cls = Distgraphcomm */ __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Graphcomm)); __Pyx_DECREF_SET(__pyx_v_cls, __pyx_ptype_6mpi4py_3MPI_Graphcomm); /* "mpi4py/MPI/CAPI.pxi":108 * elif topo == MPI_CART: * cls = Cartcomm * elif topo == MPI_GRAPH: # <<<<<<<<<<<<<< * cls = Graphcomm * elif topo == MPI_DIST_GRAPH: */ goto __pyx_L5; } /* "mpi4py/MPI/CAPI.pxi":110 * elif topo == MPI_GRAPH: * cls = Graphcomm * elif topo == MPI_DIST_GRAPH: # <<<<<<<<<<<<<< * cls = Distgraphcomm * else: */ __pyx_t_1 = ((__pyx_v_topo == MPI_DIST_GRAPH) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/CAPI.pxi":111 * cls = Graphcomm * elif topo == MPI_DIST_GRAPH: * cls = Distgraphcomm # <<<<<<<<<<<<<< * else: * cls = Intracomm */ __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Distgraphcomm)); __Pyx_DECREF_SET(__pyx_v_cls, __pyx_ptype_6mpi4py_3MPI_Distgraphcomm); /* "mpi4py/MPI/CAPI.pxi":110 * elif topo == MPI_GRAPH: * cls = Graphcomm * elif topo == MPI_DIST_GRAPH: # <<<<<<<<<<<<<< * cls = Distgraphcomm * else: */ goto __pyx_L5; } /* "mpi4py/MPI/CAPI.pxi":113 * cls = Distgraphcomm * else: * cls = Intracomm # <<<<<<<<<<<<<< * cdef Comm obj = cls.__new__(cls) * obj.ob_mpi = arg */ /*else*/ { __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Intracomm)); __Pyx_DECREF_SET(__pyx_v_cls, __pyx_ptype_6mpi4py_3MPI_Intracomm); } __pyx_L5:; } __pyx_L4:; /* "mpi4py/MPI/CAPI.pxi":98 * cdef int inter = 0 * cdef int topo = MPI_UNDEFINED * if arg != MPI_COMM_NULL: # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(arg, &inter) ) * if inter: */ } /* "mpi4py/MPI/CAPI.pxi":114 * else: * cls = Intracomm * cdef Comm obj = cls.__new__(cls) # <<<<<<<<<<<<<< * obj.ob_mpi = arg * return obj */ if (unlikely(((PyObject *)__pyx_v_cls) == Py_None)) { PyErr_SetString(PyExc_TypeError, "object.__new__(X): X is not a type object (NoneType)"); __PYX_ERR(18, 114, __pyx_L1_error) } __pyx_t_3 = __Pyx_tp_new(((PyObject *)__pyx_v_cls), __pyx_empty_tuple); if (unlikely(!__pyx_t_3)) __PYX_ERR(18, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_obj = ((struct PyMPICommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/CAPI.pxi":115 * cls = Intracomm * cdef Comm obj = cls.__new__(cls) * obj.ob_mpi = arg # <<<<<<<<<<<<<< * return obj * */ __pyx_v_obj->ob_mpi = __pyx_v_arg; /* "mpi4py/MPI/CAPI.pxi":116 * cdef Comm obj = cls.__new__(cls) * obj.ob_mpi = arg * return obj # <<<<<<<<<<<<<< * * cdef api MPI_Comm* PyMPIComm_Get(object arg) except NULL: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_obj)); __pyx_r = ((PyObject *)__pyx_v_obj); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":94 * # Comm * * cdef api object PyMPIComm_New(MPI_Comm arg): # <<<<<<<<<<<<<< * cdef type cls = Comm * cdef int inter = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPIComm_New", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_cls); __Pyx_XDECREF((PyObject *)__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":118 * return obj * * cdef api MPI_Comm* PyMPIComm_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ static MPI_Comm *__pyx_f_6mpi4py_3MPI_PyMPIComm_Get(PyObject *__pyx_v_arg) { MPI_Comm *__pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIComm_Get", 0); /* "mpi4py/MPI/CAPI.pxi":119 * * cdef api MPI_Comm* PyMPIComm_Get(object arg) except NULL: * return &(arg).ob_mpi # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ if (!(likely(__Pyx_TypeTest(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Comm)))) __PYX_ERR(18, 119, __pyx_L1_error) __pyx_r = (&((struct PyMPICommObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":118 * return obj * * cdef api MPI_Comm* PyMPIComm_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPIComm_Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":125 * # Win * * cdef api object PyMPIWin_New(MPI_Win arg): # <<<<<<<<<<<<<< * cdef Win obj = Win.__new__(Win) * obj.ob_mpi = arg */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIWin_New(MPI_Win __pyx_v_arg) { struct PyMPIWinObject *__pyx_v_obj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIWin_New", 0); /* "mpi4py/MPI/CAPI.pxi":126 * * cdef api object PyMPIWin_New(MPI_Win arg): * cdef Win obj = Win.__new__(Win) # <<<<<<<<<<<<<< * obj.ob_mpi = arg * return obj */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 126, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_obj = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/CAPI.pxi":127 * cdef api object PyMPIWin_New(MPI_Win arg): * cdef Win obj = Win.__new__(Win) * obj.ob_mpi = arg # <<<<<<<<<<<<<< * return obj * */ __pyx_v_obj->ob_mpi = __pyx_v_arg; /* "mpi4py/MPI/CAPI.pxi":128 * cdef Win obj = Win.__new__(Win) * obj.ob_mpi = arg * return obj # <<<<<<<<<<<<<< * * cdef api MPI_Win* PyMPIWin_Get(object arg) except NULL: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_obj)); __pyx_r = ((PyObject *)__pyx_v_obj); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":125 * # Win * * cdef api object PyMPIWin_New(MPI_Win arg): # <<<<<<<<<<<<<< * cdef Win obj = Win.__new__(Win) * obj.ob_mpi = arg */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPIWin_New", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":130 * return obj * * cdef api MPI_Win* PyMPIWin_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ static MPI_Win *__pyx_f_6mpi4py_3MPI_PyMPIWin_Get(PyObject *__pyx_v_arg) { MPI_Win *__pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIWin_Get", 0); /* "mpi4py/MPI/CAPI.pxi":131 * * cdef api MPI_Win* PyMPIWin_Get(object arg) except NULL: * return &(arg).ob_mpi # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ if (!(likely(__Pyx_TypeTest(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Win)))) __PYX_ERR(18, 131, __pyx_L1_error) __pyx_r = (&((struct PyMPIWinObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":130 * return obj * * cdef api MPI_Win* PyMPIWin_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPIWin_Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":137 * # File * * cdef api object PyMPIFile_New(MPI_File arg): # <<<<<<<<<<<<<< * cdef File obj = File.__new__(File) * obj.ob_mpi = arg */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIFile_New(MPI_File __pyx_v_arg) { struct PyMPIFileObject *__pyx_v_obj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIFile_New", 0); /* "mpi4py/MPI/CAPI.pxi":138 * * cdef api object PyMPIFile_New(MPI_File arg): * cdef File obj = File.__new__(File) # <<<<<<<<<<<<<< * obj.ob_mpi = arg * return obj */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_File(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_File), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 138, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_obj = ((struct PyMPIFileObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/CAPI.pxi":139 * cdef api object PyMPIFile_New(MPI_File arg): * cdef File obj = File.__new__(File) * obj.ob_mpi = arg # <<<<<<<<<<<<<< * return obj * */ __pyx_v_obj->ob_mpi = __pyx_v_arg; /* "mpi4py/MPI/CAPI.pxi":140 * cdef File obj = File.__new__(File) * obj.ob_mpi = arg * return obj # <<<<<<<<<<<<<< * * cdef api MPI_File* PyMPIFile_Get(object arg) except NULL: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_obj)); __pyx_r = ((PyObject *)__pyx_v_obj); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":137 * # File * * cdef api object PyMPIFile_New(MPI_File arg): # <<<<<<<<<<<<<< * cdef File obj = File.__new__(File) * obj.ob_mpi = arg */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPIFile_New", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":142 * return obj * * cdef api MPI_File* PyMPIFile_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ static MPI_File *__pyx_f_6mpi4py_3MPI_PyMPIFile_Get(PyObject *__pyx_v_arg) { MPI_File *__pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIFile_Get", 0); /* "mpi4py/MPI/CAPI.pxi":143 * * cdef api MPI_File* PyMPIFile_Get(object arg) except NULL: * return &(arg).ob_mpi # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ if (!(likely(__Pyx_TypeTest(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_File)))) __PYX_ERR(18, 143, __pyx_L1_error) __pyx_r = (&((struct PyMPIFileObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":142 * return obj * * cdef api MPI_File* PyMPIFile_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPIFile_Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":149 * # Errhandler * * cdef api object PyMPIErrhandler_New(MPI_Errhandler arg): # <<<<<<<<<<<<<< * cdef Errhandler obj = Errhandler.__new__(Errhandler) * obj.ob_mpi = arg */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPIErrhandler_New(MPI_Errhandler __pyx_v_arg) { struct PyMPIErrhandlerObject *__pyx_v_obj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIErrhandler_New", 0); /* "mpi4py/MPI/CAPI.pxi":150 * * cdef api object PyMPIErrhandler_New(MPI_Errhandler arg): * cdef Errhandler obj = Errhandler.__new__(Errhandler) # <<<<<<<<<<<<<< * obj.ob_mpi = arg * return obj */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Errhandler(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 150, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_obj = ((struct PyMPIErrhandlerObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/CAPI.pxi":151 * cdef api object PyMPIErrhandler_New(MPI_Errhandler arg): * cdef Errhandler obj = Errhandler.__new__(Errhandler) * obj.ob_mpi = arg # <<<<<<<<<<<<<< * return obj * */ __pyx_v_obj->ob_mpi = __pyx_v_arg; /* "mpi4py/MPI/CAPI.pxi":152 * cdef Errhandler obj = Errhandler.__new__(Errhandler) * obj.ob_mpi = arg * return obj # <<<<<<<<<<<<<< * * cdef api MPI_Errhandler* PyMPIErrhandler_Get(object arg) except NULL: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_obj)); __pyx_r = ((PyObject *)__pyx_v_obj); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":149 * # Errhandler * * cdef api object PyMPIErrhandler_New(MPI_Errhandler arg): # <<<<<<<<<<<<<< * cdef Errhandler obj = Errhandler.__new__(Errhandler) * obj.ob_mpi = arg */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.PyMPIErrhandler_New", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/CAPI.pxi":154 * return obj * * cdef api MPI_Errhandler* PyMPIErrhandler_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ static MPI_Errhandler *__pyx_f_6mpi4py_3MPI_PyMPIErrhandler_Get(PyObject *__pyx_v_arg) { MPI_Errhandler *__pyx_r; __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyMPIErrhandler_Get", 0); /* "mpi4py/MPI/CAPI.pxi":155 * * cdef api MPI_Errhandler* PyMPIErrhandler_Get(object arg) except NULL: * return &(arg).ob_mpi # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ if (!(likely(__Pyx_TypeTest(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Errhandler)))) __PYX_ERR(18, 155, __pyx_L1_error) __pyx_r = (&((struct PyMPIErrhandlerObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "mpi4py/MPI/CAPI.pxi":154 * return obj * * cdef api MPI_Errhandler* PyMPIErrhandler_Get(object arg) except NULL: # <<<<<<<<<<<<<< * return &(arg).ob_mpi * */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyMPIErrhandler_Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":7 * """ * * def __init__(self, int ierr=0): # <<<<<<<<<<<<<< * if ierr < MPI_SUCCESS: ierr = MPI_ERR_UNKNOWN * self.ob_mpi = ierr */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception___init__[] = "Exception.__init__(self, int ierr=0)"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_1__init__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception___init__}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; int __pyx_v_ierr; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_ierr,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_self)) != 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_ierr); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 7, __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_self = values[0]; if (values[1]) { __pyx_v_ierr = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_ierr == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7, __pyx_L3_error) } else { __pyx_v_ierr = ((int)((int)0)); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 7, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception___init__(__pyx_self, __pyx_v_self, __pyx_v_ierr); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, int __pyx_v_ierr) { 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; PyObject *__pyx_t_7 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__init__", 0); /* "mpi4py/MPI/ExceptionP.pyx":8 * * def __init__(self, int ierr=0): * if ierr < MPI_SUCCESS: ierr = MPI_ERR_UNKNOWN # <<<<<<<<<<<<<< * self.ob_mpi = ierr * RuntimeError.__init__(self, self.ob_mpi) */ __pyx_t_1 = ((__pyx_v_ierr < MPI_SUCCESS) != 0); if (__pyx_t_1) { __pyx_v_ierr = MPI_ERR_UNKNOWN; } /* "mpi4py/MPI/ExceptionP.pyx":9 * def __init__(self, int ierr=0): * if ierr < MPI_SUCCESS: ierr = MPI_ERR_UNKNOWN * self.ob_mpi = ierr # <<<<<<<<<<<<<< * RuntimeError.__init__(self, self.ob_mpi) * */ __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_ierr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi, __pyx_t_2) < 0) __PYX_ERR(1, 9, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/ExceptionP.pyx":10 * if ierr < MPI_SUCCESS: ierr = MPI_ERR_UNKNOWN * self.ob_mpi = ierr * RuntimeError.__init__(self, self.ob_mpi) # <<<<<<<<<<<<<< * * def __eq__(self, object error): */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_builtin_RuntimeError, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(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_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_self, __pyx_t_4}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_self, __pyx_t_4}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_self); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/ExceptionP.pyx":7 * """ * * def __init__(self, int ierr=0): # <<<<<<<<<<<<<< * if ierr < MPI_SUCCESS: ierr = MPI_ERR_UNKNOWN * self.ob_mpi = ierr */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.Exception.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":12 * RuntimeError.__init__(self, self.ob_mpi) * * def __eq__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr == error) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_3__eq__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_2__eq__[] = "Exception.__eq__(self, error)"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_3__eq__ = {"__eq__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_3__eq__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_2__eq__}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_3__eq__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; PyObject *__pyx_v_error = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_error,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_self)) != 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_error)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__eq__", 1, 2, 2, 1); __PYX_ERR(1, 12, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__eq__") < 0)) __PYX_ERR(1, 12, __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_self = values[0]; __pyx_v_error = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__eq__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 12, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_2__eq__(__pyx_self, __pyx_v_self, __pyx_v_error); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_2__eq__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_error) { int __pyx_v_ierr; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__eq__", 0); /* "mpi4py/MPI/ExceptionP.pyx":13 * * def __eq__(self, object error): * cdef int ierr = self.ob_mpi # <<<<<<<<<<<<<< * return (ierr == error) * */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_ierr = __pyx_t_2; /* "mpi4py/MPI/ExceptionP.pyx":14 * def __eq__(self, object error): * cdef int ierr = self.ob_mpi * return (ierr == error) # <<<<<<<<<<<<<< * * def __ne__(self, object error): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ierr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_error, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 14, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/ExceptionP.pyx":12 * RuntimeError.__init__(self, self.ob_mpi) * * def __eq__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr == error) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Exception.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":16 * return (ierr == error) * * def __ne__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr != error) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_5__ne__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_4__ne__[] = "Exception.__ne__(self, error)"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_5__ne__ = {"__ne__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_5__ne__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_4__ne__}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_5__ne__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; PyObject *__pyx_v_error = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__ne__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_error,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_self)) != 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_error)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__ne__", 1, 2, 2, 1); __PYX_ERR(1, 16, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__ne__") < 0)) __PYX_ERR(1, 16, __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_self = values[0]; __pyx_v_error = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__ne__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 16, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.__ne__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_4__ne__(__pyx_self, __pyx_v_self, __pyx_v_error); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_4__ne__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_error) { int __pyx_v_ierr; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__ne__", 0); /* "mpi4py/MPI/ExceptionP.pyx":17 * * def __ne__(self, object error): * cdef int ierr = self.ob_mpi # <<<<<<<<<<<<<< * return (ierr != error) * */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 17, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_ierr = __pyx_t_2; /* "mpi4py/MPI/ExceptionP.pyx":18 * def __ne__(self, object error): * cdef int ierr = self.ob_mpi * return (ierr != error) # <<<<<<<<<<<<<< * * def __lt__(self, object error): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ierr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_error, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 18, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/ExceptionP.pyx":16 * return (ierr == error) * * def __ne__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr != error) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Exception.__ne__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":20 * return (ierr != error) * * def __lt__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr < error) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_7__lt__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_6__lt__[] = "Exception.__lt__(self, error)"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_7__lt__ = {"__lt__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_7__lt__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_6__lt__}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_7__lt__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; PyObject *__pyx_v_error = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__lt__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_error,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_self)) != 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_error)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__lt__", 1, 2, 2, 1); __PYX_ERR(1, 20, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__lt__") < 0)) __PYX_ERR(1, 20, __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_self = values[0]; __pyx_v_error = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__lt__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 20, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.__lt__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_6__lt__(__pyx_self, __pyx_v_self, __pyx_v_error); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_6__lt__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_error) { int __pyx_v_ierr; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__lt__", 0); /* "mpi4py/MPI/ExceptionP.pyx":21 * * def __lt__(self, object error): * cdef int ierr = self.ob_mpi # <<<<<<<<<<<<<< * return (ierr < error) * */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 21, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_ierr = __pyx_t_2; /* "mpi4py/MPI/ExceptionP.pyx":22 * def __lt__(self, object error): * cdef int ierr = self.ob_mpi * return (ierr < error) # <<<<<<<<<<<<<< * * def __le__(self, object error): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ierr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_error, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 22, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 22, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/ExceptionP.pyx":20 * return (ierr != error) * * def __lt__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr < error) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Exception.__lt__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":24 * return (ierr < error) * * def __le__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr <= error) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_9__le__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_8__le__[] = "Exception.__le__(self, error)"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_9__le__ = {"__le__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_9__le__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_8__le__}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_9__le__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; PyObject *__pyx_v_error = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__le__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_error,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_self)) != 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_error)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__le__", 1, 2, 2, 1); __PYX_ERR(1, 24, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__le__") < 0)) __PYX_ERR(1, 24, __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_self = values[0]; __pyx_v_error = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__le__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 24, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.__le__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_8__le__(__pyx_self, __pyx_v_self, __pyx_v_error); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_8__le__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_error) { int __pyx_v_ierr; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__le__", 0); /* "mpi4py/MPI/ExceptionP.pyx":25 * * def __le__(self, object error): * cdef int ierr = self.ob_mpi # <<<<<<<<<<<<<< * return (ierr <= error) * */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 25, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_ierr = __pyx_t_2; /* "mpi4py/MPI/ExceptionP.pyx":26 * def __le__(self, object error): * cdef int ierr = self.ob_mpi * return (ierr <= error) # <<<<<<<<<<<<<< * * def __gt__(self, object error): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ierr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_error, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 26, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 26, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/ExceptionP.pyx":24 * return (ierr < error) * * def __le__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr <= error) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Exception.__le__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":28 * return (ierr <= error) * * def __gt__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr > error) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_11__gt__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_10__gt__[] = "Exception.__gt__(self, error)"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_11__gt__ = {"__gt__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_11__gt__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_10__gt__}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_11__gt__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; PyObject *__pyx_v_error = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__gt__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_error,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_self)) != 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_error)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__gt__", 1, 2, 2, 1); __PYX_ERR(1, 28, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__gt__") < 0)) __PYX_ERR(1, 28, __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_self = values[0]; __pyx_v_error = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__gt__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 28, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.__gt__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_10__gt__(__pyx_self, __pyx_v_self, __pyx_v_error); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_10__gt__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_error) { int __pyx_v_ierr; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__gt__", 0); /* "mpi4py/MPI/ExceptionP.pyx":29 * * def __gt__(self, object error): * cdef int ierr = self.ob_mpi # <<<<<<<<<<<<<< * return (ierr > error) * */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 29, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_ierr = __pyx_t_2; /* "mpi4py/MPI/ExceptionP.pyx":30 * def __gt__(self, object error): * cdef int ierr = self.ob_mpi * return (ierr > error) # <<<<<<<<<<<<<< * * def __ge__(self, object error): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ierr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 30, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_error, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 30, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 30, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 30, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/ExceptionP.pyx":28 * return (ierr <= error) * * def __gt__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr > error) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Exception.__gt__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":32 * return (ierr > error) * * def __ge__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr >= error) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_13__ge__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_12__ge__[] = "Exception.__ge__(self, error)"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_13__ge__ = {"__ge__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_13__ge__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_12__ge__}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_13__ge__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; PyObject *__pyx_v_error = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__ge__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_error,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_self)) != 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_error)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__ge__", 1, 2, 2, 1); __PYX_ERR(1, 32, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__ge__") < 0)) __PYX_ERR(1, 32, __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_self = values[0]; __pyx_v_error = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__ge__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 32, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.__ge__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_12__ge__(__pyx_self, __pyx_v_self, __pyx_v_error); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_12__ge__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_error) { int __pyx_v_ierr; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__ge__", 0); /* "mpi4py/MPI/ExceptionP.pyx":33 * * def __ge__(self, object error): * cdef int ierr = self.ob_mpi # <<<<<<<<<<<<<< * return (ierr >= error) * */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 33, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_ierr = __pyx_t_2; /* "mpi4py/MPI/ExceptionP.pyx":34 * def __ge__(self, object error): * cdef int ierr = self.ob_mpi * return (ierr >= error) # <<<<<<<<<<<<<< * * def __hash__(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ierr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_error, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/ExceptionP.pyx":32 * return (ierr > error) * * def __ge__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr >= error) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Exception.__ge__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":36 * return (ierr >= error) * * def __hash__(self): # <<<<<<<<<<<<<< * return hash(self.ob_mpi) * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_15__hash__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_14__hash__[] = "Exception.__hash__(self)"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_15__hash__ = {"__hash__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_15__hash__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_14__hash__}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_15__hash__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,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_self)) != 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, "__hash__") < 0)) __PYX_ERR(1, 36, __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_self = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__hash__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 36, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_14__hash__(__pyx_self, __pyx_v_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_14__hash__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; Py_hash_t __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__hash__", 0); /* "mpi4py/MPI/ExceptionP.pyx":37 * * def __hash__(self): * return hash(self.ob_mpi) # <<<<<<<<<<<<<< * * def __bool__(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 37, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(1, 37, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_FromHash_t(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 37, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/ExceptionP.pyx":36 * return (ierr >= error) * * def __hash__(self): # <<<<<<<<<<<<<< * return hash(self.ob_mpi) * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Exception.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":39 * return hash(self.ob_mpi) * * def __bool__(self): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return ierr != MPI_SUCCESS */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_17__bool__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_16__bool__[] = "Exception.__bool__(self)"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_17__bool__ = {"__bool__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_17__bool__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_16__bool__}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_17__bool__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,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_self)) != 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, "__bool__") < 0)) __PYX_ERR(1, 39, __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_self = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__bool__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 39, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.__bool__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_16__bool__(__pyx_self, __pyx_v_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_16__bool__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { int __pyx_v_ierr; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__bool__", 0); /* "mpi4py/MPI/ExceptionP.pyx":40 * * def __bool__(self): * cdef int ierr = self.ob_mpi # <<<<<<<<<<<<<< * return ierr != MPI_SUCCESS * */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 40, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_ierr = __pyx_t_2; /* "mpi4py/MPI/ExceptionP.pyx":41 * def __bool__(self): * cdef int ierr = self.ob_mpi * return ierr != MPI_SUCCESS # <<<<<<<<<<<<<< * * __nonzero__ = __bool__ */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_ierr != MPI_SUCCESS)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/ExceptionP.pyx":39 * return hash(self.ob_mpi) * * def __bool__(self): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return ierr != MPI_SUCCESS */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Exception.__bool__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":45 * __nonzero__ = __bool__ * * def __int__(self): # <<<<<<<<<<<<<< * return self.ob_mpi * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_19__int__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_18__int__[] = "Exception.__int__(self)"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_19__int__ = {"__int__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_19__int__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_18__int__}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_19__int__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__int__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,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_self)) != 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, "__int__") < 0)) __PYX_ERR(1, 45, __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_self = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__int__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 45, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_18__int__(__pyx_self, __pyx_v_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_18__int__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__int__", 0); /* "mpi4py/MPI/ExceptionP.pyx":46 * * def __int__(self): * return self.ob_mpi # <<<<<<<<<<<<<< * * def __repr__(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/ExceptionP.pyx":45 * __nonzero__ = __bool__ * * def __int__(self): # <<<<<<<<<<<<<< * return self.ob_mpi * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Exception.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":48 * return self.ob_mpi * * def __repr__(self): # <<<<<<<<<<<<<< * return "MPI.Exception(%d)" % self.ob_mpi * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_21__repr__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_20__repr__[] = "Exception.__repr__(self)"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_21__repr__ = {"__repr__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_21__repr__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_20__repr__}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_21__repr__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,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_self)) != 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, "__repr__") < 0)) __PYX_ERR(1, 48, __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_self = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__repr__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 48, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_20__repr__(__pyx_self, __pyx_v_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_20__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__repr__", 0); /* "mpi4py/MPI/ExceptionP.pyx":49 * * def __repr__(self): * return "MPI.Exception(%d)" % self.ob_mpi # <<<<<<<<<<<<<< * * def __str__(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 49, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyString_FormatSafe(__pyx_kp_s_MPI_Exception_d, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 49, __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; /* "mpi4py/MPI/ExceptionP.pyx":48 * return self.ob_mpi * * def __repr__(self): # <<<<<<<<<<<<<< * return "MPI.Exception(%d)" % self.ob_mpi * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Exception.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":51 * return "MPI.Exception(%d)" % self.ob_mpi * * def __str__(self): # <<<<<<<<<<<<<< * if not mpi_active(): * return "error code: %d" % self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_23__str__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_22__str__[] = "Exception.__str__(self)"; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_23__str__ = {"__str__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_23__str__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_22__str__}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_23__str__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__str__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,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_self)) != 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, "__str__") < 0)) __PYX_ERR(1, 51, __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_self = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__str__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 51, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_22__str__(__pyx_self, __pyx_v_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_22__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__str__", 0); /* "mpi4py/MPI/ExceptionP.pyx":52 * * def __str__(self): * if not mpi_active(): # <<<<<<<<<<<<<< * return "error code: %d" % self.ob_mpi * return self.Get_error_string() */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/ExceptionP.pyx":53 * def __str__(self): * if not mpi_active(): * return "error code: %d" % self.ob_mpi # <<<<<<<<<<<<<< * return self.Get_error_string() * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyString_FormatSafe(__pyx_kp_s_error_code_d, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 53, __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; /* "mpi4py/MPI/ExceptionP.pyx":52 * * def __str__(self): * if not mpi_active(): # <<<<<<<<<<<<<< * return "error code: %d" % self.ob_mpi * return self.Get_error_string() */ } /* "mpi4py/MPI/ExceptionP.pyx":54 * if not mpi_active(): * return "error code: %d" % self.ob_mpi * return self.Get_error_string() # <<<<<<<<<<<<<< * * def Get_error_code(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_Get_error_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 54, __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_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_3)) __PYX_ERR(1, 54, __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; /* "mpi4py/MPI/ExceptionP.pyx":51 * return "MPI.Exception(%d)" % self.ob_mpi * * def __str__(self): # <<<<<<<<<<<<<< * if not mpi_active(): * return "error code: %d" % self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Exception.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":56 * return self.Get_error_string() * * def Get_error_code(self): # <<<<<<<<<<<<<< * """ * Error code */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_25Get_error_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_24Get_error_code[] = "Exception.Get_error_code(self)\n\n Error code\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_25Get_error_code = {"Get_error_code", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_25Get_error_code, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_24Get_error_code}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_25Get_error_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_error_code (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,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_self)) != 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, "Get_error_code") < 0)) __PYX_ERR(1, 56, __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_self = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_error_code", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 56, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.Get_error_code", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_24Get_error_code(__pyx_self, __pyx_v_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_24Get_error_code(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { int __pyx_v_errorcode; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_error_code", 0); /* "mpi4py/MPI/ExceptionP.pyx":60 * Error code * """ * cdef int errorcode = MPI_SUCCESS # <<<<<<<<<<<<<< * errorcode = self.ob_mpi * return errorcode */ __pyx_v_errorcode = MPI_SUCCESS; /* "mpi4py/MPI/ExceptionP.pyx":61 * """ * cdef int errorcode = MPI_SUCCESS * errorcode = self.ob_mpi # <<<<<<<<<<<<<< * return errorcode * */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 61, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_errorcode = __pyx_t_2; /* "mpi4py/MPI/ExceptionP.pyx":62 * cdef int errorcode = MPI_SUCCESS * errorcode = self.ob_mpi * return errorcode # <<<<<<<<<<<<<< * * error_code = property(Get_error_code, doc="error code") */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_errorcode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/ExceptionP.pyx":56 * return self.Get_error_string() * * def Get_error_code(self): # <<<<<<<<<<<<<< * """ * Error code */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Exception.Get_error_code", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":66 * error_code = property(Get_error_code, doc="error code") * * def Get_error_class(self): # <<<<<<<<<<<<<< * """ * Error class */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_27Get_error_class(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_26Get_error_class[] = "Exception.Get_error_class(self)\n\n Error class\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_27Get_error_class = {"Get_error_class", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_27Get_error_class, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_26Get_error_class}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_27Get_error_class(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_error_class (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,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_self)) != 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, "Get_error_class") < 0)) __PYX_ERR(1, 66, __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_self = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_error_class", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 66, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.Get_error_class", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_26Get_error_class(__pyx_self, __pyx_v_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_26Get_error_class(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { int __pyx_v_errorclass; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_error_class", 0); /* "mpi4py/MPI/ExceptionP.pyx":70 * Error class * """ * cdef int errorclass = MPI_SUCCESS # <<<<<<<<<<<<<< * CHKERR( MPI_Error_class(self.ob_mpi, &errorclass) ) * return errorclass */ __pyx_v_errorclass = MPI_SUCCESS; /* "mpi4py/MPI/ExceptionP.pyx":71 * """ * cdef int errorclass = MPI_SUCCESS * CHKERR( MPI_Error_class(self.ob_mpi, &errorclass) ) # <<<<<<<<<<<<<< * return errorclass * */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 71, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Error_class(__pyx_t_2, (&__pyx_v_errorclass))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 71, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":72 * cdef int errorclass = MPI_SUCCESS * CHKERR( MPI_Error_class(self.ob_mpi, &errorclass) ) * return errorclass # <<<<<<<<<<<<<< * * error_class = property(Get_error_class, doc="error class") */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_errorclass); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/ExceptionP.pyx":66 * error_code = property(Get_error_code, doc="error code") * * def Get_error_class(self): # <<<<<<<<<<<<<< * """ * Error class */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Exception.Get_error_class", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/ExceptionP.pyx":76 * error_class = property(Get_error_class, doc="error class") * * def Get_error_string(self): # <<<<<<<<<<<<<< * """ * Error string */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_29Get_error_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Exception_28Get_error_string[] = "Exception.Get_error_string(self)\n\n Error string\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Exception_29Get_error_string = {"Get_error_string", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Exception_29Get_error_string, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Exception_28Get_error_string}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Exception_29Get_error_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_self = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_error_string (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,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_self)) != 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, "Get_error_string") < 0)) __PYX_ERR(1, 76, __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_self = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_error_string", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 76, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Exception.Get_error_string", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Exception_28Get_error_string(__pyx_self, __pyx_v_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Exception_28Get_error_string(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { char __pyx_v_string[(MPI_MAX_ERROR_STRING + 1)]; int __pyx_v_resultlen; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_error_string", 0); /* "mpi4py/MPI/ExceptionP.pyx":81 * """ * cdef char string[MPI_MAX_ERROR_STRING+1] * cdef int resultlen = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Error_string(self.ob_mpi, string, &resultlen) ) * return tompistr(string, resultlen) */ __pyx_v_resultlen = 0; /* "mpi4py/MPI/ExceptionP.pyx":82 * cdef char string[MPI_MAX_ERROR_STRING+1] * cdef int resultlen = 0 * CHKERR( MPI_Error_string(self.ob_mpi, string, &resultlen) ) # <<<<<<<<<<<<<< * return tompistr(string, resultlen) * */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ob_mpi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 82, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Error_string(__pyx_t_2, __pyx_v_string, (&__pyx_v_resultlen))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 82, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":83 * cdef int resultlen = 0 * CHKERR( MPI_Error_string(self.ob_mpi, string, &resultlen) ) * return tompistr(string, resultlen) # <<<<<<<<<<<<<< * * error_string = property(Get_error_string, doc="error string") */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_f_6mpi4py_3MPI_tompistr(__pyx_v_string, __pyx_v_resultlen); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/ExceptionP.pyx":76 * error_class = property(Get_error_class, doc="error class") * * def Get_error_string(self): # <<<<<<<<<<<<<< * """ * Error string */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Exception.Get_error_string", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Exception.pyx":87 * * * def Get_error_class(int errorcode): # <<<<<<<<<<<<<< * """ * Convert an *error code* into an *error class* */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Get_error_class(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Get_error_class[] = "Get_error_class(int errorcode)\n\n Convert an *error code* into an *error class*\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_5Get_error_class = {"Get_error_class", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Get_error_class, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Get_error_class}; static PyObject *__pyx_pw_6mpi4py_3MPI_5Get_error_class(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorcode; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_error_class (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_errorcode,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_errorcode)) != 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, "Get_error_class") < 0)) __PYX_ERR(19, 87, __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_errorcode = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_errorcode == (int)-1) && PyErr_Occurred())) __PYX_ERR(19, 87, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_error_class", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(19, 87, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Get_error_class", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Get_error_class(__pyx_self, __pyx_v_errorcode); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Get_error_class(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_errorcode) { int __pyx_v_errorclass; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_error_class", 0); /* "mpi4py/MPI/Exception.pyx":91 * Convert an *error code* into an *error class* * """ * cdef int errorclass = MPI_SUCCESS # <<<<<<<<<<<<<< * CHKERR( MPI_Error_class(errorcode, &errorclass) ) * return errorclass */ __pyx_v_errorclass = MPI_SUCCESS; /* "mpi4py/MPI/Exception.pyx":92 * """ * cdef int errorclass = MPI_SUCCESS * CHKERR( MPI_Error_class(errorcode, &errorclass) ) # <<<<<<<<<<<<<< * return errorclass * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Error_class(__pyx_v_errorcode, (&__pyx_v_errorclass))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(19, 92, __pyx_L1_error) /* "mpi4py/MPI/Exception.pyx":93 * cdef int errorclass = MPI_SUCCESS * CHKERR( MPI_Error_class(errorcode, &errorclass) ) * return errorclass # <<<<<<<<<<<<<< * * def Get_error_string(int errorcode): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_errorclass); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Exception.pyx":87 * * * def Get_error_class(int errorcode): # <<<<<<<<<<<<<< * """ * Convert an *error code* into an *error class* */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Get_error_class", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Exception.pyx":95 * return errorclass * * def Get_error_string(int errorcode): # <<<<<<<<<<<<<< * """ * Return the *error string* for a given */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Get_error_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Get_error_string[] = "Get_error_string(int errorcode)\n\n Return the *error string* for a given\n *error class* or *error code*\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_7Get_error_string = {"Get_error_string", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Get_error_string, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Get_error_string}; static PyObject *__pyx_pw_6mpi4py_3MPI_7Get_error_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorcode; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_error_string (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_errorcode,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_errorcode)) != 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, "Get_error_string") < 0)) __PYX_ERR(19, 95, __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_errorcode = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_errorcode == (int)-1) && PyErr_Occurred())) __PYX_ERR(19, 95, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_error_string", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(19, 95, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Get_error_string", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Get_error_string(__pyx_self, __pyx_v_errorcode); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Get_error_string(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_errorcode) { char __pyx_v_string[(MPI_MAX_ERROR_STRING + 1)]; int __pyx_v_resultlen; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_error_string", 0); /* "mpi4py/MPI/Exception.pyx":101 * """ * cdef char string[MPI_MAX_ERROR_STRING+1] * cdef int resultlen = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Error_string(errorcode, string, &resultlen) ) * return tompistr(string, resultlen) */ __pyx_v_resultlen = 0; /* "mpi4py/MPI/Exception.pyx":102 * cdef char string[MPI_MAX_ERROR_STRING+1] * cdef int resultlen = 0 * CHKERR( MPI_Error_string(errorcode, string, &resultlen) ) # <<<<<<<<<<<<<< * return tompistr(string, resultlen) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Error_string(__pyx_v_errorcode, __pyx_v_string, (&__pyx_v_resultlen))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(19, 102, __pyx_L1_error) /* "mpi4py/MPI/Exception.pyx":103 * cdef int resultlen = 0 * CHKERR( MPI_Error_string(errorcode, string, &resultlen) ) * return tompistr(string, resultlen) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_tompistr(__pyx_v_string, __pyx_v_resultlen); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Exception.pyx":95 * return errorclass * * def Get_error_string(int errorcode): # <<<<<<<<<<<<<< * """ * Return the *error string* for a given */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Get_error_string", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Exception.pyx":106 * * * def Add_error_class(): # <<<<<<<<<<<<<< * """ * Add an *error class* to the known error classes */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Add_error_class(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Add_error_class[] = "Add_error_class()\n\n Add an *error class* to the known error classes\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_9Add_error_class = {"Add_error_class", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Add_error_class, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Add_error_class}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Add_error_class(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Add_error_class (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Add_error_class", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Add_error_class", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Add_error_class(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Add_error_class(CYTHON_UNUSED PyObject *__pyx_self) { int __pyx_v_errorclass; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Add_error_class", 0); /* "mpi4py/MPI/Exception.pyx":110 * Add an *error class* to the known error classes * """ * cdef int errorclass = MPI_SUCCESS # <<<<<<<<<<<<<< * CHKERR( MPI_Add_error_class(&errorclass) ) * return errorclass */ __pyx_v_errorclass = MPI_SUCCESS; /* "mpi4py/MPI/Exception.pyx":111 * """ * cdef int errorclass = MPI_SUCCESS * CHKERR( MPI_Add_error_class(&errorclass) ) # <<<<<<<<<<<<<< * return errorclass * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Add_error_class((&__pyx_v_errorclass))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(19, 111, __pyx_L1_error) /* "mpi4py/MPI/Exception.pyx":112 * cdef int errorclass = MPI_SUCCESS * CHKERR( MPI_Add_error_class(&errorclass) ) * return errorclass # <<<<<<<<<<<<<< * * def Add_error_code(int errorclass): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_errorclass); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Exception.pyx":106 * * * def Add_error_class(): # <<<<<<<<<<<<<< * """ * Add an *error class* to the known error classes */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Add_error_class", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Exception.pyx":114 * return errorclass * * def Add_error_code(int errorclass): # <<<<<<<<<<<<<< * """ * Add an *error code* to an *error class* */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_11Add_error_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_10Add_error_code[] = "Add_error_code(int errorclass)\n\n Add an *error code* to an *error class*\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_11Add_error_code = {"Add_error_code", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_11Add_error_code, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_10Add_error_code}; static PyObject *__pyx_pw_6mpi4py_3MPI_11Add_error_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorclass; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Add_error_code (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_errorclass,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_errorclass)) != 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, "Add_error_code") < 0)) __PYX_ERR(19, 114, __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_errorclass = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_errorclass == (int)-1) && PyErr_Occurred())) __PYX_ERR(19, 114, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Add_error_code", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(19, 114, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Add_error_code", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_10Add_error_code(__pyx_self, __pyx_v_errorclass); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_10Add_error_code(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_errorclass) { int __pyx_v_errorcode; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Add_error_code", 0); /* "mpi4py/MPI/Exception.pyx":118 * Add an *error code* to an *error class* * """ * cdef int errorcode = MPI_SUCCESS # <<<<<<<<<<<<<< * CHKERR( MPI_Add_error_code(errorclass, &errorcode) ) * return errorcode */ __pyx_v_errorcode = MPI_SUCCESS; /* "mpi4py/MPI/Exception.pyx":119 * """ * cdef int errorcode = MPI_SUCCESS * CHKERR( MPI_Add_error_code(errorclass, &errorcode) ) # <<<<<<<<<<<<<< * return errorcode * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Add_error_code(__pyx_v_errorclass, (&__pyx_v_errorcode))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(19, 119, __pyx_L1_error) /* "mpi4py/MPI/Exception.pyx":120 * cdef int errorcode = MPI_SUCCESS * CHKERR( MPI_Add_error_code(errorclass, &errorcode) ) * return errorcode # <<<<<<<<<<<<<< * * def Add_error_string(int errorcode, string): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_errorcode); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Exception.pyx":114 * return errorclass * * def Add_error_code(int errorclass): # <<<<<<<<<<<<<< * """ * Add an *error code* to an *error class* */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Add_error_code", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Exception.pyx":122 * return errorcode * * def Add_error_string(int errorcode, string): # <<<<<<<<<<<<<< * """ * Associate an *error string* with an */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_13Add_error_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_12Add_error_string[] = "Add_error_string(int errorcode, string)\n\n Associate an *error string* with an\n *error class* or *errorcode*\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_13Add_error_string = {"Add_error_string", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_13Add_error_string, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_12Add_error_string}; static PyObject *__pyx_pw_6mpi4py_3MPI_13Add_error_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorcode; PyObject *__pyx_v_string = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Add_error_string (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_errorcode,&__pyx_n_s_string,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_errorcode)) != 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_string)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Add_error_string", 1, 2, 2, 1); __PYX_ERR(19, 122, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Add_error_string") < 0)) __PYX_ERR(19, 122, __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_errorcode = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_errorcode == (int)-1) && PyErr_Occurred())) __PYX_ERR(19, 122, __pyx_L3_error) __pyx_v_string = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Add_error_string", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(19, 122, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Add_error_string", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_12Add_error_string(__pyx_self, __pyx_v_errorcode, __pyx_v_string); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_12Add_error_string(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_errorcode, PyObject *__pyx_v_string) { char *__pyx_v_cstring; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Add_error_string", 0); __Pyx_INCREF(__pyx_v_string); /* "mpi4py/MPI/Exception.pyx":127 * *error class* or *errorcode* * """ * cdef char *cstring = NULL # <<<<<<<<<<<<<< * string = asmpistr(string, &cstring) * CHKERR( MPI_Add_error_string(errorcode, cstring) ) */ __pyx_v_cstring = NULL; /* "mpi4py/MPI/Exception.pyx":128 * """ * cdef char *cstring = NULL * string = asmpistr(string, &cstring) # <<<<<<<<<<<<<< * CHKERR( MPI_Add_error_string(errorcode, cstring) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_string, (&__pyx_v_cstring)); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_string, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":129 * cdef char *cstring = NULL * string = asmpistr(string, &cstring) * CHKERR( MPI_Add_error_string(errorcode, cstring) ) # <<<<<<<<<<<<<< */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Add_error_string(__pyx_v_errorcode, __pyx_v_cstring)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(19, 129, __pyx_L1_error) /* "mpi4py/MPI/Exception.pyx":122 * return errorcode * * def Add_error_string(int errorcode, string): # <<<<<<<<<<<<<< * """ * Associate an *error string* with an */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Add_error_string", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_string); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Errhandler.pyx":7 * """ * * def __cinit__(self, Errhandler errhandler=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_ERRHANDLER_NULL * if errhandler is None: return */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_10Errhandler_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_10Errhandler_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIErrhandlerObject *__pyx_v_errhandler = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_errhandler,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIErrhandlerObject *)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_errhandler); 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(20, 7, __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_errhandler = ((struct PyMPIErrhandlerObject *)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(20, 7, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Errhandler.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_errhandler), __pyx_ptype_6mpi4py_3MPI_Errhandler, 1, "errhandler", 0))) __PYX_ERR(20, 7, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_10Errhandler___cinit__(((struct PyMPIErrhandlerObject *)__pyx_v_self), __pyx_v_errhandler); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_10Errhandler___cinit__(struct PyMPIErrhandlerObject *__pyx_v_self, struct PyMPIErrhandlerObject *__pyx_v_errhandler) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; MPI_Errhandler __pyx_t_3; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Errhandler.pyx":8 * * def __cinit__(self, Errhandler errhandler=None): * self.ob_mpi = MPI_ERRHANDLER_NULL # <<<<<<<<<<<<<< * if errhandler is None: return * self.ob_mpi = errhandler.ob_mpi */ __pyx_v_self->ob_mpi = MPI_ERRHANDLER_NULL; /* "mpi4py/MPI/Errhandler.pyx":9 * def __cinit__(self, Errhandler errhandler=None): * self.ob_mpi = MPI_ERRHANDLER_NULL * if errhandler is None: return # <<<<<<<<<<<<<< * self.ob_mpi = errhandler.ob_mpi * */ __pyx_t_1 = (((PyObject *)__pyx_v_errhandler) == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Errhandler.pyx":10 * self.ob_mpi = MPI_ERRHANDLER_NULL * if errhandler is None: return * self.ob_mpi = errhandler.ob_mpi # <<<<<<<<<<<<<< * * def __dealloc__(self): */ __pyx_t_3 = __pyx_v_errhandler->ob_mpi; __pyx_v_self->ob_mpi = __pyx_t_3; /* "mpi4py/MPI/Errhandler.pyx":7 * """ * * def __cinit__(self, Errhandler errhandler=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_ERRHANDLER_NULL * if errhandler is None: return */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Errhandler.pyx":12 * self.ob_mpi = errhandler.ob_mpi * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Errhandler(&self.ob_mpi) ) */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_10Errhandler_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_10Errhandler_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_10Errhandler_2__dealloc__(((struct PyMPIErrhandlerObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_10Errhandler_2__dealloc__(struct PyMPIErrhandlerObject *__pyx_v_self) { __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "mpi4py/MPI/Errhandler.pyx":13 * * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return # <<<<<<<<<<<<<< * CHKERR( del_Errhandler(&self.ob_mpi) ) * */ __pyx_t_1 = ((!((__pyx_v_self->flags & __pyx_e_6mpi4py_3MPI_PyMPI_OWNED) != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "mpi4py/MPI/Errhandler.pyx":14 * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Errhandler(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * def __richcmp__(self, other, int op): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(__pyx_f_6mpi4py_3MPI_del_Errhandler((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(20, 14, __pyx_L1_error) /* "mpi4py/MPI/Errhandler.pyx":12 * self.ob_mpi = errhandler.ob_mpi * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Errhandler(&self.ob_mpi) ) */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.Errhandler.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/Errhandler.pyx":16 * CHKERR( del_Errhandler(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Errhandler): return NotImplemented * cdef Errhandler s = self, o = other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_10Errhandler_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_10Errhandler_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_10Errhandler_4__richcmp__(((struct PyMPIErrhandlerObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_op)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_10Errhandler_4__richcmp__(struct PyMPIErrhandlerObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { struct PyMPIErrhandlerObject *__pyx_v_s = 0; struct PyMPIErrhandlerObject *__pyx_v_o = 0; PyObject *__pyx_v_mod = 0; PyObject *__pyx_v_cls = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "mpi4py/MPI/Errhandler.pyx":17 * * def __richcmp__(self, other, int op): * if not isinstance(other, Errhandler): return NotImplemented # <<<<<<<<<<<<<< * cdef Errhandler s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_ptype_6mpi4py_3MPI_Errhandler); __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_builtin_NotImplemented); __pyx_r = __pyx_builtin_NotImplemented; goto __pyx_L0; } /* "mpi4py/MPI/Errhandler.pyx":18 * def __richcmp__(self, other, int op): * if not isinstance(other, Errhandler): return NotImplemented * cdef Errhandler s = self, o = other # <<<<<<<<<<<<<< * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) */ __pyx_t_3 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_3); __pyx_v_s = ((struct PyMPIErrhandlerObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_v_other; __Pyx_INCREF(__pyx_t_3); __pyx_v_o = ((struct PyMPIErrhandlerObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Errhandler.pyx":19 * if not isinstance(other, Errhandler): return NotImplemented * cdef Errhandler s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) # <<<<<<<<<<<<<< * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ */ __pyx_t_2 = ((__pyx_v_op == Py_EQ) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi == __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Errhandler.pyx":20 * cdef Errhandler s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) # <<<<<<<<<<<<<< * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ */ __pyx_t_2 = ((__pyx_v_op == Py_NE) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi != __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Errhandler.pyx":21 * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mod = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Errhandler.pyx":22 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_cls = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Errhandler.pyx":23 * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) # <<<<<<<<<<<<<< * * def __bool__(self): */ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mod); __Pyx_GIVEREF(__pyx_v_mod); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mod); __Pyx_INCREF(__pyx_v_cls); __Pyx_GIVEREF(__pyx_v_cls); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cls); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_unorderable_type_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(20, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(20, 23, __pyx_L1_error) /* "mpi4py/MPI/Errhandler.pyx":16 * CHKERR( del_Errhandler(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Errhandler): return NotImplemented * cdef Errhandler s = self, o = other */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Errhandler.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_s); __Pyx_XDECREF((PyObject *)__pyx_v_o); __Pyx_XDECREF(__pyx_v_mod); __Pyx_XDECREF(__pyx_v_cls); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Errhandler.pyx":25 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_ERRHANDLER_NULL * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_10Errhandler_7__bool__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_10Errhandler_7__bool__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_10Errhandler_6__bool__(((struct PyMPIErrhandlerObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_10Errhandler_6__bool__(struct PyMPIErrhandlerObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__", 0); /* "mpi4py/MPI/Errhandler.pyx":26 * * def __bool__(self): * return self.ob_mpi != MPI_ERRHANDLER_NULL # <<<<<<<<<<<<<< * * def Free(self): */ __pyx_r = (__pyx_v_self->ob_mpi != MPI_ERRHANDLER_NULL); goto __pyx_L0; /* "mpi4py/MPI/Errhandler.pyx":25 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_ERRHANDLER_NULL * */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Errhandler.pyx":28 * return self.ob_mpi != MPI_ERRHANDLER_NULL * * def Free(self): # <<<<<<<<<<<<<< * """ * Free an error handler */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_10Errhandler_9Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_10Errhandler_8Free[] = "Errhandler.Free(self)\n\n Free an error handler\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_10Errhandler_9Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Free", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Free", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_10Errhandler_8Free(((struct PyMPIErrhandlerObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_10Errhandler_8Free(struct PyMPIErrhandlerObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Free", 0); /* "mpi4py/MPI/Errhandler.pyx":32 * Free an error handler * """ * CHKERR( MPI_Errhandler_free(&self.ob_mpi) ) # <<<<<<<<<<<<<< * if self is __ERRORS_RETURN__: self.ob_mpi = MPI_ERRORS_RETURN * if self is __ERRORS_ARE_FATAL__: self.ob_mpi = MPI_ERRORS_ARE_FATAL */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Errhandler_free((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(20, 32, __pyx_L1_error) /* "mpi4py/MPI/Errhandler.pyx":33 * """ * CHKERR( MPI_Errhandler_free(&self.ob_mpi) ) * if self is __ERRORS_RETURN__: self.ob_mpi = MPI_ERRORS_RETURN # <<<<<<<<<<<<<< * if self is __ERRORS_ARE_FATAL__: self.ob_mpi = MPI_ERRORS_ARE_FATAL * */ __pyx_t_2 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___ERRORS_RETURN__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_self->ob_mpi = MPI_ERRORS_RETURN; } /* "mpi4py/MPI/Errhandler.pyx":34 * CHKERR( MPI_Errhandler_free(&self.ob_mpi) ) * if self is __ERRORS_RETURN__: self.ob_mpi = MPI_ERRORS_RETURN * if self is __ERRORS_ARE_FATAL__: self.ob_mpi = MPI_ERRORS_ARE_FATAL # <<<<<<<<<<<<<< * * # Fortran Handle */ __pyx_t_3 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___ERRORS_ARE_FATAL__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_self->ob_mpi = MPI_ERRORS_ARE_FATAL; } /* "mpi4py/MPI/Errhandler.pyx":28 * return self.ob_mpi != MPI_ERRHANDLER_NULL * * def Free(self): # <<<<<<<<<<<<<< * """ * Free an error handler */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Errhandler.Free", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Errhandler.pyx":39 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_10Errhandler_11py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_10Errhandler_10py2f[] = "Errhandler.py2f(self)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_10Errhandler_11py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("py2f (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("py2f", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "py2f", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_10Errhandler_10py2f(((struct PyMPIErrhandlerObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_10Errhandler_10py2f(struct PyMPIErrhandlerObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("py2f", 0); /* "mpi4py/MPI/Errhandler.pyx":42 * """ * """ * return MPI_Errhandler_c2f(self.ob_mpi) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Fint(MPI_Errhandler_c2f(__pyx_v_self->ob_mpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Errhandler.pyx":39 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Errhandler.py2f", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Errhandler.pyx":45 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_10Errhandler_13f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_10Errhandler_12f2py[] = "Errhandler.f2py(type cls, arg)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_10Errhandler_13f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("f2py (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "f2py") < 0)) __PYX_ERR(20, 45, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("f2py", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(20, 45, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Errhandler.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_10Errhandler_12f2py(((PyTypeObject*)__pyx_v_cls), __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_10Errhandler_12f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg) { struct PyMPIErrhandlerObject *__pyx_v_errhandler = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; MPI_Fint __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("f2py", 0); /* "mpi4py/MPI/Errhandler.pyx":48 * """ * """ * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) # <<<<<<<<<<<<<< * errhandler.ob_mpi = MPI_Errhandler_f2c(arg) * return errhandler */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Errhandler(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 48, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_errhandler = ((struct PyMPIErrhandlerObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Errhandler.pyx":49 * """ * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) * errhandler.ob_mpi = MPI_Errhandler_f2c(arg) # <<<<<<<<<<<<<< * return errhandler * */ __pyx_t_3 = __Pyx_PyInt_As_MPI_Fint(__pyx_v_arg); if (unlikely((__pyx_t_3 == ((MPI_Fint)-1)) && PyErr_Occurred())) __PYX_ERR(20, 49, __pyx_L1_error) __pyx_v_errhandler->ob_mpi = MPI_Errhandler_f2c(__pyx_t_3); /* "mpi4py/MPI/Errhandler.pyx":50 * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) * errhandler.ob_mpi = MPI_Errhandler_f2c(arg) * return errhandler # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_errhandler)); __pyx_r = ((PyObject *)__pyx_v_errhandler); goto __pyx_L0; /* "mpi4py/MPI/Errhandler.pyx":45 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Errhandler.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_errhandler); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":49 * """ * * def __cinit__(self, Datatype datatype=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_DATATYPE_NULL * if datatype is None: return */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_8Datatype_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_8Datatype_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_datatype,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIDatatypeObject *)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_datatype); 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(21, 49, __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_datatype = ((struct PyMPIDatatypeObject *)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(21, 49, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_datatype), __pyx_ptype_6mpi4py_3MPI_Datatype, 1, "datatype", 0))) __PYX_ERR(21, 49, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype___cinit__(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_datatype); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_8Datatype___cinit__(struct PyMPIDatatypeObject *__pyx_v_self, struct PyMPIDatatypeObject *__pyx_v_datatype) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; MPI_Datatype __pyx_t_3; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Datatype.pyx":50 * * def __cinit__(self, Datatype datatype=None): * self.ob_mpi = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * if datatype is None: return * self.ob_mpi = datatype.ob_mpi */ __pyx_v_self->ob_mpi = MPI_DATATYPE_NULL; /* "mpi4py/MPI/Datatype.pyx":51 * def __cinit__(self, Datatype datatype=None): * self.ob_mpi = MPI_DATATYPE_NULL * if datatype is None: return # <<<<<<<<<<<<<< * self.ob_mpi = datatype.ob_mpi * */ __pyx_t_1 = (((PyObject *)__pyx_v_datatype) == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Datatype.pyx":52 * self.ob_mpi = MPI_DATATYPE_NULL * if datatype is None: return * self.ob_mpi = datatype.ob_mpi # <<<<<<<<<<<<<< * * def __dealloc__(self): */ __pyx_t_3 = __pyx_v_datatype->ob_mpi; __pyx_v_self->ob_mpi = __pyx_t_3; /* "mpi4py/MPI/Datatype.pyx":49 * """ * * def __cinit__(self, Datatype datatype=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_DATATYPE_NULL * if datatype is None: return */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":54 * self.ob_mpi = datatype.ob_mpi * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Datatype(&self.ob_mpi) ) */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_8Datatype_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_8Datatype_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_8Datatype_2__dealloc__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_8Datatype_2__dealloc__(struct PyMPIDatatypeObject *__pyx_v_self) { __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "mpi4py/MPI/Datatype.pyx":55 * * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return # <<<<<<<<<<<<<< * CHKERR( del_Datatype(&self.ob_mpi) ) * */ __pyx_t_1 = ((!((__pyx_v_self->flags & __pyx_e_6mpi4py_3MPI_PyMPI_OWNED) != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "mpi4py/MPI/Datatype.pyx":56 * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Datatype(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * def __richcmp__(self, other, int op): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(__pyx_f_6mpi4py_3MPI_del_Datatype((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(21, 56, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":54 * self.ob_mpi = datatype.ob_mpi * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Datatype(&self.ob_mpi) ) */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.Datatype.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/Datatype.pyx":58 * CHKERR( del_Datatype(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Datatype): return NotImplemented * cdef Datatype s = self, o = other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_4__richcmp__(((struct PyMPIDatatypeObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_op)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_4__richcmp__(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { struct PyMPIDatatypeObject *__pyx_v_s = 0; struct PyMPIDatatypeObject *__pyx_v_o = 0; PyObject *__pyx_v_mod = 0; PyObject *__pyx_v_cls = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "mpi4py/MPI/Datatype.pyx":59 * * def __richcmp__(self, other, int op): * if not isinstance(other, Datatype): return NotImplemented # <<<<<<<<<<<<<< * cdef Datatype s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_ptype_6mpi4py_3MPI_Datatype); __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_builtin_NotImplemented); __pyx_r = __pyx_builtin_NotImplemented; goto __pyx_L0; } /* "mpi4py/MPI/Datatype.pyx":60 * def __richcmp__(self, other, int op): * if not isinstance(other, Datatype): return NotImplemented * cdef Datatype s = self, o = other # <<<<<<<<<<<<<< * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) */ __pyx_t_3 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_3); __pyx_v_s = ((struct PyMPIDatatypeObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_v_other; __Pyx_INCREF(__pyx_t_3); __pyx_v_o = ((struct PyMPIDatatypeObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":61 * if not isinstance(other, Datatype): return NotImplemented * cdef Datatype s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) # <<<<<<<<<<<<<< * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ */ __pyx_t_2 = ((__pyx_v_op == Py_EQ) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi == __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Datatype.pyx":62 * cdef Datatype s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) # <<<<<<<<<<<<<< * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ */ __pyx_t_2 = ((__pyx_v_op == Py_NE) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi != __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Datatype.pyx":63 * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mod = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":64 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_cls = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":65 * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) # <<<<<<<<<<<<<< * * def __bool__(self): */ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mod); __Pyx_GIVEREF(__pyx_v_mod); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mod); __Pyx_INCREF(__pyx_v_cls); __Pyx_GIVEREF(__pyx_v_cls); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cls); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_unorderable_type_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(21, 65, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":58 * CHKERR( del_Datatype(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Datatype): return NotImplemented * cdef Datatype s = self, o = other */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Datatype.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_s); __Pyx_XDECREF((PyObject *)__pyx_v_o); __Pyx_XDECREF(__pyx_v_mod); __Pyx_XDECREF(__pyx_v_cls); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":67 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_DATATYPE_NULL * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_8Datatype_7__bool__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_8Datatype_7__bool__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_6__bool__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_8Datatype_6__bool__(struct PyMPIDatatypeObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__", 0); /* "mpi4py/MPI/Datatype.pyx":68 * * def __bool__(self): * return self.ob_mpi != MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * * # Datatype Accessors */ __pyx_r = (__pyx_v_self->ob_mpi != MPI_DATATYPE_NULL); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":67 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_DATATYPE_NULL * */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":73 * # ------------------ * * def Get_size(self): # <<<<<<<<<<<<<< * """ * Return the number of bytes occupied */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_9Get_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_8Get_size[] = "Datatype.Get_size(self)\n\n Return the number of bytes occupied\n by entries in the datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_9Get_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_size (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_size", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_size", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_8Get_size(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_8Get_size(struct PyMPIDatatypeObject *__pyx_v_self) { MPI_Count __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_size", 0); /* "mpi4py/MPI/Datatype.pyx":78 * by entries in the datatype * """ * cdef MPI_Count size = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_size_x(self.ob_mpi, &size) ) * return size */ __pyx_v_size = 0; /* "mpi4py/MPI/Datatype.pyx":79 * """ * cdef MPI_Count size = 0 * CHKERR( MPI_Type_size_x(self.ob_mpi, &size) ) # <<<<<<<<<<<<<< * return size * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_size_x(__pyx_v_self->ob_mpi, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 79, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":80 * cdef MPI_Count size = 0 * CHKERR( MPI_Type_size_x(self.ob_mpi, &size) ) * return size # <<<<<<<<<<<<<< * * property size: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Count(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":73 * # ------------------ * * def Get_size(self): # <<<<<<<<<<<<<< * """ * Return the number of bytes occupied */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Get_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":84 * property size: * """size (in bytes)""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count size = 0 * CHKERR( MPI_Type_size_x(self.ob_mpi, &size) ) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_4size_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_4size_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_4size___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_4size___get__(struct PyMPIDatatypeObject *__pyx_v_self) { MPI_Count __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":85 * """size (in bytes)""" * def __get__(self): * cdef MPI_Count size = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_size_x(self.ob_mpi, &size) ) * return size */ __pyx_v_size = 0; /* "mpi4py/MPI/Datatype.pyx":86 * def __get__(self): * cdef MPI_Count size = 0 * CHKERR( MPI_Type_size_x(self.ob_mpi, &size) ) # <<<<<<<<<<<<<< * return size * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_size_x(__pyx_v_self->ob_mpi, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 86, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":87 * cdef MPI_Count size = 0 * CHKERR( MPI_Type_size_x(self.ob_mpi, &size) ) * return size # <<<<<<<<<<<<<< * * def Get_extent(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Count(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":84 * property size: * """size (in bytes)""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count size = 0 * CHKERR( MPI_Type_size_x(self.ob_mpi, &size) ) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":89 * return size * * def Get_extent(self): # <<<<<<<<<<<<<< * """ * Return lower bound and extent of datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_11Get_extent(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_10Get_extent[] = "Datatype.Get_extent(self)\n\n Return lower bound and extent of datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_11Get_extent(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_extent (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_extent", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_extent", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_10Get_extent(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_10Get_extent(struct PyMPIDatatypeObject *__pyx_v_self) { MPI_Count __pyx_v_lb; MPI_Count __pyx_v_extent; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_extent", 0); /* "mpi4py/MPI/Datatype.pyx":93 * Return lower bound and extent of datatype * """ * cdef MPI_Count lb = 0, extent = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) * return (lb, extent) */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/Datatype.pyx":94 * """ * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) # <<<<<<<<<<<<<< * return (lb, extent) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent_x(__pyx_v_self->ob_mpi, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 94, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":95 * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) * return (lb, extent) # <<<<<<<<<<<<<< * * property extent: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Count(__pyx_v_lb); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_MPI_Count(__pyx_v_extent); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":89 * return size * * def Get_extent(self): # <<<<<<<<<<<<<< * """ * Return lower bound and extent of datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Get_extent", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":99 * property extent: * """extent""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_6extent_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_6extent_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_6extent___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_6extent___get__(struct PyMPIDatatypeObject *__pyx_v_self) { MPI_Count __pyx_v_lb; MPI_Count __pyx_v_extent; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":100 * """extent""" * def __get__(self): * cdef MPI_Count lb = 0, extent = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) * return extent */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/Datatype.pyx":101 * def __get__(self): * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) # <<<<<<<<<<<<<< * return extent * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent_x(__pyx_v_self->ob_mpi, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 101, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":102 * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) * return extent # <<<<<<<<<<<<<< * * property lb: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Count(__pyx_v_extent); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":99 * property extent: * """extent""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.extent.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":106 * property lb: * """lower bound""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_2lb_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_2lb_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_2lb___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_2lb___get__(struct PyMPIDatatypeObject *__pyx_v_self) { MPI_Count __pyx_v_lb; MPI_Count __pyx_v_extent; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":107 * """lower bound""" * def __get__(self): * cdef MPI_Count lb = 0, extent = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) * return lb */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/Datatype.pyx":108 * def __get__(self): * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) # <<<<<<<<<<<<<< * return lb * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent_x(__pyx_v_self->ob_mpi, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 108, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":109 * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) * return lb # <<<<<<<<<<<<<< * * property ub: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Count(__pyx_v_lb); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":106 * property lb: * """lower bound""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.lb.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":113 * property ub: * """upper bound""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_2ub_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_2ub_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_2ub___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_2ub___get__(struct PyMPIDatatypeObject *__pyx_v_self) { MPI_Count __pyx_v_lb; MPI_Count __pyx_v_extent; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":114 * """upper bound""" * def __get__(self): * cdef MPI_Count lb = 0, extent = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) * return lb + extent */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/Datatype.pyx":115 * def __get__(self): * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) # <<<<<<<<<<<<<< * return lb + extent * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent_x(__pyx_v_self->ob_mpi, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 115, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":116 * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) * return lb + extent # <<<<<<<<<<<<<< * * # Datatype Constructors */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Count((__pyx_v_lb + __pyx_v_extent)); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":113 * property ub: * """upper bound""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent_x(self.ob_mpi, &lb, &extent) ) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.ub.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":121 * # --------------------- * * def Dup(self): # <<<<<<<<<<<<<< * """ * Duplicate a datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_13Dup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_12Dup[] = "Datatype.Dup(self)\n\n Duplicate a datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_13Dup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Dup (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Dup", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Dup", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_12Dup(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_12Dup(struct PyMPIDatatypeObject *__pyx_v_self) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Dup", 0); /* "mpi4py/MPI/Datatype.pyx":125 * Duplicate a datatype * """ * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_dup(self.ob_mpi, &datatype.ob_mpi) ) * return datatype */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 125, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":126 * """ * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_dup(self.ob_mpi, &datatype.ob_mpi) ) # <<<<<<<<<<<<<< * return datatype * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_dup(__pyx_v_self->ob_mpi, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 126, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":127 * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_dup(self.ob_mpi, &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * Create_dup = Dup #: convenience alias */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":121 * # --------------------- * * def Dup(self): # <<<<<<<<<<<<<< * """ * Duplicate a datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Dup", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":131 * Create_dup = Dup #: convenience alias * * def Create_contiguous(self, int count): # <<<<<<<<<<<<<< * """ * Create a contiguous datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_15Create_contiguous(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_14Create_contiguous[] = "Datatype.Create_contiguous(self, int count)\n\n Create a contiguous datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_15Create_contiguous(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_count; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_contiguous (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_count,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_count)) != 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, "Create_contiguous") < 0)) __PYX_ERR(21, 131, __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_count = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 131, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_contiguous", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 131, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_contiguous", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_14Create_contiguous(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_count); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_14Create_contiguous(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_count) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_contiguous", 0); /* "mpi4py/MPI/Datatype.pyx":135 * Create a contiguous datatype * """ * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_contiguous(count, self.ob_mpi, * &datatype.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 135, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":136 * """ * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_contiguous(count, self.ob_mpi, # <<<<<<<<<<<<<< * &datatype.ob_mpi) ) * return datatype */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_contiguous(__pyx_v_count, __pyx_v_self->ob_mpi, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 136, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":138 * CHKERR( MPI_Type_contiguous(count, self.ob_mpi, * &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * def Create_vector(self, int count, int blocklength, int stride): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":131 * Create_dup = Dup #: convenience alias * * def Create_contiguous(self, int count): # <<<<<<<<<<<<<< * """ * Create a contiguous datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_contiguous", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":140 * return datatype * * def Create_vector(self, int count, int blocklength, int stride): # <<<<<<<<<<<<<< * """ * Create a vector (strided) datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_17Create_vector(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_16Create_vector[] = "Datatype.Create_vector(self, int count, int blocklength, int stride)\n\n Create a vector (strided) datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_17Create_vector(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_count; int __pyx_v_blocklength; int __pyx_v_stride; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_vector (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_count,&__pyx_n_s_blocklength,&__pyx_n_s_stride,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_count)) != 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_blocklength)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_vector", 1, 3, 3, 1); __PYX_ERR(21, 140, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stride)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_vector", 1, 3, 3, 2); __PYX_ERR(21, 140, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_vector") < 0)) __PYX_ERR(21, 140, __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_count = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 140, __pyx_L3_error) __pyx_v_blocklength = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_blocklength == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 140, __pyx_L3_error) __pyx_v_stride = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_stride == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 140, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_vector", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 140, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_vector", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_16Create_vector(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_count, __pyx_v_blocklength, __pyx_v_stride); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_16Create_vector(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_count, int __pyx_v_blocklength, int __pyx_v_stride) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_vector", 0); /* "mpi4py/MPI/Datatype.pyx":144 * Create a vector (strided) datatype * """ * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_vector(count, blocklength, stride, * self.ob_mpi, &datatype.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 144, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":145 * """ * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_vector(count, blocklength, stride, # <<<<<<<<<<<<<< * self.ob_mpi, &datatype.ob_mpi) ) * return datatype */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_vector(__pyx_v_count, __pyx_v_blocklength, __pyx_v_stride, __pyx_v_self->ob_mpi, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 145, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":147 * CHKERR( MPI_Type_vector(count, blocklength, stride, * self.ob_mpi, &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * def Create_hvector(self, int count, int blocklength, Aint stride): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":140 * return datatype * * def Create_vector(self, int count, int blocklength, int stride): # <<<<<<<<<<<<<< * """ * Create a vector (strided) datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_vector", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":149 * return datatype * * def Create_hvector(self, int count, int blocklength, Aint stride): # <<<<<<<<<<<<<< * """ * Create a vector (strided) datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_19Create_hvector(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_18Create_hvector[] = "Datatype.Create_hvector(self, int count, int blocklength, Aint stride)\n\n Create a vector (strided) datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_19Create_hvector(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_count; int __pyx_v_blocklength; MPI_Aint __pyx_v_stride; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_hvector (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_count,&__pyx_n_s_blocklength,&__pyx_n_s_stride,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_count)) != 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_blocklength)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_hvector", 1, 3, 3, 1); __PYX_ERR(21, 149, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stride)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_hvector", 1, 3, 3, 2); __PYX_ERR(21, 149, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_hvector") < 0)) __PYX_ERR(21, 149, __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_count = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 149, __pyx_L3_error) __pyx_v_blocklength = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_blocklength == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 149, __pyx_L3_error) __pyx_v_stride = __Pyx_PyInt_As_MPI_Aint(values[2]); if (unlikely((__pyx_v_stride == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(21, 149, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_hvector", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 149, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_hvector", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_18Create_hvector(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_count, __pyx_v_blocklength, __pyx_v_stride); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_18Create_hvector(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_count, int __pyx_v_blocklength, MPI_Aint __pyx_v_stride) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_hvector", 0); /* "mpi4py/MPI/Datatype.pyx":153 * Create a vector (strided) datatype * """ * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_hvector(count, blocklength, stride, * self.ob_mpi, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 153, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":154 * """ * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_hvector(count, blocklength, stride, # <<<<<<<<<<<<<< * self.ob_mpi, * &datatype.ob_mpi) ) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_hvector(__pyx_v_count, __pyx_v_blocklength, __pyx_v_stride, __pyx_v_self->ob_mpi, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 154, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":157 * self.ob_mpi, * &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * def Create_indexed(self, blocklengths, displacements): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":149 * return datatype * * def Create_hvector(self, int count, int blocklength, Aint stride): # <<<<<<<<<<<<<< * """ * Create a vector (strided) datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_hvector", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":159 * return datatype * * def Create_indexed(self, blocklengths, displacements): # <<<<<<<<<<<<<< * """ * Create an indexed datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_21Create_indexed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_20Create_indexed[] = "Datatype.Create_indexed(self, blocklengths, displacements)\n\n Create an indexed datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_21Create_indexed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_blocklengths = 0; PyObject *__pyx_v_displacements = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_indexed (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_blocklengths,&__pyx_n_s_displacements,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_blocklengths)) != 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_displacements)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_indexed", 1, 2, 2, 1); __PYX_ERR(21, 159, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_indexed") < 0)) __PYX_ERR(21, 159, __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_blocklengths = values[0]; __pyx_v_displacements = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_indexed", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 159, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_indexed", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_20Create_indexed(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_blocklengths, __pyx_v_displacements); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_20Create_indexed(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_blocklengths, PyObject *__pyx_v_displacements) { int __pyx_v_count; int *__pyx_v_iblen; int *__pyx_v_idisp; struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_indexed", 0); __Pyx_INCREF(__pyx_v_blocklengths); __Pyx_INCREF(__pyx_v_displacements); /* "mpi4py/MPI/Datatype.pyx":163 * Create an indexed datatype * """ * cdef int count = 0, *iblen = NULL, *idisp = NULL # <<<<<<<<<<<<<< * blocklengths = getarray(blocklengths, &count, &iblen) * displacements = chkarray(displacements, count, &idisp) */ __pyx_v_count = 0; __pyx_v_iblen = NULL; __pyx_v_idisp = NULL; /* "mpi4py/MPI/Datatype.pyx":164 * """ * cdef int count = 0, *iblen = NULL, *idisp = NULL * blocklengths = getarray(blocklengths, &count, &iblen) # <<<<<<<<<<<<<< * displacements = chkarray(displacements, count, &idisp) * # */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_blocklengths, (&__pyx_v_count), (&__pyx_v_iblen)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_blocklengths, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":165 * cdef int count = 0, *iblen = NULL, *idisp = NULL * blocklengths = getarray(blocklengths, &count, &iblen) * displacements = chkarray(displacements, count, &idisp) # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_displacements, __pyx_v_count, (&__pyx_v_idisp)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_displacements, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":167 * displacements = chkarray(displacements, count, &idisp) * # * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_indexed(count, iblen, idisp, * self.ob_mpi, &datatype.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 167, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":168 * # * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_indexed(count, iblen, idisp, # <<<<<<<<<<<<<< * self.ob_mpi, &datatype.ob_mpi) ) * return datatype */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_indexed(__pyx_v_count, __pyx_v_iblen, __pyx_v_idisp, __pyx_v_self->ob_mpi, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 168, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":170 * CHKERR( MPI_Type_indexed(count, iblen, idisp, * self.ob_mpi, &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * def Create_hindexed(self, blocklengths, displacements): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":159 * return datatype * * def Create_indexed(self, blocklengths, displacements): # <<<<<<<<<<<<<< * """ * Create an indexed datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_indexed", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XDECREF(__pyx_v_blocklengths); __Pyx_XDECREF(__pyx_v_displacements); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":172 * return datatype * * def Create_hindexed(self, blocklengths, displacements): # <<<<<<<<<<<<<< * """ * Create an indexed datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_23Create_hindexed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_22Create_hindexed[] = "Datatype.Create_hindexed(self, blocklengths, displacements)\n\n Create an indexed datatype\n with displacements in bytes\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_23Create_hindexed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_blocklengths = 0; PyObject *__pyx_v_displacements = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_hindexed (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_blocklengths,&__pyx_n_s_displacements,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_blocklengths)) != 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_displacements)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_hindexed", 1, 2, 2, 1); __PYX_ERR(21, 172, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_hindexed") < 0)) __PYX_ERR(21, 172, __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_blocklengths = values[0]; __pyx_v_displacements = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_hindexed", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 172, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_hindexed", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_22Create_hindexed(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_blocklengths, __pyx_v_displacements); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_22Create_hindexed(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_blocklengths, PyObject *__pyx_v_displacements) { int __pyx_v_count; int *__pyx_v_iblen; MPI_Aint *__pyx_v_idisp; struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_hindexed", 0); __Pyx_INCREF(__pyx_v_blocklengths); __Pyx_INCREF(__pyx_v_displacements); /* "mpi4py/MPI/Datatype.pyx":177 * with displacements in bytes * """ * cdef int count = 0, *iblen = NULL # <<<<<<<<<<<<<< * blocklengths = getarray(blocklengths, &count, &iblen) * cdef MPI_Aint *idisp = NULL */ __pyx_v_count = 0; __pyx_v_iblen = NULL; /* "mpi4py/MPI/Datatype.pyx":178 * """ * cdef int count = 0, *iblen = NULL * blocklengths = getarray(blocklengths, &count, &iblen) # <<<<<<<<<<<<<< * cdef MPI_Aint *idisp = NULL * displacements = chkarray(displacements, count, &idisp) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_blocklengths, (&__pyx_v_count), (&__pyx_v_iblen)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_blocklengths, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":179 * cdef int count = 0, *iblen = NULL * blocklengths = getarray(blocklengths, &count, &iblen) * cdef MPI_Aint *idisp = NULL # <<<<<<<<<<<<<< * displacements = chkarray(displacements, count, &idisp) * # */ __pyx_v_idisp = NULL; /* "mpi4py/MPI/Datatype.pyx":180 * blocklengths = getarray(blocklengths, &count, &iblen) * cdef MPI_Aint *idisp = NULL * displacements = chkarray(displacements, count, &idisp) # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_1 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_displacements, __pyx_v_count, (&__pyx_v_idisp)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_displacements, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":182 * displacements = chkarray(displacements, count, &idisp) * # * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_hindexed(count, iblen, idisp, * self.ob_mpi, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 182, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":183 * # * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_hindexed(count, iblen, idisp, # <<<<<<<<<<<<<< * self.ob_mpi, * &datatype.ob_mpi) ) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_hindexed(__pyx_v_count, __pyx_v_iblen, __pyx_v_idisp, __pyx_v_self->ob_mpi, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 183, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":186 * self.ob_mpi, * &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * def Create_indexed_block(self, int blocklength, displacements): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":172 * return datatype * * def Create_hindexed(self, blocklengths, displacements): # <<<<<<<<<<<<<< * """ * Create an indexed datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_hindexed", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XDECREF(__pyx_v_blocklengths); __Pyx_XDECREF(__pyx_v_displacements); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":188 * return datatype * * def Create_indexed_block(self, int blocklength, displacements): # <<<<<<<<<<<<<< * """ * Create an indexed datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_25Create_indexed_block(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_24Create_indexed_block[] = "Datatype.Create_indexed_block(self, int blocklength, displacements)\n\n Create an indexed datatype\n with constant-sized blocks\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_25Create_indexed_block(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_blocklength; PyObject *__pyx_v_displacements = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_indexed_block (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_blocklength,&__pyx_n_s_displacements,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_blocklength)) != 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_displacements)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_indexed_block", 1, 2, 2, 1); __PYX_ERR(21, 188, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_indexed_block") < 0)) __PYX_ERR(21, 188, __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_blocklength = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_blocklength == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 188, __pyx_L3_error) __pyx_v_displacements = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_indexed_block", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 188, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_indexed_block", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_24Create_indexed_block(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_blocklength, __pyx_v_displacements); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_24Create_indexed_block(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_blocklength, PyObject *__pyx_v_displacements) { int __pyx_v_count; int *__pyx_v_idisp; struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_indexed_block", 0); __Pyx_INCREF(__pyx_v_displacements); /* "mpi4py/MPI/Datatype.pyx":193 * with constant-sized blocks * """ * cdef int count = 0, *idisp = NULL # <<<<<<<<<<<<<< * displacements = getarray(displacements, &count, &idisp) * # */ __pyx_v_count = 0; __pyx_v_idisp = NULL; /* "mpi4py/MPI/Datatype.pyx":194 * """ * cdef int count = 0, *idisp = NULL * displacements = getarray(displacements, &count, &idisp) # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_displacements, (&__pyx_v_count), (&__pyx_v_idisp)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_displacements, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":196 * displacements = getarray(displacements, &count, &idisp) * # * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_indexed_block(count, blocklength, * idisp, self.ob_mpi, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 196, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":197 * # * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_indexed_block(count, blocklength, # <<<<<<<<<<<<<< * idisp, self.ob_mpi, * &datatype.ob_mpi) ) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_indexed_block(__pyx_v_count, __pyx_v_blocklength, __pyx_v_idisp, __pyx_v_self->ob_mpi, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 197, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":200 * idisp, self.ob_mpi, * &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * def Create_hindexed_block(self, int blocklength, displacements): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":188 * return datatype * * def Create_indexed_block(self, int blocklength, displacements): # <<<<<<<<<<<<<< * """ * Create an indexed datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_indexed_block", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XDECREF(__pyx_v_displacements); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":202 * return datatype * * def Create_hindexed_block(self, int blocklength, displacements): # <<<<<<<<<<<<<< * """ * Create an indexed datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_27Create_hindexed_block(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_26Create_hindexed_block[] = "Datatype.Create_hindexed_block(self, int blocklength, displacements)\n\n Create an indexed datatype\n with constant-sized blocks\n and displacements in bytes\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_27Create_hindexed_block(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_blocklength; PyObject *__pyx_v_displacements = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_hindexed_block (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_blocklength,&__pyx_n_s_displacements,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_blocklength)) != 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_displacements)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_hindexed_block", 1, 2, 2, 1); __PYX_ERR(21, 202, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_hindexed_block") < 0)) __PYX_ERR(21, 202, __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_blocklength = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_blocklength == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 202, __pyx_L3_error) __pyx_v_displacements = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_hindexed_block", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 202, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_hindexed_block", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_26Create_hindexed_block(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_blocklength, __pyx_v_displacements); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_26Create_hindexed_block(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_blocklength, PyObject *__pyx_v_displacements) { int __pyx_v_count; MPI_Aint *__pyx_v_idisp; struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_hindexed_block", 0); __Pyx_INCREF(__pyx_v_displacements); /* "mpi4py/MPI/Datatype.pyx":208 * and displacements in bytes * """ * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Aint *idisp = NULL * displacements = getarray(displacements, &count, &idisp) */ __pyx_v_count = 0; /* "mpi4py/MPI/Datatype.pyx":209 * """ * cdef int count = 0 * cdef MPI_Aint *idisp = NULL # <<<<<<<<<<<<<< * displacements = getarray(displacements, &count, &idisp) * # */ __pyx_v_idisp = NULL; /* "mpi4py/MPI/Datatype.pyx":210 * cdef int count = 0 * cdef MPI_Aint *idisp = NULL * displacements = getarray(displacements, &count, &idisp) # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_1 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_displacements, (&__pyx_v_count), (&__pyx_v_idisp)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_displacements, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":212 * displacements = getarray(displacements, &count, &idisp) * # * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_hindexed_block(count, blocklength, * idisp, self.ob_mpi, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 212, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":213 * # * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_hindexed_block(count, blocklength, # <<<<<<<<<<<<<< * idisp, self.ob_mpi, * &datatype.ob_mpi) ) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_hindexed_block(__pyx_v_count, __pyx_v_blocklength, __pyx_v_idisp, __pyx_v_self->ob_mpi, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 213, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":216 * idisp, self.ob_mpi, * &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":202 * return datatype * * def Create_hindexed_block(self, int blocklength, displacements): # <<<<<<<<<<<<<< * """ * Create an indexed datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_hindexed_block", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XDECREF(__pyx_v_displacements); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":219 * * @classmethod * def Create_struct(cls, blocklengths, displacements, datatypes): # <<<<<<<<<<<<<< * """ * Create an datatype from a general set of */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_29Create_struct(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_28Create_struct[] = "Datatype.Create_struct(type cls, blocklengths, displacements, datatypes)\n\n Create an datatype from a general set of\n block sizes, displacements and datatypes\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_29Create_struct(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_blocklengths = 0; PyObject *__pyx_v_displacements = 0; PyObject *__pyx_v_datatypes = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_struct (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_blocklengths,&__pyx_n_s_displacements,&__pyx_n_s_datatypes,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_blocklengths)) != 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_displacements)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_struct", 1, 3, 3, 1); __PYX_ERR(21, 219, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_datatypes)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_struct", 1, 3, 3, 2); __PYX_ERR(21, 219, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_struct") < 0)) __PYX_ERR(21, 219, __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_blocklengths = values[0]; __pyx_v_displacements = values[1]; __pyx_v_datatypes = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_struct", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 219, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_struct", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_28Create_struct(((PyTypeObject*)__pyx_v_cls), __pyx_v_blocklengths, __pyx_v_displacements, __pyx_v_datatypes); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_28Create_struct(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_blocklengths, PyObject *__pyx_v_displacements, PyObject *__pyx_v_datatypes) { int __pyx_v_count; int *__pyx_v_iblen; MPI_Aint *__pyx_v_idisp; MPI_Datatype *__pyx_v_ptype; struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_struct", 0); __Pyx_INCREF(__pyx_v_blocklengths); __Pyx_INCREF(__pyx_v_displacements); __Pyx_INCREF(__pyx_v_datatypes); /* "mpi4py/MPI/Datatype.pyx":224 * block sizes, displacements and datatypes * """ * cdef int count = 0, *iblen = NULL # <<<<<<<<<<<<<< * blocklengths = getarray(blocklengths, &count, &iblen) * cdef MPI_Aint *idisp = NULL */ __pyx_v_count = 0; __pyx_v_iblen = NULL; /* "mpi4py/MPI/Datatype.pyx":225 * """ * cdef int count = 0, *iblen = NULL * blocklengths = getarray(blocklengths, &count, &iblen) # <<<<<<<<<<<<<< * cdef MPI_Aint *idisp = NULL * displacements = chkarray(displacements, count, &idisp) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_blocklengths, (&__pyx_v_count), (&__pyx_v_iblen)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_blocklengths, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":226 * cdef int count = 0, *iblen = NULL * blocklengths = getarray(blocklengths, &count, &iblen) * cdef MPI_Aint *idisp = NULL # <<<<<<<<<<<<<< * displacements = chkarray(displacements, count, &idisp) * cdef MPI_Datatype *ptype = NULL */ __pyx_v_idisp = NULL; /* "mpi4py/MPI/Datatype.pyx":227 * blocklengths = getarray(blocklengths, &count, &iblen) * cdef MPI_Aint *idisp = NULL * displacements = chkarray(displacements, count, &idisp) # <<<<<<<<<<<<<< * cdef MPI_Datatype *ptype = NULL * datatypes = asarray_Datatype(datatypes, count, &ptype) */ __pyx_t_1 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_displacements, __pyx_v_count, (&__pyx_v_idisp)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_displacements, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":228 * cdef MPI_Aint *idisp = NULL * displacements = chkarray(displacements, count, &idisp) * cdef MPI_Datatype *ptype = NULL # <<<<<<<<<<<<<< * datatypes = asarray_Datatype(datatypes, count, &ptype) * # */ __pyx_v_ptype = NULL; /* "mpi4py/MPI/Datatype.pyx":229 * displacements = chkarray(displacements, count, &idisp) * cdef MPI_Datatype *ptype = NULL * datatypes = asarray_Datatype(datatypes, count, &ptype) # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asarray_Datatype(__pyx_v_datatypes, __pyx_v_count, (&__pyx_v_ptype)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_datatypes, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":231 * datatypes = asarray_Datatype(datatypes, count, &ptype) * # * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_struct(count, iblen, idisp, ptype, * &datatype.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 231, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":232 * # * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_struct(count, iblen, idisp, ptype, # <<<<<<<<<<<<<< * &datatype.ob_mpi) ) * return datatype */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_struct(__pyx_v_count, __pyx_v_iblen, __pyx_v_idisp, __pyx_v_ptype, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 232, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":234 * CHKERR( MPI_Type_create_struct(count, iblen, idisp, ptype, * &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * # Subarray Datatype Constructor */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":219 * * @classmethod * def Create_struct(cls, blocklengths, displacements, datatypes): # <<<<<<<<<<<<<< * """ * Create an datatype from a general set of */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_struct", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XDECREF(__pyx_v_blocklengths); __Pyx_XDECREF(__pyx_v_displacements); __Pyx_XDECREF(__pyx_v_datatypes); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":239 * # ----------------------------- * * def Create_subarray(self, sizes, subsizes, starts, # <<<<<<<<<<<<<< * int order=ORDER_C): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_31Create_subarray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_30Create_subarray[] = "Datatype.Create_subarray(self, sizes, subsizes, starts, int order=ORDER_C)\n\n Create a datatype for a subarray of\n a regular, multidimensional array\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_31Create_subarray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sizes = 0; PyObject *__pyx_v_subsizes = 0; PyObject *__pyx_v_starts = 0; int __pyx_v_order; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_subarray (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sizes,&__pyx_n_s_subsizes,&__pyx_n_s_starts,&__pyx_n_s_order,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_sizes)) != 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_subsizes)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_subarray", 0, 3, 4, 1); __PYX_ERR(21, 239, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_starts)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_subarray", 0, 3, 4, 2); __PYX_ERR(21, 239, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_order); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_subarray") < 0)) __PYX_ERR(21, 239, __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_sizes = values[0]; __pyx_v_subsizes = values[1]; __pyx_v_starts = values[2]; if (values[3]) { __pyx_v_order = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 240, __pyx_L3_error) } else { __pyx_v_order = __pyx_k__26; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_subarray", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 239, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_subarray", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_30Create_subarray(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_sizes, __pyx_v_subsizes, __pyx_v_starts, __pyx_v_order); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_30Create_subarray(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_sizes, PyObject *__pyx_v_subsizes, PyObject *__pyx_v_starts, int __pyx_v_order) { int __pyx_v_ndims; int *__pyx_v_isizes; int *__pyx_v_isubsizes; int *__pyx_v_istarts; struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_subarray", 0); __Pyx_INCREF(__pyx_v_sizes); __Pyx_INCREF(__pyx_v_subsizes); __Pyx_INCREF(__pyx_v_starts); /* "mpi4py/MPI/Datatype.pyx":245 * a regular, multidimensional array * """ * cdef int ndims = 0, *isizes = NULL # <<<<<<<<<<<<<< * cdef int *isubsizes = NULL, *istarts = NULL * sizes = getarray(sizes, &ndims, &isizes ) */ __pyx_v_ndims = 0; __pyx_v_isizes = NULL; /* "mpi4py/MPI/Datatype.pyx":246 * """ * cdef int ndims = 0, *isizes = NULL * cdef int *isubsizes = NULL, *istarts = NULL # <<<<<<<<<<<<<< * sizes = getarray(sizes, &ndims, &isizes ) * subsizes = chkarray(subsizes, ndims, &isubsizes) */ __pyx_v_isubsizes = NULL; __pyx_v_istarts = NULL; /* "mpi4py/MPI/Datatype.pyx":247 * cdef int ndims = 0, *isizes = NULL * cdef int *isubsizes = NULL, *istarts = NULL * sizes = getarray(sizes, &ndims, &isizes ) # <<<<<<<<<<<<<< * subsizes = chkarray(subsizes, ndims, &isubsizes) * starts = chkarray(starts, ndims, &istarts ) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_sizes, (&__pyx_v_ndims), (&__pyx_v_isizes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_sizes, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":248 * cdef int *isubsizes = NULL, *istarts = NULL * sizes = getarray(sizes, &ndims, &isizes ) * subsizes = chkarray(subsizes, ndims, &isubsizes) # <<<<<<<<<<<<<< * starts = chkarray(starts, ndims, &istarts ) * # */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_subsizes, __pyx_v_ndims, (&__pyx_v_isubsizes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_subsizes, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":249 * sizes = getarray(sizes, &ndims, &isizes ) * subsizes = chkarray(subsizes, ndims, &isubsizes) * starts = chkarray(starts, ndims, &istarts ) # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_starts, __pyx_v_ndims, (&__pyx_v_istarts)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_starts, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":251 * starts = chkarray(starts, ndims, &istarts ) * # * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_subarray(ndims, isizes, * isubsizes, istarts, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 251, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":252 * # * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_subarray(ndims, isizes, # <<<<<<<<<<<<<< * isubsizes, istarts, * order, self.ob_mpi, */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_subarray(__pyx_v_ndims, __pyx_v_isizes, __pyx_v_isubsizes, __pyx_v_istarts, __pyx_v_order, __pyx_v_self->ob_mpi, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 252, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":256 * order, self.ob_mpi, * &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * # Distributed Array Datatype Constructor */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":239 * # ----------------------------- * * def Create_subarray(self, sizes, subsizes, starts, # <<<<<<<<<<<<<< * int order=ORDER_C): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_subarray", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XDECREF(__pyx_v_sizes); __Pyx_XDECREF(__pyx_v_subsizes); __Pyx_XDECREF(__pyx_v_starts); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":261 * # -------------------------------------- * * def Create_darray(self, int size, int rank, # <<<<<<<<<<<<<< * gsizes, distribs, dargs, psizes, * int order=ORDER_C): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_33Create_darray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_32Create_darray[] = "Datatype.Create_darray(self, int size, int rank, gsizes, distribs, dargs, psizes, int order=ORDER_C)\n\n Create a datatype representing an HPF-like\n distributed array on Cartesian process grids\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_33Create_darray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_size; int __pyx_v_rank; PyObject *__pyx_v_gsizes = 0; PyObject *__pyx_v_distribs = 0; PyObject *__pyx_v_dargs = 0; PyObject *__pyx_v_psizes = 0; int __pyx_v_order; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_darray (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,&__pyx_n_s_rank,&__pyx_n_s_gsizes,&__pyx_n_s_distribs,&__pyx_n_s_dargs,&__pyx_n_s_psizes,&__pyx_n_s_order,0}; PyObject* values[7] = {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 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_size)) != 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_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_darray", 0, 6, 7, 1); __PYX_ERR(21, 261, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_gsizes)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_darray", 0, 6, 7, 2); __PYX_ERR(21, 261, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_distribs)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_darray", 0, 6, 7, 3); __PYX_ERR(21, 261, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dargs)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_darray", 0, 6, 7, 4); __PYX_ERR(21, 261, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_psizes)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_darray", 0, 6, 7, 5); __PYX_ERR(21, 261, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 6: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_order); if (value) { values[6] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_darray") < 0)) __PYX_ERR(21, 261, __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); 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_size = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 261, __pyx_L3_error) __pyx_v_rank = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 261, __pyx_L3_error) __pyx_v_gsizes = values[2]; __pyx_v_distribs = values[3]; __pyx_v_dargs = values[4]; __pyx_v_psizes = values[5]; if (values[6]) { __pyx_v_order = __Pyx_PyInt_As_int(values[6]); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 263, __pyx_L3_error) } else { __pyx_v_order = __pyx_k__27; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_darray", 0, 6, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 261, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_darray", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_32Create_darray(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_size, __pyx_v_rank, __pyx_v_gsizes, __pyx_v_distribs, __pyx_v_dargs, __pyx_v_psizes, __pyx_v_order); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_32Create_darray(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_size, int __pyx_v_rank, PyObject *__pyx_v_gsizes, PyObject *__pyx_v_distribs, PyObject *__pyx_v_dargs, PyObject *__pyx_v_psizes, int __pyx_v_order) { int __pyx_v_ndims; int *__pyx_v_igsizes; int *__pyx_v_idistribs; int *__pyx_v_idargs; int *__pyx_v_ipsizes; struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_darray", 0); __Pyx_INCREF(__pyx_v_gsizes); __Pyx_INCREF(__pyx_v_distribs); __Pyx_INCREF(__pyx_v_dargs); __Pyx_INCREF(__pyx_v_psizes); /* "mpi4py/MPI/Datatype.pyx":268 * distributed array on Cartesian process grids * """ * cdef int ndims = 0, *igsizes = NULL # <<<<<<<<<<<<<< * cdef int *idistribs = NULL, *idargs = NULL, *ipsizes = NULL * gsizes = getarray(gsizes, &ndims, &igsizes ) */ __pyx_v_ndims = 0; __pyx_v_igsizes = NULL; /* "mpi4py/MPI/Datatype.pyx":269 * """ * cdef int ndims = 0, *igsizes = NULL * cdef int *idistribs = NULL, *idargs = NULL, *ipsizes = NULL # <<<<<<<<<<<<<< * gsizes = getarray(gsizes, &ndims, &igsizes ) * distribs = chkarray(distribs, ndims, &idistribs ) */ __pyx_v_idistribs = NULL; __pyx_v_idargs = NULL; __pyx_v_ipsizes = NULL; /* "mpi4py/MPI/Datatype.pyx":270 * cdef int ndims = 0, *igsizes = NULL * cdef int *idistribs = NULL, *idargs = NULL, *ipsizes = NULL * gsizes = getarray(gsizes, &ndims, &igsizes ) # <<<<<<<<<<<<<< * distribs = chkarray(distribs, ndims, &idistribs ) * dargs = chkarray(dargs, ndims, &idargs ) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_gsizes, (&__pyx_v_ndims), (&__pyx_v_igsizes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_gsizes, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":271 * cdef int *idistribs = NULL, *idargs = NULL, *ipsizes = NULL * gsizes = getarray(gsizes, &ndims, &igsizes ) * distribs = chkarray(distribs, ndims, &idistribs ) # <<<<<<<<<<<<<< * dargs = chkarray(dargs, ndims, &idargs ) * psizes = chkarray(psizes, ndims, &ipsizes ) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_distribs, __pyx_v_ndims, (&__pyx_v_idistribs)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_distribs, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":272 * gsizes = getarray(gsizes, &ndims, &igsizes ) * distribs = chkarray(distribs, ndims, &idistribs ) * dargs = chkarray(dargs, ndims, &idargs ) # <<<<<<<<<<<<<< * psizes = chkarray(psizes, ndims, &ipsizes ) * # */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_dargs, __pyx_v_ndims, (&__pyx_v_idargs)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dargs, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":273 * distribs = chkarray(distribs, ndims, &idistribs ) * dargs = chkarray(dargs, ndims, &idargs ) * psizes = chkarray(psizes, ndims, &ipsizes ) # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_psizes, __pyx_v_ndims, (&__pyx_v_ipsizes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_psizes, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":275 * psizes = chkarray(psizes, ndims, &ipsizes ) * # * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_darray(size, rank, ndims, igsizes, * idistribs, idargs, ipsizes, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 275, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":276 * # * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_darray(size, rank, ndims, igsizes, # <<<<<<<<<<<<<< * idistribs, idargs, ipsizes, * order, self.ob_mpi, */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_darray(__pyx_v_size, __pyx_v_rank, __pyx_v_ndims, __pyx_v_igsizes, __pyx_v_idistribs, __pyx_v_idargs, __pyx_v_ipsizes, __pyx_v_order, __pyx_v_self->ob_mpi, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 276, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":280 * order, self.ob_mpi, * &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * # Parametrized and size-specific Fortran Datatypes */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":261 * # -------------------------------------- * * def Create_darray(self, int size, int rank, # <<<<<<<<<<<<<< * gsizes, distribs, dargs, psizes, * int order=ORDER_C): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_darray", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XDECREF(__pyx_v_gsizes); __Pyx_XDECREF(__pyx_v_distribs); __Pyx_XDECREF(__pyx_v_dargs); __Pyx_XDECREF(__pyx_v_psizes); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":286 * * @classmethod * def Create_f90_integer(cls, int r): # <<<<<<<<<<<<<< * """ * Return a bounded integer datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_35Create_f90_integer(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_34Create_f90_integer[] = "Datatype.Create_f90_integer(type cls, int r)\n\n Return a bounded integer datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_35Create_f90_integer(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_r; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_f90_integer (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_r,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_r)) != 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, "Create_f90_integer") < 0)) __PYX_ERR(21, 286, __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_r = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_r == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 286, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_f90_integer", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 286, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_f90_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_34Create_f90_integer(((PyTypeObject*)__pyx_v_cls), __pyx_v_r); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_34Create_f90_integer(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_r) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_f90_integer", 0); /* "mpi4py/MPI/Datatype.pyx":290 * Return a bounded integer datatype * """ * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_f90_integer(r, &datatype.ob_mpi) ) * return datatype */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 290, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":291 * """ * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_f90_integer(r, &datatype.ob_mpi) ) # <<<<<<<<<<<<<< * return datatype * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_f90_integer(__pyx_v_r, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 291, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":292 * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_f90_integer(r, &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":286 * * @classmethod * def Create_f90_integer(cls, int r): # <<<<<<<<<<<<<< * """ * Return a bounded integer datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_f90_integer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":295 * * @classmethod * def Create_f90_real(cls, int p, int r): # <<<<<<<<<<<<<< * """ * Return a bounded real datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_37Create_f90_real(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_36Create_f90_real[] = "Datatype.Create_f90_real(type cls, int p, int r)\n\n Return a bounded real datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_37Create_f90_real(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_p; int __pyx_v_r; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_f90_real (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_p,&__pyx_n_s_r,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_r)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_f90_real", 1, 2, 2, 1); __PYX_ERR(21, 295, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_f90_real") < 0)) __PYX_ERR(21, 295, __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 = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_p == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 295, __pyx_L3_error) __pyx_v_r = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_r == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 295, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_f90_real", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 295, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_f90_real", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_36Create_f90_real(((PyTypeObject*)__pyx_v_cls), __pyx_v_p, __pyx_v_r); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_36Create_f90_real(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_p, int __pyx_v_r) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_f90_real", 0); /* "mpi4py/MPI/Datatype.pyx":299 * Return a bounded real datatype * """ * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_f90_real(p, r, &datatype.ob_mpi) ) * return datatype */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 299, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":300 * """ * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_f90_real(p, r, &datatype.ob_mpi) ) # <<<<<<<<<<<<<< * return datatype * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_f90_real(__pyx_v_p, __pyx_v_r, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 300, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":301 * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_f90_real(p, r, &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":295 * * @classmethod * def Create_f90_real(cls, int p, int r): # <<<<<<<<<<<<<< * """ * Return a bounded real datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_f90_real", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":304 * * @classmethod * def Create_f90_complex(cls, int p, int r): # <<<<<<<<<<<<<< * """ * Return a bounded complex datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_39Create_f90_complex(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_38Create_f90_complex[] = "Datatype.Create_f90_complex(type cls, int p, int r)\n\n Return a bounded complex datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_39Create_f90_complex(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_p; int __pyx_v_r; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_f90_complex (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_p,&__pyx_n_s_r,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_r)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_f90_complex", 1, 2, 2, 1); __PYX_ERR(21, 304, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_f90_complex") < 0)) __PYX_ERR(21, 304, __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 = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_p == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 304, __pyx_L3_error) __pyx_v_r = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_r == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 304, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_f90_complex", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 304, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_f90_complex", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_38Create_f90_complex(((PyTypeObject*)__pyx_v_cls), __pyx_v_p, __pyx_v_r); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_38Create_f90_complex(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_p, int __pyx_v_r) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_f90_complex", 0); /* "mpi4py/MPI/Datatype.pyx":308 * Return a bounded complex datatype * """ * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_f90_complex(p, r, &datatype.ob_mpi) ) * return datatype */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 308, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":309 * """ * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_f90_complex(p, r, &datatype.ob_mpi) ) # <<<<<<<<<<<<<< * return datatype * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_f90_complex(__pyx_v_p, __pyx_v_r, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 309, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":310 * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_f90_complex(p, r, &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":304 * * @classmethod * def Create_f90_complex(cls, int p, int r): # <<<<<<<<<<<<<< * """ * Return a bounded complex datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_f90_complex", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":313 * * @classmethod * def Match_size(cls, int typeclass, int size): # <<<<<<<<<<<<<< * """ * Find a datatype matching a specified size in bytes */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_41Match_size(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_40Match_size[] = "Datatype.Match_size(type cls, int typeclass, int size)\n\n Find a datatype matching a specified size in bytes\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_41Match_size(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_typeclass; int __pyx_v_size; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Match_size (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_typeclass,&__pyx_n_s_size,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_typeclass)) != 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_size)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Match_size", 1, 2, 2, 1); __PYX_ERR(21, 313, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Match_size") < 0)) __PYX_ERR(21, 313, __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_typeclass = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_typeclass == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 313, __pyx_L3_error) __pyx_v_size = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 313, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Match_size", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 313, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Match_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_40Match_size(((PyTypeObject*)__pyx_v_cls), __pyx_v_typeclass, __pyx_v_size); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_40Match_size(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_typeclass, int __pyx_v_size) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Match_size", 0); /* "mpi4py/MPI/Datatype.pyx":317 * Find a datatype matching a specified size in bytes * """ * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_match_size(typeclass, size, &datatype.ob_mpi) ) * return datatype */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 317, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":318 * """ * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_match_size(typeclass, size, &datatype.ob_mpi) ) # <<<<<<<<<<<<<< * return datatype * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_match_size(__pyx_v_typeclass, __pyx_v_size, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 318, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":319 * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_match_size(typeclass, size, &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * # Use of Derived Datatypes */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":313 * * @classmethod * def Match_size(cls, int typeclass, int size): # <<<<<<<<<<<<<< * """ * Find a datatype matching a specified size in bytes */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Match_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":324 * # ------------------------ * * def Commit(self): # <<<<<<<<<<<<<< * """ * Commit the datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_43Commit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_42Commit[] = "Datatype.Commit(self)\n\n Commit the datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_43Commit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Commit (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Commit", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Commit", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_42Commit(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_42Commit(struct PyMPIDatatypeObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Commit", 0); /* "mpi4py/MPI/Datatype.pyx":328 * Commit the datatype * """ * CHKERR( MPI_Type_commit(&self.ob_mpi) ) # <<<<<<<<<<<<<< * return self * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_commit((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 328, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":329 * """ * CHKERR( MPI_Type_commit(&self.ob_mpi) ) * return self # <<<<<<<<<<<<<< * * def Free(self): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __pyx_r = ((PyObject *)__pyx_v_self); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":324 * # ------------------------ * * def Commit(self): # <<<<<<<<<<<<<< * """ * Commit the datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Commit", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":331 * return self * * def Free(self): # <<<<<<<<<<<<<< * """ * Free the datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_45Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_44Free[] = "Datatype.Free(self)\n\n Free the datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_45Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Free", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Free", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_44Free(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_44Free(struct PyMPIDatatypeObject *__pyx_v_self) { struct PyMPIDatatypeObject *__pyx_v_t = 0; MPI_Datatype __pyx_v_p; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Free", 0); /* "mpi4py/MPI/Datatype.pyx":335 * Free the datatype * """ * CHKERR( MPI_Type_free(&self.ob_mpi) ) # <<<<<<<<<<<<<< * cdef Datatype t = self * cdef MPI_Datatype p = MPI_DATATYPE_NULL */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_free((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 335, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":336 * """ * CHKERR( MPI_Type_free(&self.ob_mpi) ) * cdef Datatype t = self # <<<<<<<<<<<<<< * cdef MPI_Datatype p = MPI_DATATYPE_NULL * if t is __UB__ : p = MPI_UB */ __Pyx_INCREF(((PyObject *)__pyx_v_self)); __pyx_v_t = __pyx_v_self; /* "mpi4py/MPI/Datatype.pyx":337 * CHKERR( MPI_Type_free(&self.ob_mpi) ) * cdef Datatype t = self * cdef MPI_Datatype p = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * if t is __UB__ : p = MPI_UB * elif t is __LB__ : p = MPI_LB */ __pyx_v_p = MPI_DATATYPE_NULL; /* "mpi4py/MPI/Datatype.pyx":338 * cdef Datatype t = self * cdef MPI_Datatype p = MPI_DATATYPE_NULL * if t is __UB__ : p = MPI_UB # <<<<<<<<<<<<<< * elif t is __LB__ : p = MPI_LB * elif t is __PACKED__ : p = MPI_PACKED */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___UB__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_UB; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":339 * cdef MPI_Datatype p = MPI_DATATYPE_NULL * if t is __UB__ : p = MPI_UB * elif t is __LB__ : p = MPI_LB # <<<<<<<<<<<<<< * elif t is __PACKED__ : p = MPI_PACKED * elif t is __BYTE__ : p = MPI_BYTE */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___LB__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_LB; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":340 * if t is __UB__ : p = MPI_UB * elif t is __LB__ : p = MPI_LB * elif t is __PACKED__ : p = MPI_PACKED # <<<<<<<<<<<<<< * elif t is __BYTE__ : p = MPI_BYTE * elif t is __AINT__ : p = MPI_AINT */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___PACKED__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_PACKED; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":341 * elif t is __LB__ : p = MPI_LB * elif t is __PACKED__ : p = MPI_PACKED * elif t is __BYTE__ : p = MPI_BYTE # <<<<<<<<<<<<<< * elif t is __AINT__ : p = MPI_AINT * elif t is __OFFSET__ : p = MPI_OFFSET */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___BYTE__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_BYTE; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":342 * elif t is __PACKED__ : p = MPI_PACKED * elif t is __BYTE__ : p = MPI_BYTE * elif t is __AINT__ : p = MPI_AINT # <<<<<<<<<<<<<< * elif t is __OFFSET__ : p = MPI_OFFSET * elif t is __COUNT__ : p = MPI_COUNT */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___AINT__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_AINT; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":343 * elif t is __BYTE__ : p = MPI_BYTE * elif t is __AINT__ : p = MPI_AINT * elif t is __OFFSET__ : p = MPI_OFFSET # <<<<<<<<<<<<<< * elif t is __COUNT__ : p = MPI_COUNT * elif t is __CHAR__ : p = MPI_CHAR */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___OFFSET__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_OFFSET; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":344 * elif t is __AINT__ : p = MPI_AINT * elif t is __OFFSET__ : p = MPI_OFFSET * elif t is __COUNT__ : p = MPI_COUNT # <<<<<<<<<<<<<< * elif t is __CHAR__ : p = MPI_CHAR * elif t is __WCHAR__ : p = MPI_WCHAR */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___COUNT__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_COUNT; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":345 * elif t is __OFFSET__ : p = MPI_OFFSET * elif t is __COUNT__ : p = MPI_COUNT * elif t is __CHAR__ : p = MPI_CHAR # <<<<<<<<<<<<<< * elif t is __WCHAR__ : p = MPI_WCHAR * elif t is __SIGNED_CHAR__ : p = MPI_SIGNED_CHAR */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___CHAR__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_CHAR; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":346 * elif t is __COUNT__ : p = MPI_COUNT * elif t is __CHAR__ : p = MPI_CHAR * elif t is __WCHAR__ : p = MPI_WCHAR # <<<<<<<<<<<<<< * elif t is __SIGNED_CHAR__ : p = MPI_SIGNED_CHAR * elif t is __SHORT__ : p = MPI_SHORT */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___WCHAR__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_WCHAR; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":347 * elif t is __CHAR__ : p = MPI_CHAR * elif t is __WCHAR__ : p = MPI_WCHAR * elif t is __SIGNED_CHAR__ : p = MPI_SIGNED_CHAR # <<<<<<<<<<<<<< * elif t is __SHORT__ : p = MPI_SHORT * elif t is __INT__ : p = MPI_INT */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___SIGNED_CHAR__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_SIGNED_CHAR; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":348 * elif t is __WCHAR__ : p = MPI_WCHAR * elif t is __SIGNED_CHAR__ : p = MPI_SIGNED_CHAR * elif t is __SHORT__ : p = MPI_SHORT # <<<<<<<<<<<<<< * elif t is __INT__ : p = MPI_INT * elif t is __LONG__ : p = MPI_LONG */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___SHORT__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_SHORT; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":349 * elif t is __SIGNED_CHAR__ : p = MPI_SIGNED_CHAR * elif t is __SHORT__ : p = MPI_SHORT * elif t is __INT__ : p = MPI_INT # <<<<<<<<<<<<<< * elif t is __LONG__ : p = MPI_LONG * elif t is __LONG_LONG__ : p = MPI_LONG_LONG */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___INT__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_INT; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":350 * elif t is __SHORT__ : p = MPI_SHORT * elif t is __INT__ : p = MPI_INT * elif t is __LONG__ : p = MPI_LONG # <<<<<<<<<<<<<< * elif t is __LONG_LONG__ : p = MPI_LONG_LONG * elif t is __UNSIGNED_CHAR__ : p = MPI_UNSIGNED_CHAR */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___LONG__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_LONG; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":351 * elif t is __INT__ : p = MPI_INT * elif t is __LONG__ : p = MPI_LONG * elif t is __LONG_LONG__ : p = MPI_LONG_LONG # <<<<<<<<<<<<<< * elif t is __UNSIGNED_CHAR__ : p = MPI_UNSIGNED_CHAR * elif t is __UNSIGNED_SHORT__ : p = MPI_UNSIGNED_SHORT */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___LONG_LONG__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_LONG_LONG; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":352 * elif t is __LONG__ : p = MPI_LONG * elif t is __LONG_LONG__ : p = MPI_LONG_LONG * elif t is __UNSIGNED_CHAR__ : p = MPI_UNSIGNED_CHAR # <<<<<<<<<<<<<< * elif t is __UNSIGNED_SHORT__ : p = MPI_UNSIGNED_SHORT * elif t is __UNSIGNED__ : p = MPI_UNSIGNED */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___UNSIGNED_CHAR__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_UNSIGNED_CHAR; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":353 * elif t is __LONG_LONG__ : p = MPI_LONG_LONG * elif t is __UNSIGNED_CHAR__ : p = MPI_UNSIGNED_CHAR * elif t is __UNSIGNED_SHORT__ : p = MPI_UNSIGNED_SHORT # <<<<<<<<<<<<<< * elif t is __UNSIGNED__ : p = MPI_UNSIGNED * elif t is __UNSIGNED_LONG__ : p = MPI_UNSIGNED_LONG */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___UNSIGNED_SHORT__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_UNSIGNED_SHORT; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":354 * elif t is __UNSIGNED_CHAR__ : p = MPI_UNSIGNED_CHAR * elif t is __UNSIGNED_SHORT__ : p = MPI_UNSIGNED_SHORT * elif t is __UNSIGNED__ : p = MPI_UNSIGNED # <<<<<<<<<<<<<< * elif t is __UNSIGNED_LONG__ : p = MPI_UNSIGNED_LONG * elif t is __UNSIGNED_LONG_LONG__ : p = MPI_UNSIGNED_LONG_LONG */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___UNSIGNED__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_UNSIGNED; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":355 * elif t is __UNSIGNED_SHORT__ : p = MPI_UNSIGNED_SHORT * elif t is __UNSIGNED__ : p = MPI_UNSIGNED * elif t is __UNSIGNED_LONG__ : p = MPI_UNSIGNED_LONG # <<<<<<<<<<<<<< * elif t is __UNSIGNED_LONG_LONG__ : p = MPI_UNSIGNED_LONG_LONG * elif t is __FLOAT__ : p = MPI_FLOAT */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___UNSIGNED_LONG__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_UNSIGNED_LONG; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":356 * elif t is __UNSIGNED__ : p = MPI_UNSIGNED * elif t is __UNSIGNED_LONG__ : p = MPI_UNSIGNED_LONG * elif t is __UNSIGNED_LONG_LONG__ : p = MPI_UNSIGNED_LONG_LONG # <<<<<<<<<<<<<< * elif t is __FLOAT__ : p = MPI_FLOAT * elif t is __DOUBLE__ : p = MPI_DOUBLE */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___UNSIGNED_LONG_LONG__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_UNSIGNED_LONG_LONG; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":357 * elif t is __UNSIGNED_LONG__ : p = MPI_UNSIGNED_LONG * elif t is __UNSIGNED_LONG_LONG__ : p = MPI_UNSIGNED_LONG_LONG * elif t is __FLOAT__ : p = MPI_FLOAT # <<<<<<<<<<<<<< * elif t is __DOUBLE__ : p = MPI_DOUBLE * elif t is __LONG_DOUBLE__ : p = MPI_LONG_DOUBLE */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___FLOAT__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_FLOAT; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":358 * elif t is __UNSIGNED_LONG_LONG__ : p = MPI_UNSIGNED_LONG_LONG * elif t is __FLOAT__ : p = MPI_FLOAT * elif t is __DOUBLE__ : p = MPI_DOUBLE # <<<<<<<<<<<<<< * elif t is __LONG_DOUBLE__ : p = MPI_LONG_DOUBLE * elif t is __C_BOOL__ : p = MPI_C_BOOL */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___DOUBLE__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_DOUBLE; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":359 * elif t is __FLOAT__ : p = MPI_FLOAT * elif t is __DOUBLE__ : p = MPI_DOUBLE * elif t is __LONG_DOUBLE__ : p = MPI_LONG_DOUBLE # <<<<<<<<<<<<<< * elif t is __C_BOOL__ : p = MPI_C_BOOL * elif t is __INT8_T__ : p = MPI_INT8_T */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___LONG_DOUBLE__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_LONG_DOUBLE; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":360 * elif t is __DOUBLE__ : p = MPI_DOUBLE * elif t is __LONG_DOUBLE__ : p = MPI_LONG_DOUBLE * elif t is __C_BOOL__ : p = MPI_C_BOOL # <<<<<<<<<<<<<< * elif t is __INT8_T__ : p = MPI_INT8_T * elif t is __INT16_T__ : p = MPI_INT16_T */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___C_BOOL__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_C_BOOL; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":361 * elif t is __LONG_DOUBLE__ : p = MPI_LONG_DOUBLE * elif t is __C_BOOL__ : p = MPI_C_BOOL * elif t is __INT8_T__ : p = MPI_INT8_T # <<<<<<<<<<<<<< * elif t is __INT16_T__ : p = MPI_INT16_T * elif t is __INT32_T__ : p = MPI_INT32_T */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___INT8_T__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_INT8_T; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":362 * elif t is __C_BOOL__ : p = MPI_C_BOOL * elif t is __INT8_T__ : p = MPI_INT8_T * elif t is __INT16_T__ : p = MPI_INT16_T # <<<<<<<<<<<<<< * elif t is __INT32_T__ : p = MPI_INT32_T * elif t is __INT64_T__ : p = MPI_INT64_T */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___INT16_T__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_INT16_T; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":363 * elif t is __INT8_T__ : p = MPI_INT8_T * elif t is __INT16_T__ : p = MPI_INT16_T * elif t is __INT32_T__ : p = MPI_INT32_T # <<<<<<<<<<<<<< * elif t is __INT64_T__ : p = MPI_INT64_T * elif t is __UINT8_T__ : p = MPI_UINT8_T */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___INT32_T__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_INT32_T; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":364 * elif t is __INT16_T__ : p = MPI_INT16_T * elif t is __INT32_T__ : p = MPI_INT32_T * elif t is __INT64_T__ : p = MPI_INT64_T # <<<<<<<<<<<<<< * elif t is __UINT8_T__ : p = MPI_UINT8_T * elif t is __UINT16_T__ : p = MPI_UINT16_T */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___INT64_T__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_INT64_T; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":365 * elif t is __INT32_T__ : p = MPI_INT32_T * elif t is __INT64_T__ : p = MPI_INT64_T * elif t is __UINT8_T__ : p = MPI_UINT8_T # <<<<<<<<<<<<<< * elif t is __UINT16_T__ : p = MPI_UINT16_T * elif t is __UINT32_T__ : p = MPI_UINT32_T */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___UINT8_T__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_UINT8_T; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":366 * elif t is __INT64_T__ : p = MPI_INT64_T * elif t is __UINT8_T__ : p = MPI_UINT8_T * elif t is __UINT16_T__ : p = MPI_UINT16_T # <<<<<<<<<<<<<< * elif t is __UINT32_T__ : p = MPI_UINT32_T * elif t is __UINT64_T__ : p = MPI_UINT64_T */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___UINT16_T__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_UINT16_T; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":367 * elif t is __UINT8_T__ : p = MPI_UINT8_T * elif t is __UINT16_T__ : p = MPI_UINT16_T * elif t is __UINT32_T__ : p = MPI_UINT32_T # <<<<<<<<<<<<<< * elif t is __UINT64_T__ : p = MPI_UINT64_T * elif t is __C_COMPLEX__ : p = MPI_C_COMPLEX */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___UINT32_T__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_UINT32_T; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":368 * elif t is __UINT16_T__ : p = MPI_UINT16_T * elif t is __UINT32_T__ : p = MPI_UINT32_T * elif t is __UINT64_T__ : p = MPI_UINT64_T # <<<<<<<<<<<<<< * elif t is __C_COMPLEX__ : p = MPI_C_COMPLEX * elif t is __C_FLOAT_COMPLEX__ : p = MPI_C_FLOAT_COMPLEX */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___UINT64_T__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_UINT64_T; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":369 * elif t is __UINT32_T__ : p = MPI_UINT32_T * elif t is __UINT64_T__ : p = MPI_UINT64_T * elif t is __C_COMPLEX__ : p = MPI_C_COMPLEX # <<<<<<<<<<<<<< * elif t is __C_FLOAT_COMPLEX__ : p = MPI_C_FLOAT_COMPLEX * elif t is __C_DOUBLE_COMPLEX__ : p = MPI_C_DOUBLE_COMPLEX */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___C_COMPLEX__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_C_COMPLEX; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":370 * elif t is __UINT64_T__ : p = MPI_UINT64_T * elif t is __C_COMPLEX__ : p = MPI_C_COMPLEX * elif t is __C_FLOAT_COMPLEX__ : p = MPI_C_FLOAT_COMPLEX # <<<<<<<<<<<<<< * elif t is __C_DOUBLE_COMPLEX__ : p = MPI_C_DOUBLE_COMPLEX * elif t is __C_LONG_DOUBLE_COMPLEX__ : p = MPI_C_LONG_DOUBLE_COMPLEX */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___C_FLOAT_COMPLEX__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_C_FLOAT_COMPLEX; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":371 * elif t is __C_COMPLEX__ : p = MPI_C_COMPLEX * elif t is __C_FLOAT_COMPLEX__ : p = MPI_C_FLOAT_COMPLEX * elif t is __C_DOUBLE_COMPLEX__ : p = MPI_C_DOUBLE_COMPLEX # <<<<<<<<<<<<<< * elif t is __C_LONG_DOUBLE_COMPLEX__ : p = MPI_C_LONG_DOUBLE_COMPLEX * elif t is __CXX_BOOL__ : p = MPI_CXX_BOOL */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___C_DOUBLE_COMPLEX__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_C_DOUBLE_COMPLEX; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":372 * elif t is __C_FLOAT_COMPLEX__ : p = MPI_C_FLOAT_COMPLEX * elif t is __C_DOUBLE_COMPLEX__ : p = MPI_C_DOUBLE_COMPLEX * elif t is __C_LONG_DOUBLE_COMPLEX__ : p = MPI_C_LONG_DOUBLE_COMPLEX # <<<<<<<<<<<<<< * elif t is __CXX_BOOL__ : p = MPI_CXX_BOOL * elif t is __CXX_FLOAT_COMPLEX__ : p = MPI_CXX_FLOAT_COMPLEX */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___C_LONG_DOUBLE_COMPLEX__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_C_LONG_DOUBLE_COMPLEX; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":373 * elif t is __C_DOUBLE_COMPLEX__ : p = MPI_C_DOUBLE_COMPLEX * elif t is __C_LONG_DOUBLE_COMPLEX__ : p = MPI_C_LONG_DOUBLE_COMPLEX * elif t is __CXX_BOOL__ : p = MPI_CXX_BOOL # <<<<<<<<<<<<<< * elif t is __CXX_FLOAT_COMPLEX__ : p = MPI_CXX_FLOAT_COMPLEX * elif t is __CXX_DOUBLE_COMPLEX__ : p = MPI_CXX_DOUBLE_COMPLEX */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___CXX_BOOL__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_CXX_BOOL; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":374 * elif t is __C_LONG_DOUBLE_COMPLEX__ : p = MPI_C_LONG_DOUBLE_COMPLEX * elif t is __CXX_BOOL__ : p = MPI_CXX_BOOL * elif t is __CXX_FLOAT_COMPLEX__ : p = MPI_CXX_FLOAT_COMPLEX # <<<<<<<<<<<<<< * elif t is __CXX_DOUBLE_COMPLEX__ : p = MPI_CXX_DOUBLE_COMPLEX * elif t is __CXX_LONG_DOUBLE_COMPLEX__: p = MPI_CXX_LONG_DOUBLE_COMPLEX */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___CXX_FLOAT_COMPLEX__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_CXX_FLOAT_COMPLEX; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":375 * elif t is __CXX_BOOL__ : p = MPI_CXX_BOOL * elif t is __CXX_FLOAT_COMPLEX__ : p = MPI_CXX_FLOAT_COMPLEX * elif t is __CXX_DOUBLE_COMPLEX__ : p = MPI_CXX_DOUBLE_COMPLEX # <<<<<<<<<<<<<< * elif t is __CXX_LONG_DOUBLE_COMPLEX__: p = MPI_CXX_LONG_DOUBLE_COMPLEX * elif t is __SHORT_INT__ : p = MPI_SHORT_INT */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___CXX_DOUBLE_COMPLEX__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_CXX_DOUBLE_COMPLEX; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":376 * elif t is __CXX_FLOAT_COMPLEX__ : p = MPI_CXX_FLOAT_COMPLEX * elif t is __CXX_DOUBLE_COMPLEX__ : p = MPI_CXX_DOUBLE_COMPLEX * elif t is __CXX_LONG_DOUBLE_COMPLEX__: p = MPI_CXX_LONG_DOUBLE_COMPLEX # <<<<<<<<<<<<<< * elif t is __SHORT_INT__ : p = MPI_SHORT_INT * elif t is __TWOINT__ : p = MPI_2INT */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___CXX_LONG_DOUBLE_COMPLEX__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_CXX_LONG_DOUBLE_COMPLEX; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":377 * elif t is __CXX_DOUBLE_COMPLEX__ : p = MPI_CXX_DOUBLE_COMPLEX * elif t is __CXX_LONG_DOUBLE_COMPLEX__: p = MPI_CXX_LONG_DOUBLE_COMPLEX * elif t is __SHORT_INT__ : p = MPI_SHORT_INT # <<<<<<<<<<<<<< * elif t is __TWOINT__ : p = MPI_2INT * elif t is __LONG_INT__ : p = MPI_LONG_INT */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___SHORT_INT__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_SHORT_INT; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":378 * elif t is __CXX_LONG_DOUBLE_COMPLEX__: p = MPI_CXX_LONG_DOUBLE_COMPLEX * elif t is __SHORT_INT__ : p = MPI_SHORT_INT * elif t is __TWOINT__ : p = MPI_2INT # <<<<<<<<<<<<<< * elif t is __LONG_INT__ : p = MPI_LONG_INT * elif t is __FLOAT_INT__ : p = MPI_FLOAT_INT */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___TWOINT__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_2INT; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":379 * elif t is __SHORT_INT__ : p = MPI_SHORT_INT * elif t is __TWOINT__ : p = MPI_2INT * elif t is __LONG_INT__ : p = MPI_LONG_INT # <<<<<<<<<<<<<< * elif t is __FLOAT_INT__ : p = MPI_FLOAT_INT * elif t is __DOUBLE_INT__ : p = MPI_DOUBLE_INT */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___LONG_INT__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_LONG_INT; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":380 * elif t is __TWOINT__ : p = MPI_2INT * elif t is __LONG_INT__ : p = MPI_LONG_INT * elif t is __FLOAT_INT__ : p = MPI_FLOAT_INT # <<<<<<<<<<<<<< * elif t is __DOUBLE_INT__ : p = MPI_DOUBLE_INT * elif t is __LONG_DOUBLE_INT__ : p = MPI_LONG_DOUBLE_INT */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___FLOAT_INT__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_FLOAT_INT; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":381 * elif t is __LONG_INT__ : p = MPI_LONG_INT * elif t is __FLOAT_INT__ : p = MPI_FLOAT_INT * elif t is __DOUBLE_INT__ : p = MPI_DOUBLE_INT # <<<<<<<<<<<<<< * elif t is __LONG_DOUBLE_INT__ : p = MPI_LONG_DOUBLE_INT * elif t is __CHARACTER__ : p = MPI_CHARACTER */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___DOUBLE_INT__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_DOUBLE_INT; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":382 * elif t is __FLOAT_INT__ : p = MPI_FLOAT_INT * elif t is __DOUBLE_INT__ : p = MPI_DOUBLE_INT * elif t is __LONG_DOUBLE_INT__ : p = MPI_LONG_DOUBLE_INT # <<<<<<<<<<<<<< * elif t is __CHARACTER__ : p = MPI_CHARACTER * elif t is __LOGICAL__ : p = MPI_LOGICAL */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___LONG_DOUBLE_INT__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_LONG_DOUBLE_INT; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":383 * elif t is __DOUBLE_INT__ : p = MPI_DOUBLE_INT * elif t is __LONG_DOUBLE_INT__ : p = MPI_LONG_DOUBLE_INT * elif t is __CHARACTER__ : p = MPI_CHARACTER # <<<<<<<<<<<<<< * elif t is __LOGICAL__ : p = MPI_LOGICAL * elif t is __INTEGER__ : p = MPI_INTEGER */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___CHARACTER__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_CHARACTER; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":384 * elif t is __LONG_DOUBLE_INT__ : p = MPI_LONG_DOUBLE_INT * elif t is __CHARACTER__ : p = MPI_CHARACTER * elif t is __LOGICAL__ : p = MPI_LOGICAL # <<<<<<<<<<<<<< * elif t is __INTEGER__ : p = MPI_INTEGER * elif t is __REAL__ : p = MPI_REAL */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___LOGICAL__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_LOGICAL; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":385 * elif t is __CHARACTER__ : p = MPI_CHARACTER * elif t is __LOGICAL__ : p = MPI_LOGICAL * elif t is __INTEGER__ : p = MPI_INTEGER # <<<<<<<<<<<<<< * elif t is __REAL__ : p = MPI_REAL * elif t is __DOUBLE_PRECISION__ : p = MPI_DOUBLE_PRECISION */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___INTEGER__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_INTEGER; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":386 * elif t is __LOGICAL__ : p = MPI_LOGICAL * elif t is __INTEGER__ : p = MPI_INTEGER * elif t is __REAL__ : p = MPI_REAL # <<<<<<<<<<<<<< * elif t is __DOUBLE_PRECISION__ : p = MPI_DOUBLE_PRECISION * elif t is __COMPLEX__ : p = MPI_COMPLEX */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___REAL__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_REAL; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":387 * elif t is __INTEGER__ : p = MPI_INTEGER * elif t is __REAL__ : p = MPI_REAL * elif t is __DOUBLE_PRECISION__ : p = MPI_DOUBLE_PRECISION # <<<<<<<<<<<<<< * elif t is __COMPLEX__ : p = MPI_COMPLEX * elif t is __DOUBLE_COMPLEX__ : p = MPI_DOUBLE_COMPLEX */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___DOUBLE_PRECISION__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_DOUBLE_PRECISION; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":388 * elif t is __REAL__ : p = MPI_REAL * elif t is __DOUBLE_PRECISION__ : p = MPI_DOUBLE_PRECISION * elif t is __COMPLEX__ : p = MPI_COMPLEX # <<<<<<<<<<<<<< * elif t is __DOUBLE_COMPLEX__ : p = MPI_DOUBLE_COMPLEX * elif t is __LOGICAL1__ : p = MPI_LOGICAL1 */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___COMPLEX__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_COMPLEX; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":389 * elif t is __DOUBLE_PRECISION__ : p = MPI_DOUBLE_PRECISION * elif t is __COMPLEX__ : p = MPI_COMPLEX * elif t is __DOUBLE_COMPLEX__ : p = MPI_DOUBLE_COMPLEX # <<<<<<<<<<<<<< * elif t is __LOGICAL1__ : p = MPI_LOGICAL1 * elif t is __LOGICAL2__ : p = MPI_LOGICAL2 */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___DOUBLE_COMPLEX__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_DOUBLE_COMPLEX; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":390 * elif t is __COMPLEX__ : p = MPI_COMPLEX * elif t is __DOUBLE_COMPLEX__ : p = MPI_DOUBLE_COMPLEX * elif t is __LOGICAL1__ : p = MPI_LOGICAL1 # <<<<<<<<<<<<<< * elif t is __LOGICAL2__ : p = MPI_LOGICAL2 * elif t is __LOGICAL4__ : p = MPI_LOGICAL4 */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___LOGICAL1__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_LOGICAL1; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":391 * elif t is __DOUBLE_COMPLEX__ : p = MPI_DOUBLE_COMPLEX * elif t is __LOGICAL1__ : p = MPI_LOGICAL1 * elif t is __LOGICAL2__ : p = MPI_LOGICAL2 # <<<<<<<<<<<<<< * elif t is __LOGICAL4__ : p = MPI_LOGICAL4 * elif t is __LOGICAL8__ : p = MPI_LOGICAL8 */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___LOGICAL2__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_LOGICAL2; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":392 * elif t is __LOGICAL1__ : p = MPI_LOGICAL1 * elif t is __LOGICAL2__ : p = MPI_LOGICAL2 * elif t is __LOGICAL4__ : p = MPI_LOGICAL4 # <<<<<<<<<<<<<< * elif t is __LOGICAL8__ : p = MPI_LOGICAL8 * elif t is __INTEGER1__ : p = MPI_INTEGER1 */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___LOGICAL4__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_LOGICAL4; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":393 * elif t is __LOGICAL2__ : p = MPI_LOGICAL2 * elif t is __LOGICAL4__ : p = MPI_LOGICAL4 * elif t is __LOGICAL8__ : p = MPI_LOGICAL8 # <<<<<<<<<<<<<< * elif t is __INTEGER1__ : p = MPI_INTEGER1 * elif t is __INTEGER2__ : p = MPI_INTEGER2 */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___LOGICAL8__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_LOGICAL8; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":394 * elif t is __LOGICAL4__ : p = MPI_LOGICAL4 * elif t is __LOGICAL8__ : p = MPI_LOGICAL8 * elif t is __INTEGER1__ : p = MPI_INTEGER1 # <<<<<<<<<<<<<< * elif t is __INTEGER2__ : p = MPI_INTEGER2 * elif t is __INTEGER4__ : p = MPI_INTEGER4 */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___INTEGER1__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_INTEGER1; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":395 * elif t is __LOGICAL8__ : p = MPI_LOGICAL8 * elif t is __INTEGER1__ : p = MPI_INTEGER1 * elif t is __INTEGER2__ : p = MPI_INTEGER2 # <<<<<<<<<<<<<< * elif t is __INTEGER4__ : p = MPI_INTEGER4 * elif t is __INTEGER8__ : p = MPI_INTEGER8 */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___INTEGER2__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_INTEGER2; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":396 * elif t is __INTEGER1__ : p = MPI_INTEGER1 * elif t is __INTEGER2__ : p = MPI_INTEGER2 * elif t is __INTEGER4__ : p = MPI_INTEGER4 # <<<<<<<<<<<<<< * elif t is __INTEGER8__ : p = MPI_INTEGER8 * elif t is __INTEGER16__ : p = MPI_INTEGER16 */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___INTEGER4__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_INTEGER4; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":397 * elif t is __INTEGER2__ : p = MPI_INTEGER2 * elif t is __INTEGER4__ : p = MPI_INTEGER4 * elif t is __INTEGER8__ : p = MPI_INTEGER8 # <<<<<<<<<<<<<< * elif t is __INTEGER16__ : p = MPI_INTEGER16 * elif t is __REAL2__ : p = MPI_REAL2 */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___INTEGER8__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_INTEGER8; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":398 * elif t is __INTEGER4__ : p = MPI_INTEGER4 * elif t is __INTEGER8__ : p = MPI_INTEGER8 * elif t is __INTEGER16__ : p = MPI_INTEGER16 # <<<<<<<<<<<<<< * elif t is __REAL2__ : p = MPI_REAL2 * elif t is __REAL4__ : p = MPI_REAL4 */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___INTEGER16__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_INTEGER16; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":399 * elif t is __INTEGER8__ : p = MPI_INTEGER8 * elif t is __INTEGER16__ : p = MPI_INTEGER16 * elif t is __REAL2__ : p = MPI_REAL2 # <<<<<<<<<<<<<< * elif t is __REAL4__ : p = MPI_REAL4 * elif t is __REAL8__ : p = MPI_REAL8 */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___REAL2__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_REAL2; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":400 * elif t is __INTEGER16__ : p = MPI_INTEGER16 * elif t is __REAL2__ : p = MPI_REAL2 * elif t is __REAL4__ : p = MPI_REAL4 # <<<<<<<<<<<<<< * elif t is __REAL8__ : p = MPI_REAL8 * elif t is __REAL16__ : p = MPI_REAL16 */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___REAL4__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_REAL4; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":401 * elif t is __REAL2__ : p = MPI_REAL2 * elif t is __REAL4__ : p = MPI_REAL4 * elif t is __REAL8__ : p = MPI_REAL8 # <<<<<<<<<<<<<< * elif t is __REAL16__ : p = MPI_REAL16 * elif t is __COMPLEX4__ : p = MPI_COMPLEX4 */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___REAL8__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_REAL8; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":402 * elif t is __REAL4__ : p = MPI_REAL4 * elif t is __REAL8__ : p = MPI_REAL8 * elif t is __REAL16__ : p = MPI_REAL16 # <<<<<<<<<<<<<< * elif t is __COMPLEX4__ : p = MPI_COMPLEX4 * elif t is __COMPLEX8__ : p = MPI_COMPLEX8 */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___REAL16__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_REAL16; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":403 * elif t is __REAL8__ : p = MPI_REAL8 * elif t is __REAL16__ : p = MPI_REAL16 * elif t is __COMPLEX4__ : p = MPI_COMPLEX4 # <<<<<<<<<<<<<< * elif t is __COMPLEX8__ : p = MPI_COMPLEX8 * elif t is __COMPLEX16__ : p = MPI_COMPLEX16 */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___COMPLEX4__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_COMPLEX4; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":404 * elif t is __REAL16__ : p = MPI_REAL16 * elif t is __COMPLEX4__ : p = MPI_COMPLEX4 * elif t is __COMPLEX8__ : p = MPI_COMPLEX8 # <<<<<<<<<<<<<< * elif t is __COMPLEX16__ : p = MPI_COMPLEX16 * elif t is __COMPLEX32__ : p = MPI_COMPLEX32 */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___COMPLEX8__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_COMPLEX8; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":405 * elif t is __COMPLEX4__ : p = MPI_COMPLEX4 * elif t is __COMPLEX8__ : p = MPI_COMPLEX8 * elif t is __COMPLEX16__ : p = MPI_COMPLEX16 # <<<<<<<<<<<<<< * elif t is __COMPLEX32__ : p = MPI_COMPLEX32 * self.ob_mpi = p */ __pyx_t_3 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___COMPLEX16__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_p = MPI_COMPLEX16; goto __pyx_L3; } /* "mpi4py/MPI/Datatype.pyx":406 * elif t is __COMPLEX8__ : p = MPI_COMPLEX8 * elif t is __COMPLEX16__ : p = MPI_COMPLEX16 * elif t is __COMPLEX32__ : p = MPI_COMPLEX32 # <<<<<<<<<<<<<< * self.ob_mpi = p * */ __pyx_t_2 = (__pyx_v_t == __pyx_v_6mpi4py_3MPI___COMPLEX32__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_p = MPI_COMPLEX32; } __pyx_L3:; /* "mpi4py/MPI/Datatype.pyx":407 * elif t is __COMPLEX16__ : p = MPI_COMPLEX16 * elif t is __COMPLEX32__ : p = MPI_COMPLEX32 * self.ob_mpi = p # <<<<<<<<<<<<<< * * # Datatype Resizing */ __pyx_v_self->ob_mpi = __pyx_v_p; /* "mpi4py/MPI/Datatype.pyx":331 * return self * * def Free(self): # <<<<<<<<<<<<<< * """ * Free the datatype */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Free", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_t); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":412 * # ----------------- * * def Create_resized(self, Aint lb, Aint extent): # <<<<<<<<<<<<<< * """ * Create a datatype with a new lower bound and extent */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_47Create_resized(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_46Create_resized[] = "Datatype.Create_resized(self, Aint lb, Aint extent)\n\n Create a datatype with a new lower bound and extent\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_47Create_resized(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Aint __pyx_v_lb; MPI_Aint __pyx_v_extent; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_resized (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lb,&__pyx_n_s_extent,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_lb)) != 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_extent)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_resized", 1, 2, 2, 1); __PYX_ERR(21, 412, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_resized") < 0)) __PYX_ERR(21, 412, __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_lb = __Pyx_PyInt_As_MPI_Aint(values[0]); if (unlikely((__pyx_v_lb == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(21, 412, __pyx_L3_error) __pyx_v_extent = __Pyx_PyInt_As_MPI_Aint(values[1]); if (unlikely((__pyx_v_extent == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(21, 412, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_resized", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 412, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_resized", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_46Create_resized(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_lb, __pyx_v_extent); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_46Create_resized(struct PyMPIDatatypeObject *__pyx_v_self, MPI_Aint __pyx_v_lb, MPI_Aint __pyx_v_extent) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_resized", 0); /* "mpi4py/MPI/Datatype.pyx":416 * Create a datatype with a new lower bound and extent * """ * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_resized(self.ob_mpi, * lb, extent, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 416, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":417 * """ * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_resized(self.ob_mpi, # <<<<<<<<<<<<<< * lb, extent, * &datatype.ob_mpi) ) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_resized(__pyx_v_self->ob_mpi, __pyx_v_lb, __pyx_v_extent, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 417, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":420 * lb, extent, * &datatype.ob_mpi) ) * return datatype # <<<<<<<<<<<<<< * * Resized = Create_resized #: compatibility alias */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":412 * # ----------------- * * def Create_resized(self, Aint lb, Aint extent): # <<<<<<<<<<<<<< * """ * Create a datatype with a new lower bound and extent */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_resized", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":424 * Resized = Create_resized #: compatibility alias * * def Get_true_extent(self): # <<<<<<<<<<<<<< * """ * Return the true lower bound and extent of a datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_49Get_true_extent(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_48Get_true_extent[] = "Datatype.Get_true_extent(self)\n\n Return the true lower bound and extent of a datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_49Get_true_extent(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_true_extent (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_true_extent", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_true_extent", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_48Get_true_extent(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_48Get_true_extent(struct PyMPIDatatypeObject *__pyx_v_self) { MPI_Count __pyx_v_lb; MPI_Count __pyx_v_extent; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_true_extent", 0); /* "mpi4py/MPI/Datatype.pyx":428 * Return the true lower bound and extent of a datatype * """ * cdef MPI_Count lb = 0, extent = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, * &lb, &extent) ) */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/Datatype.pyx":429 * """ * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, # <<<<<<<<<<<<<< * &lb, &extent) ) * return (lb, extent) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_true_extent_x(__pyx_v_self->ob_mpi, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 429, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":431 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, * &lb, &extent) ) * return (lb, extent) # <<<<<<<<<<<<<< * * property true_extent: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Count(__pyx_v_lb); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_MPI_Count(__pyx_v_extent); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":424 * Resized = Create_resized #: compatibility alias * * def Get_true_extent(self): # <<<<<<<<<<<<<< * """ * Return the true lower bound and extent of a datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Get_true_extent", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":435 * property true_extent: * """true extent""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_11true_extent_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_11true_extent_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_11true_extent___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_11true_extent___get__(struct PyMPIDatatypeObject *__pyx_v_self) { MPI_Count __pyx_v_lb; MPI_Count __pyx_v_extent; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":436 * """true extent""" * def __get__(self): * cdef MPI_Count lb = 0, extent = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, * &lb, &extent) ) */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/Datatype.pyx":437 * def __get__(self): * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, # <<<<<<<<<<<<<< * &lb, &extent) ) * return extent */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_true_extent_x(__pyx_v_self->ob_mpi, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 437, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":439 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, * &lb, &extent) ) * return extent # <<<<<<<<<<<<<< * * property true_lb: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Count(__pyx_v_extent); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":435 * property true_extent: * """true extent""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.true_extent.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":443 * property true_lb: * """true lower bound""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_7true_lb_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_7true_lb_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_7true_lb___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_7true_lb___get__(struct PyMPIDatatypeObject *__pyx_v_self) { MPI_Count __pyx_v_lb; MPI_Count __pyx_v_extent; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":444 * """true lower bound""" * def __get__(self): * cdef MPI_Count lb = 0, extent = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, * &lb, &extent) ) */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/Datatype.pyx":445 * def __get__(self): * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, # <<<<<<<<<<<<<< * &lb, &extent) ) * return lb */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_true_extent_x(__pyx_v_self->ob_mpi, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 445, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":447 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, * &lb, &extent) ) * return lb # <<<<<<<<<<<<<< * * property true_ub: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Count(__pyx_v_lb); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":443 * property true_lb: * """true lower bound""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.true_lb.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":451 * property true_ub: * """true upper bound""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_7true_ub_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_7true_ub_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_7true_ub___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_7true_ub___get__(struct PyMPIDatatypeObject *__pyx_v_self) { MPI_Count __pyx_v_lb; MPI_Count __pyx_v_extent; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":452 * """true upper bound""" * def __get__(self): * cdef MPI_Count lb = 0, extent = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, * &lb, &extent) ) */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/Datatype.pyx":453 * def __get__(self): * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, # <<<<<<<<<<<<<< * &lb, &extent) ) * return lb + extent */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_true_extent_x(__pyx_v_self->ob_mpi, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 453, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":455 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, * &lb, &extent) ) * return lb + extent # <<<<<<<<<<<<<< * * # Decoding a Datatype */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Count((__pyx_v_lb + __pyx_v_extent)); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":451 * property true_ub: * """true upper bound""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Count lb = 0, extent = 0 * CHKERR( MPI_Type_get_true_extent_x(self.ob_mpi, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.true_ub.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":460 * # ------------------- * * def Get_envelope(self): # <<<<<<<<<<<<<< * """ * Return information on the number and type of input arguments */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_51Get_envelope(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_50Get_envelope[] = "Datatype.Get_envelope(self)\n\n Return information on the number and type of input arguments\n used in the call that created a datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_51Get_envelope(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_envelope (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_envelope", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_envelope", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_50Get_envelope(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_50Get_envelope(struct PyMPIDatatypeObject *__pyx_v_self) { int __pyx_v_ni; int __pyx_v_na; int __pyx_v_nd; int __pyx_v_combiner; 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_envelope", 0); /* "mpi4py/MPI/Datatype.pyx":465 * used in the call that created a datatype * """ * cdef int ni = 0, na = 0, nd = 0, combiner = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_envelope(self.ob_mpi, &ni, &na, &nd, &combiner) ) * return (ni, na, nd, combiner) */ __pyx_v_ni = 0; __pyx_v_na = 0; __pyx_v_nd = 0; __pyx_v_combiner = MPI_UNDEFINED; /* "mpi4py/MPI/Datatype.pyx":466 * """ * cdef int ni = 0, na = 0, nd = 0, combiner = MPI_UNDEFINED * CHKERR( MPI_Type_get_envelope(self.ob_mpi, &ni, &na, &nd, &combiner) ) # <<<<<<<<<<<<<< * return (ni, na, nd, combiner) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_envelope(__pyx_v_self->ob_mpi, (&__pyx_v_ni), (&__pyx_v_na), (&__pyx_v_nd), (&__pyx_v_combiner))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 466, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":467 * cdef int ni = 0, na = 0, nd = 0, combiner = MPI_UNDEFINED * CHKERR( MPI_Type_get_envelope(self.ob_mpi, &ni, &na, &nd, &combiner) ) * return (ni, na, nd, combiner) # <<<<<<<<<<<<<< * * property envelope: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_ni); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_na); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_nd); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_combiner); if (unlikely(!__pyx_t_5)) __PYX_ERR(21, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_r = __pyx_t_6; __pyx_t_6 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":460 * # ------------------- * * def Get_envelope(self): # <<<<<<<<<<<<<< * """ * Return information on the number and type of input arguments */ /* 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_AddTraceback("mpi4py.MPI.Datatype.Get_envelope", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":471 * property envelope: * """datatype envelope""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_envelope() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_8envelope_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_8envelope_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_8envelope___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_8envelope___get__(struct PyMPIDatatypeObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":472 * """datatype envelope""" * def __get__(self): * return self.Get_envelope() # <<<<<<<<<<<<<< * * def Get_contents(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_envelope); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 472, __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(21, 472, __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; /* "mpi4py/MPI/Datatype.pyx":471 * property envelope: * """datatype envelope""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_envelope() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Datatype.envelope.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":474 * return self.Get_envelope() * * def Get_contents(self): # <<<<<<<<<<<<<< * """ * Retrieve the actual arguments used in the call that created a */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_53Get_contents(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_52Get_contents[] = "Datatype.Get_contents(self)\n\n Retrieve the actual arguments used in the call that created a\n datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_53Get_contents(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_contents (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_contents", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_contents", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_52Get_contents(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_52Get_contents(struct PyMPIDatatypeObject *__pyx_v_self) { int __pyx_v_ni; int __pyx_v_na; int __pyx_v_nd; int __pyx_v_combiner; int *__pyx_v_i; MPI_Aint *__pyx_v_a; MPI_Datatype *__pyx_v_d; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp3 = 0; int __pyx_v_k; PyObject *__pyx_v_integers = 0; PyObject *__pyx_v_addresses = 0; PyObject *__pyx_v_datatypes = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_contents", 0); /* "mpi4py/MPI/Datatype.pyx":479 * datatype * """ * cdef int ni = 0, na = 0, nd = 0, combiner = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_envelope(self.ob_mpi, &ni, &na, &nd, &combiner) ) * cdef int *i = NULL */ __pyx_v_ni = 0; __pyx_v_na = 0; __pyx_v_nd = 0; __pyx_v_combiner = MPI_UNDEFINED; /* "mpi4py/MPI/Datatype.pyx":480 * """ * cdef int ni = 0, na = 0, nd = 0, combiner = MPI_UNDEFINED * CHKERR( MPI_Type_get_envelope(self.ob_mpi, &ni, &na, &nd, &combiner) ) # <<<<<<<<<<<<<< * cdef int *i = NULL * cdef MPI_Aint *a = NULL */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_envelope(__pyx_v_self->ob_mpi, (&__pyx_v_ni), (&__pyx_v_na), (&__pyx_v_nd), (&__pyx_v_combiner))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 480, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":481 * cdef int ni = 0, na = 0, nd = 0, combiner = MPI_UNDEFINED * CHKERR( MPI_Type_get_envelope(self.ob_mpi, &ni, &na, &nd, &combiner) ) * cdef int *i = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint *a = NULL * cdef MPI_Datatype *d = NULL */ __pyx_v_i = NULL; /* "mpi4py/MPI/Datatype.pyx":482 * CHKERR( MPI_Type_get_envelope(self.ob_mpi, &ni, &na, &nd, &combiner) ) * cdef int *i = NULL * cdef MPI_Aint *a = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype *d = NULL * cdef tmp1 = allocate(ni, sizeof(int), &i) */ __pyx_v_a = NULL; /* "mpi4py/MPI/Datatype.pyx":483 * cdef int *i = NULL * cdef MPI_Aint *a = NULL * cdef MPI_Datatype *d = NULL # <<<<<<<<<<<<<< * cdef tmp1 = allocate(ni, sizeof(int), &i) * cdef tmp2 = allocate(na, sizeof(MPI_Aint), &a) */ __pyx_v_d = NULL; /* "mpi4py/MPI/Datatype.pyx":484 * cdef MPI_Aint *a = NULL * cdef MPI_Datatype *d = NULL * cdef tmp1 = allocate(ni, sizeof(int), &i) # <<<<<<<<<<<<<< * cdef tmp2 = allocate(na, sizeof(MPI_Aint), &a) * cdef tmp3 = allocate(nd, sizeof(MPI_Datatype), &d) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_ni, (sizeof(int)), (&__pyx_v_i))); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":485 * cdef MPI_Datatype *d = NULL * cdef tmp1 = allocate(ni, sizeof(int), &i) * cdef tmp2 = allocate(na, sizeof(MPI_Aint), &a) # <<<<<<<<<<<<<< * cdef tmp3 = allocate(nd, sizeof(MPI_Datatype), &d) * CHKERR( MPI_Type_get_contents(self.ob_mpi, ni, na, nd, i, a, d) ) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_na, (sizeof(MPI_Aint)), (&__pyx_v_a))); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":486 * cdef tmp1 = allocate(ni, sizeof(int), &i) * cdef tmp2 = allocate(na, sizeof(MPI_Aint), &a) * cdef tmp3 = allocate(nd, sizeof(MPI_Datatype), &d) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_contents(self.ob_mpi, ni, na, nd, i, a, d) ) * cdef int k = 0 */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_nd, (sizeof(MPI_Datatype)), (&__pyx_v_d))); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp3 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":487 * cdef tmp2 = allocate(na, sizeof(MPI_Aint), &a) * cdef tmp3 = allocate(nd, sizeof(MPI_Datatype), &d) * CHKERR( MPI_Type_get_contents(self.ob_mpi, ni, na, nd, i, a, d) ) # <<<<<<<<<<<<<< * cdef int k = 0 * cdef object integers = [i[k] for k from 0 <= k < ni] */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_contents(__pyx_v_self->ob_mpi, __pyx_v_ni, __pyx_v_na, __pyx_v_nd, __pyx_v_i, __pyx_v_a, __pyx_v_d)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 487, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":488 * cdef tmp3 = allocate(nd, sizeof(MPI_Datatype), &d) * CHKERR( MPI_Type_get_contents(self.ob_mpi, ni, na, nd, i, a, d) ) * cdef int k = 0 # <<<<<<<<<<<<<< * cdef object integers = [i[k] for k from 0 <= k < ni] * cdef object addresses = [a[k] for k from 0 <= k < na] */ __pyx_v_k = 0; /* "mpi4py/MPI/Datatype.pyx":489 * CHKERR( MPI_Type_get_contents(self.ob_mpi, ni, na, nd, i, a, d) ) * cdef int k = 0 * cdef object integers = [i[k] for k from 0 <= k < ni] # <<<<<<<<<<<<<< * cdef object addresses = [a[k] for k from 0 <= k < na] * cdef object datatypes = [ref_Datatype(d[k]) for k from 0 <= k < nd] */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_ni; for (__pyx_v_k = 0; __pyx_v_k < __pyx_t_1; __pyx_v_k++) { __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(21, 489, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_integers = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":490 * cdef int k = 0 * cdef object integers = [i[k] for k from 0 <= k < ni] * cdef object addresses = [a[k] for k from 0 <= k < na] # <<<<<<<<<<<<<< * cdef object datatypes = [ref_Datatype(d[k]) for k from 0 <= k < nd] * return (integers, addresses, datatypes) */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 490, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_na; for (__pyx_v_k = 0; __pyx_v_k < __pyx_t_1; __pyx_v_k++) { __pyx_t_3 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_a[__pyx_v_k])); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 490, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(21, 490, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_addresses = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":491 * cdef object integers = [i[k] for k from 0 <= k < ni] * cdef object addresses = [a[k] for k from 0 <= k < na] * cdef object datatypes = [ref_Datatype(d[k]) for k from 0 <= k < nd] # <<<<<<<<<<<<<< * return (integers, addresses, datatypes) * */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_nd; for (__pyx_v_k = 0; __pyx_v_k < __pyx_t_1; __pyx_v_k++) { __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_ref_Datatype((__pyx_v_d[__pyx_v_k]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(21, 491, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_datatypes = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":492 * cdef object addresses = [a[k] for k from 0 <= k < na] * cdef object datatypes = [ref_Datatype(d[k]) for k from 0 <= k < nd] * return (integers, addresses, datatypes) # <<<<<<<<<<<<<< * * property contents: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_integers); __Pyx_GIVEREF(__pyx_v_integers); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_integers); __Pyx_INCREF(__pyx_v_addresses); __Pyx_GIVEREF(__pyx_v_addresses); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_addresses); __Pyx_INCREF(__pyx_v_datatypes); __Pyx_GIVEREF(__pyx_v_datatypes); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_datatypes); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":474 * return self.Get_envelope() * * def Get_contents(self): # <<<<<<<<<<<<<< * """ * Retrieve the actual arguments used in the call that created a */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Get_contents", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_tmp3); __Pyx_XDECREF(__pyx_v_integers); __Pyx_XDECREF(__pyx_v_addresses); __Pyx_XDECREF(__pyx_v_datatypes); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":496 * property contents: * """datatype contents""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_contents() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_8contents_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_8contents_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_8contents___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_8contents___get__(struct PyMPIDatatypeObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":497 * """datatype contents""" * def __get__(self): * return self.Get_contents() # <<<<<<<<<<<<<< * * def decode(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_contents); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 497, __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(21, 497, __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; /* "mpi4py/MPI/Datatype.pyx":496 * property contents: * """datatype contents""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_contents() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Datatype.contents.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":499 * return self.Get_contents() * * def decode(self): # <<<<<<<<<<<<<< * """ * Convenience method for decoding a datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_55decode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_54decode[] = "Datatype.decode(self)\n\n Convenience method for decoding a datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_55decode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("decode (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("decode", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "decode", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_54decode(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_54decode(struct PyMPIDatatypeObject *__pyx_v_self) { int __pyx_v_ni; int __pyx_v_na; int __pyx_v_nd; int __pyx_v_combiner; int *__pyx_v_i; MPI_Aint *__pyx_v_a; MPI_Datatype *__pyx_v_d; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp3 = 0; int __pyx_v_k; int __pyx_v_s1; int __pyx_v_e1; int __pyx_v_s2; int __pyx_v_e2; int __pyx_v_s3; int __pyx_v_e3; int __pyx_v_s4; int __pyx_v_e4; PyObject *__pyx_v_oldtype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("decode", 0); /* "mpi4py/MPI/Datatype.pyx":504 * """ * # get the datatype envelope * cdef int ni = 0, na = 0, nd = 0, combiner = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_envelope(self.ob_mpi, &ni, &na, &nd, &combiner) ) * # return self immediately for named datatypes */ __pyx_v_ni = 0; __pyx_v_na = 0; __pyx_v_nd = 0; __pyx_v_combiner = MPI_UNDEFINED; /* "mpi4py/MPI/Datatype.pyx":505 * # get the datatype envelope * cdef int ni = 0, na = 0, nd = 0, combiner = MPI_UNDEFINED * CHKERR( MPI_Type_get_envelope(self.ob_mpi, &ni, &na, &nd, &combiner) ) # <<<<<<<<<<<<<< * # return self immediately for named datatypes * if combiner == MPI_COMBINER_NAMED: return self */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_envelope(__pyx_v_self->ob_mpi, (&__pyx_v_ni), (&__pyx_v_na), (&__pyx_v_nd), (&__pyx_v_combiner))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 505, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":507 * CHKERR( MPI_Type_get_envelope(self.ob_mpi, &ni, &na, &nd, &combiner) ) * # return self immediately for named datatypes * if combiner == MPI_COMBINER_NAMED: return self # <<<<<<<<<<<<<< * # get the datatype contents * cdef int *i = NULL */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_NAMED) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __pyx_r = ((PyObject *)__pyx_v_self); goto __pyx_L0; } /* "mpi4py/MPI/Datatype.pyx":509 * if combiner == MPI_COMBINER_NAMED: return self * # get the datatype contents * cdef int *i = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint *a = NULL * cdef MPI_Datatype *d = NULL */ __pyx_v_i = NULL; /* "mpi4py/MPI/Datatype.pyx":510 * # get the datatype contents * cdef int *i = NULL * cdef MPI_Aint *a = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype *d = NULL * cdef tmp1 = allocate(ni, sizeof(int), &i) */ __pyx_v_a = NULL; /* "mpi4py/MPI/Datatype.pyx":511 * cdef int *i = NULL * cdef MPI_Aint *a = NULL * cdef MPI_Datatype *d = NULL # <<<<<<<<<<<<<< * cdef tmp1 = allocate(ni, sizeof(int), &i) * cdef tmp2 = allocate(na, sizeof(MPI_Aint), &a) */ __pyx_v_d = NULL; /* "mpi4py/MPI/Datatype.pyx":512 * cdef MPI_Aint *a = NULL * cdef MPI_Datatype *d = NULL * cdef tmp1 = allocate(ni, sizeof(int), &i) # <<<<<<<<<<<<<< * cdef tmp2 = allocate(na, sizeof(MPI_Aint), &a) * cdef tmp3 = allocate(nd, sizeof(MPI_Datatype), &d) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_ni, (sizeof(int)), (&__pyx_v_i))); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp1 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":513 * cdef MPI_Datatype *d = NULL * cdef tmp1 = allocate(ni, sizeof(int), &i) * cdef tmp2 = allocate(na, sizeof(MPI_Aint), &a) # <<<<<<<<<<<<<< * cdef tmp3 = allocate(nd, sizeof(MPI_Datatype), &d) * CHKERR( MPI_Type_get_contents(self.ob_mpi, ni, na, nd, i, a, d) ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_na, (sizeof(MPI_Aint)), (&__pyx_v_a))); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 513, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp2 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":514 * cdef tmp1 = allocate(ni, sizeof(int), &i) * cdef tmp2 = allocate(na, sizeof(MPI_Aint), &a) * cdef tmp3 = allocate(nd, sizeof(MPI_Datatype), &d) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_contents(self.ob_mpi, ni, na, nd, i, a, d) ) * # manage in advance the contained datatypes */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_nd, (sizeof(MPI_Datatype)), (&__pyx_v_d))); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp3 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":515 * cdef tmp2 = allocate(na, sizeof(MPI_Aint), &a) * cdef tmp3 = allocate(nd, sizeof(MPI_Datatype), &d) * CHKERR( MPI_Type_get_contents(self.ob_mpi, ni, na, nd, i, a, d) ) # <<<<<<<<<<<<<< * # manage in advance the contained datatypes * cdef int k = 0, s1, e1, s2, e2, s3, e3, s4, e4 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_contents(__pyx_v_self->ob_mpi, __pyx_v_ni, __pyx_v_na, __pyx_v_nd, __pyx_v_i, __pyx_v_a, __pyx_v_d)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 515, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":517 * CHKERR( MPI_Type_get_contents(self.ob_mpi, ni, na, nd, i, a, d) ) * # manage in advance the contained datatypes * cdef int k = 0, s1, e1, s2, e2, s3, e3, s4, e4 # <<<<<<<<<<<<<< * cdef object oldtype = None * if combiner == MPI_COMBINER_STRUCT: */ __pyx_v_k = 0; /* "mpi4py/MPI/Datatype.pyx":518 * # manage in advance the contained datatypes * cdef int k = 0, s1, e1, s2, e2, s3, e3, s4, e4 * cdef object oldtype = None # <<<<<<<<<<<<<< * if combiner == MPI_COMBINER_STRUCT: * oldtype = [ref_Datatype(d[k]) for k from 0 <= k < nd] */ __Pyx_INCREF(Py_None); __pyx_v_oldtype = Py_None; /* "mpi4py/MPI/Datatype.pyx":519 * cdef int k = 0, s1, e1, s2, e2, s3, e3, s4, e4 * cdef object oldtype = None * if combiner == MPI_COMBINER_STRUCT: # <<<<<<<<<<<<<< * oldtype = [ref_Datatype(d[k]) for k from 0 <= k < nd] * elif (combiner != MPI_COMBINER_F90_INTEGER and */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_STRUCT) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":520 * cdef object oldtype = None * if combiner == MPI_COMBINER_STRUCT: * oldtype = [ref_Datatype(d[k]) for k from 0 <= k < nd] # <<<<<<<<<<<<<< * elif (combiner != MPI_COMBINER_F90_INTEGER and * combiner != MPI_COMBINER_F90_REAL and */ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_v_nd; for (__pyx_v_k = 0; __pyx_v_k < __pyx_t_1; __pyx_v_k++) { __pyx_t_4 = ((PyObject *)__pyx_f_6mpi4py_3MPI_ref_Datatype((__pyx_v_d[__pyx_v_k]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(21, 520, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF_SET(__pyx_v_oldtype, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":519 * cdef int k = 0, s1, e1, s2, e2, s3, e3, s4, e4 * cdef object oldtype = None * if combiner == MPI_COMBINER_STRUCT: # <<<<<<<<<<<<<< * oldtype = [ref_Datatype(d[k]) for k from 0 <= k < nd] * elif (combiner != MPI_COMBINER_F90_INTEGER and */ goto __pyx_L4; } /* "mpi4py/MPI/Datatype.pyx":521 * if combiner == MPI_COMBINER_STRUCT: * oldtype = [ref_Datatype(d[k]) for k from 0 <= k < nd] * elif (combiner != MPI_COMBINER_F90_INTEGER and # <<<<<<<<<<<<<< * combiner != MPI_COMBINER_F90_REAL and * combiner != MPI_COMBINER_F90_COMPLEX): */ __pyx_t_5 = ((__pyx_v_combiner != MPI_COMBINER_F90_INTEGER) != 0); if (__pyx_t_5) { } else { __pyx_t_2 = __pyx_t_5; goto __pyx_L7_bool_binop_done; } /* "mpi4py/MPI/Datatype.pyx":522 * oldtype = [ref_Datatype(d[k]) for k from 0 <= k < nd] * elif (combiner != MPI_COMBINER_F90_INTEGER and * combiner != MPI_COMBINER_F90_REAL and # <<<<<<<<<<<<<< * combiner != MPI_COMBINER_F90_COMPLEX): * oldtype = ref_Datatype(d[0]) */ __pyx_t_5 = ((__pyx_v_combiner != MPI_COMBINER_F90_REAL) != 0); if (__pyx_t_5) { } else { __pyx_t_2 = __pyx_t_5; goto __pyx_L7_bool_binop_done; } /* "mpi4py/MPI/Datatype.pyx":523 * elif (combiner != MPI_COMBINER_F90_INTEGER and * combiner != MPI_COMBINER_F90_REAL and * combiner != MPI_COMBINER_F90_COMPLEX): # <<<<<<<<<<<<<< * oldtype = ref_Datatype(d[0]) * # dispatch depending on the combiner value */ __pyx_t_5 = ((__pyx_v_combiner != MPI_COMBINER_F90_COMPLEX) != 0); __pyx_t_2 = __pyx_t_5; __pyx_L7_bool_binop_done:; /* "mpi4py/MPI/Datatype.pyx":521 * if combiner == MPI_COMBINER_STRUCT: * oldtype = [ref_Datatype(d[k]) for k from 0 <= k < nd] * elif (combiner != MPI_COMBINER_F90_INTEGER and # <<<<<<<<<<<<<< * combiner != MPI_COMBINER_F90_REAL and * combiner != MPI_COMBINER_F90_COMPLEX): */ if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":524 * combiner != MPI_COMBINER_F90_REAL and * combiner != MPI_COMBINER_F90_COMPLEX): * oldtype = ref_Datatype(d[0]) # <<<<<<<<<<<<<< * # dispatch depending on the combiner value * if combiner == MPI_COMBINER_DUP: */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_ref_Datatype((__pyx_v_d[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_oldtype, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":521 * if combiner == MPI_COMBINER_STRUCT: * oldtype = [ref_Datatype(d[k]) for k from 0 <= k < nd] * elif (combiner != MPI_COMBINER_F90_INTEGER and # <<<<<<<<<<<<<< * combiner != MPI_COMBINER_F90_REAL and * combiner != MPI_COMBINER_F90_COMPLEX): */ } __pyx_L4:; /* "mpi4py/MPI/Datatype.pyx":526 * oldtype = ref_Datatype(d[0]) * # dispatch depending on the combiner value * if combiner == MPI_COMBINER_DUP: # <<<<<<<<<<<<<< * return (oldtype, ('DUP'), {}) * elif combiner == MPI_COMBINER_CONTIGUOUS: */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_DUP) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":527 * # dispatch depending on the combiner value * if combiner == MPI_COMBINER_DUP: * return (oldtype, ('DUP'), {}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_CONTIGUOUS: * return (oldtype, ('CONTIGUOUS'), */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_oldtype); __Pyx_GIVEREF(__pyx_v_oldtype); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_oldtype); __Pyx_INCREF(__pyx_n_s_DUP); __Pyx_GIVEREF(__pyx_n_s_DUP); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_DUP); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":526 * oldtype = ref_Datatype(d[0]) * # dispatch depending on the combiner value * if combiner == MPI_COMBINER_DUP: # <<<<<<<<<<<<<< * return (oldtype, ('DUP'), {}) * elif combiner == MPI_COMBINER_CONTIGUOUS: */ } /* "mpi4py/MPI/Datatype.pyx":528 * if combiner == MPI_COMBINER_DUP: * return (oldtype, ('DUP'), {}) * elif combiner == MPI_COMBINER_CONTIGUOUS: # <<<<<<<<<<<<<< * return (oldtype, ('CONTIGUOUS'), * {('count') : i[0]}) */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_CONTIGUOUS) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":529 * return (oldtype, ('DUP'), {}) * elif combiner == MPI_COMBINER_CONTIGUOUS: * return (oldtype, ('CONTIGUOUS'), # <<<<<<<<<<<<<< * {('count') : i[0]}) * elif combiner == MPI_COMBINER_VECTOR: */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":530 * elif combiner == MPI_COMBINER_CONTIGUOUS: * return (oldtype, ('CONTIGUOUS'), * {('count') : i[0]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_VECTOR: * return (oldtype, ('VECTOR'), */ __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_i[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_count, __pyx_t_3) < 0) __PYX_ERR(21, 530, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":529 * return (oldtype, ('DUP'), {}) * elif combiner == MPI_COMBINER_CONTIGUOUS: * return (oldtype, ('CONTIGUOUS'), # <<<<<<<<<<<<<< * {('count') : i[0]}) * elif combiner == MPI_COMBINER_VECTOR: */ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_oldtype); __Pyx_GIVEREF(__pyx_v_oldtype); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_oldtype); __Pyx_INCREF(__pyx_n_s_CONTIGUOUS); __Pyx_GIVEREF(__pyx_n_s_CONTIGUOUS); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_CONTIGUOUS); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":528 * if combiner == MPI_COMBINER_DUP: * return (oldtype, ('DUP'), {}) * elif combiner == MPI_COMBINER_CONTIGUOUS: # <<<<<<<<<<<<<< * return (oldtype, ('CONTIGUOUS'), * {('count') : i[0]}) */ } /* "mpi4py/MPI/Datatype.pyx":531 * return (oldtype, ('CONTIGUOUS'), * {('count') : i[0]}) * elif combiner == MPI_COMBINER_VECTOR: # <<<<<<<<<<<<<< * return (oldtype, ('VECTOR'), * {('count') : i[0], */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_VECTOR) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":532 * {('count') : i[0]}) * elif combiner == MPI_COMBINER_VECTOR: * return (oldtype, ('VECTOR'), # <<<<<<<<<<<<<< * {('count') : i[0], * ('blocklength') : i[1], */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":533 * elif combiner == MPI_COMBINER_VECTOR: * return (oldtype, ('VECTOR'), * {('count') : i[0], # <<<<<<<<<<<<<< * ('blocklength') : i[1], * ('stride') : i[2]}) */ __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_i[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_count, __pyx_t_4) < 0) __PYX_ERR(21, 533, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":534 * return (oldtype, ('VECTOR'), * {('count') : i[0], * ('blocklength') : i[1], # <<<<<<<<<<<<<< * ('stride') : i[2]}) * elif combiner == MPI_COMBINER_HVECTOR: */ __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_i[1])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_blocklength, __pyx_t_4) < 0) __PYX_ERR(21, 533, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":535 * {('count') : i[0], * ('blocklength') : i[1], * ('stride') : i[2]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_HVECTOR: * return (oldtype, ('HVECTOR'), */ __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_i[2])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_stride, __pyx_t_4) < 0) __PYX_ERR(21, 533, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":532 * {('count') : i[0]}) * elif combiner == MPI_COMBINER_VECTOR: * return (oldtype, ('VECTOR'), # <<<<<<<<<<<<<< * {('count') : i[0], * ('blocklength') : i[1], */ __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_oldtype); __Pyx_GIVEREF(__pyx_v_oldtype); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_oldtype); __Pyx_INCREF(__pyx_n_s_VECTOR); __Pyx_GIVEREF(__pyx_n_s_VECTOR); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_VECTOR); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":531 * return (oldtype, ('CONTIGUOUS'), * {('count') : i[0]}) * elif combiner == MPI_COMBINER_VECTOR: # <<<<<<<<<<<<<< * return (oldtype, ('VECTOR'), * {('count') : i[0], */ } /* "mpi4py/MPI/Datatype.pyx":536 * ('blocklength') : i[1], * ('stride') : i[2]}) * elif combiner == MPI_COMBINER_HVECTOR: # <<<<<<<<<<<<<< * return (oldtype, ('HVECTOR'), * {('count') : i[0], */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_HVECTOR) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":537 * ('stride') : i[2]}) * elif combiner == MPI_COMBINER_HVECTOR: * return (oldtype, ('HVECTOR'), # <<<<<<<<<<<<<< * {('count') : i[0], * ('blocklength') : i[1], */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":538 * elif combiner == MPI_COMBINER_HVECTOR: * return (oldtype, ('HVECTOR'), * {('count') : i[0], # <<<<<<<<<<<<<< * ('blocklength') : i[1], * ('stride') : a[0]}) */ __pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_i[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_count, __pyx_t_3) < 0) __PYX_ERR(21, 538, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":539 * return (oldtype, ('HVECTOR'), * {('count') : i[0], * ('blocklength') : i[1], # <<<<<<<<<<<<<< * ('stride') : a[0]}) * elif combiner == MPI_COMBINER_INDEXED: */ __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_i[1])); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_blocklength, __pyx_t_3) < 0) __PYX_ERR(21, 538, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":540 * {('count') : i[0], * ('blocklength') : i[1], * ('stride') : a[0]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_INDEXED: * s1 = 1; e1 = i[0] */ __pyx_t_3 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_a[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_stride, __pyx_t_3) < 0) __PYX_ERR(21, 538, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":537 * ('stride') : i[2]}) * elif combiner == MPI_COMBINER_HVECTOR: * return (oldtype, ('HVECTOR'), # <<<<<<<<<<<<<< * {('count') : i[0], * ('blocklength') : i[1], */ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_oldtype); __Pyx_GIVEREF(__pyx_v_oldtype); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_oldtype); __Pyx_INCREF(__pyx_n_s_HVECTOR); __Pyx_GIVEREF(__pyx_n_s_HVECTOR); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_HVECTOR); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":536 * ('blocklength') : i[1], * ('stride') : i[2]}) * elif combiner == MPI_COMBINER_HVECTOR: # <<<<<<<<<<<<<< * return (oldtype, ('HVECTOR'), * {('count') : i[0], */ } /* "mpi4py/MPI/Datatype.pyx":541 * ('blocklength') : i[1], * ('stride') : a[0]}) * elif combiner == MPI_COMBINER_INDEXED: # <<<<<<<<<<<<<< * s1 = 1; e1 = i[0] * s2 = i[0]+1; e2 = 2*i[0] */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_INDEXED) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":542 * ('stride') : a[0]}) * elif combiner == MPI_COMBINER_INDEXED: * s1 = 1; e1 = i[0] # <<<<<<<<<<<<<< * s2 = i[0]+1; e2 = 2*i[0] * return (oldtype, ('INDEXED'), */ __pyx_v_s1 = 1; __pyx_v_e1 = (__pyx_v_i[0]); /* "mpi4py/MPI/Datatype.pyx":543 * elif combiner == MPI_COMBINER_INDEXED: * s1 = 1; e1 = i[0] * s2 = i[0]+1; e2 = 2*i[0] # <<<<<<<<<<<<<< * return (oldtype, ('INDEXED'), * {('blocklengths') : [i[k] for k from s1 <= k <= e1], */ __pyx_v_s2 = ((__pyx_v_i[0]) + 1); __pyx_v_e2 = (2 * (__pyx_v_i[0])); /* "mpi4py/MPI/Datatype.pyx":544 * s1 = 1; e1 = i[0] * s2 = i[0]+1; e2 = 2*i[0] * return (oldtype, ('INDEXED'), # <<<<<<<<<<<<<< * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [i[k] for k from s2 <= k <= e2]}) */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":545 * s2 = i[0]+1; e2 = 2*i[0] * return (oldtype, ('INDEXED'), * {('blocklengths') : [i[k] for k from s1 <= k <= e1], # <<<<<<<<<<<<<< * ('displacements') : [i[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_HINDEXED: */ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __pyx_v_e1; for (__pyx_v_k = __pyx_v_s1; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 545, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_blocklengths, __pyx_t_4) < 0) __PYX_ERR(21, 545, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":546 * return (oldtype, ('INDEXED'), * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [i[k] for k from s2 <= k <= e2]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_HINDEXED: * s1 = 1; e1 = i[0] */ __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __pyx_v_e2; for (__pyx_v_k = __pyx_v_s2; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 546, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_displacements, __pyx_t_4) < 0) __PYX_ERR(21, 545, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":544 * s1 = 1; e1 = i[0] * s2 = i[0]+1; e2 = 2*i[0] * return (oldtype, ('INDEXED'), # <<<<<<<<<<<<<< * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [i[k] for k from s2 <= k <= e2]}) */ __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_oldtype); __Pyx_GIVEREF(__pyx_v_oldtype); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_oldtype); __Pyx_INCREF(__pyx_n_s_INDEXED); __Pyx_GIVEREF(__pyx_n_s_INDEXED); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_INDEXED); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":541 * ('blocklength') : i[1], * ('stride') : a[0]}) * elif combiner == MPI_COMBINER_INDEXED: # <<<<<<<<<<<<<< * s1 = 1; e1 = i[0] * s2 = i[0]+1; e2 = 2*i[0] */ } /* "mpi4py/MPI/Datatype.pyx":547 * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [i[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_HINDEXED: # <<<<<<<<<<<<<< * s1 = 1; e1 = i[0] * s2 = 0; e2 = i[0]-1 */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_HINDEXED) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":548 * ('displacements') : [i[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_HINDEXED: * s1 = 1; e1 = i[0] # <<<<<<<<<<<<<< * s2 = 0; e2 = i[0]-1 * return (oldtype, ('HINDEXED'), */ __pyx_v_s1 = 1; __pyx_v_e1 = (__pyx_v_i[0]); /* "mpi4py/MPI/Datatype.pyx":549 * elif combiner == MPI_COMBINER_HINDEXED: * s1 = 1; e1 = i[0] * s2 = 0; e2 = i[0]-1 # <<<<<<<<<<<<<< * return (oldtype, ('HINDEXED'), * {('blocklengths') : [i[k] for k from s1 <= k <= e1], */ __pyx_v_s2 = 0; __pyx_v_e2 = ((__pyx_v_i[0]) - 1); /* "mpi4py/MPI/Datatype.pyx":550 * s1 = 1; e1 = i[0] * s2 = 0; e2 = i[0]-1 * return (oldtype, ('HINDEXED'), # <<<<<<<<<<<<<< * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [a[k] for k from s2 <= k <= e2]}) */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":551 * s2 = 0; e2 = i[0]-1 * return (oldtype, ('HINDEXED'), * {('blocklengths') : [i[k] for k from s1 <= k <= e1], # <<<<<<<<<<<<<< * ('displacements') : [a[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_INDEXED_BLOCK: */ __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 551, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 551, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_v_e1; for (__pyx_v_k = __pyx_v_s1; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 551, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 551, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_blocklengths, __pyx_t_3) < 0) __PYX_ERR(21, 551, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":552 * return (oldtype, ('HINDEXED'), * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [a[k] for k from s2 <= k <= e2]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_INDEXED_BLOCK: * s2 = 2; e2 = i[0]+1 */ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_v_e2; for (__pyx_v_k = __pyx_v_s2; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_a[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 552, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_displacements, __pyx_t_3) < 0) __PYX_ERR(21, 551, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":550 * s1 = 1; e1 = i[0] * s2 = 0; e2 = i[0]-1 * return (oldtype, ('HINDEXED'), # <<<<<<<<<<<<<< * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [a[k] for k from s2 <= k <= e2]}) */ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_oldtype); __Pyx_GIVEREF(__pyx_v_oldtype); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_oldtype); __Pyx_INCREF(__pyx_n_s_HINDEXED); __Pyx_GIVEREF(__pyx_n_s_HINDEXED); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_HINDEXED); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":547 * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [i[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_HINDEXED: # <<<<<<<<<<<<<< * s1 = 1; e1 = i[0] * s2 = 0; e2 = i[0]-1 */ } /* "mpi4py/MPI/Datatype.pyx":553 * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [a[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_INDEXED_BLOCK: # <<<<<<<<<<<<<< * s2 = 2; e2 = i[0]+1 * return (oldtype, ('INDEXED_BLOCK'), */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_INDEXED_BLOCK) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":554 * ('displacements') : [a[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_INDEXED_BLOCK: * s2 = 2; e2 = i[0]+1 # <<<<<<<<<<<<<< * return (oldtype, ('INDEXED_BLOCK'), * {('blocklength') : i[1], */ __pyx_v_s2 = 2; __pyx_v_e2 = ((__pyx_v_i[0]) + 1); /* "mpi4py/MPI/Datatype.pyx":555 * elif combiner == MPI_COMBINER_INDEXED_BLOCK: * s2 = 2; e2 = i[0]+1 * return (oldtype, ('INDEXED_BLOCK'), # <<<<<<<<<<<<<< * {('blocklength') : i[1], * ('displacements') : [i[k] for k from s2 <= k <= e2]}) */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":556 * s2 = 2; e2 = i[0]+1 * return (oldtype, ('INDEXED_BLOCK'), * {('blocklength') : i[1], # <<<<<<<<<<<<<< * ('displacements') : [i[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_HINDEXED_BLOCK: */ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_i[1])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_blocklength, __pyx_t_4) < 0) __PYX_ERR(21, 556, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":557 * return (oldtype, ('INDEXED_BLOCK'), * {('blocklength') : i[1], * ('displacements') : [i[k] for k from s2 <= k <= e2]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_HINDEXED_BLOCK: * s2 = 0; e2 = i[0]-1 */ __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __pyx_v_e2; for (__pyx_v_k = __pyx_v_s2; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 557, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_displacements, __pyx_t_4) < 0) __PYX_ERR(21, 556, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":555 * elif combiner == MPI_COMBINER_INDEXED_BLOCK: * s2 = 2; e2 = i[0]+1 * return (oldtype, ('INDEXED_BLOCK'), # <<<<<<<<<<<<<< * {('blocklength') : i[1], * ('displacements') : [i[k] for k from s2 <= k <= e2]}) */ __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_oldtype); __Pyx_GIVEREF(__pyx_v_oldtype); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_oldtype); __Pyx_INCREF(__pyx_n_s_INDEXED_BLOCK); __Pyx_GIVEREF(__pyx_n_s_INDEXED_BLOCK); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_INDEXED_BLOCK); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":553 * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [a[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_INDEXED_BLOCK: # <<<<<<<<<<<<<< * s2 = 2; e2 = i[0]+1 * return (oldtype, ('INDEXED_BLOCK'), */ } /* "mpi4py/MPI/Datatype.pyx":558 * {('blocklength') : i[1], * ('displacements') : [i[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_HINDEXED_BLOCK: # <<<<<<<<<<<<<< * s2 = 0; e2 = i[0]-1 * return (oldtype, ('HINDEXED_BLOCK'), */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_HINDEXED_BLOCK) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":559 * ('displacements') : [i[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_HINDEXED_BLOCK: * s2 = 0; e2 = i[0]-1 # <<<<<<<<<<<<<< * return (oldtype, ('HINDEXED_BLOCK'), * {('blocklength') : i[1], */ __pyx_v_s2 = 0; __pyx_v_e2 = ((__pyx_v_i[0]) - 1); /* "mpi4py/MPI/Datatype.pyx":560 * elif combiner == MPI_COMBINER_HINDEXED_BLOCK: * s2 = 0; e2 = i[0]-1 * return (oldtype, ('HINDEXED_BLOCK'), # <<<<<<<<<<<<<< * {('blocklength') : i[1], * ('displacements') : [a[k] for k from s2 <= k <= e2]}) */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":561 * s2 = 0; e2 = i[0]-1 * return (oldtype, ('HINDEXED_BLOCK'), * {('blocklength') : i[1], # <<<<<<<<<<<<<< * ('displacements') : [a[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_STRUCT: */ __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_i[1])); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_blocklength, __pyx_t_3) < 0) __PYX_ERR(21, 561, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":562 * return (oldtype, ('HINDEXED_BLOCK'), * {('blocklength') : i[1], * ('displacements') : [a[k] for k from s2 <= k <= e2]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_STRUCT: * s1 = 1; e1 = i[0] */ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_v_e2; for (__pyx_v_k = __pyx_v_s2; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_a[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 562, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_displacements, __pyx_t_3) < 0) __PYX_ERR(21, 561, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":560 * elif combiner == MPI_COMBINER_HINDEXED_BLOCK: * s2 = 0; e2 = i[0]-1 * return (oldtype, ('HINDEXED_BLOCK'), # <<<<<<<<<<<<<< * {('blocklength') : i[1], * ('displacements') : [a[k] for k from s2 <= k <= e2]}) */ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 560, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_oldtype); __Pyx_GIVEREF(__pyx_v_oldtype); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_oldtype); __Pyx_INCREF(__pyx_n_s_HINDEXED_BLOCK); __Pyx_GIVEREF(__pyx_n_s_HINDEXED_BLOCK); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_HINDEXED_BLOCK); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":558 * {('blocklength') : i[1], * ('displacements') : [i[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_HINDEXED_BLOCK: # <<<<<<<<<<<<<< * s2 = 0; e2 = i[0]-1 * return (oldtype, ('HINDEXED_BLOCK'), */ } /* "mpi4py/MPI/Datatype.pyx":563 * {('blocklength') : i[1], * ('displacements') : [a[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_STRUCT: # <<<<<<<<<<<<<< * s1 = 1; e1 = i[0] * s2 = 0; e2 = i[0]-1 */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_STRUCT) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":564 * ('displacements') : [a[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_STRUCT: * s1 = 1; e1 = i[0] # <<<<<<<<<<<<<< * s2 = 0; e2 = i[0]-1 * return (Datatype, ('STRUCT'), */ __pyx_v_s1 = 1; __pyx_v_e1 = (__pyx_v_i[0]); /* "mpi4py/MPI/Datatype.pyx":565 * elif combiner == MPI_COMBINER_STRUCT: * s1 = 1; e1 = i[0] * s2 = 0; e2 = i[0]-1 # <<<<<<<<<<<<<< * return (Datatype, ('STRUCT'), * {('blocklengths') : [i[k] for k from s1 <= k <= e1], */ __pyx_v_s2 = 0; __pyx_v_e2 = ((__pyx_v_i[0]) - 1); /* "mpi4py/MPI/Datatype.pyx":566 * s1 = 1; e1 = i[0] * s2 = 0; e2 = i[0]-1 * return (Datatype, ('STRUCT'), # <<<<<<<<<<<<<< * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [a[k] for k from s2 <= k <= e2], */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":567 * s2 = 0; e2 = i[0]-1 * return (Datatype, ('STRUCT'), * {('blocklengths') : [i[k] for k from s1 <= k <= e1], # <<<<<<<<<<<<<< * ('displacements') : [a[k] for k from s2 <= k <= e2], * ('datatypes') : oldtype}) */ __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __pyx_v_e1; for (__pyx_v_k = __pyx_v_s1; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 567, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_blocklengths, __pyx_t_4) < 0) __PYX_ERR(21, 567, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":568 * return (Datatype, ('STRUCT'), * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [a[k] for k from s2 <= k <= e2], # <<<<<<<<<<<<<< * ('datatypes') : oldtype}) * elif combiner == MPI_COMBINER_SUBARRAY: */ __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 568, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __pyx_v_e2; for (__pyx_v_k = __pyx_v_s2; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_a[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 568, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 568, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_displacements, __pyx_t_4) < 0) __PYX_ERR(21, 567, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":569 * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [a[k] for k from s2 <= k <= e2], * ('datatypes') : oldtype}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_SUBARRAY: * s1 = 1; e1 = i[0] */ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_datatypes, __pyx_v_oldtype) < 0) __PYX_ERR(21, 567, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":566 * s1 = 1; e1 = i[0] * s2 = 0; e2 = i[0]-1 * return (Datatype, ('STRUCT'), # <<<<<<<<<<<<<< * {('blocklengths') : [i[k] for k from s1 <= k <= e1], * ('displacements') : [a[k] for k from s2 <= k <= e2], */ __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype)); __Pyx_INCREF(__pyx_n_s_STRUCT); __Pyx_GIVEREF(__pyx_n_s_STRUCT); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_STRUCT); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":563 * {('blocklength') : i[1], * ('displacements') : [a[k] for k from s2 <= k <= e2]}) * elif combiner == MPI_COMBINER_STRUCT: # <<<<<<<<<<<<<< * s1 = 1; e1 = i[0] * s2 = 0; e2 = i[0]-1 */ } /* "mpi4py/MPI/Datatype.pyx":570 * ('displacements') : [a[k] for k from s2 <= k <= e2], * ('datatypes') : oldtype}) * elif combiner == MPI_COMBINER_SUBARRAY: # <<<<<<<<<<<<<< * s1 = 1; e1 = i[0] * s2 = i[0]+1; e2 = 2*i[0] */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_SUBARRAY) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":571 * ('datatypes') : oldtype}) * elif combiner == MPI_COMBINER_SUBARRAY: * s1 = 1; e1 = i[0] # <<<<<<<<<<<<<< * s2 = i[0]+1; e2 = 2*i[0] * s3 = 2*i[0]+1; e3 = 3*i[0] */ __pyx_v_s1 = 1; __pyx_v_e1 = (__pyx_v_i[0]); /* "mpi4py/MPI/Datatype.pyx":572 * elif combiner == MPI_COMBINER_SUBARRAY: * s1 = 1; e1 = i[0] * s2 = i[0]+1; e2 = 2*i[0] # <<<<<<<<<<<<<< * s3 = 2*i[0]+1; e3 = 3*i[0] * return (oldtype, ('SUBARRAY'), */ __pyx_v_s2 = ((__pyx_v_i[0]) + 1); __pyx_v_e2 = (2 * (__pyx_v_i[0])); /* "mpi4py/MPI/Datatype.pyx":573 * s1 = 1; e1 = i[0] * s2 = i[0]+1; e2 = 2*i[0] * s3 = 2*i[0]+1; e3 = 3*i[0] # <<<<<<<<<<<<<< * return (oldtype, ('SUBARRAY'), * {('sizes') : [i[k] for k from s1 <= k <= e1], */ __pyx_v_s3 = ((2 * (__pyx_v_i[0])) + 1); __pyx_v_e3 = (3 * (__pyx_v_i[0])); /* "mpi4py/MPI/Datatype.pyx":574 * s2 = i[0]+1; e2 = 2*i[0] * s3 = 2*i[0]+1; e3 = 3*i[0] * return (oldtype, ('SUBARRAY'), # <<<<<<<<<<<<<< * {('sizes') : [i[k] for k from s1 <= k <= e1], * ('subsizes') : [i[k] for k from s2 <= k <= e2], */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":575 * s3 = 2*i[0]+1; e3 = 3*i[0] * return (oldtype, ('SUBARRAY'), * {('sizes') : [i[k] for k from s1 <= k <= e1], # <<<<<<<<<<<<<< * ('subsizes') : [i[k] for k from s2 <= k <= e2], * ('starts') : [i[k] for k from s3 <= k <= e3], */ __pyx_t_4 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_v_e1; for (__pyx_v_k = __pyx_v_s1; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 575, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_sizes, __pyx_t_3) < 0) __PYX_ERR(21, 575, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":576 * return (oldtype, ('SUBARRAY'), * {('sizes') : [i[k] for k from s1 <= k <= e1], * ('subsizes') : [i[k] for k from s2 <= k <= e2], # <<<<<<<<<<<<<< * ('starts') : [i[k] for k from s3 <= k <= e3], * ('order') : i[3*i[0]+1]}) */ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_v_e2; for (__pyx_v_k = __pyx_v_s2; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 576, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_subsizes, __pyx_t_3) < 0) __PYX_ERR(21, 575, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":577 * {('sizes') : [i[k] for k from s1 <= k <= e1], * ('subsizes') : [i[k] for k from s2 <= k <= e2], * ('starts') : [i[k] for k from s3 <= k <= e3], # <<<<<<<<<<<<<< * ('order') : i[3*i[0]+1]}) * elif combiner == MPI_COMBINER_DARRAY: */ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_v_e3; for (__pyx_v_k = __pyx_v_s3; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 577, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_starts, __pyx_t_3) < 0) __PYX_ERR(21, 575, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":578 * ('subsizes') : [i[k] for k from s2 <= k <= e2], * ('starts') : [i[k] for k from s3 <= k <= e3], * ('order') : i[3*i[0]+1]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_DARRAY: * s1 = 3; e1 = i[2]+2 */ __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_i[((3 * (__pyx_v_i[0])) + 1)])); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_order, __pyx_t_3) < 0) __PYX_ERR(21, 575, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":574 * s2 = i[0]+1; e2 = 2*i[0] * s3 = 2*i[0]+1; e3 = 3*i[0] * return (oldtype, ('SUBARRAY'), # <<<<<<<<<<<<<< * {('sizes') : [i[k] for k from s1 <= k <= e1], * ('subsizes') : [i[k] for k from s2 <= k <= e2], */ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 574, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_oldtype); __Pyx_GIVEREF(__pyx_v_oldtype); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_oldtype); __Pyx_INCREF(__pyx_n_s_SUBARRAY); __Pyx_GIVEREF(__pyx_n_s_SUBARRAY); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_SUBARRAY); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":570 * ('displacements') : [a[k] for k from s2 <= k <= e2], * ('datatypes') : oldtype}) * elif combiner == MPI_COMBINER_SUBARRAY: # <<<<<<<<<<<<<< * s1 = 1; e1 = i[0] * s2 = i[0]+1; e2 = 2*i[0] */ } /* "mpi4py/MPI/Datatype.pyx":579 * ('starts') : [i[k] for k from s3 <= k <= e3], * ('order') : i[3*i[0]+1]}) * elif combiner == MPI_COMBINER_DARRAY: # <<<<<<<<<<<<<< * s1 = 3; e1 = i[2]+2 * s2 = i[2]+3; e2 = 2*i[2]+2 */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_DARRAY) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":580 * ('order') : i[3*i[0]+1]}) * elif combiner == MPI_COMBINER_DARRAY: * s1 = 3; e1 = i[2]+2 # <<<<<<<<<<<<<< * s2 = i[2]+3; e2 = 2*i[2]+2 * s3 = 2*i[2]+3; e3 = 3*i[2]+2 */ __pyx_v_s1 = 3; __pyx_v_e1 = ((__pyx_v_i[2]) + 2); /* "mpi4py/MPI/Datatype.pyx":581 * elif combiner == MPI_COMBINER_DARRAY: * s1 = 3; e1 = i[2]+2 * s2 = i[2]+3; e2 = 2*i[2]+2 # <<<<<<<<<<<<<< * s3 = 2*i[2]+3; e3 = 3*i[2]+2 * s4 = 3*i[2]+3; e4 = 4*i[2]+2 */ __pyx_v_s2 = ((__pyx_v_i[2]) + 3); __pyx_v_e2 = ((2 * (__pyx_v_i[2])) + 2); /* "mpi4py/MPI/Datatype.pyx":582 * s1 = 3; e1 = i[2]+2 * s2 = i[2]+3; e2 = 2*i[2]+2 * s3 = 2*i[2]+3; e3 = 3*i[2]+2 # <<<<<<<<<<<<<< * s4 = 3*i[2]+3; e4 = 4*i[2]+2 * return (oldtype, ('DARRAY'), */ __pyx_v_s3 = ((2 * (__pyx_v_i[2])) + 3); __pyx_v_e3 = ((3 * (__pyx_v_i[2])) + 2); /* "mpi4py/MPI/Datatype.pyx":583 * s2 = i[2]+3; e2 = 2*i[2]+2 * s3 = 2*i[2]+3; e3 = 3*i[2]+2 * s4 = 3*i[2]+3; e4 = 4*i[2]+2 # <<<<<<<<<<<<<< * return (oldtype, ('DARRAY'), * {('size') : i[0], */ __pyx_v_s4 = ((3 * (__pyx_v_i[2])) + 3); __pyx_v_e4 = ((4 * (__pyx_v_i[2])) + 2); /* "mpi4py/MPI/Datatype.pyx":584 * s3 = 2*i[2]+3; e3 = 3*i[2]+2 * s4 = 3*i[2]+3; e4 = 4*i[2]+2 * return (oldtype, ('DARRAY'), # <<<<<<<<<<<<<< * {('size') : i[0], * ('rank') : i[1], */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":585 * s4 = 3*i[2]+3; e4 = 4*i[2]+2 * return (oldtype, ('DARRAY'), * {('size') : i[0], # <<<<<<<<<<<<<< * ('rank') : i[1], * ('gsizes') : [i[k] for k from s1 <= k <= e1], */ __pyx_t_3 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_i[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_size, __pyx_t_4) < 0) __PYX_ERR(21, 585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":586 * return (oldtype, ('DARRAY'), * {('size') : i[0], * ('rank') : i[1], # <<<<<<<<<<<<<< * ('gsizes') : [i[k] for k from s1 <= k <= e1], * ('distribs') : [i[k] for k from s2 <= k <= e2], */ __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_i[1])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_rank, __pyx_t_4) < 0) __PYX_ERR(21, 585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":587 * {('size') : i[0], * ('rank') : i[1], * ('gsizes') : [i[k] for k from s1 <= k <= e1], # <<<<<<<<<<<<<< * ('distribs') : [i[k] for k from s2 <= k <= e2], * ('dargs') : [i[k] for k from s3 <= k <= e3], */ __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __pyx_v_e1; for (__pyx_v_k = __pyx_v_s1; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 587, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_gsizes, __pyx_t_4) < 0) __PYX_ERR(21, 585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":588 * ('rank') : i[1], * ('gsizes') : [i[k] for k from s1 <= k <= e1], * ('distribs') : [i[k] for k from s2 <= k <= e2], # <<<<<<<<<<<<<< * ('dargs') : [i[k] for k from s3 <= k <= e3], * ('psizes') : [i[k] for k from s4 <= k <= e4], */ __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __pyx_v_e2; for (__pyx_v_k = __pyx_v_s2; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_distribs, __pyx_t_4) < 0) __PYX_ERR(21, 585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":589 * ('gsizes') : [i[k] for k from s1 <= k <= e1], * ('distribs') : [i[k] for k from s2 <= k <= e2], * ('dargs') : [i[k] for k from s3 <= k <= e3], # <<<<<<<<<<<<<< * ('psizes') : [i[k] for k from s4 <= k <= e4], * ('order') : i[4*i[2]+3]}) */ __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 589, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __pyx_v_e3; for (__pyx_v_k = __pyx_v_s3; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 589, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 589, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dargs, __pyx_t_4) < 0) __PYX_ERR(21, 585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":590 * ('distribs') : [i[k] for k from s2 <= k <= e2], * ('dargs') : [i[k] for k from s3 <= k <= e3], * ('psizes') : [i[k] for k from s4 <= k <= e4], # <<<<<<<<<<<<<< * ('order') : i[4*i[2]+3]}) * elif combiner == MPI_COMBINER_RESIZED: */ __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __pyx_v_e4; for (__pyx_v_k = __pyx_v_s4; __pyx_v_k <= __pyx_t_1; __pyx_v_k++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_i[__pyx_v_k])); if (unlikely(!__pyx_t_6)) __PYX_ERR(21, 590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(21, 590, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_psizes, __pyx_t_4) < 0) __PYX_ERR(21, 585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":591 * ('dargs') : [i[k] for k from s3 <= k <= e3], * ('psizes') : [i[k] for k from s4 <= k <= e4], * ('order') : i[4*i[2]+3]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_RESIZED: * return (oldtype, ('RESIZED'), */ __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_i[((4 * (__pyx_v_i[2])) + 3)])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_order, __pyx_t_4) < 0) __PYX_ERR(21, 585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":584 * s3 = 2*i[2]+3; e3 = 3*i[2]+2 * s4 = 3*i[2]+3; e4 = 4*i[2]+2 * return (oldtype, ('DARRAY'), # <<<<<<<<<<<<<< * {('size') : i[0], * ('rank') : i[1], */ __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_oldtype); __Pyx_GIVEREF(__pyx_v_oldtype); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_oldtype); __Pyx_INCREF(__pyx_n_s_DARRAY); __Pyx_GIVEREF(__pyx_n_s_DARRAY); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_DARRAY); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":579 * ('starts') : [i[k] for k from s3 <= k <= e3], * ('order') : i[3*i[0]+1]}) * elif combiner == MPI_COMBINER_DARRAY: # <<<<<<<<<<<<<< * s1 = 3; e1 = i[2]+2 * s2 = i[2]+3; e2 = 2*i[2]+2 */ } /* "mpi4py/MPI/Datatype.pyx":592 * ('psizes') : [i[k] for k from s4 <= k <= e4], * ('order') : i[4*i[2]+3]}) * elif combiner == MPI_COMBINER_RESIZED: # <<<<<<<<<<<<<< * return (oldtype, ('RESIZED'), * {('lb') : a[0], */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_RESIZED) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":593 * ('order') : i[4*i[2]+3]}) * elif combiner == MPI_COMBINER_RESIZED: * return (oldtype, ('RESIZED'), # <<<<<<<<<<<<<< * {('lb') : a[0], * ('extent') : a[1]}) */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":594 * elif combiner == MPI_COMBINER_RESIZED: * return (oldtype, ('RESIZED'), * {('lb') : a[0], # <<<<<<<<<<<<<< * ('extent') : a[1]}) * elif combiner == MPI_COMBINER_F90_INTEGER: */ __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_a[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_lb, __pyx_t_3) < 0) __PYX_ERR(21, 594, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":595 * return (oldtype, ('RESIZED'), * {('lb') : a[0], * ('extent') : a[1]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_F90_INTEGER: * return (Datatype, ('F90_INTEGER'), */ __pyx_t_3 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_a[1])); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_extent, __pyx_t_3) < 0) __PYX_ERR(21, 594, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":593 * ('order') : i[4*i[2]+3]}) * elif combiner == MPI_COMBINER_RESIZED: * return (oldtype, ('RESIZED'), # <<<<<<<<<<<<<< * {('lb') : a[0], * ('extent') : a[1]}) */ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_oldtype); __Pyx_GIVEREF(__pyx_v_oldtype); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_oldtype); __Pyx_INCREF(__pyx_n_s_RESIZED); __Pyx_GIVEREF(__pyx_n_s_RESIZED); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_RESIZED); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":592 * ('psizes') : [i[k] for k from s4 <= k <= e4], * ('order') : i[4*i[2]+3]}) * elif combiner == MPI_COMBINER_RESIZED: # <<<<<<<<<<<<<< * return (oldtype, ('RESIZED'), * {('lb') : a[0], */ } /* "mpi4py/MPI/Datatype.pyx":596 * {('lb') : a[0], * ('extent') : a[1]}) * elif combiner == MPI_COMBINER_F90_INTEGER: # <<<<<<<<<<<<<< * return (Datatype, ('F90_INTEGER'), * {('r') : i[0]}) */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_F90_INTEGER) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":597 * ('extent') : a[1]}) * elif combiner == MPI_COMBINER_F90_INTEGER: * return (Datatype, ('F90_INTEGER'), # <<<<<<<<<<<<<< * {('r') : i[0]}) * elif combiner == MPI_COMBINER_F90_REAL: */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":598 * elif combiner == MPI_COMBINER_F90_INTEGER: * return (Datatype, ('F90_INTEGER'), * {('r') : i[0]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_F90_REAL: * return (Datatype, ('F90_REAL'), */ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_i[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_r, __pyx_t_4) < 0) __PYX_ERR(21, 598, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":597 * ('extent') : a[1]}) * elif combiner == MPI_COMBINER_F90_INTEGER: * return (Datatype, ('F90_INTEGER'), # <<<<<<<<<<<<<< * {('r') : i[0]}) * elif combiner == MPI_COMBINER_F90_REAL: */ __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype)); __Pyx_INCREF(__pyx_n_s_F90_INTEGER); __Pyx_GIVEREF(__pyx_n_s_F90_INTEGER); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_F90_INTEGER); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":596 * {('lb') : a[0], * ('extent') : a[1]}) * elif combiner == MPI_COMBINER_F90_INTEGER: # <<<<<<<<<<<<<< * return (Datatype, ('F90_INTEGER'), * {('r') : i[0]}) */ } /* "mpi4py/MPI/Datatype.pyx":599 * return (Datatype, ('F90_INTEGER'), * {('r') : i[0]}) * elif combiner == MPI_COMBINER_F90_REAL: # <<<<<<<<<<<<<< * return (Datatype, ('F90_REAL'), * {('p') : i[0], */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_F90_REAL) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":600 * {('r') : i[0]}) * elif combiner == MPI_COMBINER_F90_REAL: * return (Datatype, ('F90_REAL'), # <<<<<<<<<<<<<< * {('p') : i[0], * ('r') : i[1]}) */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":601 * elif combiner == MPI_COMBINER_F90_REAL: * return (Datatype, ('F90_REAL'), * {('p') : i[0], # <<<<<<<<<<<<<< * ('r') : i[1]}) * elif combiner == MPI_COMBINER_F90_COMPLEX: */ __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_i[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_p, __pyx_t_3) < 0) __PYX_ERR(21, 601, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":602 * return (Datatype, ('F90_REAL'), * {('p') : i[0], * ('r') : i[1]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_F90_COMPLEX: * return (Datatype, ('F90_COMPLEX'), */ __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_i[1])); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_r, __pyx_t_3) < 0) __PYX_ERR(21, 601, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":600 * {('r') : i[0]}) * elif combiner == MPI_COMBINER_F90_REAL: * return (Datatype, ('F90_REAL'), # <<<<<<<<<<<<<< * {('p') : i[0], * ('r') : i[1]}) */ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype)); PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype)); __Pyx_INCREF(__pyx_n_s_F90_REAL); __Pyx_GIVEREF(__pyx_n_s_F90_REAL); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_F90_REAL); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":599 * return (Datatype, ('F90_INTEGER'), * {('r') : i[0]}) * elif combiner == MPI_COMBINER_F90_REAL: # <<<<<<<<<<<<<< * return (Datatype, ('F90_REAL'), * {('p') : i[0], */ } /* "mpi4py/MPI/Datatype.pyx":603 * {('p') : i[0], * ('r') : i[1]}) * elif combiner == MPI_COMBINER_F90_COMPLEX: # <<<<<<<<<<<<<< * return (Datatype, ('F90_COMPLEX'), * {('p') : i[0], */ __pyx_t_2 = ((__pyx_v_combiner == MPI_COMBINER_F90_COMPLEX) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":604 * ('r') : i[1]}) * elif combiner == MPI_COMBINER_F90_COMPLEX: * return (Datatype, ('F90_COMPLEX'), # <<<<<<<<<<<<<< * {('p') : i[0], * ('r') : i[1]}) */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Datatype.pyx":605 * elif combiner == MPI_COMBINER_F90_COMPLEX: * return (Datatype, ('F90_COMPLEX'), * {('p') : i[0], # <<<<<<<<<<<<<< * ('r') : i[1]}) * else: */ __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_i[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_p, __pyx_t_4) < 0) __PYX_ERR(21, 605, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":606 * return (Datatype, ('F90_COMPLEX'), * {('p') : i[0], * ('r') : i[1]}) # <<<<<<<<<<<<<< * else: * return None */ __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_i[1])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_r, __pyx_t_4) < 0) __PYX_ERR(21, 605, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Datatype.pyx":604 * ('r') : i[1]}) * elif combiner == MPI_COMBINER_F90_COMPLEX: * return (Datatype, ('F90_COMPLEX'), # <<<<<<<<<<<<<< * {('p') : i[0], * ('r') : i[1]}) */ __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype)); __Pyx_INCREF(__pyx_n_s_F90_COMPLEX); __Pyx_GIVEREF(__pyx_n_s_F90_COMPLEX); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_F90_COMPLEX); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":603 * {('p') : i[0], * ('r') : i[1]}) * elif combiner == MPI_COMBINER_F90_COMPLEX: # <<<<<<<<<<<<<< * return (Datatype, ('F90_COMPLEX'), * {('p') : i[0], */ } /* "mpi4py/MPI/Datatype.pyx":608 * ('r') : i[1]}) * else: * return None # <<<<<<<<<<<<<< * * property combiner: */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/Datatype.pyx":499 * return self.Get_contents() * * def decode(self): # <<<<<<<<<<<<<< * """ * Convenience method for decoding a datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("mpi4py.MPI.Datatype.decode", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_tmp3); __Pyx_XDECREF(__pyx_v_oldtype); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":612 * property combiner: * """datatype combiner""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_envelope()[3] * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_8combiner_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_8combiner_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_8combiner___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_8combiner___get__(struct PyMPIDatatypeObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":613 * """datatype combiner""" * def __get__(self): * return self.Get_envelope()[3] # <<<<<<<<<<<<<< * * property is_named: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_envelope); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 613, __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(21, 613, __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, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 613, __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; /* "mpi4py/MPI/Datatype.pyx":612 * property combiner: * """datatype combiner""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_envelope()[3] * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Datatype.combiner.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":617 * property is_named: * """is a named datatype""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int combiner = self.Get_envelope()[3] * return combiner == MPI_COMBINER_NAMED */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_8is_named_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_8is_named_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_8is_named___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_8is_named___get__(struct PyMPIDatatypeObject *__pyx_v_self) { int __pyx_v_combiner; 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_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":618 * """is a named datatype""" * def __get__(self): * cdef int combiner = self.Get_envelope()[3] # <<<<<<<<<<<<<< * return combiner == MPI_COMBINER_NAMED * */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_envelope); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 618, __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(21, 618, __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, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 618, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_combiner = __pyx_t_4; /* "mpi4py/MPI/Datatype.pyx":619 * def __get__(self): * cdef int combiner = self.Get_envelope()[3] * return combiner == MPI_COMBINER_NAMED # <<<<<<<<<<<<<< * * property is_predefined: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_combiner == MPI_COMBINER_NAMED)); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 619, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":617 * property is_named: * """is a named datatype""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int combiner = self.Get_envelope()[3] * return combiner == MPI_COMBINER_NAMED */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Datatype.is_named.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":623 * property is_predefined: * """is a predefined datatype""" * def __get__(self): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_DATATYPE_NULL: return True * cdef int combiner = self.Get_envelope()[3] */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_13is_predefined_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_13is_predefined_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_13is_predefined___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_13is_predefined___get__(struct PyMPIDatatypeObject *__pyx_v_self) { int __pyx_v_combiner; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":624 * """is a predefined datatype""" * def __get__(self): * if self.ob_mpi == MPI_DATATYPE_NULL: return True # <<<<<<<<<<<<<< * cdef int combiner = self.Get_envelope()[3] * return (combiner == MPI_COMBINER_NAMED or */ __pyx_t_1 = ((__pyx_v_self->ob_mpi == MPI_DATATYPE_NULL) != 0); if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_True); __pyx_r = Py_True; goto __pyx_L0; } /* "mpi4py/MPI/Datatype.pyx":625 * def __get__(self): * if self.ob_mpi == MPI_DATATYPE_NULL: return True * cdef int combiner = self.Get_envelope()[3] # <<<<<<<<<<<<<< * return (combiner == MPI_COMBINER_NAMED or * combiner == MPI_COMBINER_F90_INTEGER or */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_envelope); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 625, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_combiner = __pyx_t_5; /* "mpi4py/MPI/Datatype.pyx":626 * if self.ob_mpi == MPI_DATATYPE_NULL: return True * cdef int combiner = self.Get_envelope()[3] * return (combiner == MPI_COMBINER_NAMED or # <<<<<<<<<<<<<< * combiner == MPI_COMBINER_F90_INTEGER or * combiner == MPI_COMBINER_F90_REAL or */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = (__pyx_v_combiner == MPI_COMBINER_NAMED); if (!__pyx_t_1) { } else { __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L4_bool_binop_done; } /* "mpi4py/MPI/Datatype.pyx":627 * cdef int combiner = self.Get_envelope()[3] * return (combiner == MPI_COMBINER_NAMED or * combiner == MPI_COMBINER_F90_INTEGER or # <<<<<<<<<<<<<< * combiner == MPI_COMBINER_F90_REAL or * combiner == MPI_COMBINER_F90_COMPLEX) */ __pyx_t_1 = (__pyx_v_combiner == MPI_COMBINER_F90_INTEGER); if (!__pyx_t_1) { } else { __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L4_bool_binop_done; } /* "mpi4py/MPI/Datatype.pyx":628 * return (combiner == MPI_COMBINER_NAMED or * combiner == MPI_COMBINER_F90_INTEGER or * combiner == MPI_COMBINER_F90_REAL or # <<<<<<<<<<<<<< * combiner == MPI_COMBINER_F90_COMPLEX) * */ __pyx_t_1 = (__pyx_v_combiner == MPI_COMBINER_F90_REAL); if (!__pyx_t_1) { } else { __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L4_bool_binop_done; } /* "mpi4py/MPI/Datatype.pyx":629 * combiner == MPI_COMBINER_F90_INTEGER or * combiner == MPI_COMBINER_F90_REAL or * combiner == MPI_COMBINER_F90_COMPLEX) # <<<<<<<<<<<<<< * * # Pack and Unpack */ __pyx_t_1 = (__pyx_v_combiner == MPI_COMBINER_F90_COMPLEX); __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; __pyx_L4_bool_binop_done:; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":623 * property is_predefined: * """is a predefined datatype""" * def __get__(self): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_DATATYPE_NULL: return True * cdef int combiner = self.Get_envelope()[3] */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Datatype.is_predefined.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":634 * # --------------- * * def Pack(self, inbuf, outbuf, int position, Comm comm): # <<<<<<<<<<<<<< * """ * Pack into contiguous memory according to datatype. */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_57Pack(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_56Pack[] = "Datatype.Pack(self, inbuf, outbuf, int position, Comm comm)\n\n Pack into contiguous memory according to datatype.\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_57Pack(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_inbuf = 0; PyObject *__pyx_v_outbuf = 0; int __pyx_v_position; struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Pack (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_inbuf,&__pyx_n_s_outbuf,&__pyx_n_s_position,&__pyx_n_s_comm,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_inbuf)) != 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_outbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack", 1, 4, 4, 1); __PYX_ERR(21, 634, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_position)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack", 1, 4, 4, 2); __PYX_ERR(21, 634, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_comm)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack", 1, 4, 4, 3); __PYX_ERR(21, 634, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Pack") < 0)) __PYX_ERR(21, 634, __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_inbuf = values[0]; __pyx_v_outbuf = values[1]; __pyx_v_position = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_position == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 634, __pyx_L3_error) __pyx_v_comm = ((struct PyMPICommObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Pack", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 634, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Pack", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 0, "comm", 0))) __PYX_ERR(21, 634, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_56Pack(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_inbuf, __pyx_v_outbuf, __pyx_v_position, __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_56Pack(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_inbuf, PyObject *__pyx_v_outbuf, int __pyx_v_position, struct PyMPICommObject *__pyx_v_comm) { MPI_Aint __pyx_v_lb; MPI_Aint __pyx_v_extent; void *__pyx_v_ibptr; void *__pyx_v_obptr; MPI_Aint __pyx_v_iblen; MPI_Aint __pyx_v_oblen; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; int __pyx_v_icount; int __pyx_v_osize; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Pack", 0); /* "mpi4py/MPI/Datatype.pyx":638 * Pack into contiguous memory according to datatype. * """ * cdef MPI_Aint lb = 0, extent = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) * # */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/Datatype.pyx":639 * """ * cdef MPI_Aint lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) # <<<<<<<<<<<<<< * # * cdef void *ibptr = NULL, *obptr = NULL */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent(__pyx_v_self->ob_mpi, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 639, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":641 * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) * # * cdef void *ibptr = NULL, *obptr = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint iblen = 0, oblen = 0 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) */ __pyx_v_ibptr = NULL; __pyx_v_obptr = NULL; /* "mpi4py/MPI/Datatype.pyx":642 * # * cdef void *ibptr = NULL, *obptr = NULL * cdef MPI_Aint iblen = 0, oblen = 0 # <<<<<<<<<<<<<< * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) */ __pyx_v_iblen = 0; __pyx_v_oblen = 0; /* "mpi4py/MPI/Datatype.pyx":643 * cdef void *ibptr = NULL, *obptr = NULL * cdef MPI_Aint iblen = 0, oblen = 0 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) # <<<<<<<<<<<<<< * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) * cdef int icount = downcast(iblen//extent) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_r(__pyx_v_inbuf, (&__pyx_v_ibptr), (&__pyx_v_iblen))); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":644 * cdef MPI_Aint iblen = 0, oblen = 0 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) # <<<<<<<<<<<<<< * cdef int icount = downcast(iblen//extent) * cdef int osize = clipcount(oblen) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_outbuf, (&__pyx_v_obptr), (&__pyx_v_oblen))); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":645 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) * cdef int icount = downcast(iblen//extent) # <<<<<<<<<<<<<< * cdef int osize = clipcount(oblen) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_downcast((__pyx_v_iblen / __pyx_v_extent)); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(21, 645, __pyx_L1_error) __pyx_v_icount = __pyx_t_1; /* "mpi4py/MPI/Datatype.pyx":646 * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) * cdef int icount = downcast(iblen//extent) * cdef int osize = clipcount(oblen) # <<<<<<<<<<<<<< * # * CHKERR( MPI_Pack(ibptr, icount, self.ob_mpi, obptr, osize, */ __pyx_v_osize = __pyx_f_6mpi4py_3MPI_clipcount(__pyx_v_oblen); /* "mpi4py/MPI/Datatype.pyx":648 * cdef int osize = clipcount(oblen) * # * CHKERR( MPI_Pack(ibptr, icount, self.ob_mpi, obptr, osize, # <<<<<<<<<<<<<< * &position, comm.ob_mpi) ) * return position */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Pack(__pyx_v_ibptr, __pyx_v_icount, __pyx_v_self->ob_mpi, __pyx_v_obptr, __pyx_v_osize, (&__pyx_v_position), __pyx_v_comm->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 648, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":650 * CHKERR( MPI_Pack(ibptr, icount, self.ob_mpi, obptr, osize, * &position, comm.ob_mpi) ) * return position # <<<<<<<<<<<<<< * * def Unpack(self, inbuf, int position, outbuf, Comm comm): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_position); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":634 * # --------------- * * def Pack(self, inbuf, outbuf, int position, Comm comm): # <<<<<<<<<<<<<< * """ * Pack into contiguous memory according to datatype. */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Pack", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":652 * return position * * def Unpack(self, inbuf, int position, outbuf, Comm comm): # <<<<<<<<<<<<<< * """ * Unpack from contiguous memory according to datatype. */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_59Unpack(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_58Unpack[] = "Datatype.Unpack(self, inbuf, int position, outbuf, Comm comm)\n\n Unpack from contiguous memory according to datatype.\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_59Unpack(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_inbuf = 0; int __pyx_v_position; PyObject *__pyx_v_outbuf = 0; struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Unpack (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_inbuf,&__pyx_n_s_position,&__pyx_n_s_outbuf,&__pyx_n_s_comm,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_inbuf)) != 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_position)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpack", 1, 4, 4, 1); __PYX_ERR(21, 652, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_outbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpack", 1, 4, 4, 2); __PYX_ERR(21, 652, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_comm)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpack", 1, 4, 4, 3); __PYX_ERR(21, 652, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Unpack") < 0)) __PYX_ERR(21, 652, __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_inbuf = values[0]; __pyx_v_position = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_position == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 652, __pyx_L3_error) __pyx_v_outbuf = values[2]; __pyx_v_comm = ((struct PyMPICommObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Unpack", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 652, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Unpack", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 0, "comm", 0))) __PYX_ERR(21, 652, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_58Unpack(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_inbuf, __pyx_v_position, __pyx_v_outbuf, __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_58Unpack(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_inbuf, int __pyx_v_position, PyObject *__pyx_v_outbuf, struct PyMPICommObject *__pyx_v_comm) { MPI_Aint __pyx_v_lb; MPI_Aint __pyx_v_extent; void *__pyx_v_ibptr; void *__pyx_v_obptr; MPI_Aint __pyx_v_iblen; MPI_Aint __pyx_v_oblen; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; int __pyx_v_isize; int __pyx_v_ocount; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Unpack", 0); /* "mpi4py/MPI/Datatype.pyx":656 * Unpack from contiguous memory according to datatype. * """ * cdef MPI_Aint lb = 0, extent = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) * # */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/Datatype.pyx":657 * """ * cdef MPI_Aint lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) # <<<<<<<<<<<<<< * # * cdef void *ibptr = NULL, *obptr = NULL */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent(__pyx_v_self->ob_mpi, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 657, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":659 * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) * # * cdef void *ibptr = NULL, *obptr = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint iblen = 0, oblen = 0 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) */ __pyx_v_ibptr = NULL; __pyx_v_obptr = NULL; /* "mpi4py/MPI/Datatype.pyx":660 * # * cdef void *ibptr = NULL, *obptr = NULL * cdef MPI_Aint iblen = 0, oblen = 0 # <<<<<<<<<<<<<< * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) */ __pyx_v_iblen = 0; __pyx_v_oblen = 0; /* "mpi4py/MPI/Datatype.pyx":661 * cdef void *ibptr = NULL, *obptr = NULL * cdef MPI_Aint iblen = 0, oblen = 0 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) # <<<<<<<<<<<<<< * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) * cdef int isize = clipcount(iblen) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_r(__pyx_v_inbuf, (&__pyx_v_ibptr), (&__pyx_v_iblen))); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":662 * cdef MPI_Aint iblen = 0, oblen = 0 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) # <<<<<<<<<<<<<< * cdef int isize = clipcount(iblen) * cdef int ocount = downcast(oblen//extent) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_outbuf, (&__pyx_v_obptr), (&__pyx_v_oblen))); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":663 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) * cdef int isize = clipcount(iblen) # <<<<<<<<<<<<<< * cdef int ocount = downcast(oblen//extent) * # */ __pyx_v_isize = __pyx_f_6mpi4py_3MPI_clipcount(__pyx_v_iblen); /* "mpi4py/MPI/Datatype.pyx":664 * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) * cdef int isize = clipcount(iblen) * cdef int ocount = downcast(oblen//extent) # <<<<<<<<<<<<<< * # * CHKERR( MPI_Unpack(ibptr, isize, &position, obptr, ocount, */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_downcast((__pyx_v_oblen / __pyx_v_extent)); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(21, 664, __pyx_L1_error) __pyx_v_ocount = __pyx_t_1; /* "mpi4py/MPI/Datatype.pyx":666 * cdef int ocount = downcast(oblen//extent) * # * CHKERR( MPI_Unpack(ibptr, isize, &position, obptr, ocount, # <<<<<<<<<<<<<< * self.ob_mpi, comm.ob_mpi) ) * return position */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Unpack(__pyx_v_ibptr, __pyx_v_isize, (&__pyx_v_position), __pyx_v_obptr, __pyx_v_ocount, __pyx_v_self->ob_mpi, __pyx_v_comm->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 666, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":668 * CHKERR( MPI_Unpack(ibptr, isize, &position, obptr, ocount, * self.ob_mpi, comm.ob_mpi) ) * return position # <<<<<<<<<<<<<< * * def Pack_size(self, int count, Comm comm): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_position); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":652 * return position * * def Unpack(self, inbuf, int position, outbuf, Comm comm): # <<<<<<<<<<<<<< * """ * Unpack from contiguous memory according to datatype. */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Unpack", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":670 * return position * * def Pack_size(self, int count, Comm comm): # <<<<<<<<<<<<<< * """ * Returns the upper bound on the amount of space (in bytes) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_61Pack_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_60Pack_size[] = "Datatype.Pack_size(self, int count, Comm comm)\n\n Returns the upper bound on the amount of space (in bytes)\n needed to pack a message according to datatype.\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_61Pack_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_count; struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Pack_size (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_count,&__pyx_n_s_comm,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_count)) != 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_comm)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack_size", 1, 2, 2, 1); __PYX_ERR(21, 670, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Pack_size") < 0)) __PYX_ERR(21, 670, __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_count = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 670, __pyx_L3_error) __pyx_v_comm = ((struct PyMPICommObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Pack_size", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 670, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Pack_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 0, "comm", 0))) __PYX_ERR(21, 670, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_60Pack_size(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_count, __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_60Pack_size(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_count, struct PyMPICommObject *__pyx_v_comm) { int __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Pack_size", 0); /* "mpi4py/MPI/Datatype.pyx":675 * needed to pack a message according to datatype. * """ * cdef int size = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Pack_size(count, self.ob_mpi, * comm.ob_mpi, &size) ) */ __pyx_v_size = 0; /* "mpi4py/MPI/Datatype.pyx":676 * """ * cdef int size = 0 * CHKERR( MPI_Pack_size(count, self.ob_mpi, # <<<<<<<<<<<<<< * comm.ob_mpi, &size) ) * return size */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Pack_size(__pyx_v_count, __pyx_v_self->ob_mpi, __pyx_v_comm->ob_mpi, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 676, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":678 * CHKERR( MPI_Pack_size(count, self.ob_mpi, * comm.ob_mpi, &size) ) * return size # <<<<<<<<<<<<<< * * # Canonical Pack and Unpack */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":670 * return position * * def Pack_size(self, int count, Comm comm): # <<<<<<<<<<<<<< * """ * Returns the upper bound on the amount of space (in bytes) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Pack_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":683 * # ------------------------- * * def Pack_external(self, datarep, inbuf, outbuf, Aint position): # <<<<<<<<<<<<<< * """ * Pack into contiguous memory according to datatype, */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_63Pack_external(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_62Pack_external[] = "Datatype.Pack_external(self, datarep, inbuf, outbuf, Aint position)\n\n Pack into contiguous memory according to datatype,\n using a portable data representation (**external32**).\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_63Pack_external(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_datarep = 0; PyObject *__pyx_v_inbuf = 0; PyObject *__pyx_v_outbuf = 0; MPI_Aint __pyx_v_position; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Pack_external (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_datarep,&__pyx_n_s_inbuf,&__pyx_n_s_outbuf,&__pyx_n_s_position,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_datarep)) != 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_inbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack_external", 1, 4, 4, 1); __PYX_ERR(21, 683, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_outbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack_external", 1, 4, 4, 2); __PYX_ERR(21, 683, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_position)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack_external", 1, 4, 4, 3); __PYX_ERR(21, 683, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Pack_external") < 0)) __PYX_ERR(21, 683, __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_datarep = values[0]; __pyx_v_inbuf = values[1]; __pyx_v_outbuf = values[2]; __pyx_v_position = __Pyx_PyInt_As_MPI_Aint(values[3]); if (unlikely((__pyx_v_position == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(21, 683, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Pack_external", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 683, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Pack_external", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_62Pack_external(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_datarep, __pyx_v_inbuf, __pyx_v_outbuf, __pyx_v_position); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_62Pack_external(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_datarep, PyObject *__pyx_v_inbuf, PyObject *__pyx_v_outbuf, MPI_Aint __pyx_v_position) { char *__pyx_v_cdatarep; MPI_Aint __pyx_v_lb; MPI_Aint __pyx_v_extent; void *__pyx_v_ibptr; void *__pyx_v_obptr; MPI_Aint __pyx_v_iblen; MPI_Aint __pyx_v_oblen; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; int __pyx_v_icount; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Pack_external", 0); __Pyx_INCREF(__pyx_v_datarep); /* "mpi4py/MPI/Datatype.pyx":688 * using a portable data representation (**external32**). * """ * cdef char *cdatarep = NULL # <<<<<<<<<<<<<< * datarep = asmpistr(datarep, &cdatarep) * cdef MPI_Aint lb = 0, extent = 0 */ __pyx_v_cdatarep = NULL; /* "mpi4py/MPI/Datatype.pyx":689 * """ * cdef char *cdatarep = NULL * datarep = asmpistr(datarep, &cdatarep) # <<<<<<<<<<<<<< * cdef MPI_Aint lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_datarep, (&__pyx_v_cdatarep)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 689, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_datarep, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":690 * cdef char *cdatarep = NULL * datarep = asmpistr(datarep, &cdatarep) * cdef MPI_Aint lb = 0, extent = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) * # */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/Datatype.pyx":691 * datarep = asmpistr(datarep, &cdatarep) * cdef MPI_Aint lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) # <<<<<<<<<<<<<< * # * cdef void *ibptr = NULL, *obptr = NULL */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent(__pyx_v_self->ob_mpi, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(21, 691, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":693 * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) * # * cdef void *ibptr = NULL, *obptr = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint iblen = 0, oblen = 0 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) */ __pyx_v_ibptr = NULL; __pyx_v_obptr = NULL; /* "mpi4py/MPI/Datatype.pyx":694 * # * cdef void *ibptr = NULL, *obptr = NULL * cdef MPI_Aint iblen = 0, oblen = 0 # <<<<<<<<<<<<<< * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) */ __pyx_v_iblen = 0; __pyx_v_oblen = 0; /* "mpi4py/MPI/Datatype.pyx":695 * cdef void *ibptr = NULL, *obptr = NULL * cdef MPI_Aint iblen = 0, oblen = 0 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) # <<<<<<<<<<<<<< * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) * cdef int icount = downcast(iblen//extent) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_r(__pyx_v_inbuf, (&__pyx_v_ibptr), (&__pyx_v_iblen))); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp1 = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":696 * cdef MPI_Aint iblen = 0, oblen = 0 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) # <<<<<<<<<<<<<< * cdef int icount = downcast(iblen//extent) * # */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_outbuf, (&__pyx_v_obptr), (&__pyx_v_oblen))); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp2 = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":697 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) * cdef int icount = downcast(iblen//extent) # <<<<<<<<<<<<<< * # * CHKERR( MPI_Pack_external(cdatarep, ibptr, icount, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_downcast((__pyx_v_iblen / __pyx_v_extent)); if (unlikely(__pyx_t_2 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(21, 697, __pyx_L1_error) __pyx_v_icount = __pyx_t_2; /* "mpi4py/MPI/Datatype.pyx":699 * cdef int icount = downcast(iblen//extent) * # * CHKERR( MPI_Pack_external(cdatarep, ibptr, icount, # <<<<<<<<<<<<<< * self.ob_mpi, * obptr, oblen, &position) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Pack_external(__pyx_v_cdatarep, __pyx_v_ibptr, __pyx_v_icount, __pyx_v_self->ob_mpi, __pyx_v_obptr, __pyx_v_oblen, (&__pyx_v_position))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(21, 699, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":702 * self.ob_mpi, * obptr, oblen, &position) ) * return position # <<<<<<<<<<<<<< * * def Unpack_external(self, datarep, inbuf, Aint position, outbuf): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_position); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":683 * # ------------------------- * * def Pack_external(self, datarep, inbuf, outbuf, Aint position): # <<<<<<<<<<<<<< * """ * Pack into contiguous memory according to datatype, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Pack_external", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_datarep); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":704 * return position * * def Unpack_external(self, datarep, inbuf, Aint position, outbuf): # <<<<<<<<<<<<<< * """ * Unpack from contiguous memory according to datatype, */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_65Unpack_external(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_64Unpack_external[] = "Datatype.Unpack_external(self, datarep, inbuf, Aint position, outbuf)\n\n Unpack from contiguous memory according to datatype,\n using a portable data representation (**external32**).\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_65Unpack_external(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_datarep = 0; PyObject *__pyx_v_inbuf = 0; MPI_Aint __pyx_v_position; PyObject *__pyx_v_outbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Unpack_external (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_datarep,&__pyx_n_s_inbuf,&__pyx_n_s_position,&__pyx_n_s_outbuf,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_datarep)) != 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_inbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpack_external", 1, 4, 4, 1); __PYX_ERR(21, 704, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_position)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpack_external", 1, 4, 4, 2); __PYX_ERR(21, 704, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_outbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpack_external", 1, 4, 4, 3); __PYX_ERR(21, 704, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Unpack_external") < 0)) __PYX_ERR(21, 704, __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_datarep = values[0]; __pyx_v_inbuf = values[1]; __pyx_v_position = __Pyx_PyInt_As_MPI_Aint(values[2]); if (unlikely((__pyx_v_position == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(21, 704, __pyx_L3_error) __pyx_v_outbuf = values[3]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Unpack_external", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 704, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Unpack_external", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_64Unpack_external(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_datarep, __pyx_v_inbuf, __pyx_v_position, __pyx_v_outbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_64Unpack_external(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_datarep, PyObject *__pyx_v_inbuf, MPI_Aint __pyx_v_position, PyObject *__pyx_v_outbuf) { char *__pyx_v_cdatarep; MPI_Aint __pyx_v_lb; MPI_Aint __pyx_v_extent; void *__pyx_v_ibptr; void *__pyx_v_obptr; MPI_Aint __pyx_v_iblen; MPI_Aint __pyx_v_oblen; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; int __pyx_v_ocount; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Unpack_external", 0); __Pyx_INCREF(__pyx_v_datarep); /* "mpi4py/MPI/Datatype.pyx":709 * using a portable data representation (**external32**). * """ * cdef char *cdatarep = NULL # <<<<<<<<<<<<<< * datarep = asmpistr(datarep, &cdatarep) * cdef MPI_Aint lb = 0, extent = 0 */ __pyx_v_cdatarep = NULL; /* "mpi4py/MPI/Datatype.pyx":710 * """ * cdef char *cdatarep = NULL * datarep = asmpistr(datarep, &cdatarep) # <<<<<<<<<<<<<< * cdef MPI_Aint lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_datarep, (&__pyx_v_cdatarep)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_datarep, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":711 * cdef char *cdatarep = NULL * datarep = asmpistr(datarep, &cdatarep) * cdef MPI_Aint lb = 0, extent = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) * # */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "mpi4py/MPI/Datatype.pyx":712 * datarep = asmpistr(datarep, &cdatarep) * cdef MPI_Aint lb = 0, extent = 0 * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) # <<<<<<<<<<<<<< * # * cdef void *ibptr = NULL, *obptr = NULL */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent(__pyx_v_self->ob_mpi, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(21, 712, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":714 * CHKERR( MPI_Type_get_extent(self.ob_mpi, &lb, &extent) ) * # * cdef void *ibptr = NULL, *obptr = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint iblen = 0, oblen = 0 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) */ __pyx_v_ibptr = NULL; __pyx_v_obptr = NULL; /* "mpi4py/MPI/Datatype.pyx":715 * # * cdef void *ibptr = NULL, *obptr = NULL * cdef MPI_Aint iblen = 0, oblen = 0 # <<<<<<<<<<<<<< * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) */ __pyx_v_iblen = 0; __pyx_v_oblen = 0; /* "mpi4py/MPI/Datatype.pyx":716 * cdef void *ibptr = NULL, *obptr = NULL * cdef MPI_Aint iblen = 0, oblen = 0 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) # <<<<<<<<<<<<<< * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) * cdef int ocount = downcast(oblen//extent) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_r(__pyx_v_inbuf, (&__pyx_v_ibptr), (&__pyx_v_iblen))); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp1 = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":717 * cdef MPI_Aint iblen = 0, oblen = 0 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) # <<<<<<<<<<<<<< * cdef int ocount = downcast(oblen//extent) * # */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_outbuf, (&__pyx_v_obptr), (&__pyx_v_oblen))); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp2 = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":718 * cdef tmp1 = getbuffer_r(inbuf, &ibptr, &iblen) * cdef tmp2 = getbuffer_w(outbuf, &obptr, &oblen) * cdef int ocount = downcast(oblen//extent) # <<<<<<<<<<<<<< * # * CHKERR( MPI_Unpack_external(cdatarep, ibptr, iblen, &position, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_downcast((__pyx_v_oblen / __pyx_v_extent)); if (unlikely(__pyx_t_2 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(21, 718, __pyx_L1_error) __pyx_v_ocount = __pyx_t_2; /* "mpi4py/MPI/Datatype.pyx":720 * cdef int ocount = downcast(oblen//extent) * # * CHKERR( MPI_Unpack_external(cdatarep, ibptr, iblen, &position, # <<<<<<<<<<<<<< * obptr, ocount, self.ob_mpi) ) * return position */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Unpack_external(__pyx_v_cdatarep, __pyx_v_ibptr, __pyx_v_iblen, (&__pyx_v_position), __pyx_v_obptr, __pyx_v_ocount, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(21, 720, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":722 * CHKERR( MPI_Unpack_external(cdatarep, ibptr, iblen, &position, * obptr, ocount, self.ob_mpi) ) * return position # <<<<<<<<<<<<<< * * def Pack_external_size(self, datarep, int count): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_position); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":704 * return position * * def Unpack_external(self, datarep, inbuf, Aint position, outbuf): # <<<<<<<<<<<<<< * """ * Unpack from contiguous memory according to datatype, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Unpack_external", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_datarep); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":724 * return position * * def Pack_external_size(self, datarep, int count): # <<<<<<<<<<<<<< * """ * Returns the upper bound on the amount of space (in bytes) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_67Pack_external_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_66Pack_external_size[] = "Datatype.Pack_external_size(self, datarep, int count)\n\n Returns the upper bound on the amount of space (in bytes)\n needed to pack a message according to datatype,\n using a portable data representation (**external32**).\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_67Pack_external_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_datarep = 0; int __pyx_v_count; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Pack_external_size (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_datarep,&__pyx_n_s_count,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_datarep)) != 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_count)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack_external_size", 1, 2, 2, 1); __PYX_ERR(21, 724, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Pack_external_size") < 0)) __PYX_ERR(21, 724, __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_datarep = values[0]; __pyx_v_count = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 724, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Pack_external_size", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 724, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Pack_external_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_66Pack_external_size(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_datarep, __pyx_v_count); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_66Pack_external_size(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_datarep, int __pyx_v_count) { char *__pyx_v_cdatarep; MPI_Aint __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Pack_external_size", 0); __Pyx_INCREF(__pyx_v_datarep); /* "mpi4py/MPI/Datatype.pyx":730 * using a portable data representation (**external32**). * """ * cdef char *cdatarep = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0 * datarep = asmpistr(datarep, &cdatarep) */ __pyx_v_cdatarep = NULL; /* "mpi4py/MPI/Datatype.pyx":731 * """ * cdef char *cdatarep = NULL * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * datarep = asmpistr(datarep, &cdatarep) * CHKERR( MPI_Pack_external_size(cdatarep, count, */ __pyx_v_size = 0; /* "mpi4py/MPI/Datatype.pyx":732 * cdef char *cdatarep = NULL * cdef MPI_Aint size = 0 * datarep = asmpistr(datarep, &cdatarep) # <<<<<<<<<<<<<< * CHKERR( MPI_Pack_external_size(cdatarep, count, * self.ob_mpi, &size) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_datarep, (&__pyx_v_cdatarep)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_datarep, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":733 * cdef MPI_Aint size = 0 * datarep = asmpistr(datarep, &cdatarep) * CHKERR( MPI_Pack_external_size(cdatarep, count, # <<<<<<<<<<<<<< * self.ob_mpi, &size) ) * return size */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Pack_external_size(__pyx_v_cdatarep, __pyx_v_count, __pyx_v_self->ob_mpi, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(21, 733, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":735 * CHKERR( MPI_Pack_external_size(cdatarep, count, * self.ob_mpi, &size) ) * return size # <<<<<<<<<<<<<< * * # Attributes */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":724 * return position * * def Pack_external_size(self, datarep, int count): # <<<<<<<<<<<<<< * """ * Returns the upper bound on the amount of space (in bytes) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Pack_external_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_datarep); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":740 * # ---------- * * def Get_attr(self, int keyval): # <<<<<<<<<<<<<< * """ * Retrieve attribute value by key */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_69Get_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_68Get_attr[] = "Datatype.Get_attr(self, int keyval)\n\n Retrieve attribute value by key\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_69Get_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_keyval; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_attr (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_keyval,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_keyval)) != 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, "Get_attr") < 0)) __PYX_ERR(21, 740, __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_keyval = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_keyval == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 740, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_attr", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 740, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Get_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_68Get_attr(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_keyval); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_68Get_attr(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_keyval) { void *__pyx_v_attrval; int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_attr", 0); /* "mpi4py/MPI/Datatype.pyx":744 * Retrieve attribute value by key * """ * cdef void *attrval = NULL # <<<<<<<<<<<<<< * cdef int flag = 0 * CHKERR( MPI_Type_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) */ __pyx_v_attrval = NULL; /* "mpi4py/MPI/Datatype.pyx":745 * """ * cdef void *attrval = NULL * cdef int flag = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) * if not flag: return None */ __pyx_v_flag = 0; /* "mpi4py/MPI/Datatype.pyx":746 * cdef void *attrval = NULL * cdef int flag = 0 * CHKERR( MPI_Type_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) # <<<<<<<<<<<<<< * if not flag: return None * if attrval == NULL: return 0 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval, (&__pyx_v_attrval), (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 746, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":747 * cdef int flag = 0 * CHKERR( MPI_Type_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) * if not flag: return None # <<<<<<<<<<<<<< * if attrval == NULL: return 0 * # user-defined attribute keyval */ __pyx_t_2 = ((!(__pyx_v_flag != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/Datatype.pyx":748 * CHKERR( MPI_Type_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) * if not flag: return None * if attrval == NULL: return 0 # <<<<<<<<<<<<<< * # user-defined attribute keyval * return PyMPI_attr_get(self.ob_mpi, keyval, attrval) */ __pyx_t_2 = ((__pyx_v_attrval == NULL) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_int_0); __pyx_r = __pyx_int_0; goto __pyx_L0; } /* "mpi4py/MPI/Datatype.pyx":750 * if attrval == NULL: return 0 * # user-defined attribute keyval * return PyMPI_attr_get(self.ob_mpi, keyval, attrval) # <<<<<<<<<<<<<< * * def Set_attr(self, int keyval, object attrval): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_get(__pyx_v_self->ob_mpi, __pyx_v_keyval, __pyx_v_attrval); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":740 * # ---------- * * def Get_attr(self, int keyval): # <<<<<<<<<<<<<< * """ * Retrieve attribute value by key */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Get_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":752 * return PyMPI_attr_get(self.ob_mpi, keyval, attrval) * * def Set_attr(self, int keyval, object attrval): # <<<<<<<<<<<<<< * """ * Store attribute value associated with a key */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_71Set_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_70Set_attr[] = "Datatype.Set_attr(self, int keyval, attrval)\n\n Store attribute value associated with a key\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_71Set_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_keyval; PyObject *__pyx_v_attrval = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_attr (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_keyval,&__pyx_n_s_attrval,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_keyval)) != 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_attrval)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Set_attr", 1, 2, 2, 1); __PYX_ERR(21, 752, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Set_attr") < 0)) __PYX_ERR(21, 752, __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_keyval = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_keyval == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 752, __pyx_L3_error) __pyx_v_attrval = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_attr", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 752, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Set_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_70Set_attr(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_keyval, __pyx_v_attrval); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_70Set_attr(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_keyval, PyObject *__pyx_v_attrval) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_attr", 0); /* "mpi4py/MPI/Datatype.pyx":756 * Store attribute value associated with a key * """ * PyMPI_attr_set(self.ob_mpi, keyval, attrval) # <<<<<<<<<<<<<< * * def Delete_attr(self, int keyval): */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_set(__pyx_v_self->ob_mpi, __pyx_v_keyval, __pyx_v_attrval); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 756, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":752 * return PyMPI_attr_get(self.ob_mpi, keyval, attrval) * * def Set_attr(self, int keyval, object attrval): # <<<<<<<<<<<<<< * """ * Store attribute value associated with a key */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Set_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":758 * PyMPI_attr_set(self.ob_mpi, keyval, attrval) * * def Delete_attr(self, int keyval): # <<<<<<<<<<<<<< * """ * Delete attribute value associated with a key */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_73Delete_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_72Delete_attr[] = "Datatype.Delete_attr(self, int keyval)\n\n Delete attribute value associated with a key\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_73Delete_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_keyval; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Delete_attr (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_keyval,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_keyval)) != 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, "Delete_attr") < 0)) __PYX_ERR(21, 758, __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_keyval = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_keyval == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 758, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Delete_attr", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 758, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Delete_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_72Delete_attr(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_keyval); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_72Delete_attr(struct PyMPIDatatypeObject *__pyx_v_self, int __pyx_v_keyval) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Delete_attr", 0); /* "mpi4py/MPI/Datatype.pyx":762 * Delete attribute value associated with a key * """ * CHKERR( MPI_Type_delete_attr(self.ob_mpi, keyval) ) # <<<<<<<<<<<<<< * * @classmethod */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_delete_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 762, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":758 * PyMPI_attr_set(self.ob_mpi, keyval, attrval) * * def Delete_attr(self, int keyval): # <<<<<<<<<<<<<< * """ * Delete attribute value associated with a key */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Delete_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":765 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None, nopython=False): # <<<<<<<<<<<<<< * """ * Create a new attribute key for datatypes */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_75Create_keyval(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_74Create_keyval[] = "Datatype.Create_keyval(type cls, copy_fn=None, delete_fn=None, nopython=False)\n\n Create a new attribute key for datatypes\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_75Create_keyval(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_copy_fn = 0; PyObject *__pyx_v_delete_fn = 0; PyObject *__pyx_v_nopython = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_keyval (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_copy_fn,&__pyx_n_s_delete_fn,&__pyx_n_s_nopython,0}; PyObject* values[3] = {0,0,0}; values[0] = ((PyObject *)Py_None); values[1] = ((PyObject *)Py_None); 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 (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_copy_fn); 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_delete_fn); 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_nopython); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_keyval") < 0)) __PYX_ERR(21, 765, __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_copy_fn = values[0]; __pyx_v_delete_fn = values[1]; __pyx_v_nopython = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_keyval", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 765, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_keyval", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_74Create_keyval(((PyTypeObject*)__pyx_v_cls), __pyx_v_copy_fn, __pyx_v_delete_fn, __pyx_v_nopython); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_74Create_keyval(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_copy_fn, PyObject *__pyx_v_delete_fn, PyObject *__pyx_v_nopython) { PyObject *__pyx_v_state = 0; int __pyx_v_keyval; MPI_Type_copy_attr_function *__pyx_v__copy; MPI_Type_delete_attr_function *__pyx_v__del; void *__pyx_v_extra_state; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_keyval", 0); /* "mpi4py/MPI/Datatype.pyx":769 * Create a new attribute key for datatypes * """ * cdef object state = _p_keyval(copy_fn, delete_fn, nopython) # <<<<<<<<<<<<<< * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Type_copy_attr_function *_copy = PyMPI_attr_copy_fn */ __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_copy_fn); __Pyx_GIVEREF(__pyx_v_copy_fn); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_copy_fn); __Pyx_INCREF(__pyx_v_delete_fn); __Pyx_GIVEREF(__pyx_v_delete_fn); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_delete_fn); __Pyx_INCREF(__pyx_v_nopython); __Pyx_GIVEREF(__pyx_v_nopython); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_nopython); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6mpi4py_3MPI__p_keyval), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 769, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_state = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":770 * """ * cdef object state = _p_keyval(copy_fn, delete_fn, nopython) * cdef int keyval = MPI_KEYVAL_INVALID # <<<<<<<<<<<<<< * cdef MPI_Type_copy_attr_function *_copy = PyMPI_attr_copy_fn * cdef MPI_Type_delete_attr_function *_del = PyMPI_attr_delete_fn */ __pyx_v_keyval = MPI_KEYVAL_INVALID; /* "mpi4py/MPI/Datatype.pyx":771 * cdef object state = _p_keyval(copy_fn, delete_fn, nopython) * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Type_copy_attr_function *_copy = PyMPI_attr_copy_fn # <<<<<<<<<<<<<< * cdef MPI_Type_delete_attr_function *_del = PyMPI_attr_delete_fn * cdef void *extra_state = state */ __pyx_v__copy = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_fn; /* "mpi4py/MPI/Datatype.pyx":772 * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Type_copy_attr_function *_copy = PyMPI_attr_copy_fn * cdef MPI_Type_delete_attr_function *_del = PyMPI_attr_delete_fn # <<<<<<<<<<<<<< * cdef void *extra_state = state * CHKERR( MPI_Type_create_keyval(_copy, _del, &keyval, extra_state) ) */ __pyx_v__del = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_fn; /* "mpi4py/MPI/Datatype.pyx":773 * cdef MPI_Type_copy_attr_function *_copy = PyMPI_attr_copy_fn * cdef MPI_Type_delete_attr_function *_del = PyMPI_attr_delete_fn * cdef void *extra_state = state # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_keyval(_copy, _del, &keyval, extra_state) ) * type_keyval[keyval] = state */ __pyx_v_extra_state = ((void *)__pyx_v_state); /* "mpi4py/MPI/Datatype.pyx":774 * cdef MPI_Type_delete_attr_function *_del = PyMPI_attr_delete_fn * cdef void *extra_state = state * CHKERR( MPI_Type_create_keyval(_copy, _del, &keyval, extra_state) ) # <<<<<<<<<<<<<< * type_keyval[keyval] = state * return keyval */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_keyval(__pyx_v__copy, __pyx_v__del, (&__pyx_v_keyval), __pyx_v_extra_state)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(21, 774, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":775 * cdef void *extra_state = state * CHKERR( MPI_Type_create_keyval(_copy, _del, &keyval, extra_state) ) * type_keyval[keyval] = state # <<<<<<<<<<<<<< * return keyval * */ if (unlikely(__pyx_v_6mpi4py_3MPI_type_keyval == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(21, 775, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_6mpi4py_3MPI_type_keyval, __pyx_t_2, __pyx_v_state) < 0)) __PYX_ERR(21, 775, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":776 * CHKERR( MPI_Type_create_keyval(_copy, _del, &keyval, extra_state) ) * type_keyval[keyval] = state * return keyval # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":765 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None, nopython=False): # <<<<<<<<<<<<<< * """ * Create a new attribute key for datatypes */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Create_keyval", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_state); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":779 * * @classmethod * def Free_keyval(cls, int keyval): # <<<<<<<<<<<<<< * """ * Free and attribute key for datatypes */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_77Free_keyval(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_76Free_keyval[] = "Datatype.Free_keyval(type cls, int keyval)\n\n Free and attribute key for datatypes\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_77Free_keyval(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_keyval; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free_keyval (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_keyval,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_keyval)) != 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, "Free_keyval") < 0)) __PYX_ERR(21, 779, __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_keyval = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_keyval == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 779, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Free_keyval", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 779, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Free_keyval", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_76Free_keyval(((PyTypeObject*)__pyx_v_cls), __pyx_v_keyval); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_76Free_keyval(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_keyval) { int __pyx_v_keyval_save; 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_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Free_keyval", 0); /* "mpi4py/MPI/Datatype.pyx":783 * Free and attribute key for datatypes * """ * cdef int keyval_save = keyval # <<<<<<<<<<<<<< * CHKERR( MPI_Type_free_keyval(&keyval) ) * try: del type_keyval[keyval_save] */ __pyx_v_keyval_save = __pyx_v_keyval; /* "mpi4py/MPI/Datatype.pyx":784 * """ * cdef int keyval_save = keyval * CHKERR( MPI_Type_free_keyval(&keyval) ) # <<<<<<<<<<<<<< * try: del type_keyval[keyval_save] * except KeyError: pass */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_free_keyval((&__pyx_v_keyval))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 784, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":785 * cdef int keyval_save = keyval * CHKERR( MPI_Type_free_keyval(&keyval) ) * try: del type_keyval[keyval_save] # <<<<<<<<<<<<<< * except KeyError: pass * return keyval */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { if (unlikely(__pyx_v_6mpi4py_3MPI_type_keyval == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(21, 785, __pyx_L3_error) } __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_keyval_save); if (unlikely(!__pyx_t_5)) __PYX_ERR(21, 785, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_DelItem(__pyx_v_6mpi4py_3MPI_type_keyval, __pyx_t_5) < 0)) __PYX_ERR(21, 785, __pyx_L3_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 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; goto __pyx_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/Datatype.pyx":786 * CHKERR( MPI_Type_free_keyval(&keyval) ) * try: del type_keyval[keyval_save] * except KeyError: pass # <<<<<<<<<<<<<< * return keyval * */ __pyx_t_1 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); if (__pyx_t_1) { __Pyx_ErrRestore(0,0,0); goto __pyx_L4_exception_handled; } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "mpi4py/MPI/Datatype.pyx":785 * cdef int keyval_save = keyval * CHKERR( MPI_Type_free_keyval(&keyval) ) * try: del type_keyval[keyval_save] # <<<<<<<<<<<<<< * except KeyError: pass * return keyval */ __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); goto __pyx_L1_error; __pyx_L4_exception_handled:; __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); __pyx_L8_try_end:; } /* "mpi4py/MPI/Datatype.pyx":787 * try: del type_keyval[keyval_save] * except KeyError: pass * return keyval # <<<<<<<<<<<<<< * * # Naming Objects */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_5)) __PYX_ERR(21, 787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":779 * * @classmethod * def Free_keyval(cls, int keyval): # <<<<<<<<<<<<<< * """ * Free and attribute key for datatypes */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Free_keyval", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":792 * # -------------- * * def Get_name(self): # <<<<<<<<<<<<<< * """ * Get the print name for this datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_79Get_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_78Get_name[] = "Datatype.Get_name(self)\n\n Get the print name for this datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_79Get_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_name (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_name", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_name", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_78Get_name(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_78Get_name(struct PyMPIDatatypeObject *__pyx_v_self) { char __pyx_v_name[(MPI_MAX_OBJECT_NAME + 1)]; int __pyx_v_nlen; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_name", 0); /* "mpi4py/MPI/Datatype.pyx":797 * """ * cdef char name[MPI_MAX_OBJECT_NAME+1] * cdef int nlen = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Type_get_name(self.ob_mpi, name, &nlen) ) * return tompistr(name, nlen) */ __pyx_v_nlen = 0; /* "mpi4py/MPI/Datatype.pyx":798 * cdef char name[MPI_MAX_OBJECT_NAME+1] * cdef int nlen = 0 * CHKERR( MPI_Type_get_name(self.ob_mpi, name, &nlen) ) # <<<<<<<<<<<<<< * return tompistr(name, nlen) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_name(__pyx_v_self->ob_mpi, __pyx_v_name, (&__pyx_v_nlen))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(21, 798, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":799 * cdef int nlen = 0 * CHKERR( MPI_Type_get_name(self.ob_mpi, name, &nlen) ) * return tompistr(name, nlen) # <<<<<<<<<<<<<< * * def Set_name(self, name): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_tompistr(__pyx_v_name, __pyx_v_nlen); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":792 * # -------------- * * def Get_name(self): # <<<<<<<<<<<<<< * """ * Get the print name for this datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Get_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":801 * return tompistr(name, nlen) * * def Set_name(self, name): # <<<<<<<<<<<<<< * """ * Set the print name for this datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_81Set_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_80Set_name[] = "Datatype.Set_name(self, name)\n\n Set the print name for this datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_81Set_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_name = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_name (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name_2,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_name_2)) != 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, "Set_name") < 0)) __PYX_ERR(21, 801, __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_name = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_name", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 801, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.Set_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_80Set_name(((struct PyMPIDatatypeObject *)__pyx_v_self), __pyx_v_name); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_80Set_name(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_name) { char *__pyx_v_cname; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_name", 0); __Pyx_INCREF(__pyx_v_name); /* "mpi4py/MPI/Datatype.pyx":805 * Set the print name for this datatype * """ * cdef char *cname = NULL # <<<<<<<<<<<<<< * name = asmpistr(name, &cname) * CHKERR( MPI_Type_set_name(self.ob_mpi, cname) ) */ __pyx_v_cname = NULL; /* "mpi4py/MPI/Datatype.pyx":806 * """ * cdef char *cname = NULL * name = asmpistr(name, &cname) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_set_name(self.ob_mpi, cname) ) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_name, (&__pyx_v_cname)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 806, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":807 * cdef char *cname = NULL * name = asmpistr(name, &cname) * CHKERR( MPI_Type_set_name(self.ob_mpi, cname) ) # <<<<<<<<<<<<<< * * property name: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_set_name(__pyx_v_self->ob_mpi, __pyx_v_cname)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(21, 807, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":801 * return tompistr(name, nlen) * * def Set_name(self, name): # <<<<<<<<<<<<<< * """ * Set the print name for this datatype */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Set_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_name); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":811 * property name: * """datatype name""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_name() * def __set__(self, value): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_4name_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_4name_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_4name___get__(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_4name___get__(struct PyMPIDatatypeObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Datatype.pyx":812 * """datatype name""" * def __get__(self): * return self.Get_name() # <<<<<<<<<<<<<< * def __set__(self, value): * self.Set_name(value) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 812, __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(21, 812, __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; /* "mpi4py/MPI/Datatype.pyx":811 * property name: * """datatype name""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_name() * def __set__(self, value): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Datatype.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":813 * def __get__(self): * return self.Get_name() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_name(value) * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_8Datatype_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_8Datatype_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_4name_2__set__(((struct PyMPIDatatypeObject *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_8Datatype_4name_2__set__(struct PyMPIDatatypeObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 0); /* "mpi4py/MPI/Datatype.pyx":814 * return self.Get_name() * def __set__(self, value): * self.Set_name(value) # <<<<<<<<<<<<<< * * # Fortran Handle */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 814, __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_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 814, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Datatype.pyx":813 * def __get__(self): * return self.Get_name() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_name(value) * */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Datatype.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":819 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_83py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_82py2f[] = "Datatype.py2f(self)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_83py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("py2f (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("py2f", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "py2f", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_82py2f(((struct PyMPIDatatypeObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_82py2f(struct PyMPIDatatypeObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("py2f", 0); /* "mpi4py/MPI/Datatype.pyx":822 * """ * """ * return MPI_Type_c2f(self.ob_mpi) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Fint(MPI_Type_c2f(__pyx_v_self->ob_mpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":819 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Datatype.py2f", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":825 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_85f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Datatype_84f2py[] = "Datatype.f2py(type cls, arg)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Datatype_85f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("f2py (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "f2py") < 0)) __PYX_ERR(21, 825, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("f2py", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 825, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Datatype.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Datatype_84f2py(((PyTypeObject*)__pyx_v_cls), __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Datatype_84f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; MPI_Fint __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("f2py", 0); /* "mpi4py/MPI/Datatype.pyx":828 * """ * """ * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * datatype.ob_mpi = MPI_Type_f2c(arg) * return datatype */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 828, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Datatype.pyx":829 * """ * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = MPI_Type_f2c(arg) # <<<<<<<<<<<<<< * return datatype * */ __pyx_t_3 = __Pyx_PyInt_As_MPI_Fint(__pyx_v_arg); if (unlikely((__pyx_t_3 == ((MPI_Fint)-1)) && PyErr_Occurred())) __PYX_ERR(21, 829, __pyx_L1_error) __pyx_v_datatype->ob_mpi = MPI_Type_f2c(__pyx_t_3); /* "mpi4py/MPI/Datatype.pyx":830 * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = MPI_Type_f2c(arg) * return datatype # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = ((PyObject *)__pyx_v_datatype); goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":825 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":836 * # ----------------- * * def Get_address(location): # <<<<<<<<<<<<<< * """ * Get the address of a location in memory */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_15Get_address(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_14Get_address[] = "Get_address(location)\n\n Get the address of a location in memory\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_15Get_address = {"Get_address", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_15Get_address, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_14Get_address}; static PyObject *__pyx_pw_6mpi4py_3MPI_15Get_address(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_location = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_address (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_location,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_location)) != 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, "Get_address") < 0)) __PYX_ERR(21, 836, __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_location = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_address", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 836, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Get_address", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_14Get_address(__pyx_self, __pyx_v_location); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_14Get_address(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_location) { void *__pyx_v_baseptr; MPI_Aint __pyx_v_address; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_address", 0); /* "mpi4py/MPI/Datatype.pyx":840 * Get the address of a location in memory * """ * cdef void *baseptr = MPI_BOTTOM # <<<<<<<<<<<<<< * if location is not __BOTTOM__: * getbuffer_r(location, &baseptr, NULL) */ __pyx_v_baseptr = MPI_BOTTOM; /* "mpi4py/MPI/Datatype.pyx":841 * """ * cdef void *baseptr = MPI_BOTTOM * if location is not __BOTTOM__: # <<<<<<<<<<<<<< * getbuffer_r(location, &baseptr, NULL) * cdef MPI_Aint address = 0 */ __pyx_t_1 = (__pyx_v_location != __pyx_v_6mpi4py_3MPI___BOTTOM__); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Datatype.pyx":842 * cdef void *baseptr = MPI_BOTTOM * if location is not __BOTTOM__: * getbuffer_r(location, &baseptr, NULL) # <<<<<<<<<<<<<< * cdef MPI_Aint address = 0 * CHKERR( MPI_Get_address(baseptr, &address) ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_r(__pyx_v_location, (&__pyx_v_baseptr), NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":841 * """ * cdef void *baseptr = MPI_BOTTOM * if location is not __BOTTOM__: # <<<<<<<<<<<<<< * getbuffer_r(location, &baseptr, NULL) * cdef MPI_Aint address = 0 */ } /* "mpi4py/MPI/Datatype.pyx":843 * if location is not __BOTTOM__: * getbuffer_r(location, &baseptr, NULL) * cdef MPI_Aint address = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Get_address(baseptr, &address) ) * return address */ __pyx_v_address = 0; /* "mpi4py/MPI/Datatype.pyx":844 * getbuffer_r(location, &baseptr, NULL) * cdef MPI_Aint address = 0 * CHKERR( MPI_Get_address(baseptr, &address) ) # <<<<<<<<<<<<<< * return address * */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_address(__pyx_v_baseptr, (&__pyx_v_address))); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(21, 844, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":845 * cdef MPI_Aint address = 0 * CHKERR( MPI_Get_address(baseptr, &address) ) * return address # <<<<<<<<<<<<<< * * def Aint_add(Aint base, Aint disp): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_address); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":836 * # ----------------- * * def Get_address(location): # <<<<<<<<<<<<<< * """ * Get the address of a location in memory */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Get_address", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":847 * return address * * def Aint_add(Aint base, Aint disp): # <<<<<<<<<<<<<< * """ * Return the sum of base address and displacement */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_17Aint_add(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_16Aint_add[] = "Aint_add(Aint base, Aint disp)\n\n Return the sum of base address and displacement\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_17Aint_add = {"Aint_add", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_17Aint_add, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_16Aint_add}; static PyObject *__pyx_pw_6mpi4py_3MPI_17Aint_add(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Aint __pyx_v_base; MPI_Aint __pyx_v_disp; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Aint_add (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_base,&__pyx_n_s_disp,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_base)) != 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_disp)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Aint_add", 1, 2, 2, 1); __PYX_ERR(21, 847, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Aint_add") < 0)) __PYX_ERR(21, 847, __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_base = __Pyx_PyInt_As_MPI_Aint(values[0]); if (unlikely((__pyx_v_base == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(21, 847, __pyx_L3_error) __pyx_v_disp = __Pyx_PyInt_As_MPI_Aint(values[1]); if (unlikely((__pyx_v_disp == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(21, 847, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Aint_add", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 847, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Aint_add", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_16Aint_add(__pyx_self, __pyx_v_base, __pyx_v_disp); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_16Aint_add(CYTHON_UNUSED PyObject *__pyx_self, MPI_Aint __pyx_v_base, MPI_Aint __pyx_v_disp) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Aint_add", 0); /* "mpi4py/MPI/Datatype.pyx":851 * Return the sum of base address and displacement * """ * return MPI_Aint_add(base, disp) # <<<<<<<<<<<<<< * * def Aint_diff(Aint addr1, Aint addr2): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Aint(MPI_Aint_add(__pyx_v_base, __pyx_v_disp)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":847 * return address * * def Aint_add(Aint base, Aint disp): # <<<<<<<<<<<<<< * """ * Return the sum of base address and displacement */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Aint_add", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Datatype.pyx":853 * return MPI_Aint_add(base, disp) * * def Aint_diff(Aint addr1, Aint addr2): # <<<<<<<<<<<<<< * """ * Return the difference between absolute addresses */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_19Aint_diff(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_18Aint_diff[] = "Aint_diff(Aint addr1, Aint addr2)\n\n Return the difference between absolute addresses\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_19Aint_diff = {"Aint_diff", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_19Aint_diff, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_18Aint_diff}; static PyObject *__pyx_pw_6mpi4py_3MPI_19Aint_diff(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Aint __pyx_v_addr1; MPI_Aint __pyx_v_addr2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Aint_diff (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_addr1,&__pyx_n_s_addr2,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_addr1)) != 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_addr2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Aint_diff", 1, 2, 2, 1); __PYX_ERR(21, 853, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Aint_diff") < 0)) __PYX_ERR(21, 853, __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_addr1 = __Pyx_PyInt_As_MPI_Aint(values[0]); if (unlikely((__pyx_v_addr1 == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(21, 853, __pyx_L3_error) __pyx_v_addr2 = __Pyx_PyInt_As_MPI_Aint(values[1]); if (unlikely((__pyx_v_addr2 == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(21, 853, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Aint_diff", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(21, 853, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Aint_diff", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_18Aint_diff(__pyx_self, __pyx_v_addr1, __pyx_v_addr2); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_18Aint_diff(CYTHON_UNUSED PyObject *__pyx_self, MPI_Aint __pyx_v_addr1, MPI_Aint __pyx_v_addr2) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Aint_diff", 0); /* "mpi4py/MPI/Datatype.pyx":857 * Return the difference between absolute addresses * """ * return MPI_Aint_diff(addr1, addr2) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Aint(MPI_Aint_diff(__pyx_v_addr1, __pyx_v_addr2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Datatype.pyx":853 * return MPI_Aint_add(base, disp) * * def Aint_diff(Aint addr1, Aint addr2): # <<<<<<<<<<<<<< * """ * Return the difference between absolute addresses */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Aint_diff", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/typemap.pxi":3 * # ----------------------------------------------------------------------------- * * cdef inline int AddTypeMap(dict TD, const char tc[], Datatype dt) except -1: # <<<<<<<<<<<<<< * if dt.ob_mpi != MPI_DATATYPE_NULL: * TD[pystr(tc)] = dt */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_AddTypeMap(PyObject *__pyx_v_TD, char const *__pyx_v_tc, struct PyMPIDatatypeObject *__pyx_v_dt) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("AddTypeMap", 0); /* "mpi4py/MPI/typemap.pxi":4 * * cdef inline int AddTypeMap(dict TD, const char tc[], Datatype dt) except -1: * if dt.ob_mpi != MPI_DATATYPE_NULL: # <<<<<<<<<<<<<< * TD[pystr(tc)] = dt * return 1 */ __pyx_t_1 = ((__pyx_v_dt->ob_mpi != MPI_DATATYPE_NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/typemap.pxi":5 * cdef inline int AddTypeMap(dict TD, const char tc[], Datatype dt) except -1: * if dt.ob_mpi != MPI_DATATYPE_NULL: * TD[pystr(tc)] = dt # <<<<<<<<<<<<<< * return 1 * return 0 */ if (unlikely(__pyx_v_TD == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(22, 5, __pyx_L1_error) } __pyx_t_2 = __pyx_f_6mpi4py_3MPI_pystr(__pyx_v_tc); if (unlikely(!__pyx_t_2)) __PYX_ERR(22, 5, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_TD, __pyx_t_2, ((PyObject *)__pyx_v_dt)) < 0)) __PYX_ERR(22, 5, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/typemap.pxi":6 * if dt.ob_mpi != MPI_DATATYPE_NULL: * TD[pystr(tc)] = dt * return 1 # <<<<<<<<<<<<<< * return 0 * */ __pyx_r = 1; goto __pyx_L0; /* "mpi4py/MPI/typemap.pxi":4 * * cdef inline int AddTypeMap(dict TD, const char tc[], Datatype dt) except -1: * if dt.ob_mpi != MPI_DATATYPE_NULL: # <<<<<<<<<<<<<< * TD[pystr(tc)] = dt * return 1 */ } /* "mpi4py/MPI/typemap.pxi":7 * TD[pystr(tc)] = dt * return 1 * return 0 # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/typemap.pxi":3 * # ----------------------------------------------------------------------------- * * cdef inline int AddTypeMap(dict TD, const char tc[], Datatype dt) except -1: # <<<<<<<<<<<<<< * if dt.ob_mpi != MPI_DATATYPE_NULL: * TD[pystr(tc)] = dt */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.AddTypeMap", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/typestr.pxi":3 * # ----------------------------------------------------------------------------- * * def _typecode(Datatype datatype): # <<<<<<<<<<<<<< * """ * Map MPI datatype to typecode string */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_21_typecode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_20_typecode[] = "_typecode(Datatype datatype)\n\n Map MPI datatype to typecode string\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_21_typecode = {"_typecode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_21_typecode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_20_typecode}; static PyObject *__pyx_pw_6mpi4py_3MPI_21_typecode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_typecode (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_datatype,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_datatype)) != 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, "_typecode") < 0)) __PYX_ERR(23, 3, __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_datatype = ((struct PyMPIDatatypeObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_typecode", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(23, 3, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI._typecode", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_datatype), __pyx_ptype_6mpi4py_3MPI_Datatype, 0, "datatype", 0))) __PYX_ERR(23, 3, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_20_typecode(__pyx_self, __pyx_v_datatype); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_20_typecode(CYTHON_UNUSED PyObject *__pyx_self, struct PyMPIDatatypeObject *__pyx_v_datatype) { char const *__pyx_v_tc; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_typecode", 0); /* "mpi4py/MPI/typestr.pxi":7 * Map MPI datatype to typecode string * """ * cdef const char *tc = Datatype2String(datatype.ob_mpi) # <<<<<<<<<<<<<< * return pystr(tc) if tc != NULL else None * */ __pyx_v_tc = __pyx_f_6mpi4py_3MPI_Datatype2String(__pyx_v_datatype->ob_mpi); /* "mpi4py/MPI/typestr.pxi":8 * """ * cdef const char *tc = Datatype2String(datatype.ob_mpi) * return pystr(tc) if tc != NULL else None # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); if (((__pyx_v_tc != NULL) != 0)) { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_pystr(__pyx_v_tc); if (unlikely(!__pyx_t_2)) __PYX_ERR(23, 8, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_t_2; __pyx_t_2 = 0; } else { __Pyx_INCREF(Py_None); __pyx_t_1 = Py_None; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/typestr.pxi":3 * # ----------------------------------------------------------------------------- * * def _typecode(Datatype datatype): # <<<<<<<<<<<<<< * """ * Map MPI datatype to typecode string */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI._typecode", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/typestr.pxi":12 * # ----------------------------------------------------------------------------- * * cdef inline const char* Datatype2String(MPI_Datatype datatype) nogil: # <<<<<<<<<<<<<< * if datatype == MPI_DATATYPE_NULL: return NULL * # MPI */ static CYTHON_INLINE char const *__pyx_f_6mpi4py_3MPI_Datatype2String(MPI_Datatype __pyx_v_datatype) { char const *__pyx_r; int __pyx_t_1; /* "mpi4py/MPI/typestr.pxi":13 * * cdef inline const char* Datatype2String(MPI_Datatype datatype) nogil: * if datatype == MPI_DATATYPE_NULL: return NULL # <<<<<<<<<<<<<< * # MPI * elif datatype == MPI_LB : return NULL */ __pyx_t_1 = ((__pyx_v_datatype == MPI_DATATYPE_NULL) != 0); if (__pyx_t_1) { __pyx_r = NULL; goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":15 * if datatype == MPI_DATATYPE_NULL: return NULL * # MPI * elif datatype == MPI_LB : return NULL # <<<<<<<<<<<<<< * elif datatype == MPI_UB : return NULL * elif datatype == MPI_PACKED : return "B" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_LB) != 0); if (__pyx_t_1) { __pyx_r = NULL; goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":16 * # MPI * elif datatype == MPI_LB : return NULL * elif datatype == MPI_UB : return NULL # <<<<<<<<<<<<<< * elif datatype == MPI_PACKED : return "B" * elif datatype == MPI_BYTE : return "B" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_UB) != 0); if (__pyx_t_1) { __pyx_r = NULL; goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":17 * elif datatype == MPI_LB : return NULL * elif datatype == MPI_UB : return NULL * elif datatype == MPI_PACKED : return "B" # <<<<<<<<<<<<<< * elif datatype == MPI_BYTE : return "B" * elif datatype == MPI_AINT : return "p" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_PACKED) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"B"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":18 * elif datatype == MPI_UB : return NULL * elif datatype == MPI_PACKED : return "B" * elif datatype == MPI_BYTE : return "B" # <<<<<<<<<<<<<< * elif datatype == MPI_AINT : return "p" * elif datatype == MPI_OFFSET : */ __pyx_t_1 = ((__pyx_v_datatype == MPI_BYTE) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"B"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":19 * elif datatype == MPI_PACKED : return "B" * elif datatype == MPI_BYTE : return "B" * elif datatype == MPI_AINT : return "p" # <<<<<<<<<<<<<< * elif datatype == MPI_OFFSET : * if sizeof(MPI_Offset) == sizeof(MPI_Aint) : return "p" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_AINT) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"p"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":20 * elif datatype == MPI_BYTE : return "B" * elif datatype == MPI_AINT : return "p" * elif datatype == MPI_OFFSET : # <<<<<<<<<<<<<< * if sizeof(MPI_Offset) == sizeof(MPI_Aint) : return "p" * elif sizeof(MPI_Offset) == sizeof(long long) : return "q" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_OFFSET) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/typestr.pxi":21 * elif datatype == MPI_AINT : return "p" * elif datatype == MPI_OFFSET : * if sizeof(MPI_Offset) == sizeof(MPI_Aint) : return "p" # <<<<<<<<<<<<<< * elif sizeof(MPI_Offset) == sizeof(long long) : return "q" * elif sizeof(MPI_Offset) == sizeof(long) : return "l" */ __pyx_t_1 = (((sizeof(MPI_Offset)) == (sizeof(MPI_Aint))) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"p"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":22 * elif datatype == MPI_OFFSET : * if sizeof(MPI_Offset) == sizeof(MPI_Aint) : return "p" * elif sizeof(MPI_Offset) == sizeof(long long) : return "q" # <<<<<<<<<<<<<< * elif sizeof(MPI_Offset) == sizeof(long) : return "l" * elif sizeof(MPI_Offset) == sizeof(int) : return "i" */ __pyx_t_1 = (((sizeof(MPI_Offset)) == (sizeof(PY_LONG_LONG))) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"q"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":23 * if sizeof(MPI_Offset) == sizeof(MPI_Aint) : return "p" * elif sizeof(MPI_Offset) == sizeof(long long) : return "q" * elif sizeof(MPI_Offset) == sizeof(long) : return "l" # <<<<<<<<<<<<<< * elif sizeof(MPI_Offset) == sizeof(int) : return "i" * else : return NULL */ __pyx_t_1 = (((sizeof(MPI_Offset)) == (sizeof(long))) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"l"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":24 * elif sizeof(MPI_Offset) == sizeof(long long) : return "q" * elif sizeof(MPI_Offset) == sizeof(long) : return "l" * elif sizeof(MPI_Offset) == sizeof(int) : return "i" # <<<<<<<<<<<<<< * else : return NULL * # C - character */ __pyx_t_1 = (((sizeof(MPI_Offset)) == (sizeof(int))) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"i"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":25 * elif sizeof(MPI_Offset) == sizeof(long) : return "l" * elif sizeof(MPI_Offset) == sizeof(int) : return "i" * else : return NULL # <<<<<<<<<<<<<< * # C - character * elif datatype == MPI_CHAR : return "c" */ /*else*/ { __pyx_r = NULL; goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":20 * elif datatype == MPI_BYTE : return "B" * elif datatype == MPI_AINT : return "p" * elif datatype == MPI_OFFSET : # <<<<<<<<<<<<<< * if sizeof(MPI_Offset) == sizeof(MPI_Aint) : return "p" * elif sizeof(MPI_Offset) == sizeof(long long) : return "q" */ } /* "mpi4py/MPI/typestr.pxi":27 * else : return NULL * # C - character * elif datatype == MPI_CHAR : return "c" # <<<<<<<<<<<<<< * elif datatype == MPI_WCHAR : return NULL * # C - (signed) integral */ __pyx_t_1 = ((__pyx_v_datatype == MPI_CHAR) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"c"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":28 * # C - character * elif datatype == MPI_CHAR : return "c" * elif datatype == MPI_WCHAR : return NULL # <<<<<<<<<<<<<< * # C - (signed) integral * elif datatype == MPI_SIGNED_CHAR : return "b" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_WCHAR) != 0); if (__pyx_t_1) { __pyx_r = NULL; goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":30 * elif datatype == MPI_WCHAR : return NULL * # C - (signed) integral * elif datatype == MPI_SIGNED_CHAR : return "b" # <<<<<<<<<<<<<< * elif datatype == MPI_SHORT : return "h" * elif datatype == MPI_INT : return "i" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_SIGNED_CHAR) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"b"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":31 * # C - (signed) integral * elif datatype == MPI_SIGNED_CHAR : return "b" * elif datatype == MPI_SHORT : return "h" # <<<<<<<<<<<<<< * elif datatype == MPI_INT : return "i" * elif datatype == MPI_LONG : return "l" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_SHORT) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"h"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":32 * elif datatype == MPI_SIGNED_CHAR : return "b" * elif datatype == MPI_SHORT : return "h" * elif datatype == MPI_INT : return "i" # <<<<<<<<<<<<<< * elif datatype == MPI_LONG : return "l" * elif datatype == MPI_LONG_LONG : return "q" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_INT) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"i"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":33 * elif datatype == MPI_SHORT : return "h" * elif datatype == MPI_INT : return "i" * elif datatype == MPI_LONG : return "l" # <<<<<<<<<<<<<< * elif datatype == MPI_LONG_LONG : return "q" * # C - unsigned integral */ __pyx_t_1 = ((__pyx_v_datatype == MPI_LONG) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"l"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":34 * elif datatype == MPI_INT : return "i" * elif datatype == MPI_LONG : return "l" * elif datatype == MPI_LONG_LONG : return "q" # <<<<<<<<<<<<<< * # C - unsigned integral * elif datatype == MPI_UNSIGNED_CHAR : return "B" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_LONG_LONG) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"q"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":36 * elif datatype == MPI_LONG_LONG : return "q" * # C - unsigned integral * elif datatype == MPI_UNSIGNED_CHAR : return "B" # <<<<<<<<<<<<<< * elif datatype == MPI_UNSIGNED_SHORT : return "H" * elif datatype == MPI_UNSIGNED : return "I" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_UNSIGNED_CHAR) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"B"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":37 * # C - unsigned integral * elif datatype == MPI_UNSIGNED_CHAR : return "B" * elif datatype == MPI_UNSIGNED_SHORT : return "H" # <<<<<<<<<<<<<< * elif datatype == MPI_UNSIGNED : return "I" * elif datatype == MPI_UNSIGNED_LONG : return "L" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_UNSIGNED_SHORT) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"H"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":38 * elif datatype == MPI_UNSIGNED_CHAR : return "B" * elif datatype == MPI_UNSIGNED_SHORT : return "H" * elif datatype == MPI_UNSIGNED : return "I" # <<<<<<<<<<<<<< * elif datatype == MPI_UNSIGNED_LONG : return "L" * elif datatype == MPI_UNSIGNED_LONG_LONG : return "Q" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_UNSIGNED) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"I"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":39 * elif datatype == MPI_UNSIGNED_SHORT : return "H" * elif datatype == MPI_UNSIGNED : return "I" * elif datatype == MPI_UNSIGNED_LONG : return "L" # <<<<<<<<<<<<<< * elif datatype == MPI_UNSIGNED_LONG_LONG : return "Q" * # C - (real) floating */ __pyx_t_1 = ((__pyx_v_datatype == MPI_UNSIGNED_LONG) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"L"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":40 * elif datatype == MPI_UNSIGNED : return "I" * elif datatype == MPI_UNSIGNED_LONG : return "L" * elif datatype == MPI_UNSIGNED_LONG_LONG : return "Q" # <<<<<<<<<<<<<< * # C - (real) floating * elif datatype == MPI_FLOAT : return "f" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_UNSIGNED_LONG_LONG) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"Q"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":42 * elif datatype == MPI_UNSIGNED_LONG_LONG : return "Q" * # C - (real) floating * elif datatype == MPI_FLOAT : return "f" # <<<<<<<<<<<<<< * elif datatype == MPI_DOUBLE : return "d" * elif datatype == MPI_LONG_DOUBLE : return "g" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_FLOAT) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"f"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":43 * # C - (real) floating * elif datatype == MPI_FLOAT : return "f" * elif datatype == MPI_DOUBLE : return "d" # <<<<<<<<<<<<<< * elif datatype == MPI_LONG_DOUBLE : return "g" * # C99 - boolean */ __pyx_t_1 = ((__pyx_v_datatype == MPI_DOUBLE) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"d"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":44 * elif datatype == MPI_FLOAT : return "f" * elif datatype == MPI_DOUBLE : return "d" * elif datatype == MPI_LONG_DOUBLE : return "g" # <<<<<<<<<<<<<< * # C99 - boolean * elif datatype == MPI_C_BOOL : return "?" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_LONG_DOUBLE) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"g"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":46 * elif datatype == MPI_LONG_DOUBLE : return "g" * # C99 - boolean * elif datatype == MPI_C_BOOL : return "?" # <<<<<<<<<<<<<< * # C99 - integral * elif datatype == MPI_INT8_T : return "i1" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_C_BOOL) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"?"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":48 * elif datatype == MPI_C_BOOL : return "?" * # C99 - integral * elif datatype == MPI_INT8_T : return "i1" # <<<<<<<<<<<<<< * elif datatype == MPI_INT16_T : return "i2" * elif datatype == MPI_INT32_T : return "i4" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_INT8_T) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"i1"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":49 * # C99 - integral * elif datatype == MPI_INT8_T : return "i1" * elif datatype == MPI_INT16_T : return "i2" # <<<<<<<<<<<<<< * elif datatype == MPI_INT32_T : return "i4" * elif datatype == MPI_INT64_T : return "i8" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_INT16_T) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"i2"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":50 * elif datatype == MPI_INT8_T : return "i1" * elif datatype == MPI_INT16_T : return "i2" * elif datatype == MPI_INT32_T : return "i4" # <<<<<<<<<<<<<< * elif datatype == MPI_INT64_T : return "i8" * elif datatype == MPI_UINT8_T : return "u1" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_INT32_T) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"i4"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":51 * elif datatype == MPI_INT16_T : return "i2" * elif datatype == MPI_INT32_T : return "i4" * elif datatype == MPI_INT64_T : return "i8" # <<<<<<<<<<<<<< * elif datatype == MPI_UINT8_T : return "u1" * elif datatype == MPI_UINT16_T : return "u2" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_INT64_T) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"i8"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":52 * elif datatype == MPI_INT32_T : return "i4" * elif datatype == MPI_INT64_T : return "i8" * elif datatype == MPI_UINT8_T : return "u1" # <<<<<<<<<<<<<< * elif datatype == MPI_UINT16_T : return "u2" * elif datatype == MPI_UINT32_T : return "u4" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_UINT8_T) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"u1"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":53 * elif datatype == MPI_INT64_T : return "i8" * elif datatype == MPI_UINT8_T : return "u1" * elif datatype == MPI_UINT16_T : return "u2" # <<<<<<<<<<<<<< * elif datatype == MPI_UINT32_T : return "u4" * elif datatype == MPI_UINT64_T : return "u8" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_UINT16_T) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"u2"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":54 * elif datatype == MPI_UINT8_T : return "u1" * elif datatype == MPI_UINT16_T : return "u2" * elif datatype == MPI_UINT32_T : return "u4" # <<<<<<<<<<<<<< * elif datatype == MPI_UINT64_T : return "u8" * # C99 - complex floating */ __pyx_t_1 = ((__pyx_v_datatype == MPI_UINT32_T) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"u4"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":55 * elif datatype == MPI_UINT16_T : return "u2" * elif datatype == MPI_UINT32_T : return "u4" * elif datatype == MPI_UINT64_T : return "u8" # <<<<<<<<<<<<<< * # C99 - complex floating * elif datatype == MPI_C_COMPLEX : return "F" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_UINT64_T) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"u8"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":57 * elif datatype == MPI_UINT64_T : return "u8" * # C99 - complex floating * elif datatype == MPI_C_COMPLEX : return "F" # <<<<<<<<<<<<<< * elif datatype == MPI_C_FLOAT_COMPLEX : return "F" * elif datatype == MPI_C_DOUBLE_COMPLEX : return "D" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_C_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"F"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":58 * # C99 - complex floating * elif datatype == MPI_C_COMPLEX : return "F" * elif datatype == MPI_C_FLOAT_COMPLEX : return "F" # <<<<<<<<<<<<<< * elif datatype == MPI_C_DOUBLE_COMPLEX : return "D" * elif datatype == MPI_C_LONG_DOUBLE_COMPLEX : return "G" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_C_FLOAT_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"F"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":59 * elif datatype == MPI_C_COMPLEX : return "F" * elif datatype == MPI_C_FLOAT_COMPLEX : return "F" * elif datatype == MPI_C_DOUBLE_COMPLEX : return "D" # <<<<<<<<<<<<<< * elif datatype == MPI_C_LONG_DOUBLE_COMPLEX : return "G" * # C++ - boolean */ __pyx_t_1 = ((__pyx_v_datatype == MPI_C_DOUBLE_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"D"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":60 * elif datatype == MPI_C_FLOAT_COMPLEX : return "F" * elif datatype == MPI_C_DOUBLE_COMPLEX : return "D" * elif datatype == MPI_C_LONG_DOUBLE_COMPLEX : return "G" # <<<<<<<<<<<<<< * # C++ - boolean * elif datatype == MPI_CXX_BOOL : return "?" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_C_LONG_DOUBLE_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"G"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":62 * elif datatype == MPI_C_LONG_DOUBLE_COMPLEX : return "G" * # C++ - boolean * elif datatype == MPI_CXX_BOOL : return "?" # <<<<<<<<<<<<<< * # C++ - complex floating * elif datatype == MPI_CXX_FLOAT_COMPLEX : return "F" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_CXX_BOOL) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"?"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":64 * elif datatype == MPI_CXX_BOOL : return "?" * # C++ - complex floating * elif datatype == MPI_CXX_FLOAT_COMPLEX : return "F" # <<<<<<<<<<<<<< * elif datatype == MPI_CXX_DOUBLE_COMPLEX : return "D" * elif datatype == MPI_CXX_LONG_DOUBLE_COMPLEX : return "G" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_CXX_FLOAT_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"F"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":65 * # C++ - complex floating * elif datatype == MPI_CXX_FLOAT_COMPLEX : return "F" * elif datatype == MPI_CXX_DOUBLE_COMPLEX : return "D" # <<<<<<<<<<<<<< * elif datatype == MPI_CXX_LONG_DOUBLE_COMPLEX : return "G" * # Fortran */ __pyx_t_1 = ((__pyx_v_datatype == MPI_CXX_DOUBLE_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"D"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":66 * elif datatype == MPI_CXX_FLOAT_COMPLEX : return "F" * elif datatype == MPI_CXX_DOUBLE_COMPLEX : return "D" * elif datatype == MPI_CXX_LONG_DOUBLE_COMPLEX : return "G" # <<<<<<<<<<<<<< * # Fortran * elif datatype == MPI_CHARACTER : return "c" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_CXX_LONG_DOUBLE_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"G"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":68 * elif datatype == MPI_CXX_LONG_DOUBLE_COMPLEX : return "G" * # Fortran * elif datatype == MPI_CHARACTER : return "c" # <<<<<<<<<<<<<< * elif datatype == MPI_LOGICAL : return NULL * elif datatype == MPI_INTEGER : return "i" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_CHARACTER) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"c"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":69 * # Fortran * elif datatype == MPI_CHARACTER : return "c" * elif datatype == MPI_LOGICAL : return NULL # <<<<<<<<<<<<<< * elif datatype == MPI_INTEGER : return "i" * elif datatype == MPI_REAL : return "f" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_LOGICAL) != 0); if (__pyx_t_1) { __pyx_r = NULL; goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":70 * elif datatype == MPI_CHARACTER : return "c" * elif datatype == MPI_LOGICAL : return NULL * elif datatype == MPI_INTEGER : return "i" # <<<<<<<<<<<<<< * elif datatype == MPI_REAL : return "f" * elif datatype == MPI_DOUBLE_PRECISION : return "d" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_INTEGER) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"i"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":71 * elif datatype == MPI_LOGICAL : return NULL * elif datatype == MPI_INTEGER : return "i" * elif datatype == MPI_REAL : return "f" # <<<<<<<<<<<<<< * elif datatype == MPI_DOUBLE_PRECISION : return "d" * elif datatype == MPI_COMPLEX : return "F" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_REAL) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"f"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":72 * elif datatype == MPI_INTEGER : return "i" * elif datatype == MPI_REAL : return "f" * elif datatype == MPI_DOUBLE_PRECISION : return "d" # <<<<<<<<<<<<<< * elif datatype == MPI_COMPLEX : return "F" * elif datatype == MPI_DOUBLE_COMPLEX : return "D" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_DOUBLE_PRECISION) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"d"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":73 * elif datatype == MPI_REAL : return "f" * elif datatype == MPI_DOUBLE_PRECISION : return "d" * elif datatype == MPI_COMPLEX : return "F" # <<<<<<<<<<<<<< * elif datatype == MPI_DOUBLE_COMPLEX : return "D" * # Fortran 90 */ __pyx_t_1 = ((__pyx_v_datatype == MPI_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"F"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":74 * elif datatype == MPI_DOUBLE_PRECISION : return "d" * elif datatype == MPI_COMPLEX : return "F" * elif datatype == MPI_DOUBLE_COMPLEX : return "D" # <<<<<<<<<<<<<< * # Fortran 90 * elif datatype == MPI_LOGICAL1 : return NULL */ __pyx_t_1 = ((__pyx_v_datatype == MPI_DOUBLE_COMPLEX) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"D"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":76 * elif datatype == MPI_DOUBLE_COMPLEX : return "D" * # Fortran 90 * elif datatype == MPI_LOGICAL1 : return NULL # <<<<<<<<<<<<<< * elif datatype == MPI_LOGICAL2 : return NULL * elif datatype == MPI_LOGICAL4 : return NULL */ __pyx_t_1 = ((__pyx_v_datatype == MPI_LOGICAL1) != 0); if (__pyx_t_1) { __pyx_r = NULL; goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":77 * # Fortran 90 * elif datatype == MPI_LOGICAL1 : return NULL * elif datatype == MPI_LOGICAL2 : return NULL # <<<<<<<<<<<<<< * elif datatype == MPI_LOGICAL4 : return NULL * elif datatype == MPI_LOGICAL8 : return NULL */ __pyx_t_1 = ((__pyx_v_datatype == MPI_LOGICAL2) != 0); if (__pyx_t_1) { __pyx_r = NULL; goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":78 * elif datatype == MPI_LOGICAL1 : return NULL * elif datatype == MPI_LOGICAL2 : return NULL * elif datatype == MPI_LOGICAL4 : return NULL # <<<<<<<<<<<<<< * elif datatype == MPI_LOGICAL8 : return NULL * elif datatype == MPI_INTEGER1 : return "i1" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_LOGICAL4) != 0); if (__pyx_t_1) { __pyx_r = NULL; goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":79 * elif datatype == MPI_LOGICAL2 : return NULL * elif datatype == MPI_LOGICAL4 : return NULL * elif datatype == MPI_LOGICAL8 : return NULL # <<<<<<<<<<<<<< * elif datatype == MPI_INTEGER1 : return "i1" * elif datatype == MPI_INTEGER2 : return "i2" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_LOGICAL8) != 0); if (__pyx_t_1) { __pyx_r = NULL; goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":80 * elif datatype == MPI_LOGICAL4 : return NULL * elif datatype == MPI_LOGICAL8 : return NULL * elif datatype == MPI_INTEGER1 : return "i1" # <<<<<<<<<<<<<< * elif datatype == MPI_INTEGER2 : return "i2" * elif datatype == MPI_INTEGER4 : return "i4" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_INTEGER1) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"i1"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":81 * elif datatype == MPI_LOGICAL8 : return NULL * elif datatype == MPI_INTEGER1 : return "i1" * elif datatype == MPI_INTEGER2 : return "i2" # <<<<<<<<<<<<<< * elif datatype == MPI_INTEGER4 : return "i4" * elif datatype == MPI_INTEGER8 : return "i8" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_INTEGER2) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"i2"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":82 * elif datatype == MPI_INTEGER1 : return "i1" * elif datatype == MPI_INTEGER2 : return "i2" * elif datatype == MPI_INTEGER4 : return "i4" # <<<<<<<<<<<<<< * elif datatype == MPI_INTEGER8 : return "i8" * elif datatype == MPI_INTEGER16 : return "i16" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_INTEGER4) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"i4"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":83 * elif datatype == MPI_INTEGER2 : return "i2" * elif datatype == MPI_INTEGER4 : return "i4" * elif datatype == MPI_INTEGER8 : return "i8" # <<<<<<<<<<<<<< * elif datatype == MPI_INTEGER16 : return "i16" * elif datatype == MPI_REAL2 : return "f2" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_INTEGER8) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"i8"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":84 * elif datatype == MPI_INTEGER4 : return "i4" * elif datatype == MPI_INTEGER8 : return "i8" * elif datatype == MPI_INTEGER16 : return "i16" # <<<<<<<<<<<<<< * elif datatype == MPI_REAL2 : return "f2" * elif datatype == MPI_REAL4 : return "f4" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_INTEGER16) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"i16"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":85 * elif datatype == MPI_INTEGER8 : return "i8" * elif datatype == MPI_INTEGER16 : return "i16" * elif datatype == MPI_REAL2 : return "f2" # <<<<<<<<<<<<<< * elif datatype == MPI_REAL4 : return "f4" * elif datatype == MPI_REAL8 : return "f8" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_REAL2) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"f2"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":86 * elif datatype == MPI_INTEGER16 : return "i16" * elif datatype == MPI_REAL2 : return "f2" * elif datatype == MPI_REAL4 : return "f4" # <<<<<<<<<<<<<< * elif datatype == MPI_REAL8 : return "f8" * elif datatype == MPI_REAL16 : return "f16" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_REAL4) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"f4"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":87 * elif datatype == MPI_REAL2 : return "f2" * elif datatype == MPI_REAL4 : return "f4" * elif datatype == MPI_REAL8 : return "f8" # <<<<<<<<<<<<<< * elif datatype == MPI_REAL16 : return "f16" * elif datatype == MPI_COMPLEX4 : return "c4" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_REAL8) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"f8"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":88 * elif datatype == MPI_REAL4 : return "f4" * elif datatype == MPI_REAL8 : return "f8" * elif datatype == MPI_REAL16 : return "f16" # <<<<<<<<<<<<<< * elif datatype == MPI_COMPLEX4 : return "c4" * elif datatype == MPI_COMPLEX8 : return "c8" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_REAL16) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"f16"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":89 * elif datatype == MPI_REAL8 : return "f8" * elif datatype == MPI_REAL16 : return "f16" * elif datatype == MPI_COMPLEX4 : return "c4" # <<<<<<<<<<<<<< * elif datatype == MPI_COMPLEX8 : return "c8" * elif datatype == MPI_COMPLEX16 : return "c16" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_COMPLEX4) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"c4"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":90 * elif datatype == MPI_REAL16 : return "f16" * elif datatype == MPI_COMPLEX4 : return "c4" * elif datatype == MPI_COMPLEX8 : return "c8" # <<<<<<<<<<<<<< * elif datatype == MPI_COMPLEX16 : return "c16" * elif datatype == MPI_COMPLEX32 : return "c32" */ __pyx_t_1 = ((__pyx_v_datatype == MPI_COMPLEX8) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"c8"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":91 * elif datatype == MPI_COMPLEX4 : return "c4" * elif datatype == MPI_COMPLEX8 : return "c8" * elif datatype == MPI_COMPLEX16 : return "c16" # <<<<<<<<<<<<<< * elif datatype == MPI_COMPLEX32 : return "c32" * */ __pyx_t_1 = ((__pyx_v_datatype == MPI_COMPLEX16) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"c16"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":92 * elif datatype == MPI_COMPLEX8 : return "c8" * elif datatype == MPI_COMPLEX16 : return "c16" * elif datatype == MPI_COMPLEX32 : return "c32" # <<<<<<<<<<<<<< * * else : return NULL */ __pyx_t_1 = ((__pyx_v_datatype == MPI_COMPLEX32) != 0); if (__pyx_t_1) { __pyx_r = ((char const *)"c32"); goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":94 * elif datatype == MPI_COMPLEX32 : return "c32" * * else : return NULL # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ /*else*/ { __pyx_r = NULL; goto __pyx_L0; } /* "mpi4py/MPI/typestr.pxi":12 * # ----------------------------------------------------------------------------- * * cdef inline const char* Datatype2String(MPI_Datatype datatype) nogil: # <<<<<<<<<<<<<< * if datatype == MPI_DATATYPE_NULL: return NULL * # MPI */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "mpi4py/MPI/Status.pyx":7 * """ * * def __cinit__(self, Status status=None): # <<<<<<<<<<<<<< * self.ob_mpi.MPI_SOURCE = MPI_ANY_SOURCE * self.ob_mpi.MPI_TAG = MPI_ANY_TAG */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Status_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Status_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_status,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIStatusObject *)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_status); 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(24, 7, __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_status = ((struct PyMPIStatusObject *)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(24, 7, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Status.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(24, 7, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status___cinit__(((struct PyMPIStatusObject *)__pyx_v_self), __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6Status___cinit__(struct PyMPIStatusObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; MPI_Status __pyx_t_3; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Status.pyx":8 * * def __cinit__(self, Status status=None): * self.ob_mpi.MPI_SOURCE = MPI_ANY_SOURCE # <<<<<<<<<<<<<< * self.ob_mpi.MPI_TAG = MPI_ANY_TAG * self.ob_mpi.MPI_ERROR = MPI_SUCCESS */ __pyx_v_self->ob_mpi.MPI_SOURCE = MPI_ANY_SOURCE; /* "mpi4py/MPI/Status.pyx":9 * def __cinit__(self, Status status=None): * self.ob_mpi.MPI_SOURCE = MPI_ANY_SOURCE * self.ob_mpi.MPI_TAG = MPI_ANY_TAG # <<<<<<<<<<<<<< * self.ob_mpi.MPI_ERROR = MPI_SUCCESS * if status is None: return */ __pyx_v_self->ob_mpi.MPI_TAG = MPI_ANY_TAG; /* "mpi4py/MPI/Status.pyx":10 * self.ob_mpi.MPI_SOURCE = MPI_ANY_SOURCE * self.ob_mpi.MPI_TAG = MPI_ANY_TAG * self.ob_mpi.MPI_ERROR = MPI_SUCCESS # <<<<<<<<<<<<<< * if status is None: return * self.ob_mpi = status.ob_mpi */ __pyx_v_self->ob_mpi.MPI_ERROR = MPI_SUCCESS; /* "mpi4py/MPI/Status.pyx":11 * self.ob_mpi.MPI_TAG = MPI_ANY_TAG * self.ob_mpi.MPI_ERROR = MPI_SUCCESS * if status is None: return # <<<<<<<<<<<<<< * self.ob_mpi = status.ob_mpi * */ __pyx_t_1 = (((PyObject *)__pyx_v_status) == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Status.pyx":12 * self.ob_mpi.MPI_ERROR = MPI_SUCCESS * if status is None: return * self.ob_mpi = status.ob_mpi # <<<<<<<<<<<<<< * * def __richcmp__(self, other, int op): */ __pyx_t_3 = __pyx_v_status->ob_mpi; __pyx_v_self->ob_mpi = __pyx_t_3; /* "mpi4py/MPI/Status.pyx":7 * """ * * def __cinit__(self, Status status=None): # <<<<<<<<<<<<<< * self.ob_mpi.MPI_SOURCE = MPI_ANY_SOURCE * self.ob_mpi.MPI_TAG = MPI_ANY_TAG */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":14 * self.ob_mpi = status.ob_mpi * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Status): return NotImplemented * cdef Status s = self, o = other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_2__richcmp__(((struct PyMPIStatusObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_op)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_2__richcmp__(struct PyMPIStatusObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { struct PyMPIStatusObject *__pyx_v_s = 0; struct PyMPIStatusObject *__pyx_v_o = 0; int __pyx_v_ne; PyObject *__pyx_v_mod = 0; PyObject *__pyx_v_cls = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "mpi4py/MPI/Status.pyx":15 * * def __richcmp__(self, other, int op): * if not isinstance(other, Status): return NotImplemented # <<<<<<<<<<<<<< * cdef Status s = self, o = other * cdef int ne = memcmp(&s.ob_mpi, &o.ob_mpi, sizeof(MPI_Status)) */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_ptype_6mpi4py_3MPI_Status); __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_builtin_NotImplemented); __pyx_r = __pyx_builtin_NotImplemented; goto __pyx_L0; } /* "mpi4py/MPI/Status.pyx":16 * def __richcmp__(self, other, int op): * if not isinstance(other, Status): return NotImplemented * cdef Status s = self, o = other # <<<<<<<<<<<<<< * cdef int ne = memcmp(&s.ob_mpi, &o.ob_mpi, sizeof(MPI_Status)) * if op == Py_EQ: return (ne == 0) */ __pyx_t_3 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_3); __pyx_v_s = ((struct PyMPIStatusObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_v_other; __Pyx_INCREF(__pyx_t_3); __pyx_v_o = ((struct PyMPIStatusObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Status.pyx":17 * if not isinstance(other, Status): return NotImplemented * cdef Status s = self, o = other * cdef int ne = memcmp(&s.ob_mpi, &o.ob_mpi, sizeof(MPI_Status)) # <<<<<<<<<<<<<< * if op == Py_EQ: return (ne == 0) * elif op == Py_NE: return (ne != 0) */ __pyx_v_ne = memcmp((&__pyx_v_s->ob_mpi), (&__pyx_v_o->ob_mpi), (sizeof(MPI_Status))); /* "mpi4py/MPI/Status.pyx":18 * cdef Status s = self, o = other * cdef int ne = memcmp(&s.ob_mpi, &o.ob_mpi, sizeof(MPI_Status)) * if op == Py_EQ: return (ne == 0) # <<<<<<<<<<<<<< * elif op == Py_NE: return (ne != 0) * cdef mod = type(self).__module__ */ __pyx_t_2 = ((__pyx_v_op == Py_EQ) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_ne == 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Status.pyx":19 * cdef int ne = memcmp(&s.ob_mpi, &o.ob_mpi, sizeof(MPI_Status)) * if op == Py_EQ: return (ne == 0) * elif op == Py_NE: return (ne != 0) # <<<<<<<<<<<<<< * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ */ __pyx_t_2 = ((__pyx_v_op == Py_NE) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_ne != 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Status.pyx":20 * if op == Py_EQ: return (ne == 0) * elif op == Py_NE: return (ne != 0) * cdef mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mod = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Status.pyx":21 * elif op == Py_NE: return (ne != 0) * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_cls = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Status.pyx":22 * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) # <<<<<<<<<<<<<< * * def Get_source(self): */ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mod); __Pyx_GIVEREF(__pyx_v_mod); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mod); __Pyx_INCREF(__pyx_v_cls); __Pyx_GIVEREF(__pyx_v_cls); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cls); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_unorderable_type_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(24, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(24, 22, __pyx_L1_error) /* "mpi4py/MPI/Status.pyx":14 * self.ob_mpi = status.ob_mpi * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Status): return NotImplemented * cdef Status s = self, o = other */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Status.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_s); __Pyx_XDECREF((PyObject *)__pyx_v_o); __Pyx_XDECREF(__pyx_v_mod); __Pyx_XDECREF(__pyx_v_cls); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":24 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def Get_source(self): # <<<<<<<<<<<<<< * """ * Get message source */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_5Get_source(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_4Get_source[] = "Status.Get_source(self)\n\n Get message source\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_5Get_source(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_source (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_source", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_source", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_4Get_source(((struct PyMPIStatusObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_4Get_source(struct PyMPIStatusObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_source", 0); /* "mpi4py/MPI/Status.pyx":28 * Get message source * """ * return self.ob_mpi.MPI_SOURCE # <<<<<<<<<<<<<< * * def Set_source(self, int source): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->ob_mpi.MPI_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Status.pyx":24 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def Get_source(self): # <<<<<<<<<<<<<< * """ * Get message source */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Status.Get_source", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":30 * return self.ob_mpi.MPI_SOURCE * * def Set_source(self, int source): # <<<<<<<<<<<<<< * """ * Set message source */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_7Set_source(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_6Set_source[] = "Status.Set_source(self, int source)\n\n Set message source\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_7Set_source(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_source; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_source (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source,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_source)) != 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, "Set_source") < 0)) __PYX_ERR(24, 30, __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_source = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(24, 30, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_source", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(24, 30, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Status.Set_source", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_6Set_source(((struct PyMPIStatusObject *)__pyx_v_self), __pyx_v_source); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_6Set_source(struct PyMPIStatusObject *__pyx_v_self, int __pyx_v_source) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_source", 0); /* "mpi4py/MPI/Status.pyx":34 * Set message source * """ * self.ob_mpi.MPI_SOURCE = source # <<<<<<<<<<<<<< * * property source: */ __pyx_v_self->ob_mpi.MPI_SOURCE = __pyx_v_source; /* "mpi4py/MPI/Status.pyx":30 * return self.ob_mpi.MPI_SOURCE * * def Set_source(self, int source): # <<<<<<<<<<<<<< * """ * Set message source */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":38 * property source: * """source""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_source() * def __set__(self, value): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_6source_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_6source_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_6source___get__(((struct PyMPIStatusObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_6source___get__(struct PyMPIStatusObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Status.pyx":39 * """source""" * def __get__(self): * return self.Get_source() # <<<<<<<<<<<<<< * def __set__(self, value): * self.Set_source(value) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_source); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 39, __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(24, 39, __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; /* "mpi4py/MPI/Status.pyx":38 * property source: * """source""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_source() * def __set__(self, value): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Status.source.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":40 * def __get__(self): * return self.Get_source() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_source(value) * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Status_6source_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Status_6source_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_6source_2__set__(((struct PyMPIStatusObject *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6Status_6source_2__set__(struct PyMPIStatusObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 0); /* "mpi4py/MPI/Status.pyx":41 * return self.Get_source() * def __set__(self, value): * self.Set_source(value) # <<<<<<<<<<<<<< * * def Get_tag(self): */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set_source); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 41, __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_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Status.pyx":40 * def __get__(self): * return self.Get_source() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_source(value) * */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Status.source.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":43 * self.Set_source(value) * * def Get_tag(self): # <<<<<<<<<<<<<< * """ * Get message tag */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_9Get_tag(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_8Get_tag[] = "Status.Get_tag(self)\n\n Get message tag\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_9Get_tag(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_tag (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_tag", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_tag", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_8Get_tag(((struct PyMPIStatusObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_8Get_tag(struct PyMPIStatusObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_tag", 0); /* "mpi4py/MPI/Status.pyx":47 * Get message tag * """ * return self.ob_mpi.MPI_TAG # <<<<<<<<<<<<<< * * def Set_tag(self, int tag): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->ob_mpi.MPI_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Status.pyx":43 * self.Set_source(value) * * def Get_tag(self): # <<<<<<<<<<<<<< * """ * Get message tag */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Status.Get_tag", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":49 * return self.ob_mpi.MPI_TAG * * def Set_tag(self, int tag): # <<<<<<<<<<<<<< * """ * Set message tag */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_11Set_tag(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_10Set_tag[] = "Status.Set_tag(self, int tag)\n\n Set message tag\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_11Set_tag(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_tag (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_tag,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_tag)) != 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, "Set_tag") < 0)) __PYX_ERR(24, 49, __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_tag = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(24, 49, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_tag", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(24, 49, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Status.Set_tag", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_10Set_tag(((struct PyMPIStatusObject *)__pyx_v_self), __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_10Set_tag(struct PyMPIStatusObject *__pyx_v_self, int __pyx_v_tag) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_tag", 0); /* "mpi4py/MPI/Status.pyx":53 * Set message tag * """ * self.ob_mpi.MPI_TAG = tag # <<<<<<<<<<<<<< * * property tag: */ __pyx_v_self->ob_mpi.MPI_TAG = __pyx_v_tag; /* "mpi4py/MPI/Status.pyx":49 * return self.ob_mpi.MPI_TAG * * def Set_tag(self, int tag): # <<<<<<<<<<<<<< * """ * Set message tag */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":57 * property tag: * """tag""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_tag() * def __set__(self, value): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_3tag_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_3tag_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_3tag___get__(((struct PyMPIStatusObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_3tag___get__(struct PyMPIStatusObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Status.pyx":58 * """tag""" * def __get__(self): * return self.Get_tag() # <<<<<<<<<<<<<< * def __set__(self, value): * self.Set_tag(value) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 58, __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(24, 58, __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; /* "mpi4py/MPI/Status.pyx":57 * property tag: * """tag""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_tag() * def __set__(self, value): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Status.tag.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":59 * def __get__(self): * return self.Get_tag() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_tag(value) * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Status_3tag_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Status_3tag_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_3tag_2__set__(((struct PyMPIStatusObject *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6Status_3tag_2__set__(struct PyMPIStatusObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 0); /* "mpi4py/MPI/Status.pyx":60 * return self.Get_tag() * def __set__(self, value): * self.Set_tag(value) # <<<<<<<<<<<<<< * * def Get_error(self): */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set_tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 60, __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_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Status.pyx":59 * def __get__(self): * return self.Get_tag() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_tag(value) * */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Status.tag.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":62 * self.Set_tag(value) * * def Get_error(self): # <<<<<<<<<<<<<< * """ * Get message error */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_13Get_error(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_12Get_error[] = "Status.Get_error(self)\n\n Get message error\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_13Get_error(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_error (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_error", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_error", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_12Get_error(((struct PyMPIStatusObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_12Get_error(struct PyMPIStatusObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_error", 0); /* "mpi4py/MPI/Status.pyx":66 * Get message error * """ * return self.ob_mpi.MPI_ERROR # <<<<<<<<<<<<<< * * def Set_error(self, int error): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->ob_mpi.MPI_ERROR); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Status.pyx":62 * self.Set_tag(value) * * def Get_error(self): # <<<<<<<<<<<<<< * """ * Get message error */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Status.Get_error", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":68 * return self.ob_mpi.MPI_ERROR * * def Set_error(self, int error): # <<<<<<<<<<<<<< * """ * Set message error */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_15Set_error(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_14Set_error[] = "Status.Set_error(self, int error)\n\n Set message error\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_15Set_error(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_error; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_error (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_error,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_error)) != 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, "Set_error") < 0)) __PYX_ERR(24, 68, __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_error = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_error == (int)-1) && PyErr_Occurred())) __PYX_ERR(24, 68, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_error", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(24, 68, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Status.Set_error", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_14Set_error(((struct PyMPIStatusObject *)__pyx_v_self), __pyx_v_error); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_14Set_error(struct PyMPIStatusObject *__pyx_v_self, int __pyx_v_error) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_error", 0); /* "mpi4py/MPI/Status.pyx":72 * Set message error * """ * self.ob_mpi.MPI_ERROR = error # <<<<<<<<<<<<<< * * property error: */ __pyx_v_self->ob_mpi.MPI_ERROR = __pyx_v_error; /* "mpi4py/MPI/Status.pyx":68 * return self.ob_mpi.MPI_ERROR * * def Set_error(self, int error): # <<<<<<<<<<<<<< * """ * Set message error */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":76 * property error: * """error""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_error() * def __set__(self, value): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_5error_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_5error_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_5error___get__(((struct PyMPIStatusObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_5error___get__(struct PyMPIStatusObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Status.pyx":77 * """error""" * def __get__(self): * return self.Get_error() # <<<<<<<<<<<<<< * def __set__(self, value): * self.Set_error(value) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 77, __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(24, 77, __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; /* "mpi4py/MPI/Status.pyx":76 * property error: * """error""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_error() * def __set__(self, value): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Status.error.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":78 * def __get__(self): * return self.Get_error() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_error(value) * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Status_5error_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Status_5error_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_5error_2__set__(((struct PyMPIStatusObject *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6Status_5error_2__set__(struct PyMPIStatusObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 0); /* "mpi4py/MPI/Status.pyx":79 * return self.Get_error() * def __set__(self, value): * self.Set_error(value) # <<<<<<<<<<<<<< * * def Get_count(self, Datatype datatype=BYTE): */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 79, __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_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 79, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Status.pyx":78 * def __get__(self): * return self.Get_error() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_error(value) * */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Status.error.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":81 * self.Set_error(value) * * def Get_count(self, Datatype datatype=BYTE): # <<<<<<<<<<<<<< * """ * Get the number of *top level* elements */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_17Get_count(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_16Get_count[] = "Status.Get_count(self, Datatype datatype=BYTE)\n\n Get the number of *top level* elements\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_17Get_count(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_count (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_datatype,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)__pyx_k__28; 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_datatype); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Get_count") < 0)) __PYX_ERR(24, 81, __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_datatype = ((struct PyMPIDatatypeObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_count", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(24, 81, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Status.Get_count", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_datatype), __pyx_ptype_6mpi4py_3MPI_Datatype, 0, "datatype", 0))) __PYX_ERR(24, 81, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_16Get_count(((struct PyMPIStatusObject *)__pyx_v_self), __pyx_v_datatype); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_16Get_count(struct PyMPIStatusObject *__pyx_v_self, struct PyMPIDatatypeObject *__pyx_v_datatype) { MPI_Datatype __pyx_v_dtype; int __pyx_v_count; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Datatype __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_count", 0); /* "mpi4py/MPI/Status.pyx":85 * Get the number of *top level* elements * """ * cdef MPI_Datatype dtype = datatype.ob_mpi # <<<<<<<<<<<<<< * cdef int count = MPI_UNDEFINED * CHKERR( MPI_Get_count(&self.ob_mpi, dtype, &count) ) */ __pyx_t_1 = __pyx_v_datatype->ob_mpi; __pyx_v_dtype = __pyx_t_1; /* "mpi4py/MPI/Status.pyx":86 * """ * cdef MPI_Datatype dtype = datatype.ob_mpi * cdef int count = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Get_count(&self.ob_mpi, dtype, &count) ) * return count */ __pyx_v_count = MPI_UNDEFINED; /* "mpi4py/MPI/Status.pyx":87 * cdef MPI_Datatype dtype = datatype.ob_mpi * cdef int count = MPI_UNDEFINED * CHKERR( MPI_Get_count(&self.ob_mpi, dtype, &count) ) # <<<<<<<<<<<<<< * return count * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_count((&__pyx_v_self->ob_mpi), __pyx_v_dtype, (&__pyx_v_count))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(24, 87, __pyx_L1_error) /* "mpi4py/MPI/Status.pyx":88 * cdef int count = MPI_UNDEFINED * CHKERR( MPI_Get_count(&self.ob_mpi, dtype, &count) ) * return count # <<<<<<<<<<<<<< * * property count: */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Status.pyx":81 * self.Set_error(value) * * def Get_count(self, Datatype datatype=BYTE): # <<<<<<<<<<<<<< * """ * Get the number of *top level* elements */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Status.Get_count", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":92 * property count: * """byte count""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_count(__BYTE__) * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_5count_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_5count_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_5count___get__(((struct PyMPIStatusObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_5count___get__(struct PyMPIStatusObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Status.pyx":93 * """byte count""" * def __get__(self): * return self.Get_count(__BYTE__) # <<<<<<<<<<<<<< * * def Get_elements(self, Datatype datatype): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 93, __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_6mpi4py_3MPI___BYTE__)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_6mpi4py_3MPI___BYTE__)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 93, __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; /* "mpi4py/MPI/Status.pyx":92 * property count: * """byte count""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_count(__BYTE__) * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Status.count.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":95 * return self.Get_count(__BYTE__) * * def Get_elements(self, Datatype datatype): # <<<<<<<<<<<<<< * """ * Get the number of basic elements in a datatype */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_19Get_elements(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_18Get_elements[] = "Status.Get_elements(self, Datatype datatype)\n\n Get the number of basic elements in a datatype\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_19Get_elements(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_elements (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_datatype,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_datatype)) != 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, "Get_elements") < 0)) __PYX_ERR(24, 95, __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_datatype = ((struct PyMPIDatatypeObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_elements", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(24, 95, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Status.Get_elements", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_datatype), __pyx_ptype_6mpi4py_3MPI_Datatype, 0, "datatype", 0))) __PYX_ERR(24, 95, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_18Get_elements(((struct PyMPIStatusObject *)__pyx_v_self), __pyx_v_datatype); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_18Get_elements(struct PyMPIStatusObject *__pyx_v_self, struct PyMPIDatatypeObject *__pyx_v_datatype) { MPI_Datatype __pyx_v_dtype; MPI_Count __pyx_v_elements; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Datatype __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_elements", 0); /* "mpi4py/MPI/Status.pyx":99 * Get the number of basic elements in a datatype * """ * cdef MPI_Datatype dtype = datatype.ob_mpi # <<<<<<<<<<<<<< * cdef MPI_Count elements = MPI_UNDEFINED * CHKERR( MPI_Get_elements_x(&self.ob_mpi, dtype, &elements) ) */ __pyx_t_1 = __pyx_v_datatype->ob_mpi; __pyx_v_dtype = __pyx_t_1; /* "mpi4py/MPI/Status.pyx":100 * """ * cdef MPI_Datatype dtype = datatype.ob_mpi * cdef MPI_Count elements = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Get_elements_x(&self.ob_mpi, dtype, &elements) ) * return elements */ __pyx_v_elements = MPI_UNDEFINED; /* "mpi4py/MPI/Status.pyx":101 * cdef MPI_Datatype dtype = datatype.ob_mpi * cdef MPI_Count elements = MPI_UNDEFINED * CHKERR( MPI_Get_elements_x(&self.ob_mpi, dtype, &elements) ) # <<<<<<<<<<<<<< * return elements * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_elements_x((&__pyx_v_self->ob_mpi), __pyx_v_dtype, (&__pyx_v_elements))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(24, 101, __pyx_L1_error) /* "mpi4py/MPI/Status.pyx":102 * cdef MPI_Count elements = MPI_UNDEFINED * CHKERR( MPI_Get_elements_x(&self.ob_mpi, dtype, &elements) ) * return elements # <<<<<<<<<<<<<< * * def Set_elements(self, Datatype datatype, Count count): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_From_MPI_Count(__pyx_v_elements); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Status.pyx":95 * return self.Get_count(__BYTE__) * * def Get_elements(self, Datatype datatype): # <<<<<<<<<<<<<< * """ * Get the number of basic elements in a datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Status.Get_elements", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":104 * return elements * * def Set_elements(self, Datatype datatype, Count count): # <<<<<<<<<<<<<< * """ * Set the number of elements in a status */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_21Set_elements(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_20Set_elements[] = "Status.Set_elements(self, Datatype datatype, Count count)\n\n Set the number of elements in a status\n\n .. note:: This should be only used when implementing\n query callback functions for generalized requests\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_21Set_elements(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; MPI_Count __pyx_v_count; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_elements (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_datatype,&__pyx_n_s_count,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_datatype)) != 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_count)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Set_elements", 1, 2, 2, 1); __PYX_ERR(24, 104, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Set_elements") < 0)) __PYX_ERR(24, 104, __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_datatype = ((struct PyMPIDatatypeObject *)values[0]); __pyx_v_count = __Pyx_PyInt_As_MPI_Count(values[1]); if (unlikely((__pyx_v_count == ((MPI_Count)-1)) && PyErr_Occurred())) __PYX_ERR(24, 104, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_elements", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(24, 104, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Status.Set_elements", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_datatype), __pyx_ptype_6mpi4py_3MPI_Datatype, 0, "datatype", 0))) __PYX_ERR(24, 104, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_20Set_elements(((struct PyMPIStatusObject *)__pyx_v_self), __pyx_v_datatype, __pyx_v_count); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_20Set_elements(struct PyMPIStatusObject *__pyx_v_self, struct PyMPIDatatypeObject *__pyx_v_datatype, MPI_Count __pyx_v_count) { MPI_Datatype __pyx_v_dtype; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Datatype __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_elements", 0); /* "mpi4py/MPI/Status.pyx":111 * query callback functions for generalized requests * """ * cdef MPI_Datatype dtype = datatype.ob_mpi # <<<<<<<<<<<<<< * CHKERR( MPI_Status_set_elements_x(&self.ob_mpi, dtype, count) ) * */ __pyx_t_1 = __pyx_v_datatype->ob_mpi; __pyx_v_dtype = __pyx_t_1; /* "mpi4py/MPI/Status.pyx":112 * """ * cdef MPI_Datatype dtype = datatype.ob_mpi * CHKERR( MPI_Status_set_elements_x(&self.ob_mpi, dtype, count) ) # <<<<<<<<<<<<<< * * def Is_cancelled(self): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Status_set_elements_x((&__pyx_v_self->ob_mpi), __pyx_v_dtype, __pyx_v_count)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(24, 112, __pyx_L1_error) /* "mpi4py/MPI/Status.pyx":104 * return elements * * def Set_elements(self, Datatype datatype, Count count): # <<<<<<<<<<<<<< * """ * Set the number of elements in a status */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Status.Set_elements", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":114 * CHKERR( MPI_Status_set_elements_x(&self.ob_mpi, dtype, count) ) * * def Is_cancelled(self): # <<<<<<<<<<<<<< * """ * Test to see if a request was cancelled */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_23Is_cancelled(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_22Is_cancelled[] = "Status.Is_cancelled(self)\n\n Test to see if a request was cancelled\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_23Is_cancelled(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Is_cancelled (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Is_cancelled", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Is_cancelled", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_22Is_cancelled(((struct PyMPIStatusObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_22Is_cancelled(struct PyMPIStatusObject *__pyx_v_self) { int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Is_cancelled", 0); /* "mpi4py/MPI/Status.pyx":118 * Test to see if a request was cancelled * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Test_cancelled(&self.ob_mpi, &flag) ) * return flag */ __pyx_v_flag = 0; /* "mpi4py/MPI/Status.pyx":119 * """ * cdef int flag = 0 * CHKERR( MPI_Test_cancelled(&self.ob_mpi, &flag) ) # <<<<<<<<<<<<<< * return flag * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Test_cancelled((&__pyx_v_self->ob_mpi), (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(24, 119, __pyx_L1_error) /* "mpi4py/MPI/Status.pyx":120 * cdef int flag = 0 * CHKERR( MPI_Test_cancelled(&self.ob_mpi, &flag) ) * return flag # <<<<<<<<<<<<<< * * def Set_cancelled(self, bint flag): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Status.pyx":114 * CHKERR( MPI_Status_set_elements_x(&self.ob_mpi, dtype, count) ) * * def Is_cancelled(self): # <<<<<<<<<<<<<< * """ * Test to see if a request was cancelled */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Status.Is_cancelled", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":122 * return flag * * def Set_cancelled(self, bint flag): # <<<<<<<<<<<<<< * """ * Set the cancelled state associated with a status */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_25Set_cancelled(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_24Set_cancelled[] = "Status.Set_cancelled(self, bool flag)\n\n Set the cancelled state associated with a status\n\n .. note:: This should be only used when implementing\n query callback functions for generalized requests\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_25Set_cancelled(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_flag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_cancelled (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_flag,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_flag)) != 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, "Set_cancelled") < 0)) __PYX_ERR(24, 122, __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_flag = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_flag == (int)-1) && PyErr_Occurred())) __PYX_ERR(24, 122, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_cancelled", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(24, 122, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Status.Set_cancelled", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_24Set_cancelled(((struct PyMPIStatusObject *)__pyx_v_self), __pyx_v_flag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_24Set_cancelled(struct PyMPIStatusObject *__pyx_v_self, int __pyx_v_flag) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_cancelled", 0); /* "mpi4py/MPI/Status.pyx":129 * query callback functions for generalized requests * """ * CHKERR( MPI_Status_set_cancelled(&self.ob_mpi, flag) ) # <<<<<<<<<<<<<< * * property cancelled: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Status_set_cancelled((&__pyx_v_self->ob_mpi), __pyx_v_flag)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(24, 129, __pyx_L1_error) /* "mpi4py/MPI/Status.pyx":122 * return flag * * def Set_cancelled(self, bint flag): # <<<<<<<<<<<<<< * """ * Set the cancelled state associated with a status */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Status.Set_cancelled", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":135 * cancelled state * """ * def __get__(self): # <<<<<<<<<<<<<< * return self.Is_cancelled() * def __set__(self, value): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_9cancelled_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_9cancelled_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_9cancelled___get__(((struct PyMPIStatusObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_9cancelled___get__(struct PyMPIStatusObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Status.pyx":136 * """ * def __get__(self): * return self.Is_cancelled() # <<<<<<<<<<<<<< * def __set__(self, value): * self.Set_cancelled(value) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Is_cancelled); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 136, __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(24, 136, __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; /* "mpi4py/MPI/Status.pyx":135 * cancelled state * """ * def __get__(self): # <<<<<<<<<<<<<< * return self.Is_cancelled() * def __set__(self, value): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Status.cancelled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":137 * def __get__(self): * return self.Is_cancelled() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_cancelled(value) * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Status_9cancelled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Status_9cancelled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_9cancelled_2__set__(((struct PyMPIStatusObject *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6Status_9cancelled_2__set__(struct PyMPIStatusObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 0); /* "mpi4py/MPI/Status.pyx":138 * return self.Is_cancelled() * def __set__(self, value): * self.Set_cancelled(value) # <<<<<<<<<<<<<< * * # Fortran Handle */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set_cancelled); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 138, __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_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Status.pyx":137 * def __get__(self): * return self.Is_cancelled() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_cancelled(value) * */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Status.cancelled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":143 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_27py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_26py2f[] = "Status.py2f(self)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_27py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("py2f (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("py2f", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "py2f", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_26py2f(((struct PyMPIStatusObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_26py2f(struct PyMPIStatusObject *__pyx_v_self) { struct PyMPIStatusObject *__pyx_v_status = 0; Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_n; MPI_Status *__pyx_v_c_status; MPI_Fint *__pyx_v_f_status; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; Py_ssize_t __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("py2f", 0); /* "mpi4py/MPI/Status.pyx":146 * """ * """ * cdef Status status = self # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0 * cdef Py_ssize_t n = (sizeof(MPI_Status)/sizeof(int)) */ __pyx_t_1 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_1); __pyx_v_status = ((struct PyMPIStatusObject *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Status.pyx":147 * """ * cdef Status status = self * cdef Py_ssize_t i = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t n = (sizeof(MPI_Status)/sizeof(int)) * cdef MPI_Status *c_status = &status.ob_mpi */ __pyx_v_i = 0; /* "mpi4py/MPI/Status.pyx":148 * cdef Status status = self * cdef Py_ssize_t i = 0 * cdef Py_ssize_t n = (sizeof(MPI_Status)/sizeof(int)) # <<<<<<<<<<<<<< * cdef MPI_Status *c_status = &status.ob_mpi * cdef MPI_Fint *f_status = NULL */ __pyx_v_n = ((int)((sizeof(MPI_Status)) / (sizeof(int)))); /* "mpi4py/MPI/Status.pyx":149 * cdef Py_ssize_t i = 0 * cdef Py_ssize_t n = (sizeof(MPI_Status)/sizeof(int)) * cdef MPI_Status *c_status = &status.ob_mpi # <<<<<<<<<<<<<< * cdef MPI_Fint *f_status = NULL * cdef tmp = allocate(n+1, sizeof(MPI_Fint), &f_status) */ __pyx_v_c_status = (&__pyx_v_status->ob_mpi); /* "mpi4py/MPI/Status.pyx":150 * cdef Py_ssize_t n = (sizeof(MPI_Status)/sizeof(int)) * cdef MPI_Status *c_status = &status.ob_mpi * cdef MPI_Fint *f_status = NULL # <<<<<<<<<<<<<< * cdef tmp = allocate(n+1, sizeof(MPI_Fint), &f_status) * CHKERR( MPI_Status_c2f(c_status, f_status) ) */ __pyx_v_f_status = NULL; /* "mpi4py/MPI/Status.pyx":151 * cdef MPI_Status *c_status = &status.ob_mpi * cdef MPI_Fint *f_status = NULL * cdef tmp = allocate(n+1, sizeof(MPI_Fint), &f_status) # <<<<<<<<<<<<<< * CHKERR( MPI_Status_c2f(c_status, f_status) ) * return [f_status[i] for i from 0 <= i < n] */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate((__pyx_v_n + 1), (sizeof(MPI_Fint)), (&__pyx_v_f_status))); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Status.pyx":152 * cdef MPI_Fint *f_status = NULL * cdef tmp = allocate(n+1, sizeof(MPI_Fint), &f_status) * CHKERR( MPI_Status_c2f(c_status, f_status) ) # <<<<<<<<<<<<<< * return [f_status[i] for i from 0 <= i < n] * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Status_c2f(__pyx_v_c_status, __pyx_v_f_status)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(24, 152, __pyx_L1_error) /* "mpi4py/MPI/Status.pyx":153 * cdef tmp = allocate(n+1, sizeof(MPI_Fint), &f_status) * CHKERR( MPI_Status_c2f(c_status, f_status) ) * return [f_status[i] for i from 0 <= i < n] # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { __pyx_t_4 = __Pyx_PyInt_From_MPI_Fint((__pyx_v_f_status[__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(24, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(24, 153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Status.pyx":143 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Status.py2f", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_status); __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Status.pyx":156 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_29f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Status_28f2py[] = "Status.f2py(type cls, arg)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_6Status_29f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("f2py (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "f2py") < 0)) __PYX_ERR(24, 156, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("f2py", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(24, 156, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Status.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_6Status_28f2py(((PyTypeObject*)__pyx_v_cls), __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Status_28f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg) { struct PyMPIStatusObject *__pyx_v_status = 0; Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_n; MPI_Status *__pyx_v_c_status; MPI_Fint *__pyx_v_f_status; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; Py_ssize_t __pyx_t_3; MPI_Fint __pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("f2py", 0); /* "mpi4py/MPI/Status.pyx":159 * """ * """ * cdef Status status = Status.__new__(Status) # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0 * cdef Py_ssize_t n = (sizeof(MPI_Status)/sizeof(int)) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Status(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Status), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 159, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_status = ((struct PyMPIStatusObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Status.pyx":160 * """ * cdef Status status = Status.__new__(Status) * cdef Py_ssize_t i = 0 # <<<<<<<<<<<<<< * cdef Py_ssize_t n = (sizeof(MPI_Status)/sizeof(int)) * cdef MPI_Status *c_status = &status.ob_mpi */ __pyx_v_i = 0; /* "mpi4py/MPI/Status.pyx":161 * cdef Status status = Status.__new__(Status) * cdef Py_ssize_t i = 0 * cdef Py_ssize_t n = (sizeof(MPI_Status)/sizeof(int)) # <<<<<<<<<<<<<< * cdef MPI_Status *c_status = &status.ob_mpi * cdef MPI_Fint *f_status = NULL */ __pyx_v_n = ((int)((sizeof(MPI_Status)) / (sizeof(int)))); /* "mpi4py/MPI/Status.pyx":162 * cdef Py_ssize_t i = 0 * cdef Py_ssize_t n = (sizeof(MPI_Status)/sizeof(int)) * cdef MPI_Status *c_status = &status.ob_mpi # <<<<<<<<<<<<<< * cdef MPI_Fint *f_status = NULL * cdef tmp = allocate(n+1, sizeof(MPI_Fint), &f_status) */ __pyx_v_c_status = (&__pyx_v_status->ob_mpi); /* "mpi4py/MPI/Status.pyx":163 * cdef Py_ssize_t n = (sizeof(MPI_Status)/sizeof(int)) * cdef MPI_Status *c_status = &status.ob_mpi * cdef MPI_Fint *f_status = NULL # <<<<<<<<<<<<<< * cdef tmp = allocate(n+1, sizeof(MPI_Fint), &f_status) * for i from 0 <= i < n: f_status[i] = arg[i] */ __pyx_v_f_status = NULL; /* "mpi4py/MPI/Status.pyx":164 * cdef MPI_Status *c_status = &status.ob_mpi * cdef MPI_Fint *f_status = NULL * cdef tmp = allocate(n+1, sizeof(MPI_Fint), &f_status) # <<<<<<<<<<<<<< * for i from 0 <= i < n: f_status[i] = arg[i] * CHKERR( MPI_Status_f2c(f_status, c_status) ) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate((__pyx_v_n + 1), (sizeof(MPI_Fint)), (&__pyx_v_f_status))); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Status.pyx":165 * cdef MPI_Fint *f_status = NULL * cdef tmp = allocate(n+1, sizeof(MPI_Fint), &f_status) * for i from 0 <= i < n: f_status[i] = arg[i] # <<<<<<<<<<<<<< * CHKERR( MPI_Status_f2c(f_status, c_status) ) * return status */ __pyx_t_3 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_arg, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyInt_As_MPI_Fint(__pyx_t_2); if (unlikely((__pyx_t_4 == ((MPI_Fint)-1)) && PyErr_Occurred())) __PYX_ERR(24, 165, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; (__pyx_v_f_status[__pyx_v_i]) = __pyx_t_4; } /* "mpi4py/MPI/Status.pyx":166 * cdef tmp = allocate(n+1, sizeof(MPI_Fint), &f_status) * for i from 0 <= i < n: f_status[i] = arg[i] * CHKERR( MPI_Status_f2c(f_status, c_status) ) # <<<<<<<<<<<<<< * return status */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Status_f2c(__pyx_v_f_status, __pyx_v_c_status)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(24, 166, __pyx_L1_error) /* "mpi4py/MPI/Status.pyx":167 * for i from 0 <= i < n: f_status[i] = arg[i] * CHKERR( MPI_Status_f2c(f_status, c_status) ) * return status # <<<<<<<<<<<<<< */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_status)); __pyx_r = ((PyObject *)__pyx_v_status); goto __pyx_L0; /* "mpi4py/MPI/Status.pyx":156 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Status.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_status); __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":7 * """ * * def __cinit__(self, Request request=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_REQUEST_NULL * if request is None: return */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_7Request_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_7Request_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIRequestObject *__pyx_v_request = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_request,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIRequestObject *)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_request); 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(25, 7, __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_request = ((struct PyMPIRequestObject *)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(25, 7, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_request), __pyx_ptype_6mpi4py_3MPI_Request, 1, "request", 0))) __PYX_ERR(25, 7, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request___cinit__(((struct PyMPIRequestObject *)__pyx_v_self), __pyx_v_request); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_7Request___cinit__(struct PyMPIRequestObject *__pyx_v_self, struct PyMPIRequestObject *__pyx_v_request) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; MPI_Request __pyx_t_3; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Request.pyx":8 * * def __cinit__(self, Request request=None): * self.ob_mpi = MPI_REQUEST_NULL # <<<<<<<<<<<<<< * if request is None: return * self.ob_mpi = request.ob_mpi */ __pyx_v_self->ob_mpi = MPI_REQUEST_NULL; /* "mpi4py/MPI/Request.pyx":9 * def __cinit__(self, Request request=None): * self.ob_mpi = MPI_REQUEST_NULL * if request is None: return # <<<<<<<<<<<<<< * self.ob_mpi = request.ob_mpi * self.ob_buf = request.ob_buf */ __pyx_t_1 = (((PyObject *)__pyx_v_request) == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Request.pyx":10 * self.ob_mpi = MPI_REQUEST_NULL * if request is None: return * self.ob_mpi = request.ob_mpi # <<<<<<<<<<<<<< * self.ob_buf = request.ob_buf * */ __pyx_t_3 = __pyx_v_request->ob_mpi; __pyx_v_self->ob_mpi = __pyx_t_3; /* "mpi4py/MPI/Request.pyx":11 * if request is None: return * self.ob_mpi = request.ob_mpi * self.ob_buf = request.ob_buf # <<<<<<<<<<<<<< * * def __dealloc__(self): */ __pyx_t_4 = __pyx_v_request->ob_buf; __Pyx_INCREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->ob_buf); __Pyx_DECREF(__pyx_v_self->ob_buf); __pyx_v_self->ob_buf = __pyx_t_4; __pyx_t_4 = 0; /* "mpi4py/MPI/Request.pyx":7 * """ * * def __cinit__(self, Request request=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_REQUEST_NULL * if request is None: return */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":13 * self.ob_buf = request.ob_buf * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Request(&self.ob_mpi) ) */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_7Request_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_7Request_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_7Request_2__dealloc__(((struct PyMPIRequestObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_7Request_2__dealloc__(struct PyMPIRequestObject *__pyx_v_self) { __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "mpi4py/MPI/Request.pyx":14 * * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return # <<<<<<<<<<<<<< * CHKERR( del_Request(&self.ob_mpi) ) * */ __pyx_t_1 = ((!((__pyx_v_self->flags & __pyx_e_6mpi4py_3MPI_PyMPI_OWNED) != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "mpi4py/MPI/Request.pyx":15 * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Request(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * def __richcmp__(self, other, int op): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(__pyx_f_6mpi4py_3MPI_del_Request((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 15, __pyx_L1_error) /* "mpi4py/MPI/Request.pyx":13 * self.ob_buf = request.ob_buf * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Request(&self.ob_mpi) ) */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.Request.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/Request.pyx":17 * CHKERR( del_Request(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Request): return NotImplemented * cdef Request s = self, o = other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_4__richcmp__(((struct PyMPIRequestObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_op)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_4__richcmp__(struct PyMPIRequestObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { struct PyMPIRequestObject *__pyx_v_s = 0; struct PyMPIRequestObject *__pyx_v_o = 0; PyObject *__pyx_v_mod = 0; PyObject *__pyx_v_cls = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "mpi4py/MPI/Request.pyx":18 * * def __richcmp__(self, other, int op): * if not isinstance(other, Request): return NotImplemented # <<<<<<<<<<<<<< * cdef Request s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_ptype_6mpi4py_3MPI_Request); __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_builtin_NotImplemented); __pyx_r = __pyx_builtin_NotImplemented; goto __pyx_L0; } /* "mpi4py/MPI/Request.pyx":19 * def __richcmp__(self, other, int op): * if not isinstance(other, Request): return NotImplemented * cdef Request s = self, o = other # <<<<<<<<<<<<<< * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) */ __pyx_t_3 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_3); __pyx_v_s = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_v_other; __Pyx_INCREF(__pyx_t_3); __pyx_v_o = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Request.pyx":20 * if not isinstance(other, Request): return NotImplemented * cdef Request s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) # <<<<<<<<<<<<<< * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ */ __pyx_t_2 = ((__pyx_v_op == Py_EQ) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi == __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Request.pyx":21 * cdef Request s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) # <<<<<<<<<<<<<< * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ */ __pyx_t_2 = ((__pyx_v_op == Py_NE) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi != __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Request.pyx":22 * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mod = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Request.pyx":23 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_cls = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Request.pyx":24 * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) # <<<<<<<<<<<<<< * * def __bool__(self): */ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mod); __Pyx_GIVEREF(__pyx_v_mod); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mod); __Pyx_INCREF(__pyx_v_cls); __Pyx_GIVEREF(__pyx_v_cls); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cls); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_unorderable_type_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(25, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(25, 24, __pyx_L1_error) /* "mpi4py/MPI/Request.pyx":17 * CHKERR( del_Request(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Request): return NotImplemented * cdef Request s = self, o = other */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Request.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_s); __Pyx_XDECREF((PyObject *)__pyx_v_o); __Pyx_XDECREF(__pyx_v_mod); __Pyx_XDECREF(__pyx_v_cls); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":26 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_REQUEST_NULL * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_7Request_7__bool__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_7Request_7__bool__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_6__bool__(((struct PyMPIRequestObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_7Request_6__bool__(struct PyMPIRequestObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__", 0); /* "mpi4py/MPI/Request.pyx":27 * * def __bool__(self): * return self.ob_mpi != MPI_REQUEST_NULL # <<<<<<<<<<<<<< * * # Completion Operations */ __pyx_r = (__pyx_v_self->ob_mpi != MPI_REQUEST_NULL); goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":26 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_REQUEST_NULL * */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":32 * # --------------------- * * def Wait(self, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for a send or receive to complete */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_9Wait(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_8Wait[] = "Request.Wait(self, Status status=None)\n\n Wait for a send or receive to complete\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_9Wait(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Wait (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_status,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIStatusObject *)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_status); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Wait") < 0)) __PYX_ERR(25, 32, __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_status = ((struct PyMPIStatusObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Wait", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 32, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.Wait", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 32, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_8Wait(((struct PyMPIRequestObject *)__pyx_v_self), __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_8Wait(struct PyMPIRequestObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status) { MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Wait", 0); /* "mpi4py/MPI/Request.pyx":36 * Wait for a send or receive to complete * """ * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Wait( * &self.ob_mpi, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Request.pyx":37 * """ * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Wait( # <<<<<<<<<<<<<< * &self.ob_mpi, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Request.pyx":38 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Wait( * &self.ob_mpi, statusp) ) # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_REQUEST_NULL: * self.ob_buf = None */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Wait((&__pyx_v_self->ob_mpi), __pyx_v_statusp)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(25, 37, __pyx_L4_error) } /* "mpi4py/MPI/Request.pyx":37 * """ * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Wait( # <<<<<<<<<<<<<< * &self.ob_mpi, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: */ /*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:; } } /* "mpi4py/MPI/Request.pyx":39 * with nogil: CHKERR( MPI_Wait( * &self.ob_mpi, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * self.ob_buf = None * return True */ __pyx_t_2 = ((__pyx_v_self->ob_mpi == MPI_REQUEST_NULL) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Request.pyx":40 * &self.ob_mpi, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: * self.ob_buf = None # <<<<<<<<<<<<<< * return True * */ __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->ob_buf); __Pyx_DECREF(__pyx_v_self->ob_buf); __pyx_v_self->ob_buf = Py_None; /* "mpi4py/MPI/Request.pyx":39 * with nogil: CHKERR( MPI_Wait( * &self.ob_mpi, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * self.ob_buf = None * return True */ } /* "mpi4py/MPI/Request.pyx":41 * if self.ob_mpi == MPI_REQUEST_NULL: * self.ob_buf = None * return True # <<<<<<<<<<<<<< * * def Test(self, Status status=None): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_True); __pyx_r = Py_True; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":32 * # --------------------- * * def Wait(self, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for a send or receive to complete */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.Wait", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":43 * return True * * def Test(self, Status status=None): # <<<<<<<<<<<<<< * """ * Test for the completion of a send or receive */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_11Test(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_10Test[] = "Request.Test(self, Status status=None)\n\n Test for the completion of a send or receive\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_11Test(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Test (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_status,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIStatusObject *)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_status); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Test") < 0)) __PYX_ERR(25, 43, __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_status = ((struct PyMPIStatusObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Test", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 43, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.Test", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 43, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_10Test(((struct PyMPIRequestObject *)__pyx_v_self), __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_10Test(struct PyMPIRequestObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_flag; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Test", 0); /* "mpi4py/MPI/Request.pyx":47 * Test for the completion of a send or receive * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Test( */ __pyx_v_flag = 0; /* "mpi4py/MPI/Request.pyx":48 * """ * cdef int flag = 0 * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Test( * &self.ob_mpi, &flag, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Request.pyx":49 * cdef int flag = 0 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Test( # <<<<<<<<<<<<<< * &self.ob_mpi, &flag, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Request.pyx":50 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Test( * &self.ob_mpi, &flag, statusp) ) # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_REQUEST_NULL: * self.ob_buf = None */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Test((&__pyx_v_self->ob_mpi), (&__pyx_v_flag), __pyx_v_statusp)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(25, 49, __pyx_L4_error) } /* "mpi4py/MPI/Request.pyx":49 * cdef int flag = 0 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Test( # <<<<<<<<<<<<<< * &self.ob_mpi, &flag, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: */ /*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:; } } /* "mpi4py/MPI/Request.pyx":51 * with nogil: CHKERR( MPI_Test( * &self.ob_mpi, &flag, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * self.ob_buf = None * return flag */ __pyx_t_2 = ((__pyx_v_self->ob_mpi == MPI_REQUEST_NULL) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Request.pyx":52 * &self.ob_mpi, &flag, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: * self.ob_buf = None # <<<<<<<<<<<<<< * return flag * */ __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->ob_buf); __Pyx_DECREF(__pyx_v_self->ob_buf); __pyx_v_self->ob_buf = Py_None; /* "mpi4py/MPI/Request.pyx":51 * with nogil: CHKERR( MPI_Test( * &self.ob_mpi, &flag, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * self.ob_buf = None * return flag */ } /* "mpi4py/MPI/Request.pyx":53 * if self.ob_mpi == MPI_REQUEST_NULL: * self.ob_buf = None * return flag # <<<<<<<<<<<<<< * * def Free(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":43 * return True * * def Test(self, Status status=None): # <<<<<<<<<<<<<< * """ * Test for the completion of a send or receive */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Request.Test", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":55 * return flag * * def Free(self): # <<<<<<<<<<<<<< * """ * Free a communication request */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_13Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_12Free[] = "Request.Free(self)\n\n Free a communication request\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_13Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Free", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Free", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_12Free(((struct PyMPIRequestObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_12Free(struct PyMPIRequestObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Free", 0); /* "mpi4py/MPI/Request.pyx":59 * Free a communication request * """ * with nogil: CHKERR( MPI_Request_free(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Get_status(self, Status status=None): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Request_free((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(25, 59, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Request.pyx":55 * return flag * * def Free(self): # <<<<<<<<<<<<<< * """ * Free a communication request */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.Free", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":61 * with nogil: CHKERR( MPI_Request_free(&self.ob_mpi) ) * * def Get_status(self, Status status=None): # <<<<<<<<<<<<<< * """ * Non-destructive test for the completion of a request */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_15Get_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_14Get_status[] = "Request.Get_status(self, Status status=None)\n\n Non-destructive test for the completion of a request\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_15Get_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_status (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_status,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIStatusObject *)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_status); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Get_status") < 0)) __PYX_ERR(25, 61, __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_status = ((struct PyMPIStatusObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_status", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 61, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.Get_status", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 61, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_14Get_status(((struct PyMPIRequestObject *)__pyx_v_self), __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_14Get_status(struct PyMPIRequestObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_flag; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_status", 0); /* "mpi4py/MPI/Request.pyx":65 * Non-destructive test for the completion of a request * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Request_get_status( */ __pyx_v_flag = 0; /* "mpi4py/MPI/Request.pyx":66 * """ * cdef int flag = 0 * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Request_get_status( * self.ob_mpi, &flag, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Request.pyx":67 * cdef int flag = 0 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Request_get_status( # <<<<<<<<<<<<<< * self.ob_mpi, &flag, statusp) ) * return flag */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Request.pyx":68 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Request_get_status( * self.ob_mpi, &flag, statusp) ) # <<<<<<<<<<<<<< * return flag * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Request_get_status(__pyx_v_self->ob_mpi, (&__pyx_v_flag), __pyx_v_statusp)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(25, 67, __pyx_L4_error) } /* "mpi4py/MPI/Request.pyx":67 * cdef int flag = 0 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Request_get_status( # <<<<<<<<<<<<<< * self.ob_mpi, &flag, statusp) ) * return flag */ /*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:; } } /* "mpi4py/MPI/Request.pyx":69 * with nogil: CHKERR( MPI_Request_get_status( * self.ob_mpi, &flag, statusp) ) * return flag # <<<<<<<<<<<<<< * * # Multiple Completions */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":61 * with nogil: CHKERR( MPI_Request_free(&self.ob_mpi) ) * * def Get_status(self, Status status=None): # <<<<<<<<<<<<<< * """ * Non-destructive test for the completion of a request */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Request.Get_status", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":75 * * @classmethod * def Waitany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for any previously initiated request to complete */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_17Waitany(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_16Waitany[] = "Request.Waitany(type cls, requests, Status status=None)\n\n Wait for any previously initiated request to complete\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_17Waitany(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_requests = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Waitany (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_requests,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_requests)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Waitany") < 0)) __PYX_ERR(25, 75, __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_requests = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Waitany", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 75, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.Waitany", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 75, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_16Waitany(((PyTypeObject*)__pyx_v_cls), __pyx_v_requests, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_16Waitany(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_count; MPI_Request *__pyx_v_irequests; int __pyx_v_index; MPI_Status *__pyx_v_statusp; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; char const *__pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Waitany", 0); /* "mpi4py/MPI/Request.pyx":79 * Wait for any previously initiated request to complete * """ * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef int index = MPI_UNDEFINED */ __pyx_v_count = 0; /* "mpi4py/MPI/Request.pyx":80 * """ * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef int index = MPI_UNDEFINED * cdef MPI_Status *statusp = arg_Status(status) */ __pyx_v_irequests = NULL; /* "mpi4py/MPI/Request.pyx":81 * cdef int count = 0 * cdef MPI_Request *irequests = NULL * cdef int index = MPI_UNDEFINED # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * # */ __pyx_v_index = MPI_UNDEFINED; /* "mpi4py/MPI/Request.pyx":82 * cdef MPI_Request *irequests = NULL * cdef int index = MPI_UNDEFINED * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * # * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Request.pyx":84 * cdef MPI_Status *statusp = arg_Status(status) * # * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) # <<<<<<<<<<<<<< * try: * with nogil: CHKERR( MPI_Waitany( */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_acquire_rs(__pyx_v_requests, Py_None, (&__pyx_v_count), (&__pyx_v_irequests), NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":85 * # * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Waitany( * count, irequests, &index, statusp) ) */ /*try:*/ { /* "mpi4py/MPI/Request.pyx":86 * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * try: * with nogil: CHKERR( MPI_Waitany( # <<<<<<<<<<<<<< * count, irequests, &index, statusp) ) * finally: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Request.pyx":87 * try: * with nogil: CHKERR( MPI_Waitany( * count, irequests, &index, statusp) ) # <<<<<<<<<<<<<< * finally: * release_rs(requests, None, count, irequests, NULL) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Waitany(__pyx_v_count, __pyx_v_irequests, (&__pyx_v_index), __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 86, __pyx_L7_error) } /* "mpi4py/MPI/Request.pyx":86 * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * try: * with nogil: CHKERR( MPI_Waitany( # <<<<<<<<<<<<<< * count, irequests, &index, statusp) ) * finally: */ /*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_L4_error; } __pyx_L8:; } } } /* "mpi4py/MPI/Request.pyx":89 * count, irequests, &index, statusp) ) * finally: * release_rs(requests, None, count, irequests, NULL) # <<<<<<<<<<<<<< * return index * */ /*finally:*/ { /*normal exit:*/{ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, Py_None, __pyx_v_count, __pyx_v_irequests, NULL); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 89, __pyx_L1_error) goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0)) __Pyx_ErrFetch(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); __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_XGOTREF(__pyx_t_10); __pyx_t_2 = __pyx_lineno; __pyx_t_3 = __pyx_clineno; __pyx_t_4 = __pyx_filename; { __pyx_t_11 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, Py_None, __pyx_v_count, __pyx_v_irequests, NULL); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(25, 89, __pyx_L10_error) } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ErrRestore(__pyx_t_5, __pyx_t_6, __pyx_t_7); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_lineno = __pyx_t_2; __pyx_clineno = __pyx_t_3; __pyx_filename = __pyx_t_4; goto __pyx_L1_error; __pyx_L10_error:; if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_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_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/Request.pyx":90 * finally: * release_rs(requests, None, count, irequests, NULL) * return index # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":75 * * @classmethod * def Waitany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for any previously initiated request to complete */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Request.Waitany", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":93 * * @classmethod * def Testany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Test for completion of any previously initiated request */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_19Testany(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_18Testany[] = "Request.Testany(type cls, requests, Status status=None)\n\n Test for completion of any previously initiated request\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_19Testany(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_requests = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Testany (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_requests,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_requests)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Testany") < 0)) __PYX_ERR(25, 93, __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_requests = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Testany", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 93, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.Testany", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 93, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_18Testany(((PyTypeObject*)__pyx_v_cls), __pyx_v_requests, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_18Testany(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_count; MPI_Request *__pyx_v_irequests; int __pyx_v_index; int __pyx_v_flag; MPI_Status *__pyx_v_statusp; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; char const *__pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Testany", 0); /* "mpi4py/MPI/Request.pyx":97 * Test for completion of any previously initiated request * """ * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef int index = MPI_UNDEFINED */ __pyx_v_count = 0; /* "mpi4py/MPI/Request.pyx":98 * """ * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef int index = MPI_UNDEFINED * cdef int flag = 0 */ __pyx_v_irequests = NULL; /* "mpi4py/MPI/Request.pyx":99 * cdef int count = 0 * cdef MPI_Request *irequests = NULL * cdef int index = MPI_UNDEFINED # <<<<<<<<<<<<<< * cdef int flag = 0 * cdef MPI_Status *statusp = arg_Status(status) */ __pyx_v_index = MPI_UNDEFINED; /* "mpi4py/MPI/Request.pyx":100 * cdef MPI_Request *irequests = NULL * cdef int index = MPI_UNDEFINED * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * # */ __pyx_v_flag = 0; /* "mpi4py/MPI/Request.pyx":101 * cdef int index = MPI_UNDEFINED * cdef int flag = 0 * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * # * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Request.pyx":103 * cdef MPI_Status *statusp = arg_Status(status) * # * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) # <<<<<<<<<<<<<< * try: * with nogil: CHKERR( MPI_Testany( */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_acquire_rs(__pyx_v_requests, Py_None, (&__pyx_v_count), (&__pyx_v_irequests), NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":104 * # * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Testany( * count, irequests, &index, &flag, statusp) ) */ /*try:*/ { /* "mpi4py/MPI/Request.pyx":105 * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * try: * with nogil: CHKERR( MPI_Testany( # <<<<<<<<<<<<<< * count, irequests, &index, &flag, statusp) ) * finally: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Request.pyx":106 * try: * with nogil: CHKERR( MPI_Testany( * count, irequests, &index, &flag, statusp) ) # <<<<<<<<<<<<<< * finally: * release_rs(requests, None, count, irequests, NULL) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Testany(__pyx_v_count, __pyx_v_irequests, (&__pyx_v_index), (&__pyx_v_flag), __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 105, __pyx_L7_error) } /* "mpi4py/MPI/Request.pyx":105 * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * try: * with nogil: CHKERR( MPI_Testany( # <<<<<<<<<<<<<< * count, irequests, &index, &flag, statusp) ) * finally: */ /*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_L4_error; } __pyx_L8:; } } } /* "mpi4py/MPI/Request.pyx":108 * count, irequests, &index, &flag, statusp) ) * finally: * release_rs(requests, None, count, irequests, NULL) # <<<<<<<<<<<<<< * # * return (index, flag) */ /*finally:*/ { /*normal exit:*/{ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, Py_None, __pyx_v_count, __pyx_v_irequests, NULL); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 108, __pyx_L1_error) goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0)) __Pyx_ErrFetch(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); __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_XGOTREF(__pyx_t_10); __pyx_t_2 = __pyx_lineno; __pyx_t_3 = __pyx_clineno; __pyx_t_4 = __pyx_filename; { __pyx_t_11 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, Py_None, __pyx_v_count, __pyx_v_irequests, NULL); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(25, 108, __pyx_L10_error) } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ErrRestore(__pyx_t_5, __pyx_t_6, __pyx_t_7); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_lineno = __pyx_t_2; __pyx_clineno = __pyx_t_3; __pyx_filename = __pyx_t_4; goto __pyx_L1_error; __pyx_L10_error:; if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_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_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/Request.pyx":110 * release_rs(requests, None, count, irequests, NULL) * # * return (index, flag) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_12)) __PYX_ERR(25, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(25, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_12); __pyx_t_1 = 0; __pyx_t_12 = 0; __pyx_r = __pyx_t_13; __pyx_t_13 = 0; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":93 * * @classmethod * def Testany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Test for completion of any previously initiated request */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_AddTraceback("mpi4py.MPI.Request.Testany", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":113 * * @classmethod * def Waitall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Wait for all previously initiated requests to complete */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_21Waitall(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_20Waitall[] = "Request.Waitall(type cls, requests, statuses=None)\n\n Wait for all previously initiated requests to complete\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_21Waitall(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_requests = 0; PyObject *__pyx_v_statuses = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Waitall (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_requests,&__pyx_n_s_statuses,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_requests)) != 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_statuses); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Waitall") < 0)) __PYX_ERR(25, 113, __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_requests = values[0]; __pyx_v_statuses = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Waitall", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 113, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.Waitall", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_20Waitall(((PyTypeObject*)__pyx_v_cls), __pyx_v_requests, __pyx_v_statuses); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_20Waitall(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses) { int __pyx_v_count; MPI_Request *__pyx_v_irequests; MPI_Status *__pyx_v_istatuses; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; char const *__pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Waitall", 0); /* "mpi4py/MPI/Request.pyx":117 * Wait for all previously initiated requests to complete * """ * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE */ __pyx_v_count = 0; /* "mpi4py/MPI/Request.pyx":118 * """ * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # */ __pyx_v_irequests = NULL; /* "mpi4py/MPI/Request.pyx":119 * cdef int count = 0 * cdef MPI_Request *irequests = NULL * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE # <<<<<<<<<<<<<< * # * cdef tmp = acquire_rs(requests, statuses, */ __pyx_v_istatuses = MPI_STATUSES_IGNORE; /* "mpi4py/MPI/Request.pyx":121 * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # * cdef tmp = acquire_rs(requests, statuses, # <<<<<<<<<<<<<< * &count, &irequests, &istatuses) * try: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_acquire_rs(__pyx_v_requests, __pyx_v_statuses, (&__pyx_v_count), (&__pyx_v_irequests), (&__pyx_v_istatuses)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":123 * cdef tmp = acquire_rs(requests, statuses, * &count, &irequests, &istatuses) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Waitall( * count, irequests, istatuses) ) */ /*try:*/ { /* "mpi4py/MPI/Request.pyx":124 * &count, &irequests, &istatuses) * try: * with nogil: CHKERR( MPI_Waitall( # <<<<<<<<<<<<<< * count, irequests, istatuses) ) * finally: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Request.pyx":125 * try: * with nogil: CHKERR( MPI_Waitall( * count, irequests, istatuses) ) # <<<<<<<<<<<<<< * finally: * release_rs(requests, statuses, count, irequests, istatuses) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Waitall(__pyx_v_count, __pyx_v_irequests, __pyx_v_istatuses)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 124, __pyx_L7_error) } /* "mpi4py/MPI/Request.pyx":124 * &count, &irequests, &istatuses) * try: * with nogil: CHKERR( MPI_Waitall( # <<<<<<<<<<<<<< * count, irequests, istatuses) ) * finally: */ /*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_L4_error; } __pyx_L8:; } } } /* "mpi4py/MPI/Request.pyx":127 * count, irequests, istatuses) ) * finally: * release_rs(requests, statuses, count, irequests, istatuses) # <<<<<<<<<<<<<< * return True * */ /*finally:*/ { /*normal exit:*/{ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, __pyx_v_statuses, __pyx_v_count, __pyx_v_irequests, __pyx_v_istatuses); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 127, __pyx_L1_error) goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0)) __Pyx_ErrFetch(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); __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_XGOTREF(__pyx_t_10); __pyx_t_2 = __pyx_lineno; __pyx_t_3 = __pyx_clineno; __pyx_t_4 = __pyx_filename; { __pyx_t_11 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, __pyx_v_statuses, __pyx_v_count, __pyx_v_irequests, __pyx_v_istatuses); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(25, 127, __pyx_L10_error) } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ErrRestore(__pyx_t_5, __pyx_t_6, __pyx_t_7); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_lineno = __pyx_t_2; __pyx_clineno = __pyx_t_3; __pyx_filename = __pyx_t_4; goto __pyx_L1_error; __pyx_L10_error:; if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_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_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/Request.pyx":128 * finally: * release_rs(requests, statuses, count, irequests, istatuses) * return True # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_True); __pyx_r = Py_True; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":113 * * @classmethod * def Waitall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Wait for all previously initiated requests to complete */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Request.Waitall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":131 * * @classmethod * def Testall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Test for completion of all previously initiated requests */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_23Testall(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_22Testall[] = "Request.Testall(type cls, requests, statuses=None)\n\n Test for completion of all previously initiated requests\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_23Testall(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_requests = 0; PyObject *__pyx_v_statuses = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Testall (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_requests,&__pyx_n_s_statuses,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_requests)) != 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_statuses); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Testall") < 0)) __PYX_ERR(25, 131, __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_requests = values[0]; __pyx_v_statuses = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Testall", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 131, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.Testall", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_22Testall(((PyTypeObject*)__pyx_v_cls), __pyx_v_requests, __pyx_v_statuses); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_22Testall(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses) { int __pyx_v_count; MPI_Request *__pyx_v_irequests; int __pyx_v_flag; MPI_Status *__pyx_v_istatuses; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; char const *__pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Testall", 0); /* "mpi4py/MPI/Request.pyx":135 * Test for completion of all previously initiated requests * """ * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef int flag = 0 */ __pyx_v_count = 0; /* "mpi4py/MPI/Request.pyx":136 * """ * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef int flag = 0 * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE */ __pyx_v_irequests = NULL; /* "mpi4py/MPI/Request.pyx":137 * cdef int count = 0 * cdef MPI_Request *irequests = NULL * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # */ __pyx_v_flag = 0; /* "mpi4py/MPI/Request.pyx":138 * cdef MPI_Request *irequests = NULL * cdef int flag = 0 * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE # <<<<<<<<<<<<<< * # * cdef tmp = acquire_rs(requests, statuses, */ __pyx_v_istatuses = MPI_STATUSES_IGNORE; /* "mpi4py/MPI/Request.pyx":140 * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # * cdef tmp = acquire_rs(requests, statuses, # <<<<<<<<<<<<<< * &count, &irequests, &istatuses) * try: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_acquire_rs(__pyx_v_requests, __pyx_v_statuses, (&__pyx_v_count), (&__pyx_v_irequests), (&__pyx_v_istatuses)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":142 * cdef tmp = acquire_rs(requests, statuses, * &count, &irequests, &istatuses) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Testall( * count, irequests, &flag, istatuses) ) */ /*try:*/ { /* "mpi4py/MPI/Request.pyx":143 * &count, &irequests, &istatuses) * try: * with nogil: CHKERR( MPI_Testall( # <<<<<<<<<<<<<< * count, irequests, &flag, istatuses) ) * finally: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Request.pyx":144 * try: * with nogil: CHKERR( MPI_Testall( * count, irequests, &flag, istatuses) ) # <<<<<<<<<<<<<< * finally: * release_rs(requests, statuses, count, irequests, istatuses) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Testall(__pyx_v_count, __pyx_v_irequests, (&__pyx_v_flag), __pyx_v_istatuses)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 143, __pyx_L7_error) } /* "mpi4py/MPI/Request.pyx":143 * &count, &irequests, &istatuses) * try: * with nogil: CHKERR( MPI_Testall( # <<<<<<<<<<<<<< * count, irequests, &flag, istatuses) ) * finally: */ /*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_L4_error; } __pyx_L8:; } } } /* "mpi4py/MPI/Request.pyx":146 * count, irequests, &flag, istatuses) ) * finally: * release_rs(requests, statuses, count, irequests, istatuses) # <<<<<<<<<<<<<< * return flag * */ /*finally:*/ { /*normal exit:*/{ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, __pyx_v_statuses, __pyx_v_count, __pyx_v_irequests, __pyx_v_istatuses); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 146, __pyx_L1_error) goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0)) __Pyx_ErrFetch(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); __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_XGOTREF(__pyx_t_10); __pyx_t_2 = __pyx_lineno; __pyx_t_3 = __pyx_clineno; __pyx_t_4 = __pyx_filename; { __pyx_t_11 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, __pyx_v_statuses, __pyx_v_count, __pyx_v_irequests, __pyx_v_istatuses); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(25, 146, __pyx_L10_error) } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ErrRestore(__pyx_t_5, __pyx_t_6, __pyx_t_7); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_lineno = __pyx_t_2; __pyx_clineno = __pyx_t_3; __pyx_filename = __pyx_t_4; goto __pyx_L1_error; __pyx_L10_error:; if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_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_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/Request.pyx":147 * finally: * release_rs(requests, statuses, count, irequests, istatuses) * return flag # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":131 * * @classmethod * def Testall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Test for completion of all previously initiated requests */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Request.Testall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":150 * * @classmethod * def Waitsome(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Wait for some previously initiated requests to complete */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_25Waitsome(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_24Waitsome[] = "Request.Waitsome(type cls, requests, statuses=None)\n\n Wait for some previously initiated requests to complete\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_25Waitsome(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_requests = 0; PyObject *__pyx_v_statuses = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Waitsome (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_requests,&__pyx_n_s_statuses,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_requests)) != 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_statuses); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Waitsome") < 0)) __PYX_ERR(25, 150, __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_requests = values[0]; __pyx_v_statuses = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Waitsome", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 150, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.Waitsome", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_24Waitsome(((PyTypeObject*)__pyx_v_cls), __pyx_v_requests, __pyx_v_statuses); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_24Waitsome(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses) { int __pyx_v_incount; MPI_Request *__pyx_v_irequests; int __pyx_v_outcount; int *__pyx_v_iindices; MPI_Status *__pyx_v_istatuses; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; int __pyx_v_i; PyObject *__pyx_v_indices = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; char const *__pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; int __pyx_t_12; PyObject *__pyx_t_13 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Waitsome", 0); /* "mpi4py/MPI/Request.pyx":154 * Wait for some previously initiated requests to complete * """ * cdef int incount = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef int outcount = MPI_UNDEFINED, *iindices = NULL */ __pyx_v_incount = 0; /* "mpi4py/MPI/Request.pyx":155 * """ * cdef int incount = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef int outcount = MPI_UNDEFINED, *iindices = NULL * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE */ __pyx_v_irequests = NULL; /* "mpi4py/MPI/Request.pyx":156 * cdef int incount = 0 * cdef MPI_Request *irequests = NULL * cdef int outcount = MPI_UNDEFINED, *iindices = NULL # <<<<<<<<<<<<<< * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # */ __pyx_v_outcount = MPI_UNDEFINED; __pyx_v_iindices = NULL; /* "mpi4py/MPI/Request.pyx":157 * cdef MPI_Request *irequests = NULL * cdef int outcount = MPI_UNDEFINED, *iindices = NULL * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE # <<<<<<<<<<<<<< * # * cdef tmp1 = acquire_rs(requests, statuses, */ __pyx_v_istatuses = MPI_STATUSES_IGNORE; /* "mpi4py/MPI/Request.pyx":159 * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # * cdef tmp1 = acquire_rs(requests, statuses, # <<<<<<<<<<<<<< * &incount, &irequests, &istatuses) * cdef tmp2 = newarray(incount, &iindices) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_acquire_rs(__pyx_v_requests, __pyx_v_statuses, (&__pyx_v_incount), (&__pyx_v_irequests), (&__pyx_v_istatuses)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp1 = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":161 * cdef tmp1 = acquire_rs(requests, statuses, * &incount, &irequests, &istatuses) * cdef tmp2 = newarray(incount, &iindices) # <<<<<<<<<<<<<< * try: * with nogil: CHKERR( MPI_Waitsome( */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_incount, (&__pyx_v_iindices)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp2 = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":162 * &incount, &irequests, &istatuses) * cdef tmp2 = newarray(incount, &iindices) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Waitsome( * incount, irequests, &outcount, iindices, istatuses) ) */ /*try:*/ { /* "mpi4py/MPI/Request.pyx":163 * cdef tmp2 = newarray(incount, &iindices) * try: * with nogil: CHKERR( MPI_Waitsome( # <<<<<<<<<<<<<< * incount, irequests, &outcount, iindices, istatuses) ) * finally: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Request.pyx":164 * try: * with nogil: CHKERR( MPI_Waitsome( * incount, irequests, &outcount, iindices, istatuses) ) # <<<<<<<<<<<<<< * finally: * release_rs(requests, statuses, incount, irequests, istatuses) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Waitsome(__pyx_v_incount, __pyx_v_irequests, (&__pyx_v_outcount), __pyx_v_iindices, __pyx_v_istatuses)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 163, __pyx_L7_error) } /* "mpi4py/MPI/Request.pyx":163 * cdef tmp2 = newarray(incount, &iindices) * try: * with nogil: CHKERR( MPI_Waitsome( # <<<<<<<<<<<<<< * incount, irequests, &outcount, iindices, istatuses) ) * finally: */ /*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_L4_error; } __pyx_L8:; } } } /* "mpi4py/MPI/Request.pyx":166 * incount, irequests, &outcount, iindices, istatuses) ) * finally: * release_rs(requests, statuses, incount, irequests, istatuses) # <<<<<<<<<<<<<< * # * cdef int i = 0 */ /*finally:*/ { /*normal exit:*/{ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, __pyx_v_statuses, __pyx_v_incount, __pyx_v_irequests, __pyx_v_istatuses); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 166, __pyx_L1_error) goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0)) __Pyx_ErrFetch(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); __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_XGOTREF(__pyx_t_10); __pyx_t_2 = __pyx_lineno; __pyx_t_3 = __pyx_clineno; __pyx_t_4 = __pyx_filename; { __pyx_t_11 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, __pyx_v_statuses, __pyx_v_incount, __pyx_v_irequests, __pyx_v_istatuses); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(25, 166, __pyx_L10_error) } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ErrRestore(__pyx_t_5, __pyx_t_6, __pyx_t_7); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_lineno = __pyx_t_2; __pyx_clineno = __pyx_t_3; __pyx_filename = __pyx_t_4; goto __pyx_L1_error; __pyx_L10_error:; if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_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_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/Request.pyx":168 * release_rs(requests, statuses, incount, irequests, istatuses) * # * cdef int i = 0 # <<<<<<<<<<<<<< * cdef object indices = None * if outcount != MPI_UNDEFINED: */ __pyx_v_i = 0; /* "mpi4py/MPI/Request.pyx":169 * # * cdef int i = 0 * cdef object indices = None # <<<<<<<<<<<<<< * if outcount != MPI_UNDEFINED: * indices = [iindices[i] for i from 0 <= i < outcount] */ __Pyx_INCREF(Py_None); __pyx_v_indices = Py_None; /* "mpi4py/MPI/Request.pyx":170 * cdef int i = 0 * cdef object indices = None * if outcount != MPI_UNDEFINED: # <<<<<<<<<<<<<< * indices = [iindices[i] for i from 0 <= i < outcount] * return indices */ __pyx_t_12 = ((__pyx_v_outcount != MPI_UNDEFINED) != 0); if (__pyx_t_12) { /* "mpi4py/MPI/Request.pyx":171 * cdef object indices = None * if outcount != MPI_UNDEFINED: * indices = [iindices[i] for i from 0 <= i < outcount] # <<<<<<<<<<<<<< * return indices * */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_v_outcount; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { __pyx_t_13 = __Pyx_PyInt_From_int((__pyx_v_iindices[__pyx_v_i])); if (unlikely(!__pyx_t_13)) __PYX_ERR(25, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_13))) __PYX_ERR(25, 171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF_SET(__pyx_v_indices, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":170 * cdef int i = 0 * cdef object indices = None * if outcount != MPI_UNDEFINED: # <<<<<<<<<<<<<< * indices = [iindices[i] for i from 0 <= i < outcount] * return indices */ } /* "mpi4py/MPI/Request.pyx":172 * if outcount != MPI_UNDEFINED: * indices = [iindices[i] for i from 0 <= i < outcount] * return indices # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_indices); __pyx_r = __pyx_v_indices; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":150 * * @classmethod * def Waitsome(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Wait for some previously initiated requests to complete */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_13); __Pyx_AddTraceback("mpi4py.MPI.Request.Waitsome", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_indices); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":175 * * @classmethod * def Testsome(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Test for completion of some previously initiated requests */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_27Testsome(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_26Testsome[] = "Request.Testsome(type cls, requests, statuses=None)\n\n Test for completion of some previously initiated requests\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_27Testsome(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_requests = 0; PyObject *__pyx_v_statuses = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Testsome (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_requests,&__pyx_n_s_statuses,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_requests)) != 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_statuses); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Testsome") < 0)) __PYX_ERR(25, 175, __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_requests = values[0]; __pyx_v_statuses = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Testsome", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 175, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.Testsome", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_26Testsome(((PyTypeObject*)__pyx_v_cls), __pyx_v_requests, __pyx_v_statuses); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_26Testsome(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses) { int __pyx_v_incount; MPI_Request *__pyx_v_irequests; int __pyx_v_outcount; int *__pyx_v_iindices; MPI_Status *__pyx_v_istatuses; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; int __pyx_v_i; PyObject *__pyx_v_indices = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; char const *__pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; int __pyx_t_12; PyObject *__pyx_t_13 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Testsome", 0); /* "mpi4py/MPI/Request.pyx":179 * Test for completion of some previously initiated requests * """ * cdef int incount = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef int outcount = MPI_UNDEFINED, *iindices = NULL */ __pyx_v_incount = 0; /* "mpi4py/MPI/Request.pyx":180 * """ * cdef int incount = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef int outcount = MPI_UNDEFINED, *iindices = NULL * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE */ __pyx_v_irequests = NULL; /* "mpi4py/MPI/Request.pyx":181 * cdef int incount = 0 * cdef MPI_Request *irequests = NULL * cdef int outcount = MPI_UNDEFINED, *iindices = NULL # <<<<<<<<<<<<<< * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # */ __pyx_v_outcount = MPI_UNDEFINED; __pyx_v_iindices = NULL; /* "mpi4py/MPI/Request.pyx":182 * cdef MPI_Request *irequests = NULL * cdef int outcount = MPI_UNDEFINED, *iindices = NULL * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE # <<<<<<<<<<<<<< * # * cdef tmp1 = acquire_rs(requests, statuses, */ __pyx_v_istatuses = MPI_STATUSES_IGNORE; /* "mpi4py/MPI/Request.pyx":184 * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # * cdef tmp1 = acquire_rs(requests, statuses, # <<<<<<<<<<<<<< * &incount, &irequests, &istatuses) * cdef tmp2 = newarray(incount, &iindices) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_acquire_rs(__pyx_v_requests, __pyx_v_statuses, (&__pyx_v_incount), (&__pyx_v_irequests), (&__pyx_v_istatuses)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp1 = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":186 * cdef tmp1 = acquire_rs(requests, statuses, * &incount, &irequests, &istatuses) * cdef tmp2 = newarray(incount, &iindices) # <<<<<<<<<<<<<< * try: * with nogil: CHKERR( MPI_Testsome( */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_incount, (&__pyx_v_iindices)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp2 = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":187 * &incount, &irequests, &istatuses) * cdef tmp2 = newarray(incount, &iindices) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Testsome( * incount, irequests, &outcount, iindices, istatuses) ) */ /*try:*/ { /* "mpi4py/MPI/Request.pyx":188 * cdef tmp2 = newarray(incount, &iindices) * try: * with nogil: CHKERR( MPI_Testsome( # <<<<<<<<<<<<<< * incount, irequests, &outcount, iindices, istatuses) ) * finally: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Request.pyx":189 * try: * with nogil: CHKERR( MPI_Testsome( * incount, irequests, &outcount, iindices, istatuses) ) # <<<<<<<<<<<<<< * finally: * release_rs(requests, statuses, incount, irequests, istatuses) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Testsome(__pyx_v_incount, __pyx_v_irequests, (&__pyx_v_outcount), __pyx_v_iindices, __pyx_v_istatuses)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 188, __pyx_L7_error) } /* "mpi4py/MPI/Request.pyx":188 * cdef tmp2 = newarray(incount, &iindices) * try: * with nogil: CHKERR( MPI_Testsome( # <<<<<<<<<<<<<< * incount, irequests, &outcount, iindices, istatuses) ) * finally: */ /*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_L4_error; } __pyx_L8:; } } } /* "mpi4py/MPI/Request.pyx":191 * incount, irequests, &outcount, iindices, istatuses) ) * finally: * release_rs(requests, statuses, incount, irequests, istatuses) # <<<<<<<<<<<<<< * # * cdef int i = 0 */ /*finally:*/ { /*normal exit:*/{ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, __pyx_v_statuses, __pyx_v_incount, __pyx_v_irequests, __pyx_v_istatuses); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 191, __pyx_L1_error) goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0)) __Pyx_ErrFetch(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); __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_XGOTREF(__pyx_t_10); __pyx_t_2 = __pyx_lineno; __pyx_t_3 = __pyx_clineno; __pyx_t_4 = __pyx_filename; { __pyx_t_11 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, __pyx_v_statuses, __pyx_v_incount, __pyx_v_irequests, __pyx_v_istatuses); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(25, 191, __pyx_L10_error) } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ErrRestore(__pyx_t_5, __pyx_t_6, __pyx_t_7); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_lineno = __pyx_t_2; __pyx_clineno = __pyx_t_3; __pyx_filename = __pyx_t_4; goto __pyx_L1_error; __pyx_L10_error:; if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_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_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/Request.pyx":193 * release_rs(requests, statuses, incount, irequests, istatuses) * # * cdef int i = 0 # <<<<<<<<<<<<<< * cdef object indices = None * if outcount != MPI_UNDEFINED: */ __pyx_v_i = 0; /* "mpi4py/MPI/Request.pyx":194 * # * cdef int i = 0 * cdef object indices = None # <<<<<<<<<<<<<< * if outcount != MPI_UNDEFINED: * indices = [iindices[i] for i from 0 <= i < outcount] */ __Pyx_INCREF(Py_None); __pyx_v_indices = Py_None; /* "mpi4py/MPI/Request.pyx":195 * cdef int i = 0 * cdef object indices = None * if outcount != MPI_UNDEFINED: # <<<<<<<<<<<<<< * indices = [iindices[i] for i from 0 <= i < outcount] * return indices */ __pyx_t_12 = ((__pyx_v_outcount != MPI_UNDEFINED) != 0); if (__pyx_t_12) { /* "mpi4py/MPI/Request.pyx":196 * cdef object indices = None * if outcount != MPI_UNDEFINED: * indices = [iindices[i] for i from 0 <= i < outcount] # <<<<<<<<<<<<<< * return indices * */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_v_outcount; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { __pyx_t_13 = __Pyx_PyInt_From_int((__pyx_v_iindices[__pyx_v_i])); if (unlikely(!__pyx_t_13)) __PYX_ERR(25, 196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_13))) __PYX_ERR(25, 196, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF_SET(__pyx_v_indices, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":195 * cdef int i = 0 * cdef object indices = None * if outcount != MPI_UNDEFINED: # <<<<<<<<<<<<<< * indices = [iindices[i] for i from 0 <= i < outcount] * return indices */ } /* "mpi4py/MPI/Request.pyx":197 * if outcount != MPI_UNDEFINED: * indices = [iindices[i] for i from 0 <= i < outcount] * return indices # <<<<<<<<<<<<<< * * # Cancel */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_indices); __pyx_r = __pyx_v_indices; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":175 * * @classmethod * def Testsome(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Test for completion of some previously initiated requests */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_13); __Pyx_AddTraceback("mpi4py.MPI.Request.Testsome", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_indices); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":202 * # ------ * * def Cancel(self): # <<<<<<<<<<<<<< * """ * Cancel a communication request */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_29Cancel(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_28Cancel[] = "Request.Cancel(self)\n\n Cancel a communication request\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_29Cancel(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Cancel (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Cancel", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Cancel", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_28Cancel(((struct PyMPIRequestObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_28Cancel(struct PyMPIRequestObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Cancel", 0); /* "mpi4py/MPI/Request.pyx":206 * Cancel a communication request * """ * with nogil: CHKERR( MPI_Cancel(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Fortran Handle */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cancel((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(25, 206, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Request.pyx":202 * # ------ * * def Cancel(self): # <<<<<<<<<<<<<< * """ * Cancel a communication request */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.Cancel", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":211 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_31py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_30py2f[] = "Request.py2f(self)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_31py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("py2f (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("py2f", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "py2f", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_30py2f(((struct PyMPIRequestObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_30py2f(struct PyMPIRequestObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("py2f", 0); /* "mpi4py/MPI/Request.pyx":214 * """ * """ * return MPI_Request_c2f(self.ob_mpi) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Fint(MPI_Request_c2f(__pyx_v_self->ob_mpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":211 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Request.py2f", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":217 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_33f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_32f2py[] = "Request.f2py(type cls, arg)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_33f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("f2py (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "f2py") < 0)) __PYX_ERR(25, 217, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("f2py", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 217, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_32f2py(((PyTypeObject*)__pyx_v_cls), __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_32f2py(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg) { struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; MPI_Fint __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("f2py", 0); /* "mpi4py/MPI/Request.pyx":220 * """ * """ * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * if issubclass(cls, Prequest): * request = Prequest.__new__(Prequest) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 220, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Request.pyx":221 * """ * cdef Request request = Request.__new__(Request) * if issubclass(cls, Prequest): # <<<<<<<<<<<<<< * request = Prequest.__new__(Prequest) * if issubclass(cls, Grequest): */ __pyx_t_3 = PyObject_IsSubclass(((PyObject *)__pyx_v_cls), ((PyObject *)__pyx_ptype_6mpi4py_3MPI_Prequest)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(25, 221, __pyx_L1_error) __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/Request.pyx":222 * cdef Request request = Request.__new__(Request) * if issubclass(cls, Prequest): * request = Prequest.__new__(Prequest) # <<<<<<<<<<<<<< * if issubclass(cls, Grequest): * request = Grequest.__new__(Grequest) */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Prequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Prequest), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 222, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_1 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_request, ((struct PyMPIRequestObject *)__pyx_t_1)); __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":221 * """ * cdef Request request = Request.__new__(Request) * if issubclass(cls, Prequest): # <<<<<<<<<<<<<< * request = Prequest.__new__(Prequest) * if issubclass(cls, Grequest): */ } /* "mpi4py/MPI/Request.pyx":223 * if issubclass(cls, Prequest): * request = Prequest.__new__(Prequest) * if issubclass(cls, Grequest): # <<<<<<<<<<<<<< * request = Grequest.__new__(Grequest) * request.ob_mpi = MPI_Request_f2c(arg) */ __pyx_t_4 = PyObject_IsSubclass(((PyObject *)__pyx_v_cls), ((PyObject *)__pyx_ptype_6mpi4py_3MPI_Grequest)); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(25, 223, __pyx_L1_error) __pyx_t_3 = (__pyx_t_4 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/Request.pyx":224 * request = Prequest.__new__(Prequest) * if issubclass(cls, Grequest): * request = Grequest.__new__(Grequest) # <<<<<<<<<<<<<< * request.ob_mpi = MPI_Request_f2c(arg) * return request */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Grequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Grequest), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 224, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_request, ((struct PyMPIRequestObject *)__pyx_t_2)); __pyx_t_2 = 0; /* "mpi4py/MPI/Request.pyx":223 * if issubclass(cls, Prequest): * request = Prequest.__new__(Prequest) * if issubclass(cls, Grequest): # <<<<<<<<<<<<<< * request = Grequest.__new__(Grequest) * request.ob_mpi = MPI_Request_f2c(arg) */ } /* "mpi4py/MPI/Request.pyx":225 * if issubclass(cls, Grequest): * request = Grequest.__new__(Grequest) * request.ob_mpi = MPI_Request_f2c(arg) # <<<<<<<<<<<<<< * return request * */ __pyx_t_5 = __Pyx_PyInt_As_MPI_Fint(__pyx_v_arg); if (unlikely((__pyx_t_5 == ((MPI_Fint)-1)) && PyErr_Occurred())) __PYX_ERR(25, 225, __pyx_L1_error) __pyx_v_request->ob_mpi = MPI_Request_f2c(__pyx_t_5); /* "mpi4py/MPI/Request.pyx":226 * request = Grequest.__new__(Grequest) * request.ob_mpi = MPI_Request_f2c(arg) * return request # <<<<<<<<<<<<<< * * # Python Communication */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":217 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Request.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":231 * # -------------------- * # * def wait(self, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for a send or receive to complete */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_35wait(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_34wait[] = "Request.wait(self, Status status=None)\n\n Wait for a send or receive to complete\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_35wait(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("wait (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_status,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIStatusObject *)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_status); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "wait") < 0)) __PYX_ERR(25, 231, __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_status = ((struct PyMPIStatusObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("wait", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 231, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.wait", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 231, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_34wait(((struct PyMPIRequestObject *)__pyx_v_self), __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_34wait(struct PyMPIRequestObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status) { PyObject *__pyx_v_msg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("wait", 0); /* "mpi4py/MPI/Request.pyx":235 * Wait for a send or receive to complete * """ * cdef msg = PyMPI_wait(self, status) # <<<<<<<<<<<<<< * return msg * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_wait(__pyx_v_self, __pyx_v_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":236 * """ * cdef msg = PyMPI_wait(self, status) * return msg # <<<<<<<<<<<<<< * # * def test(self, Status status=None): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_msg); __pyx_r = __pyx_v_msg; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":231 * # -------------------- * # * def wait(self, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for a send or receive to complete */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Request.wait", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":238 * return msg * # * def test(self, Status status=None): # <<<<<<<<<<<<<< * """ * Test for the completion of a send or receive */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_37test(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_36test[] = "Request.test(self, Status status=None)\n\n Test for the completion of a send or receive\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_37test(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("test (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_status,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIStatusObject *)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_status); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test") < 0)) __PYX_ERR(25, 238, __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_status = ((struct PyMPIStatusObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("test", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 238, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.test", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 238, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_36test(((struct PyMPIRequestObject *)__pyx_v_self), __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_36test(struct PyMPIRequestObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_flag; PyObject *__pyx_v_msg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("test", 0); /* "mpi4py/MPI/Request.pyx":242 * Test for the completion of a send or receive * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef msg = PyMPI_test(self, &flag, status) * return (flag, msg) */ __pyx_v_flag = 0; /* "mpi4py/MPI/Request.pyx":243 * """ * cdef int flag = 0 * cdef msg = PyMPI_test(self, &flag, status) # <<<<<<<<<<<<<< * return (flag, msg) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_test(__pyx_v_self, (&__pyx_v_flag), __pyx_v_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":244 * cdef int flag = 0 * cdef msg = PyMPI_test(self, &flag, status) * return (flag, msg) # <<<<<<<<<<<<<< * # * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_INCREF(__pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_msg); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":238 * return msg * # * def test(self, Status status=None): # <<<<<<<<<<<<<< * """ * Test for the completion of a send or receive */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Request.test", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":247 * # * @classmethod * def waitany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for any previously initiated request to complete */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_39waitany(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_38waitany[] = "Request.waitany(type cls, requests, Status status=None)\n\n Wait for any previously initiated request to complete\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_39waitany(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_requests = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("waitany (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_requests,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_requests)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "waitany") < 0)) __PYX_ERR(25, 247, __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_requests = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("waitany", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 247, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.waitany", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 247, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_38waitany(((PyTypeObject*)__pyx_v_cls), __pyx_v_requests, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_38waitany(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_index; PyObject *__pyx_v_msg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("waitany", 0); /* "mpi4py/MPI/Request.pyx":251 * Wait for any previously initiated request to complete * """ * cdef int index = MPI_UNDEFINED # <<<<<<<<<<<<<< * cdef msg = PyMPI_waitany(requests, &index, status) * return (index, msg) */ __pyx_v_index = MPI_UNDEFINED; /* "mpi4py/MPI/Request.pyx":252 * """ * cdef int index = MPI_UNDEFINED * cdef msg = PyMPI_waitany(requests, &index, status) # <<<<<<<<<<<<<< * return (index, msg) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_waitany(__pyx_v_requests, (&__pyx_v_index), __pyx_v_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":253 * cdef int index = MPI_UNDEFINED * cdef msg = PyMPI_waitany(requests, &index, status) * return (index, msg) # <<<<<<<<<<<<<< * # * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_INCREF(__pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_msg); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":247 * # * @classmethod * def waitany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for any previously initiated request to complete */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Request.waitany", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":256 * # * @classmethod * def testany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Test for completion of any previously initiated request */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_41testany(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_40testany[] = "Request.testany(type cls, requests, Status status=None)\n\n Test for completion of any previously initiated request\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_41testany(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_requests = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("testany (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_requests,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_requests)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "testany") < 0)) __PYX_ERR(25, 256, __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_requests = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("testany", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 256, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.testany", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 256, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_40testany(((PyTypeObject*)__pyx_v_cls), __pyx_v_requests, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_40testany(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_index; int __pyx_v_flag; PyObject *__pyx_v_msg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("testany", 0); /* "mpi4py/MPI/Request.pyx":260 * Test for completion of any previously initiated request * """ * cdef int index = MPI_UNDEFINED # <<<<<<<<<<<<<< * cdef int flag = 0 * cdef msg = PyMPI_testany(requests, &index, &flag, status) */ __pyx_v_index = MPI_UNDEFINED; /* "mpi4py/MPI/Request.pyx":261 * """ * cdef int index = MPI_UNDEFINED * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef msg = PyMPI_testany(requests, &index, &flag, status) * return (index, flag, msg) */ __pyx_v_flag = 0; /* "mpi4py/MPI/Request.pyx":262 * cdef int index = MPI_UNDEFINED * cdef int flag = 0 * cdef msg = PyMPI_testany(requests, &index, &flag, status) # <<<<<<<<<<<<<< * return (index, flag, msg) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_testany(__pyx_v_requests, (&__pyx_v_index), (&__pyx_v_flag), __pyx_v_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":263 * cdef int flag = 0 * cdef msg = PyMPI_testany(requests, &index, &flag, status) * return (index, flag, msg) # <<<<<<<<<<<<<< * # * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 263, __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_INCREF(__pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_msg); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":256 * # * @classmethod * def testany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Test for completion of any previously initiated request */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Request.testany", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":266 * # * @classmethod * def waitall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Wait for all previously initiated requests to complete */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_43waitall(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_42waitall[] = "Request.waitall(type cls, requests, statuses=None)\n\n Wait for all previously initiated requests to complete\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_43waitall(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_requests = 0; PyObject *__pyx_v_statuses = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("waitall (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_requests,&__pyx_n_s_statuses,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_requests)) != 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_statuses); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "waitall") < 0)) __PYX_ERR(25, 266, __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_requests = values[0]; __pyx_v_statuses = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("waitall", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 266, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.waitall", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_42waitall(((PyTypeObject*)__pyx_v_cls), __pyx_v_requests, __pyx_v_statuses); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_42waitall(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses) { PyObject *__pyx_v_msg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("waitall", 0); /* "mpi4py/MPI/Request.pyx":270 * Wait for all previously initiated requests to complete * """ * cdef msg = PyMPI_waitall(requests, statuses) # <<<<<<<<<<<<<< * return msg * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_waitall(__pyx_v_requests, __pyx_v_statuses); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":271 * """ * cdef msg = PyMPI_waitall(requests, statuses) * return msg # <<<<<<<<<<<<<< * # * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_msg); __pyx_r = __pyx_v_msg; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":266 * # * @classmethod * def waitall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Wait for all previously initiated requests to complete */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Request.waitall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":274 * # * @classmethod * def testall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Test for completion of all previously initiated requests */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_45testall(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Request_44testall[] = "Request.testall(type cls, requests, statuses=None)\n\n Test for completion of all previously initiated requests\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Request_45testall(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_requests = 0; PyObject *__pyx_v_statuses = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("testall (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_requests,&__pyx_n_s_statuses,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_requests)) != 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_statuses); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "testall") < 0)) __PYX_ERR(25, 274, __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_requests = values[0]; __pyx_v_statuses = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("testall", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 274, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Request.testall", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Request_44testall(((PyTypeObject*)__pyx_v_cls), __pyx_v_requests, __pyx_v_statuses); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Request_44testall(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests, PyObject *__pyx_v_statuses) { int __pyx_v_flag; PyObject *__pyx_v_msg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("testall", 0); /* "mpi4py/MPI/Request.pyx":278 * Test for completion of all previously initiated requests * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef msg = PyMPI_testall(requests, &flag, statuses) * return (flag, msg) */ __pyx_v_flag = 0; /* "mpi4py/MPI/Request.pyx":279 * """ * cdef int flag = 0 * cdef msg = PyMPI_testall(requests, &flag, statuses) # <<<<<<<<<<<<<< * return (flag, msg) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_testall(__pyx_v_requests, (&__pyx_v_flag), __pyx_v_statuses); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":280 * cdef int flag = 0 * cdef msg = PyMPI_testall(requests, &flag, statuses) * return (flag, msg) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_INCREF(__pyx_v_msg); __Pyx_GIVEREF(__pyx_v_msg); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_msg); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":274 * # * @classmethod * def testall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Test for completion of all previously initiated requests */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Request.testall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":289 * """ * * def __cinit__(self, Request request=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_REQUEST_NULL: return * (request) */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_8Prequest_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_8Prequest_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIRequestObject *__pyx_v_request = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_request,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIRequestObject *)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_request); 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(25, 289, __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_request = ((struct PyMPIRequestObject *)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(25, 289, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Prequest.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_request), __pyx_ptype_6mpi4py_3MPI_Request, 1, "request", 0))) __PYX_ERR(25, 289, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_8Prequest___cinit__(((struct PyMPIPrequestObject *)__pyx_v_self), __pyx_v_request); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_8Prequest___cinit__(struct PyMPIPrequestObject *__pyx_v_self, struct PyMPIRequestObject *__pyx_v_request) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Request.pyx":290 * * def __cinit__(self, Request request=None): * if self.ob_mpi == MPI_REQUEST_NULL: return # <<<<<<<<<<<<<< * (request) * */ __pyx_t_1 = ((__pyx_v_self->__pyx_base.ob_mpi == MPI_REQUEST_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Request.pyx":291 * def __cinit__(self, Request request=None): * if self.ob_mpi == MPI_REQUEST_NULL: return * (request) # <<<<<<<<<<<<<< * * def Start(self): */ if (!(likely(__Pyx_TypeTest(((PyObject *)__pyx_v_request), __pyx_ptype_6mpi4py_3MPI_Prequest)))) __PYX_ERR(25, 291, __pyx_L1_error) ((void)((struct PyMPIPrequestObject *)__pyx_v_request)); /* "mpi4py/MPI/Request.pyx":289 * """ * * def __cinit__(self, Request request=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_REQUEST_NULL: return * (request) */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Prequest.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":293 * (request) * * def Start(self): # <<<<<<<<<<<<<< * """ * Initiate a communication with a persistent request */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Prequest_3Start(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Prequest_2Start[] = "Prequest.Start(self)\n\n Initiate a communication with a persistent request\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Prequest_3Start(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Start (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Start", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Start", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Prequest_2Start(((struct PyMPIPrequestObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Prequest_2Start(struct PyMPIPrequestObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Start", 0); /* "mpi4py/MPI/Request.pyx":297 * Initiate a communication with a persistent request * """ * with nogil: CHKERR( MPI_Start(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * @classmethod */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Start((&__pyx_v_self->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(25, 297, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Request.pyx":293 * (request) * * def Start(self): # <<<<<<<<<<<<<< * """ * Initiate a communication with a persistent request */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Prequest.Start", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":300 * * @classmethod * def Startall(cls, requests): # <<<<<<<<<<<<<< * """ * Start a collection of persistent requests */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Prequest_5Startall(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Prequest_4Startall[] = "Prequest.Startall(type cls, requests)\n\n Start a collection of persistent requests\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Prequest_5Startall(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_requests = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Startall (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_requests,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_requests)) != 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, "Startall") < 0)) __PYX_ERR(25, 300, __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_requests = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Startall", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 300, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Prequest.Startall", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Prequest_4Startall(((PyTypeObject*)__pyx_v_cls), __pyx_v_requests); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Prequest_4Startall(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_requests) { int __pyx_v_count; MPI_Request *__pyx_v_irequests; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; char const *__pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Startall", 0); /* "mpi4py/MPI/Request.pyx":304 * Start a collection of persistent requests * """ * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) */ __pyx_v_count = 0; /* "mpi4py/MPI/Request.pyx":305 * """ * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * # */ __pyx_v_irequests = NULL; /* "mpi4py/MPI/Request.pyx":306 * cdef int count = 0 * cdef MPI_Request *irequests = NULL * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) # <<<<<<<<<<<<<< * # * try: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_acquire_rs(__pyx_v_requests, Py_None, (&__pyx_v_count), (&__pyx_v_irequests), NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":308 * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * # * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Startall(count, irequests) ) * finally: */ /*try:*/ { /* "mpi4py/MPI/Request.pyx":309 * # * try: * with nogil: CHKERR( MPI_Startall(count, irequests) ) # <<<<<<<<<<<<<< * finally: * release_rs(requests, None, count, irequests, NULL) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Startall(__pyx_v_count, __pyx_v_irequests)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 309, __pyx_L7_error) } /*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_L4_error; } __pyx_L8:; } } } /* "mpi4py/MPI/Request.pyx":311 * with nogil: CHKERR( MPI_Startall(count, irequests) ) * finally: * release_rs(requests, None, count, irequests, NULL) # <<<<<<<<<<<<<< * * */ /*finally:*/ { /*normal exit:*/{ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, Py_None, __pyx_v_count, __pyx_v_irequests, NULL); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(25, 311, __pyx_L1_error) goto __pyx_L5; } __pyx_L4_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0)) __Pyx_ErrFetch(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); __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_XGOTREF(__pyx_t_10); __pyx_t_2 = __pyx_lineno; __pyx_t_3 = __pyx_clineno; __pyx_t_4 = __pyx_filename; { __pyx_t_11 = __pyx_f_6mpi4py_3MPI_release_rs(__pyx_v_requests, Py_None, __pyx_v_count, __pyx_v_irequests, NULL); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(25, 311, __pyx_L10_error) } if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ErrRestore(__pyx_t_5, __pyx_t_6, __pyx_t_7); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_lineno = __pyx_t_2; __pyx_clineno = __pyx_t_3; __pyx_filename = __pyx_t_4; goto __pyx_L1_error; __pyx_L10_error:; if (PY_MAJOR_VERSION >= 3) { __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); } __Pyx_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_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; goto __pyx_L1_error; } __pyx_L5:; } /* "mpi4py/MPI/Request.pyx":300 * * @classmethod * def Startall(cls, requests): # <<<<<<<<<<<<<< * """ * Start a collection of persistent requests */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Prequest.Startall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":321 * """ * * def __cinit__(self, Request request=None): # <<<<<<<<<<<<<< * self.ob_grequest = self.ob_mpi * if self.ob_mpi == MPI_REQUEST_NULL: return */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_8Grequest_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_8Grequest_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIRequestObject *__pyx_v_request = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_request,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIRequestObject *)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_request); 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(25, 321, __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_request = ((struct PyMPIRequestObject *)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(25, 321, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Grequest.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_request), __pyx_ptype_6mpi4py_3MPI_Request, 1, "request", 0))) __PYX_ERR(25, 321, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_8Grequest___cinit__(((struct PyMPIGrequestObject *)__pyx_v_self), __pyx_v_request); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_8Grequest___cinit__(struct PyMPIGrequestObject *__pyx_v_self, struct PyMPIRequestObject *__pyx_v_request) { int __pyx_r; __Pyx_RefNannyDeclarations MPI_Request __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Request.pyx":322 * * def __cinit__(self, Request request=None): * self.ob_grequest = self.ob_mpi # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_REQUEST_NULL: return * (request) */ __pyx_t_1 = __pyx_v_self->__pyx_base.ob_mpi; __pyx_v_self->ob_grequest = __pyx_t_1; /* "mpi4py/MPI/Request.pyx":323 * def __cinit__(self, Request request=None): * self.ob_grequest = self.ob_mpi * if self.ob_mpi == MPI_REQUEST_NULL: return # <<<<<<<<<<<<<< * (request) * */ __pyx_t_2 = ((__pyx_v_self->__pyx_base.ob_mpi == MPI_REQUEST_NULL) != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Request.pyx":324 * self.ob_grequest = self.ob_mpi * if self.ob_mpi == MPI_REQUEST_NULL: return * (request) # <<<<<<<<<<<<<< * * @classmethod */ if (!(likely(__Pyx_TypeTest(((PyObject *)__pyx_v_request), __pyx_ptype_6mpi4py_3MPI_Grequest)))) __PYX_ERR(25, 324, __pyx_L1_error) ((void)((struct PyMPIGrequestObject *)__pyx_v_request)); /* "mpi4py/MPI/Request.pyx":321 * """ * * def __cinit__(self, Request request=None): # <<<<<<<<<<<<<< * self.ob_grequest = self.ob_mpi * if self.ob_mpi == MPI_REQUEST_NULL: return */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Grequest.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":327 * * @classmethod * def Start(cls, query_fn, free_fn, cancel_fn, # <<<<<<<<<<<<<< * args=None, kargs=None): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Grequest_3Start(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Grequest_2Start[] = "Grequest.Start(type cls, query_fn, free_fn, cancel_fn, args=None, kargs=None)\n\n Create and return a user-defined request\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Grequest_3Start(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_query_fn = 0; PyObject *__pyx_v_free_fn = 0; PyObject *__pyx_v_cancel_fn = 0; PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kargs = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Start (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_query_fn,&__pyx_n_s_free_fn,&__pyx_n_s_cancel_fn,&__pyx_n_s_args,&__pyx_n_s_kargs,0}; PyObject* values[5] = {0,0,0,0,0}; /* "mpi4py/MPI/Request.pyx":328 * @classmethod * def Start(cls, query_fn, free_fn, cancel_fn, * args=None, kargs=None): # <<<<<<<<<<<<<< * """ * Create and return a user-defined request */ values[3] = ((PyObject *)Py_None); values[4] = ((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 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_query_fn)) != 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_free_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Start", 0, 3, 5, 1); __PYX_ERR(25, 327, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cancel_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Start", 0, 3, 5, 2); __PYX_ERR(25, 327, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_args); 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_kargs); if (value) { values[4] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Start") < 0)) __PYX_ERR(25, 327, __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_query_fn = values[0]; __pyx_v_free_fn = values[1]; __pyx_v_cancel_fn = values[2]; __pyx_v_args = values[3]; __pyx_v_kargs = values[4]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Start", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(25, 327, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Grequest.Start", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Grequest_2Start(((PyTypeObject*)__pyx_v_cls), __pyx_v_query_fn, __pyx_v_free_fn, __pyx_v_cancel_fn, __pyx_v_args, __pyx_v_kargs); /* "mpi4py/MPI/Request.pyx":327 * * @classmethod * def Start(cls, query_fn, free_fn, cancel_fn, # <<<<<<<<<<<<<< * args=None, kargs=None): * """ */ /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Grequest_2Start(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_query_fn, PyObject *__pyx_v_free_fn, PyObject *__pyx_v_cancel_fn, PyObject *__pyx_v_args, PyObject *__pyx_v_kargs) { struct PyMPIGrequestObject *__pyx_v_request = 0; struct __pyx_obj_6mpi4py_3MPI__p_greq *__pyx_v_state = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; MPI_Request __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Start", 0); /* "mpi4py/MPI/Request.pyx":332 * Create and return a user-defined request * """ * cdef Grequest request = Grequest.__new__(Grequest) # <<<<<<<<<<<<<< * cdef _p_greq state = \ * _p_greq(query_fn, free_fn, cancel_fn, args, kargs) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Grequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Grequest), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 332, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIGrequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Request.pyx":334 * cdef Grequest request = Grequest.__new__(Grequest) * cdef _p_greq state = \ * _p_greq(query_fn, free_fn, cancel_fn, args, kargs) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Grequest_start( * greq_query_fn, greq_free_fn, greq_cancel_fn, */ __pyx_t_2 = PyTuple_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_query_fn); __Pyx_GIVEREF(__pyx_v_query_fn); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_query_fn); __Pyx_INCREF(__pyx_v_free_fn); __Pyx_GIVEREF(__pyx_v_free_fn); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_free_fn); __Pyx_INCREF(__pyx_v_cancel_fn); __Pyx_GIVEREF(__pyx_v_cancel_fn); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_cancel_fn); __Pyx_INCREF(__pyx_v_args); __Pyx_GIVEREF(__pyx_v_args); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_args); __Pyx_INCREF(__pyx_v_kargs); __Pyx_GIVEREF(__pyx_v_kargs); PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_v_kargs); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6mpi4py_3MPI__p_greq), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_state = ((struct __pyx_obj_6mpi4py_3MPI__p_greq *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Request.pyx":335 * cdef _p_greq state = \ * _p_greq(query_fn, free_fn, cancel_fn, args, kargs) * with nogil: CHKERR( MPI_Grequest_start( # <<<<<<<<<<<<<< * greq_query_fn, greq_free_fn, greq_cancel_fn, * state, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Request.pyx":337 * with nogil: CHKERR( MPI_Grequest_start( * greq_query_fn, greq_free_fn, greq_cancel_fn, * state, &request.ob_mpi) ) # <<<<<<<<<<<<<< * Py_INCREF(state) * request.ob_grequest = request.ob_mpi */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Grequest_start(__pyx_f_6mpi4py_3MPI_greq_query_fn, __pyx_f_6mpi4py_3MPI_greq_free_fn, __pyx_f_6mpi4py_3MPI_greq_cancel_fn, ((void *)__pyx_v_state), (&__pyx_v_request->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(25, 335, __pyx_L4_error) } /* "mpi4py/MPI/Request.pyx":335 * cdef _p_greq state = \ * _p_greq(query_fn, free_fn, cancel_fn, args, kargs) * with nogil: CHKERR( MPI_Grequest_start( # <<<<<<<<<<<<<< * greq_query_fn, greq_free_fn, greq_cancel_fn, * state, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Request.pyx":338 * greq_query_fn, greq_free_fn, greq_cancel_fn, * state, &request.ob_mpi) ) * Py_INCREF(state) # <<<<<<<<<<<<<< * request.ob_grequest = request.ob_mpi * return request */ Py_INCREF(((PyObject *)__pyx_v_state)); /* "mpi4py/MPI/Request.pyx":339 * state, &request.ob_mpi) ) * Py_INCREF(state) * request.ob_grequest = request.ob_mpi # <<<<<<<<<<<<<< * return request * */ __pyx_t_4 = __pyx_v_request->__pyx_base.ob_mpi; __pyx_v_request->ob_grequest = __pyx_t_4; /* "mpi4py/MPI/Request.pyx":340 * Py_INCREF(state) * request.ob_grequest = request.ob_mpi * return request # <<<<<<<<<<<<<< * * def Complete(self): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Request.pyx":327 * * @classmethod * def Start(cls, query_fn, free_fn, cancel_fn, # <<<<<<<<<<<<<< * args=None, kargs=None): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Grequest.Start", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Request.pyx":342 * return request * * def Complete(self): # <<<<<<<<<<<<<< * """ * Notify that a user-defined request is complete */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Grequest_5Complete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Grequest_4Complete[] = "Grequest.Complete(self)\n\n Notify that a user-defined request is complete\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Grequest_5Complete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Complete (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Complete", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Complete", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Grequest_4Complete(((struct PyMPIGrequestObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Grequest_4Complete(struct PyMPIGrequestObject *__pyx_v_self) { MPI_Request __pyx_v_grequest; 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; MPI_Request __pyx_t_6; int __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Complete", 0); /* "mpi4py/MPI/Request.pyx":346 * Notify that a user-defined request is complete * """ * if self.ob_mpi != MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * if self.ob_mpi != self.ob_grequest: * raise MPIException(MPI_ERR_REQUEST) */ __pyx_t_1 = ((__pyx_v_self->__pyx_base.ob_mpi != MPI_REQUEST_NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/Request.pyx":347 * """ * if self.ob_mpi != MPI_REQUEST_NULL: * if self.ob_mpi != self.ob_grequest: # <<<<<<<<<<<<<< * raise MPIException(MPI_ERR_REQUEST) * cdef MPI_Request grequest = self.ob_grequest */ __pyx_t_1 = ((__pyx_v_self->__pyx_base.ob_mpi != __pyx_v_self->ob_grequest) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/Request.pyx":348 * if self.ob_mpi != MPI_REQUEST_NULL: * if self.ob_mpi != self.ob_grequest: * raise MPIException(MPI_ERR_REQUEST) # <<<<<<<<<<<<<< * cdef MPI_Request grequest = self.ob_grequest * self.ob_grequest = self.ob_mpi ## or MPI_REQUEST_NULL ?? */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_ERR_REQUEST); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_MPIException); __pyx_t_4 = __pyx_v_6mpi4py_3MPI_MPIException; __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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __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(25, 348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(25, 348, __pyx_L1_error) /* "mpi4py/MPI/Request.pyx":347 * """ * if self.ob_mpi != MPI_REQUEST_NULL: * if self.ob_mpi != self.ob_grequest: # <<<<<<<<<<<<<< * raise MPIException(MPI_ERR_REQUEST) * cdef MPI_Request grequest = self.ob_grequest */ } /* "mpi4py/MPI/Request.pyx":346 * Notify that a user-defined request is complete * """ * if self.ob_mpi != MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * if self.ob_mpi != self.ob_grequest: * raise MPIException(MPI_ERR_REQUEST) */ } /* "mpi4py/MPI/Request.pyx":349 * if self.ob_mpi != self.ob_grequest: * raise MPIException(MPI_ERR_REQUEST) * cdef MPI_Request grequest = self.ob_grequest # <<<<<<<<<<<<<< * self.ob_grequest = self.ob_mpi ## or MPI_REQUEST_NULL ?? * with nogil: CHKERR( MPI_Grequest_complete(grequest) ) */ __pyx_t_6 = __pyx_v_self->ob_grequest; __pyx_v_grequest = __pyx_t_6; /* "mpi4py/MPI/Request.pyx":350 * raise MPIException(MPI_ERR_REQUEST) * cdef MPI_Request grequest = self.ob_grequest * self.ob_grequest = self.ob_mpi ## or MPI_REQUEST_NULL ?? # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Grequest_complete(grequest) ) * self.ob_grequest = self.ob_mpi ## or MPI_REQUEST_NULL ?? */ __pyx_t_6 = __pyx_v_self->__pyx_base.ob_mpi; __pyx_v_self->ob_grequest = __pyx_t_6; /* "mpi4py/MPI/Request.pyx":351 * cdef MPI_Request grequest = self.ob_grequest * self.ob_grequest = self.ob_mpi ## or MPI_REQUEST_NULL ?? * with nogil: CHKERR( MPI_Grequest_complete(grequest) ) # <<<<<<<<<<<<<< * self.ob_grequest = self.ob_mpi ## or MPI_REQUEST_NULL ?? * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_7 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Grequest_complete(__pyx_v_grequest)); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(25, 351, __pyx_L6_error) } /*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:; } } /* "mpi4py/MPI/Request.pyx":352 * self.ob_grequest = self.ob_mpi ## or MPI_REQUEST_NULL ?? * with nogil: CHKERR( MPI_Grequest_complete(grequest) ) * self.ob_grequest = self.ob_mpi ## or MPI_REQUEST_NULL ?? # <<<<<<<<<<<<<< * * */ __pyx_t_6 = __pyx_v_self->__pyx_base.ob_mpi; __pyx_v_self->ob_grequest = __pyx_t_6; /* "mpi4py/MPI/Request.pyx":342 * return request * * def Complete(self): # <<<<<<<<<<<<<< * """ * Notify that a user-defined request is complete */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Grequest.Complete", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":7 * """ * * def __cinit__(self, Message message=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_MESSAGE_NULL * if message is None: return */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_7Message_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_7Message_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIMessageObject *__pyx_v_message = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_message,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIMessageObject *)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_message); 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(26, 7, __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_message = ((struct PyMPIMessageObject *)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(26, 7, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Message.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_message), __pyx_ptype_6mpi4py_3MPI_Message, 1, "message", 0))) __PYX_ERR(26, 7, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message___cinit__(((struct PyMPIMessageObject *)__pyx_v_self), __pyx_v_message); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_7Message___cinit__(struct PyMPIMessageObject *__pyx_v_self, struct PyMPIMessageObject *__pyx_v_message) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; MPI_Message __pyx_t_3; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Message.pyx":8 * * def __cinit__(self, Message message=None): * self.ob_mpi = MPI_MESSAGE_NULL # <<<<<<<<<<<<<< * if message is None: return * self.ob_mpi = message.ob_mpi */ __pyx_v_self->ob_mpi = MPI_MESSAGE_NULL; /* "mpi4py/MPI/Message.pyx":9 * def __cinit__(self, Message message=None): * self.ob_mpi = MPI_MESSAGE_NULL * if message is None: return # <<<<<<<<<<<<<< * self.ob_mpi = message.ob_mpi * self.ob_buf = message.ob_buf */ __pyx_t_1 = (((PyObject *)__pyx_v_message) == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Message.pyx":10 * self.ob_mpi = MPI_MESSAGE_NULL * if message is None: return * self.ob_mpi = message.ob_mpi # <<<<<<<<<<<<<< * self.ob_buf = message.ob_buf * */ __pyx_t_3 = __pyx_v_message->ob_mpi; __pyx_v_self->ob_mpi = __pyx_t_3; /* "mpi4py/MPI/Message.pyx":11 * if message is None: return * self.ob_mpi = message.ob_mpi * self.ob_buf = message.ob_buf # <<<<<<<<<<<<<< * * def __dealloc__(self): */ __pyx_t_4 = __pyx_v_message->ob_buf; __Pyx_INCREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->ob_buf); __Pyx_DECREF(__pyx_v_self->ob_buf); __pyx_v_self->ob_buf = __pyx_t_4; __pyx_t_4 = 0; /* "mpi4py/MPI/Message.pyx":7 * """ * * def __cinit__(self, Message message=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_MESSAGE_NULL * if message is None: return */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":13 * self.ob_buf = message.ob_buf * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Message(&self.ob_mpi) ) */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_7Message_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_7Message_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_7Message_2__dealloc__(((struct PyMPIMessageObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_7Message_2__dealloc__(struct PyMPIMessageObject *__pyx_v_self) { __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "mpi4py/MPI/Message.pyx":14 * * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return # <<<<<<<<<<<<<< * CHKERR( del_Message(&self.ob_mpi) ) * */ __pyx_t_1 = ((!((__pyx_v_self->flags & __pyx_e_6mpi4py_3MPI_PyMPI_OWNED) != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "mpi4py/MPI/Message.pyx":15 * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Message(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * def __richcmp__(self, other, int op): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(__pyx_f_6mpi4py_3MPI_del_Message((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(26, 15, __pyx_L1_error) /* "mpi4py/MPI/Message.pyx":13 * self.ob_buf = message.ob_buf * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Message(&self.ob_mpi) ) */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.Message.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/Message.pyx":17 * CHKERR( del_Message(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Message): return NotImplemented * cdef Message s = self, o = other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message_4__richcmp__(((struct PyMPIMessageObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_op)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_4__richcmp__(struct PyMPIMessageObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { struct PyMPIMessageObject *__pyx_v_s = 0; struct PyMPIMessageObject *__pyx_v_o = 0; PyObject *__pyx_v_mod = 0; PyObject *__pyx_v_cls = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "mpi4py/MPI/Message.pyx":18 * * def __richcmp__(self, other, int op): * if not isinstance(other, Message): return NotImplemented # <<<<<<<<<<<<<< * cdef Message s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_ptype_6mpi4py_3MPI_Message); __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_builtin_NotImplemented); __pyx_r = __pyx_builtin_NotImplemented; goto __pyx_L0; } /* "mpi4py/MPI/Message.pyx":19 * def __richcmp__(self, other, int op): * if not isinstance(other, Message): return NotImplemented * cdef Message s = self, o = other # <<<<<<<<<<<<<< * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) */ __pyx_t_3 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_3); __pyx_v_s = ((struct PyMPIMessageObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_v_other; __Pyx_INCREF(__pyx_t_3); __pyx_v_o = ((struct PyMPIMessageObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Message.pyx":20 * if not isinstance(other, Message): return NotImplemented * cdef Message s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) # <<<<<<<<<<<<<< * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ */ __pyx_t_2 = ((__pyx_v_op == Py_EQ) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi == __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Message.pyx":21 * cdef Message s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) # <<<<<<<<<<<<<< * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ */ __pyx_t_2 = ((__pyx_v_op == Py_NE) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi != __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Message.pyx":22 * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mod = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Message.pyx":23 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_cls = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Message.pyx":24 * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) # <<<<<<<<<<<<<< * * def __bool__(self): */ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mod); __Pyx_GIVEREF(__pyx_v_mod); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mod); __Pyx_INCREF(__pyx_v_cls); __Pyx_GIVEREF(__pyx_v_cls); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cls); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_unorderable_type_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(26, 24, __pyx_L1_error) /* "mpi4py/MPI/Message.pyx":17 * CHKERR( del_Message(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Message): return NotImplemented * cdef Message s = self, o = other */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Message.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_s); __Pyx_XDECREF((PyObject *)__pyx_v_o); __Pyx_XDECREF(__pyx_v_mod); __Pyx_XDECREF(__pyx_v_cls); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":26 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_MESSAGE_NULL * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_7Message_7__bool__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_7Message_7__bool__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message_6__bool__(((struct PyMPIMessageObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_7Message_6__bool__(struct PyMPIMessageObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__", 0); /* "mpi4py/MPI/Message.pyx":27 * * def __bool__(self): * return self.ob_mpi != MPI_MESSAGE_NULL # <<<<<<<<<<<<<< * * # Matching Probe */ __pyx_r = (__pyx_v_self->ob_mpi != MPI_MESSAGE_NULL); goto __pyx_L0; /* "mpi4py/MPI/Message.pyx":26 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_MESSAGE_NULL * */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":33 * * @classmethod * def Probe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_9Probe(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Message_8Probe[] = "Message.Probe(type cls, Comm comm, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\n\n Blocking test for a matched message\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_9Probe(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Probe (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[4] = {0,0,0,0}; /* "mpi4py/MPI/Message.pyx":34 * @classmethod * def Probe(cls, Comm comm, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): # <<<<<<<<<<<<<< * """ * Blocking test for a matched message */ values[3] = (PyObject *)((struct PyMPIStatusObject *)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_comm)) != 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_source); 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_tag); 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_status); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Probe") < 0)) __PYX_ERR(26, 33, __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_comm = ((struct PyMPICommObject *)values[0]); if (values[1]) { __pyx_v_source = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 34, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__29; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 34, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__30; } __pyx_v_status = ((struct PyMPIStatusObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Probe", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(26, 33, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Message.Probe", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 0, "comm", 0))) __PYX_ERR(26, 33, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(26, 34, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message_8Probe(((PyTypeObject*)__pyx_v_cls), __pyx_v_comm, __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Message.pyx":33 * * @classmethod * def Probe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_8Probe(PyTypeObject *__pyx_v_cls, struct PyMPICommObject *__pyx_v_comm, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { MPI_Message __pyx_v_cmessage; MPI_Status *__pyx_v_statusp; struct PyMPIMessageObject *__pyx_v_message = 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Probe", 0); /* "mpi4py/MPI/Message.pyx":38 * Blocking test for a matched message * """ * cdef MPI_Message cmessage = MPI_MESSAGE_NULL # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Mprobe( */ __pyx_v_cmessage = MPI_MESSAGE_NULL; /* "mpi4py/MPI/Message.pyx":39 * """ * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Mprobe( * source, tag, comm.ob_mpi, &cmessage, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Message.pyx":40 * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Mprobe( # <<<<<<<<<<<<<< * source, tag, comm.ob_mpi, &cmessage, statusp) ) * cdef Message message = Message.__new__(cls) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Message.pyx":41 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Mprobe( * source, tag, comm.ob_mpi, &cmessage, statusp) ) # <<<<<<<<<<<<<< * cdef Message message = Message.__new__(cls) * message.ob_mpi = cmessage */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Mprobe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm->ob_mpi, (&__pyx_v_cmessage), __pyx_v_statusp)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(26, 40, __pyx_L4_error) } /* "mpi4py/MPI/Message.pyx":40 * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Mprobe( # <<<<<<<<<<<<<< * source, tag, comm.ob_mpi, &cmessage, statusp) ) * cdef Message message = Message.__new__(cls) */ /*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:; } } /* "mpi4py/MPI/Message.pyx":42 * with nogil: CHKERR( MPI_Mprobe( * source, tag, comm.ob_mpi, &cmessage, statusp) ) * cdef Message message = Message.__new__(cls) # <<<<<<<<<<<<<< * message.ob_mpi = cmessage * return message */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_n_s_new); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(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, ((PyObject *)__pyx_v_cls)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_cls)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(26, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_message = ((struct PyMPIMessageObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Message.pyx":43 * source, tag, comm.ob_mpi, &cmessage, statusp) ) * cdef Message message = Message.__new__(cls) * message.ob_mpi = cmessage # <<<<<<<<<<<<<< * return message * */ __pyx_v_message->ob_mpi = __pyx_v_cmessage; /* "mpi4py/MPI/Message.pyx":44 * cdef Message message = Message.__new__(cls) * message.ob_mpi = cmessage * return message # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_message)); __pyx_r = ((PyObject *)__pyx_v_message); goto __pyx_L0; /* "mpi4py/MPI/Message.pyx":33 * * @classmethod * def Probe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Message.Probe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_message); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":47 * * @classmethod * def Iprobe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_11Iprobe(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Message_10Iprobe[] = "Message.Iprobe(type cls, Comm comm, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\n\n Nonblocking test for a matched message\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_11Iprobe(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iprobe (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[4] = {0,0,0,0}; /* "mpi4py/MPI/Message.pyx":48 * @classmethod * def Iprobe(cls, Comm comm, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): # <<<<<<<<<<<<<< * """ * Nonblocking test for a matched message */ values[3] = (PyObject *)((struct PyMPIStatusObject *)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_comm)) != 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_source); 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_tag); 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_status); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iprobe") < 0)) __PYX_ERR(26, 47, __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_comm = ((struct PyMPICommObject *)values[0]); if (values[1]) { __pyx_v_source = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 48, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__31; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 48, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__32; } __pyx_v_status = ((struct PyMPIStatusObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iprobe", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(26, 47, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Message.Iprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 0, "comm", 0))) __PYX_ERR(26, 47, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(26, 48, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message_10Iprobe(((PyTypeObject*)__pyx_v_cls), __pyx_v_comm, __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Message.pyx":47 * * @classmethod * def Iprobe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_10Iprobe(PyTypeObject *__pyx_v_cls, struct PyMPICommObject *__pyx_v_comm, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_flag; MPI_Message __pyx_v_cmessage; MPI_Status *__pyx_v_statusp; struct PyMPIMessageObject *__pyx_v_message = 0; 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iprobe", 0); /* "mpi4py/MPI/Message.pyx":52 * Nonblocking test for a matched message * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) */ __pyx_v_flag = 0; /* "mpi4py/MPI/Message.pyx":53 * """ * cdef int flag = 0 * cdef MPI_Message cmessage = MPI_MESSAGE_NULL # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Improbe( */ __pyx_v_cmessage = MPI_MESSAGE_NULL; /* "mpi4py/MPI/Message.pyx":54 * cdef int flag = 0 * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Improbe( * source, tag, comm.ob_mpi, &flag, &cmessage, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Message.pyx":55 * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Improbe( # <<<<<<<<<<<<<< * source, tag, comm.ob_mpi, &flag, &cmessage, statusp) ) * if flag == 0: return None */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Message.pyx":56 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Improbe( * source, tag, comm.ob_mpi, &flag, &cmessage, statusp) ) # <<<<<<<<<<<<<< * if flag == 0: return None * cdef Message message = Message.__new__(cls) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Improbe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm->ob_mpi, (&__pyx_v_flag), (&__pyx_v_cmessage), __pyx_v_statusp)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(26, 55, __pyx_L4_error) } /* "mpi4py/MPI/Message.pyx":55 * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Improbe( # <<<<<<<<<<<<<< * source, tag, comm.ob_mpi, &flag, &cmessage, statusp) ) * if flag == 0: return None */ /*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:; } } /* "mpi4py/MPI/Message.pyx":57 * with nogil: CHKERR( MPI_Improbe( * source, tag, comm.ob_mpi, &flag, &cmessage, statusp) ) * if flag == 0: return None # <<<<<<<<<<<<<< * cdef Message message = Message.__new__(cls) * message.ob_mpi = cmessage */ __pyx_t_2 = ((__pyx_v_flag == 0) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/Message.pyx":58 * source, tag, comm.ob_mpi, &flag, &cmessage, statusp) ) * if flag == 0: return None * cdef Message message = Message.__new__(cls) # <<<<<<<<<<<<<< * message.ob_mpi = cmessage * return message */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_n_s_new); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 58, __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_Call2Args(__pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_v_cls)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_cls)); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_message = ((struct PyMPIMessageObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Message.pyx":59 * if flag == 0: return None * cdef Message message = Message.__new__(cls) * message.ob_mpi = cmessage # <<<<<<<<<<<<<< * return message * */ __pyx_v_message->ob_mpi = __pyx_v_cmessage; /* "mpi4py/MPI/Message.pyx":60 * cdef Message message = Message.__new__(cls) * message.ob_mpi = cmessage * return message # <<<<<<<<<<<<<< * * # Matched receives */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_message)); __pyx_r = ((PyObject *)__pyx_v_message); goto __pyx_L0; /* "mpi4py/MPI/Message.pyx":47 * * @classmethod * def Iprobe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Message.Iprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_message); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":65 * # ---------------- * * def Recv(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Blocking receive of matched message */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_13Recv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Message_12Recv[] = "Message.Recv(self, buf, Status status=None)\n\n Blocking receive of matched message\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_13Recv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Recv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Recv") < 0)) __PYX_ERR(26, 65, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Recv", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(26, 65, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Message.Recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(26, 65, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message_12Recv(((struct PyMPIMessageObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_12Recv(struct PyMPIMessageObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { MPI_Message __pyx_v_message; int __pyx_v_source; struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_rmsg = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Message __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Recv", 0); /* "mpi4py/MPI/Message.pyx":69 * Blocking receive of matched message * """ * cdef MPI_Message message = self.ob_mpi # <<<<<<<<<<<<<< * cdef int source = MPI_ANY_SOURCE * if message == MPI_MESSAGE_NO_PROC: */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_message = __pyx_t_1; /* "mpi4py/MPI/Message.pyx":70 * """ * cdef MPI_Message message = self.ob_mpi * cdef int source = MPI_ANY_SOURCE # <<<<<<<<<<<<<< * if message == MPI_MESSAGE_NO_PROC: * source = MPI_PROC_NULL */ __pyx_v_source = MPI_ANY_SOURCE; /* "mpi4py/MPI/Message.pyx":71 * cdef MPI_Message message = self.ob_mpi * cdef int source = MPI_ANY_SOURCE * if message == MPI_MESSAGE_NO_PROC: # <<<<<<<<<<<<<< * source = MPI_PROC_NULL * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) */ __pyx_t_2 = ((__pyx_v_message == MPI_MESSAGE_NO_PROC) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Message.pyx":72 * cdef int source = MPI_ANY_SOURCE * if message == MPI_MESSAGE_NO_PROC: * source = MPI_PROC_NULL # <<<<<<<<<<<<<< * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef MPI_Status *statusp = arg_Status(status) */ __pyx_v_source = MPI_PROC_NULL; /* "mpi4py/MPI/Message.pyx":71 * cdef MPI_Message message = self.ob_mpi * cdef int source = MPI_ANY_SOURCE * if message == MPI_MESSAGE_NO_PROC: # <<<<<<<<<<<<<< * source = MPI_PROC_NULL * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) */ } /* "mpi4py/MPI/Message.pyx":73 * if message == MPI_MESSAGE_NO_PROC: * source = MPI_PROC_NULL * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Mrecv( */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_recv(__pyx_v_buf, __pyx_v_source)); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_rmsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Message.pyx":74 * source = MPI_PROC_NULL * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Mrecv( * rmsg.buf, rmsg.count, rmsg.dtype, */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Message.pyx":75 * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Mrecv( # <<<<<<<<<<<<<< * rmsg.buf, rmsg.count, rmsg.dtype, * &message, statusp) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Message.pyx":77 * with nogil: CHKERR( MPI_Mrecv( * rmsg.buf, rmsg.count, rmsg.dtype, * &message, statusp) ) # <<<<<<<<<<<<<< * if self is not __MESSAGE_NO_PROC__: * self.ob_mpi = message */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Mrecv(__pyx_v_rmsg->buf, __pyx_v_rmsg->count, __pyx_v_rmsg->dtype, (&__pyx_v_message), __pyx_v_statusp)); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(26, 75, __pyx_L5_error) } /* "mpi4py/MPI/Message.pyx":75 * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Mrecv( # <<<<<<<<<<<<<< * rmsg.buf, rmsg.count, rmsg.dtype, * &message, statusp) ) */ /*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:; } } /* "mpi4py/MPI/Message.pyx":78 * rmsg.buf, rmsg.count, rmsg.dtype, * &message, statusp) ) * if self is not __MESSAGE_NO_PROC__: # <<<<<<<<<<<<<< * self.ob_mpi = message * */ __pyx_t_2 = (__pyx_v_self != __pyx_v_6mpi4py_3MPI___MESSAGE_NO_PROC__); __pyx_t_5 = (__pyx_t_2 != 0); if (__pyx_t_5) { /* "mpi4py/MPI/Message.pyx":79 * &message, statusp) ) * if self is not __MESSAGE_NO_PROC__: * self.ob_mpi = message # <<<<<<<<<<<<<< * * def Irecv(self, buf): */ __pyx_v_self->ob_mpi = __pyx_v_message; /* "mpi4py/MPI/Message.pyx":78 * rmsg.buf, rmsg.count, rmsg.dtype, * &message, statusp) ) * if self is not __MESSAGE_NO_PROC__: # <<<<<<<<<<<<<< * self.ob_mpi = message * */ } /* "mpi4py/MPI/Message.pyx":65 * # ---------------- * * def Recv(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Blocking receive of matched message */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Message.Recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":81 * self.ob_mpi = message * * def Irecv(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking receive of matched message */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_15Irecv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Message_14Irecv[] = "Message.Irecv(self, buf)\n\n Nonblocking receive of matched message\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_15Irecv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Irecv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "Irecv") < 0)) __PYX_ERR(26, 81, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Irecv", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(26, 81, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Message.Irecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message_14Irecv(((struct PyMPIMessageObject *)__pyx_v_self), __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_14Irecv(struct PyMPIMessageObject *__pyx_v_self, PyObject *__pyx_v_buf) { MPI_Message __pyx_v_message; int __pyx_v_source; struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_rmsg = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Message __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Irecv", 0); /* "mpi4py/MPI/Message.pyx":85 * Nonblocking receive of matched message * """ * cdef MPI_Message message = self.ob_mpi # <<<<<<<<<<<<<< * cdef int source = MPI_ANY_SOURCE * if message == MPI_MESSAGE_NO_PROC: */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_message = __pyx_t_1; /* "mpi4py/MPI/Message.pyx":86 * """ * cdef MPI_Message message = self.ob_mpi * cdef int source = MPI_ANY_SOURCE # <<<<<<<<<<<<<< * if message == MPI_MESSAGE_NO_PROC: * source = MPI_PROC_NULL */ __pyx_v_source = MPI_ANY_SOURCE; /* "mpi4py/MPI/Message.pyx":87 * cdef MPI_Message message = self.ob_mpi * cdef int source = MPI_ANY_SOURCE * if message == MPI_MESSAGE_NO_PROC: # <<<<<<<<<<<<<< * source = MPI_PROC_NULL * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) */ __pyx_t_2 = ((__pyx_v_message == MPI_MESSAGE_NO_PROC) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Message.pyx":88 * cdef int source = MPI_ANY_SOURCE * if message == MPI_MESSAGE_NO_PROC: * source = MPI_PROC_NULL # <<<<<<<<<<<<<< * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef Request request = Request.__new__(Request) */ __pyx_v_source = MPI_PROC_NULL; /* "mpi4py/MPI/Message.pyx":87 * cdef MPI_Message message = self.ob_mpi * cdef int source = MPI_ANY_SOURCE * if message == MPI_MESSAGE_NO_PROC: # <<<<<<<<<<<<<< * source = MPI_PROC_NULL * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) */ } /* "mpi4py/MPI/Message.pyx":89 * if message == MPI_MESSAGE_NO_PROC: * source = MPI_PROC_NULL * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Imrecv( */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_recv(__pyx_v_buf, __pyx_v_source)); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 89, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_rmsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Message.pyx":90 * source = MPI_PROC_NULL * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Imrecv( * rmsg.buf, rmsg.count, rmsg.dtype, */ __pyx_t_3 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 90, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __pyx_t_4 = ((PyObject *)__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Message.pyx":91 * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Imrecv( # <<<<<<<<<<<<<< * rmsg.buf, rmsg.count, rmsg.dtype, * &message, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Message.pyx":93 * with nogil: CHKERR( MPI_Imrecv( * rmsg.buf, rmsg.count, rmsg.dtype, * &message, &request.ob_mpi) ) # <<<<<<<<<<<<<< * if self is not __MESSAGE_NO_PROC__: * self.ob_mpi = message */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Imrecv(__pyx_v_rmsg->buf, __pyx_v_rmsg->count, __pyx_v_rmsg->dtype, (&__pyx_v_message), (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(26, 91, __pyx_L5_error) } /* "mpi4py/MPI/Message.pyx":91 * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Imrecv( # <<<<<<<<<<<<<< * rmsg.buf, rmsg.count, rmsg.dtype, * &message, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Message.pyx":94 * rmsg.buf, rmsg.count, rmsg.dtype, * &message, &request.ob_mpi) ) * if self is not __MESSAGE_NO_PROC__: # <<<<<<<<<<<<<< * self.ob_mpi = message * request.ob_buf = rmsg */ __pyx_t_2 = (__pyx_v_self != __pyx_v_6mpi4py_3MPI___MESSAGE_NO_PROC__); __pyx_t_6 = (__pyx_t_2 != 0); if (__pyx_t_6) { /* "mpi4py/MPI/Message.pyx":95 * &message, &request.ob_mpi) ) * if self is not __MESSAGE_NO_PROC__: * self.ob_mpi = message # <<<<<<<<<<<<<< * request.ob_buf = rmsg * return request */ __pyx_v_self->ob_mpi = __pyx_v_message; /* "mpi4py/MPI/Message.pyx":94 * rmsg.buf, rmsg.count, rmsg.dtype, * &message, &request.ob_mpi) ) * if self is not __MESSAGE_NO_PROC__: # <<<<<<<<<<<<<< * self.ob_mpi = message * request.ob_buf = rmsg */ } /* "mpi4py/MPI/Message.pyx":96 * if self is not __MESSAGE_NO_PROC__: * self.ob_mpi = message * request.ob_buf = rmsg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_rmsg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_rmsg)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_rmsg); /* "mpi4py/MPI/Message.pyx":97 * self.ob_mpi = message * request.ob_buf = rmsg * return request # <<<<<<<<<<<<<< * * # Python Communication */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Message.pyx":81 * self.ob_mpi = message * * def Irecv(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking receive of matched message */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Message.Irecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_rmsg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":103 * # * @classmethod * def probe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """Blocking test for a matched message""" */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_17probe(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Message_16probe[] = "Message.probe(type cls, Comm comm, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\nBlocking test for a matched message"; static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_17probe(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("probe (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[4] = {0,0,0,0}; /* "mpi4py/MPI/Message.pyx":104 * @classmethod * def probe(cls, Comm comm, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): # <<<<<<<<<<<<<< * """Blocking test for a matched message""" * cdef Message message = Message.__new__(cls) */ values[3] = (PyObject *)((struct PyMPIStatusObject *)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_comm)) != 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_source); 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_tag); 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_status); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "probe") < 0)) __PYX_ERR(26, 103, __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_comm = ((struct PyMPICommObject *)values[0]); if (values[1]) { __pyx_v_source = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 104, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__33; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 104, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__34; } __pyx_v_status = ((struct PyMPIStatusObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("probe", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(26, 103, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Message.probe", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 0, "comm", 0))) __PYX_ERR(26, 103, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(26, 104, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message_16probe(((PyTypeObject*)__pyx_v_cls), __pyx_v_comm, __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Message.pyx":103 * # * @classmethod * def probe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """Blocking test for a matched message""" */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_16probe(PyTypeObject *__pyx_v_cls, struct PyMPICommObject *__pyx_v_comm, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { struct PyMPIMessageObject *__pyx_v_message = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("probe", 0); /* "mpi4py/MPI/Message.pyx":106 * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """Blocking test for a matched message""" * cdef Message message = Message.__new__(cls) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * message.ob_buf = PyMPI_mprobe(source, tag, comm.ob_mpi, */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(26, 106, __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_cls)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_cls)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __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_message = ((struct PyMPIMessageObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Message.pyx":107 * """Blocking test for a matched message""" * cdef Message message = Message.__new__(cls) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * message.ob_buf = PyMPI_mprobe(source, tag, comm.ob_mpi, * &message.ob_mpi, statusp) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Message.pyx":108 * cdef Message message = Message.__new__(cls) * cdef MPI_Status *statusp = arg_Status(status) * message.ob_buf = PyMPI_mprobe(source, tag, comm.ob_mpi, # <<<<<<<<<<<<<< * &message.ob_mpi, statusp) * return message */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_mprobe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm->ob_mpi, (&__pyx_v_message->ob_mpi), __pyx_v_statusp); if (unlikely(!__pyx_t_2)) __PYX_ERR(26, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_message->ob_buf); __Pyx_DECREF(__pyx_v_message->ob_buf); __pyx_v_message->ob_buf = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Message.pyx":110 * message.ob_buf = PyMPI_mprobe(source, tag, comm.ob_mpi, * &message.ob_mpi, statusp) * return message # <<<<<<<<<<<<<< * # * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_message)); __pyx_r = ((PyObject *)__pyx_v_message); goto __pyx_L0; /* "mpi4py/MPI/Message.pyx":103 * # * @classmethod * def probe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """Blocking test for a matched message""" */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Message.probe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_message); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":113 * # * @classmethod * def iprobe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """Nonblocking test for a matched message""" */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_19iprobe(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Message_18iprobe[] = "Message.iprobe(type cls, Comm comm, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\nNonblocking test for a matched message"; static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_19iprobe(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("iprobe (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[4] = {0,0,0,0}; /* "mpi4py/MPI/Message.pyx":114 * @classmethod * def iprobe(cls, Comm comm, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): # <<<<<<<<<<<<<< * """Nonblocking test for a matched message""" * cdef int flag = 0 */ values[3] = (PyObject *)((struct PyMPIStatusObject *)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_comm)) != 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_source); 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_tag); 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_status); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "iprobe") < 0)) __PYX_ERR(26, 113, __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_comm = ((struct PyMPICommObject *)values[0]); if (values[1]) { __pyx_v_source = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 114, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__35; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 114, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__36; } __pyx_v_status = ((struct PyMPIStatusObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("iprobe", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(26, 113, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Message.iprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 0, "comm", 0))) __PYX_ERR(26, 113, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(26, 114, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message_18iprobe(((PyTypeObject*)__pyx_v_cls), __pyx_v_comm, __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Message.pyx":113 * # * @classmethod * def iprobe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """Nonblocking test for a matched message""" */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_18iprobe(PyTypeObject *__pyx_v_cls, struct PyMPICommObject *__pyx_v_comm, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_flag; struct PyMPIMessageObject *__pyx_v_message = 0; MPI_Status *__pyx_v_statusp; 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_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("iprobe", 0); /* "mpi4py/MPI/Message.pyx":116 * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """Nonblocking test for a matched message""" * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef Message message = Message.__new__(cls) * cdef MPI_Status *statusp = arg_Status(status) */ __pyx_v_flag = 0; /* "mpi4py/MPI/Message.pyx":117 * """Nonblocking test for a matched message""" * cdef int flag = 0 * cdef Message message = Message.__new__(cls) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * message.ob_buf = PyMPI_improbe(source, tag, comm.ob_mpi, &flag, */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(26, 117, __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_cls)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_cls)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __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_message = ((struct PyMPIMessageObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Message.pyx":118 * cdef int flag = 0 * cdef Message message = Message.__new__(cls) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * message.ob_buf = PyMPI_improbe(source, tag, comm.ob_mpi, &flag, * &message.ob_mpi, statusp) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Message.pyx":119 * cdef Message message = Message.__new__(cls) * cdef MPI_Status *statusp = arg_Status(status) * message.ob_buf = PyMPI_improbe(source, tag, comm.ob_mpi, &flag, # <<<<<<<<<<<<<< * &message.ob_mpi, statusp) * if flag == 0: return None */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_improbe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm->ob_mpi, (&__pyx_v_flag), (&__pyx_v_message->ob_mpi), __pyx_v_statusp); if (unlikely(!__pyx_t_2)) __PYX_ERR(26, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_message->ob_buf); __Pyx_DECREF(__pyx_v_message->ob_buf); __pyx_v_message->ob_buf = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Message.pyx":121 * message.ob_buf = PyMPI_improbe(source, tag, comm.ob_mpi, &flag, * &message.ob_mpi, statusp) * if flag == 0: return None # <<<<<<<<<<<<<< * return message * # */ __pyx_t_4 = ((__pyx_v_flag == 0) != 0); if (__pyx_t_4) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/Message.pyx":122 * &message.ob_mpi, statusp) * if flag == 0: return None * return message # <<<<<<<<<<<<<< * # * def recv(self, Status status=None): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_message)); __pyx_r = ((PyObject *)__pyx_v_message); goto __pyx_L0; /* "mpi4py/MPI/Message.pyx":113 * # * @classmethod * def iprobe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """Nonblocking test for a matched message""" */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Message.iprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_message); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":124 * return message * # * def recv(self, Status status=None): # <<<<<<<<<<<<<< * """Blocking receive of matched message""" * cdef object rmsg = self.ob_buf */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_21recv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Message_20recv[] = "Message.recv(self, Status status=None)\nBlocking receive of matched message"; static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_21recv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("recv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_status,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIStatusObject *)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_status); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "recv") < 0)) __PYX_ERR(26, 124, __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_status = ((struct PyMPIStatusObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("recv", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(26, 124, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Message.recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(26, 124, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message_20recv(((struct PyMPIMessageObject *)__pyx_v_self), __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_20recv(struct PyMPIMessageObject *__pyx_v_self, struct PyMPIStatusObject *__pyx_v_status) { PyObject *__pyx_v_rmsg = 0; MPI_Message __pyx_v_message; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; MPI_Message __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("recv", 0); /* "mpi4py/MPI/Message.pyx":126 * def recv(self, Status status=None): * """Blocking receive of matched message""" * cdef object rmsg = self.ob_buf # <<<<<<<<<<<<<< * cdef MPI_Message message = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) */ __pyx_t_1 = __pyx_v_self->ob_buf; __Pyx_INCREF(__pyx_t_1); __pyx_v_rmsg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Message.pyx":127 * """Blocking receive of matched message""" * cdef object rmsg = self.ob_buf * cdef MPI_Message message = self.ob_mpi # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * rmsg = PyMPI_mrecv(rmsg, &message, statusp) */ __pyx_t_2 = __pyx_v_self->ob_mpi; __pyx_v_message = __pyx_t_2; /* "mpi4py/MPI/Message.pyx":128 * cdef object rmsg = self.ob_buf * cdef MPI_Message message = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * rmsg = PyMPI_mrecv(rmsg, &message, statusp) * if self is not __MESSAGE_NO_PROC__: self.ob_mpi = message */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Message.pyx":129 * cdef MPI_Message message = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) * rmsg = PyMPI_mrecv(rmsg, &message, statusp) # <<<<<<<<<<<<<< * if self is not __MESSAGE_NO_PROC__: self.ob_mpi = message * if self.ob_mpi == MPI_MESSAGE_NULL: self.ob_buf = None */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_PyMPI_mrecv(__pyx_v_rmsg, (&__pyx_v_message), __pyx_v_statusp); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Message.pyx":130 * cdef MPI_Status *statusp = arg_Status(status) * rmsg = PyMPI_mrecv(rmsg, &message, statusp) * if self is not __MESSAGE_NO_PROC__: self.ob_mpi = message # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_MESSAGE_NULL: self.ob_buf = None * return rmsg */ __pyx_t_3 = (__pyx_v_self != __pyx_v_6mpi4py_3MPI___MESSAGE_NO_PROC__); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { __pyx_v_self->ob_mpi = __pyx_v_message; } /* "mpi4py/MPI/Message.pyx":131 * rmsg = PyMPI_mrecv(rmsg, &message, statusp) * if self is not __MESSAGE_NO_PROC__: self.ob_mpi = message * if self.ob_mpi == MPI_MESSAGE_NULL: self.ob_buf = None # <<<<<<<<<<<<<< * return rmsg * # */ __pyx_t_4 = ((__pyx_v_self->ob_mpi == MPI_MESSAGE_NULL) != 0); if (__pyx_t_4) { __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->ob_buf); __Pyx_DECREF(__pyx_v_self->ob_buf); __pyx_v_self->ob_buf = Py_None; } /* "mpi4py/MPI/Message.pyx":132 * if self is not __MESSAGE_NO_PROC__: self.ob_mpi = message * if self.ob_mpi == MPI_MESSAGE_NULL: self.ob_buf = None * return rmsg # <<<<<<<<<<<<<< * # * def irecv(self): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "mpi4py/MPI/Message.pyx":124 * return message * # * def recv(self, Status status=None): # <<<<<<<<<<<<<< * """Blocking receive of matched message""" * cdef object rmsg = self.ob_buf */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Message.recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":134 * return rmsg * # * def irecv(self): # <<<<<<<<<<<<<< * """Nonblocking receive of matched message""" * cdef object rmsg = self.ob_buf */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_23irecv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Message_22irecv[] = "Message.irecv(self)\nNonblocking receive of matched message"; static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_23irecv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("irecv (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("irecv", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "irecv", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message_22irecv(((struct PyMPIMessageObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_22irecv(struct PyMPIMessageObject *__pyx_v_self) { PyObject *__pyx_v_rmsg = 0; MPI_Message __pyx_v_message; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; MPI_Message __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("irecv", 0); /* "mpi4py/MPI/Message.pyx":136 * def irecv(self): * """Nonblocking receive of matched message""" * cdef object rmsg = self.ob_buf # <<<<<<<<<<<<<< * cdef MPI_Message message = self.ob_mpi * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = __pyx_v_self->ob_buf; __Pyx_INCREF(__pyx_t_1); __pyx_v_rmsg = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Message.pyx":137 * """Nonblocking receive of matched message""" * cdef object rmsg = self.ob_buf * cdef MPI_Message message = self.ob_mpi # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_imrecv(rmsg, &message, &request.ob_mpi) */ __pyx_t_2 = __pyx_v_self->ob_mpi; __pyx_v_message = __pyx_t_2; /* "mpi4py/MPI/Message.pyx":138 * cdef object rmsg = self.ob_buf * cdef MPI_Message message = self.ob_mpi * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * request.ob_buf = PyMPI_imrecv(rmsg, &message, &request.ob_mpi) * if self is not __MESSAGE_NO_PROC__: self.ob_mpi = message */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 138, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Message.pyx":139 * cdef MPI_Message message = self.ob_mpi * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_imrecv(rmsg, &message, &request.ob_mpi) # <<<<<<<<<<<<<< * if self is not __MESSAGE_NO_PROC__: self.ob_mpi = message * if self.ob_mpi == MPI_MESSAGE_NULL: self.ob_buf = None */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_imrecv(__pyx_v_rmsg, (&__pyx_v_message), (&__pyx_v_request->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Message.pyx":140 * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_imrecv(rmsg, &message, &request.ob_mpi) * if self is not __MESSAGE_NO_PROC__: self.ob_mpi = message # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_MESSAGE_NULL: self.ob_buf = None * return request */ __pyx_t_4 = (__pyx_v_self != __pyx_v_6mpi4py_3MPI___MESSAGE_NO_PROC__); __pyx_t_5 = (__pyx_t_4 != 0); if (__pyx_t_5) { __pyx_v_self->ob_mpi = __pyx_v_message; } /* "mpi4py/MPI/Message.pyx":141 * request.ob_buf = PyMPI_imrecv(rmsg, &message, &request.ob_mpi) * if self is not __MESSAGE_NO_PROC__: self.ob_mpi = message * if self.ob_mpi == MPI_MESSAGE_NULL: self.ob_buf = None # <<<<<<<<<<<<<< * return request * */ __pyx_t_5 = ((__pyx_v_self->ob_mpi == MPI_MESSAGE_NULL) != 0); if (__pyx_t_5) { __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->ob_buf); __Pyx_DECREF(__pyx_v_self->ob_buf); __pyx_v_self->ob_buf = Py_None; } /* "mpi4py/MPI/Message.pyx":142 * if self is not __MESSAGE_NO_PROC__: self.ob_mpi = message * if self.ob_mpi == MPI_MESSAGE_NULL: self.ob_buf = None * return request # <<<<<<<<<<<<<< * * # Fortran Handle */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Message.pyx":134 * return rmsg * # * def irecv(self): # <<<<<<<<<<<<<< * """Nonblocking receive of matched message""" * cdef object rmsg = self.ob_buf */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Message.irecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":147 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_25py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Message_24py2f[] = "Message.py2f(self)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_25py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("py2f (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("py2f", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "py2f", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message_24py2f(((struct PyMPIMessageObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_24py2f(struct PyMPIMessageObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("py2f", 0); /* "mpi4py/MPI/Message.pyx":150 * """ * """ * return MPI_Message_c2f(self.ob_mpi) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Fint(MPI_Message_c2f(__pyx_v_self->ob_mpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Message.pyx":147 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Message.py2f", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Message.pyx":153 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_27f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_7Message_26f2py[] = "Message.f2py(type cls, arg)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_7Message_27f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("f2py (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "f2py") < 0)) __PYX_ERR(26, 153, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("f2py", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(26, 153, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Message.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_7Message_26f2py(((PyTypeObject*)__pyx_v_cls), __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_7Message_26f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg) { struct PyMPIMessageObject *__pyx_v_message = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; MPI_Fint __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("f2py", 0); /* "mpi4py/MPI/Message.pyx":156 * """ * """ * cdef Message message = Message.__new__(Message) # <<<<<<<<<<<<<< * message.ob_mpi = MPI_Message_f2c(arg) * return message */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 156, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_message = ((struct PyMPIMessageObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Message.pyx":157 * """ * cdef Message message = Message.__new__(Message) * message.ob_mpi = MPI_Message_f2c(arg) # <<<<<<<<<<<<<< * return message * */ __pyx_t_3 = __Pyx_PyInt_As_MPI_Fint(__pyx_v_arg); if (unlikely((__pyx_t_3 == ((MPI_Fint)-1)) && PyErr_Occurred())) __PYX_ERR(26, 157, __pyx_L1_error) __pyx_v_message->ob_mpi = MPI_Message_f2c(__pyx_t_3); /* "mpi4py/MPI/Message.pyx":158 * cdef Message message = Message.__new__(Message) * message.ob_mpi = MPI_Message_f2c(arg) * return message # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_message)); __pyx_r = ((PyObject *)__pyx_v_message); goto __pyx_L0; /* "mpi4py/MPI/Message.pyx":153 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Message.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_message); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":7 * """ * * def __cinit__(self, Info info=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_INFO_NULL * if info is None: return */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4Info_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4Info_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_info,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIInfoObject *)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_info); 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(27, 7, __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_info = ((struct PyMPIInfoObject *)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(27, 7, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Info.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 1, "info", 0))) __PYX_ERR(27, 7, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info___cinit__(((struct PyMPIInfoObject *)__pyx_v_self), __pyx_v_info); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4Info___cinit__(struct PyMPIInfoObject *__pyx_v_self, struct PyMPIInfoObject *__pyx_v_info) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; MPI_Info __pyx_t_3; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Info.pyx":8 * * def __cinit__(self, Info info=None): * self.ob_mpi = MPI_INFO_NULL # <<<<<<<<<<<<<< * if info is None: return * self.ob_mpi = info.ob_mpi */ __pyx_v_self->ob_mpi = MPI_INFO_NULL; /* "mpi4py/MPI/Info.pyx":9 * def __cinit__(self, Info info=None): * self.ob_mpi = MPI_INFO_NULL * if info is None: return # <<<<<<<<<<<<<< * self.ob_mpi = info.ob_mpi * */ __pyx_t_1 = (((PyObject *)__pyx_v_info) == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":10 * self.ob_mpi = MPI_INFO_NULL * if info is None: return * self.ob_mpi = info.ob_mpi # <<<<<<<<<<<<<< * * def __dealloc__(self): */ __pyx_t_3 = __pyx_v_info->ob_mpi; __pyx_v_self->ob_mpi = __pyx_t_3; /* "mpi4py/MPI/Info.pyx":7 * """ * * def __cinit__(self, Info info=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_INFO_NULL * if info is None: return */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":12 * self.ob_mpi = info.ob_mpi * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Info(&self.ob_mpi) ) */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_4Info_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_4Info_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_4Info_2__dealloc__(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_4Info_2__dealloc__(struct PyMPIInfoObject *__pyx_v_self) { __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "mpi4py/MPI/Info.pyx":13 * * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return # <<<<<<<<<<<<<< * CHKERR( del_Info(&self.ob_mpi) ) * */ __pyx_t_1 = ((!((__pyx_v_self->flags & __pyx_e_6mpi4py_3MPI_PyMPI_OWNED) != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":14 * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Info(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * def __richcmp__(self, other, int op): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(__pyx_f_6mpi4py_3MPI_del_Info((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(27, 14, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":12 * self.ob_mpi = info.ob_mpi * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Info(&self.ob_mpi) ) */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.Info.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/Info.pyx":16 * CHKERR( del_Info(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Info): return NotImplemented * cdef Info s = self, o = other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_4__richcmp__(((struct PyMPIInfoObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_op)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_4__richcmp__(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { struct PyMPIInfoObject *__pyx_v_s = 0; struct PyMPIInfoObject *__pyx_v_o = 0; PyObject *__pyx_v_mod = 0; PyObject *__pyx_v_cls = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "mpi4py/MPI/Info.pyx":17 * * def __richcmp__(self, other, int op): * if not isinstance(other, Info): return NotImplemented # <<<<<<<<<<<<<< * cdef Info s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_ptype_6mpi4py_3MPI_Info); __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_builtin_NotImplemented); __pyx_r = __pyx_builtin_NotImplemented; goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":18 * def __richcmp__(self, other, int op): * if not isinstance(other, Info): return NotImplemented * cdef Info s = self, o = other # <<<<<<<<<<<<<< * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) */ __pyx_t_3 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_3); __pyx_v_s = ((struct PyMPIInfoObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_v_other; __Pyx_INCREF(__pyx_t_3); __pyx_v_o = ((struct PyMPIInfoObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":19 * if not isinstance(other, Info): return NotImplemented * cdef Info s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) # <<<<<<<<<<<<<< * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ */ __pyx_t_2 = ((__pyx_v_op == Py_EQ) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi == __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":20 * cdef Info s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) # <<<<<<<<<<<<<< * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ */ __pyx_t_2 = ((__pyx_v_op == Py_NE) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi != __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":21 * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mod = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":22 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_cls = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":23 * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) # <<<<<<<<<<<<<< * * def __bool__(self): */ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mod); __Pyx_GIVEREF(__pyx_v_mod); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mod); __Pyx_INCREF(__pyx_v_cls); __Pyx_GIVEREF(__pyx_v_cls); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cls); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_unorderable_type_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(27, 23, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":16 * CHKERR( del_Info(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Info): return NotImplemented * cdef Info s = self, o = other */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Info.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_s); __Pyx_XDECREF((PyObject *)__pyx_v_o); __Pyx_XDECREF(__pyx_v_mod); __Pyx_XDECREF(__pyx_v_cls); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":25 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_INFO_NULL * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4Info_7__bool__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4Info_7__bool__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_6__bool__(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4Info_6__bool__(struct PyMPIInfoObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__", 0); /* "mpi4py/MPI/Info.pyx":26 * * def __bool__(self): * return self.ob_mpi != MPI_INFO_NULL # <<<<<<<<<<<<<< * * @classmethod */ __pyx_r = (__pyx_v_self->ob_mpi != MPI_INFO_NULL); goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":25 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_INFO_NULL * */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":29 * * @classmethod * def Create(cls): # <<<<<<<<<<<<<< * """ * Create a new, empty info object */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_9Create(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_8Create[] = "Info.Create(type cls)\n\n Create a new, empty info object\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_9Create(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Create", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Create", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_8Create(((PyTypeObject*)__pyx_v_cls)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_8Create(CYTHON_UNUSED PyTypeObject *__pyx_v_cls) { struct PyMPIInfoObject *__pyx_v_info = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create", 0); /* "mpi4py/MPI/Info.pyx":33 * Create a new, empty info object * """ * cdef Info info = Info.__new__(Info) # <<<<<<<<<<<<<< * CHKERR( MPI_Info_create(&info.ob_mpi) ) * return info */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 33, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Info.pyx":34 * """ * cdef Info info = Info.__new__(Info) * CHKERR( MPI_Info_create(&info.ob_mpi) ) # <<<<<<<<<<<<<< * return info * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Info_create((&__pyx_v_info->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(27, 34, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":35 * cdef Info info = Info.__new__(Info) * CHKERR( MPI_Info_create(&info.ob_mpi) ) * return info # <<<<<<<<<<<<<< * * def Free(self): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_info)); __pyx_r = ((PyObject *)__pyx_v_info); goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":29 * * @classmethod * def Create(cls): # <<<<<<<<<<<<<< * """ * Create a new, empty info object */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Info.Create", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_info); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":37 * return info * * def Free(self): # <<<<<<<<<<<<<< * """ * Free a info object */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_11Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_10Free[] = "Info.Free(self)\n\n Free a info object\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_11Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Free", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Free", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_10Free(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_10Free(struct PyMPIInfoObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Free", 0); /* "mpi4py/MPI/Info.pyx":41 * Free a info object * """ * CHKERR( MPI_Info_free(&self.ob_mpi) ) # <<<<<<<<<<<<<< * if self is __INFO_ENV__: self.ob_mpi = MPI_INFO_ENV * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Info_free((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(27, 41, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":42 * """ * CHKERR( MPI_Info_free(&self.ob_mpi) ) * if self is __INFO_ENV__: self.ob_mpi = MPI_INFO_ENV # <<<<<<<<<<<<<< * * def Dup(self): */ __pyx_t_2 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___INFO_ENV__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_self->ob_mpi = MPI_INFO_ENV; } /* "mpi4py/MPI/Info.pyx":37 * return info * * def Free(self): # <<<<<<<<<<<<<< * """ * Free a info object */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Info.Free", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":44 * if self is __INFO_ENV__: self.ob_mpi = MPI_INFO_ENV * * def Dup(self): # <<<<<<<<<<<<<< * """ * Duplicate an existing info object, creating a new object, with */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_13Dup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_12Dup[] = "Info.Dup(self)\n\n Duplicate an existing info object, creating a new object, with\n the same (key, value) pairs and the same ordering of keys\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_13Dup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Dup (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Dup", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Dup", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_12Dup(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_12Dup(struct PyMPIInfoObject *__pyx_v_self) { struct PyMPIInfoObject *__pyx_v_info = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Dup", 0); /* "mpi4py/MPI/Info.pyx":49 * the same (key, value) pairs and the same ordering of keys * """ * cdef Info info = Info.__new__(Info) # <<<<<<<<<<<<<< * CHKERR( MPI_Info_dup(self.ob_mpi, &info.ob_mpi) ) * return info */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 49, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Info.pyx":50 * """ * cdef Info info = Info.__new__(Info) * CHKERR( MPI_Info_dup(self.ob_mpi, &info.ob_mpi) ) # <<<<<<<<<<<<<< * return info * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Info_dup(__pyx_v_self->ob_mpi, (&__pyx_v_info->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(27, 50, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":51 * cdef Info info = Info.__new__(Info) * CHKERR( MPI_Info_dup(self.ob_mpi, &info.ob_mpi) ) * return info # <<<<<<<<<<<<<< * * def Get(self, object key, int maxlen=-1): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_info)); __pyx_r = ((PyObject *)__pyx_v_info); goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":44 * if self is __INFO_ENV__: self.ob_mpi = MPI_INFO_ENV * * def Dup(self): # <<<<<<<<<<<<<< * """ * Duplicate an existing info object, creating a new object, with */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Info.Dup", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_info); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":53 * return info * * def Get(self, object key, int maxlen=-1): # <<<<<<<<<<<<<< * """ * Retrieve the value associated with a key */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_15Get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_14Get[] = "Info.Get(self, key, int maxlen=-1)\n\n Retrieve the value associated with a key\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_15Get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_key = 0; int __pyx_v_maxlen; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_maxlen,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_key)) != 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_maxlen); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Get") < 0)) __PYX_ERR(27, 53, __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_key = values[0]; if (values[1]) { __pyx_v_maxlen = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_maxlen == (int)-1) && PyErr_Occurred())) __PYX_ERR(27, 53, __pyx_L3_error) } else { __pyx_v_maxlen = ((int)-1); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(27, 53, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Info.Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_14Get(((struct PyMPIInfoObject *)__pyx_v_self), __pyx_v_key, __pyx_v_maxlen); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_14Get(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key, int __pyx_v_maxlen) { char *__pyx_v_ckey; char *__pyx_v_cvalue; int __pyx_v_flag; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get", 0); __Pyx_INCREF(__pyx_v_key); /* "mpi4py/MPI/Info.pyx":57 * Retrieve the value associated with a key * """ * if maxlen < 0: maxlen = MPI_MAX_INFO_VAL # <<<<<<<<<<<<<< * if maxlen > MPI_MAX_INFO_VAL: maxlen = MPI_MAX_INFO_VAL * cdef char *ckey = NULL */ __pyx_t_1 = ((__pyx_v_maxlen < 0) != 0); if (__pyx_t_1) { __pyx_v_maxlen = MPI_MAX_INFO_VAL; } /* "mpi4py/MPI/Info.pyx":58 * """ * if maxlen < 0: maxlen = MPI_MAX_INFO_VAL * if maxlen > MPI_MAX_INFO_VAL: maxlen = MPI_MAX_INFO_VAL # <<<<<<<<<<<<<< * cdef char *ckey = NULL * cdef char *cvalue = NULL */ __pyx_t_1 = ((__pyx_v_maxlen > MPI_MAX_INFO_VAL) != 0); if (__pyx_t_1) { __pyx_v_maxlen = MPI_MAX_INFO_VAL; } /* "mpi4py/MPI/Info.pyx":59 * if maxlen < 0: maxlen = MPI_MAX_INFO_VAL * if maxlen > MPI_MAX_INFO_VAL: maxlen = MPI_MAX_INFO_VAL * cdef char *ckey = NULL # <<<<<<<<<<<<<< * cdef char *cvalue = NULL * cdef int flag = 0 */ __pyx_v_ckey = NULL; /* "mpi4py/MPI/Info.pyx":60 * if maxlen > MPI_MAX_INFO_VAL: maxlen = MPI_MAX_INFO_VAL * cdef char *ckey = NULL * cdef char *cvalue = NULL # <<<<<<<<<<<<<< * cdef int flag = 0 * key = asmpistr(key, &ckey) */ __pyx_v_cvalue = NULL; /* "mpi4py/MPI/Info.pyx":61 * cdef char *ckey = NULL * cdef char *cvalue = NULL * cdef int flag = 0 # <<<<<<<<<<<<<< * key = asmpistr(key, &ckey) * cdef tmp = allocate((maxlen+1), sizeof(char), &cvalue) */ __pyx_v_flag = 0; /* "mpi4py/MPI/Info.pyx":62 * cdef char *cvalue = NULL * cdef int flag = 0 * key = asmpistr(key, &ckey) # <<<<<<<<<<<<<< * cdef tmp = allocate((maxlen+1), sizeof(char), &cvalue) * CHKERR( MPI_Info_get(self.ob_mpi, ckey, maxlen, cvalue, &flag) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_key, (&__pyx_v_ckey)); if (unlikely(!__pyx_t_2)) __PYX_ERR(27, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_key, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Info.pyx":63 * cdef int flag = 0 * key = asmpistr(key, &ckey) * cdef tmp = allocate((maxlen+1), sizeof(char), &cvalue) # <<<<<<<<<<<<<< * CHKERR( MPI_Info_get(self.ob_mpi, ckey, maxlen, cvalue, &flag) ) * cvalue[maxlen] = 0 # just in case */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate((__pyx_v_maxlen + 1), (sizeof(char)), (&__pyx_v_cvalue))); if (unlikely(!__pyx_t_2)) __PYX_ERR(27, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Info.pyx":64 * key = asmpistr(key, &ckey) * cdef tmp = allocate((maxlen+1), sizeof(char), &cvalue) * CHKERR( MPI_Info_get(self.ob_mpi, ckey, maxlen, cvalue, &flag) ) # <<<<<<<<<<<<<< * cvalue[maxlen] = 0 # just in case * if not flag: return None */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Info_get(__pyx_v_self->ob_mpi, __pyx_v_ckey, __pyx_v_maxlen, __pyx_v_cvalue, (&__pyx_v_flag))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(27, 64, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":65 * cdef tmp = allocate((maxlen+1), sizeof(char), &cvalue) * CHKERR( MPI_Info_get(self.ob_mpi, ckey, maxlen, cvalue, &flag) ) * cvalue[maxlen] = 0 # just in case # <<<<<<<<<<<<<< * if not flag: return None * return mpistr(cvalue) */ (__pyx_v_cvalue[__pyx_v_maxlen]) = 0; /* "mpi4py/MPI/Info.pyx":66 * CHKERR( MPI_Info_get(self.ob_mpi, ckey, maxlen, cvalue, &flag) ) * cvalue[maxlen] = 0 # just in case * if not flag: return None # <<<<<<<<<<<<<< * return mpistr(cvalue) * */ __pyx_t_1 = ((!(__pyx_v_flag != 0)) != 0); if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":67 * cvalue[maxlen] = 0 # just in case * if not flag: return None * return mpistr(cvalue) # <<<<<<<<<<<<<< * * def Set(self, object key, object value): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mpistr(__pyx_v_cvalue); if (unlikely(!__pyx_t_2)) __PYX_ERR(27, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":53 * return info * * def Get(self, object key, int maxlen=-1): # <<<<<<<<<<<<<< * """ * Retrieve the value associated with a key */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Info.Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XDECREF(__pyx_v_key); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":69 * return mpistr(cvalue) * * def Set(self, object key, object value): # <<<<<<<<<<<<<< * """ * Add the (key, value) pair to info, and overrides the value if */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_17Set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_16Set[] = "Info.Set(self, key, value)\n\n Add the (key, value) pair to info, and overrides the value if\n a value for the same key was previously set\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_17Set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_key = 0; PyObject *__pyx_v_value = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_value,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_key)) != 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_value)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Set", 1, 2, 2, 1); __PYX_ERR(27, 69, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Set") < 0)) __PYX_ERR(27, 69, __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_key = values[0]; __pyx_v_value = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(27, 69, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Info.Set", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_16Set(((struct PyMPIInfoObject *)__pyx_v_self), __pyx_v_key, __pyx_v_value); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_16Set(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) { char *__pyx_v_ckey; char *__pyx_v_cvalue; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set", 0); __Pyx_INCREF(__pyx_v_key); __Pyx_INCREF(__pyx_v_value); /* "mpi4py/MPI/Info.pyx":74 * a value for the same key was previously set * """ * cdef char *ckey = NULL # <<<<<<<<<<<<<< * cdef char *cvalue = NULL * key = asmpistr(key, &ckey) */ __pyx_v_ckey = NULL; /* "mpi4py/MPI/Info.pyx":75 * """ * cdef char *ckey = NULL * cdef char *cvalue = NULL # <<<<<<<<<<<<<< * key = asmpistr(key, &ckey) * value = asmpistr(value, &cvalue) */ __pyx_v_cvalue = NULL; /* "mpi4py/MPI/Info.pyx":76 * cdef char *ckey = NULL * cdef char *cvalue = NULL * key = asmpistr(key, &ckey) # <<<<<<<<<<<<<< * value = asmpistr(value, &cvalue) * CHKERR( MPI_Info_set(self.ob_mpi, ckey, cvalue) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_key, (&__pyx_v_ckey)); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_key, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Info.pyx":77 * cdef char *cvalue = NULL * key = asmpistr(key, &ckey) * value = asmpistr(value, &cvalue) # <<<<<<<<<<<<<< * CHKERR( MPI_Info_set(self.ob_mpi, ckey, cvalue) ) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_value, (&__pyx_v_cvalue)); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Info.pyx":78 * key = asmpistr(key, &ckey) * value = asmpistr(value, &cvalue) * CHKERR( MPI_Info_set(self.ob_mpi, ckey, cvalue) ) # <<<<<<<<<<<<<< * * def Delete(self, object key): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Info_set(__pyx_v_self->ob_mpi, __pyx_v_ckey, __pyx_v_cvalue)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(27, 78, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":69 * return mpistr(cvalue) * * def Set(self, object key, object value): # <<<<<<<<<<<<<< * """ * Add the (key, value) pair to info, and overrides the value if */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Info.Set", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_key); __Pyx_XDECREF(__pyx_v_value); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":80 * CHKERR( MPI_Info_set(self.ob_mpi, ckey, cvalue) ) * * def Delete(self, object key): # <<<<<<<<<<<<<< * """ * Remove a (key, value) pair from info */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_19Delete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_18Delete[] = "Info.Delete(self, key)\n\n Remove a (key, value) pair from info\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_19Delete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_key = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Delete (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,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_key)) != 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, "Delete") < 0)) __PYX_ERR(27, 80, __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_key = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Delete", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(27, 80, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Info.Delete", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_18Delete(((struct PyMPIInfoObject *)__pyx_v_self), __pyx_v_key); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_18Delete(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key) { char *__pyx_v_ckey; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Delete", 0); __Pyx_INCREF(__pyx_v_key); /* "mpi4py/MPI/Info.pyx":84 * Remove a (key, value) pair from info * """ * cdef char *ckey = NULL # <<<<<<<<<<<<<< * key = asmpistr(key, &ckey) * CHKERR( MPI_Info_delete(self.ob_mpi, ckey) ) */ __pyx_v_ckey = NULL; /* "mpi4py/MPI/Info.pyx":85 * """ * cdef char *ckey = NULL * key = asmpistr(key, &ckey) # <<<<<<<<<<<<<< * CHKERR( MPI_Info_delete(self.ob_mpi, ckey) ) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_key, (&__pyx_v_ckey)); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_key, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Info.pyx":86 * cdef char *ckey = NULL * key = asmpistr(key, &ckey) * CHKERR( MPI_Info_delete(self.ob_mpi, ckey) ) # <<<<<<<<<<<<<< * * def Get_nkeys(self): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Info_delete(__pyx_v_self->ob_mpi, __pyx_v_ckey)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(27, 86, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":80 * CHKERR( MPI_Info_set(self.ob_mpi, ckey, cvalue) ) * * def Delete(self, object key): # <<<<<<<<<<<<<< * """ * Remove a (key, value) pair from info */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Info.Delete", __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; } /* "mpi4py/MPI/Info.pyx":88 * CHKERR( MPI_Info_delete(self.ob_mpi, ckey) ) * * def Get_nkeys(self): # <<<<<<<<<<<<<< * """ * Return the number of currently defined keys in info */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_21Get_nkeys(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_20Get_nkeys[] = "Info.Get_nkeys(self)\n\n Return the number of currently defined keys in info\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_21Get_nkeys(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_nkeys (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_nkeys", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_nkeys", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_20Get_nkeys(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_20Get_nkeys(struct PyMPIInfoObject *__pyx_v_self) { int __pyx_v_nkeys; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_nkeys", 0); /* "mpi4py/MPI/Info.pyx":92 * Return the number of currently defined keys in info * """ * cdef int nkeys = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Info_get_nkeys(self.ob_mpi, &nkeys) ) * return nkeys */ __pyx_v_nkeys = 0; /* "mpi4py/MPI/Info.pyx":93 * """ * cdef int nkeys = 0 * CHKERR( MPI_Info_get_nkeys(self.ob_mpi, &nkeys) ) # <<<<<<<<<<<<<< * return nkeys * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Info_get_nkeys(__pyx_v_self->ob_mpi, (&__pyx_v_nkeys))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(27, 93, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":94 * cdef int nkeys = 0 * CHKERR( MPI_Info_get_nkeys(self.ob_mpi, &nkeys) ) * return nkeys # <<<<<<<<<<<<<< * * def Get_nthkey(self, int n): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_nkeys); if (unlikely(!__pyx_t_2)) __PYX_ERR(27, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":88 * CHKERR( MPI_Info_delete(self.ob_mpi, ckey) ) * * def Get_nkeys(self): # <<<<<<<<<<<<<< * """ * Return the number of currently defined keys in info */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Info.Get_nkeys", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":96 * return nkeys * * def Get_nthkey(self, int n): # <<<<<<<<<<<<<< * """ * Return the nth defined key in info. Keys are numbered in the */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_23Get_nthkey(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_22Get_nthkey[] = "Info.Get_nthkey(self, int n)\n\n Return the nth defined key in info. Keys are numbered in the\n range [0, N) where N is the value returned by\n `Info.Get_nkeys()`\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_23Get_nthkey(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_n; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_nthkey (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, "Get_nthkey") < 0)) __PYX_ERR(27, 96, __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_int(values[0]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) __PYX_ERR(27, 96, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_nthkey", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(27, 96, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Info.Get_nthkey", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_22Get_nthkey(((struct PyMPIInfoObject *)__pyx_v_self), __pyx_v_n); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_22Get_nthkey(struct PyMPIInfoObject *__pyx_v_self, int __pyx_v_n) { char __pyx_v_ckey[(MPI_MAX_INFO_KEY + 1)]; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_nthkey", 0); /* "mpi4py/MPI/Info.pyx":103 * """ * cdef char ckey[MPI_MAX_INFO_KEY+1] * CHKERR( MPI_Info_get_nthkey(self.ob_mpi, n, ckey) ) # <<<<<<<<<<<<<< * ckey[MPI_MAX_INFO_KEY] = 0 # just in case * return mpistr(ckey) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Info_get_nthkey(__pyx_v_self->ob_mpi, __pyx_v_n, __pyx_v_ckey)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(27, 103, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":104 * cdef char ckey[MPI_MAX_INFO_KEY+1] * CHKERR( MPI_Info_get_nthkey(self.ob_mpi, n, ckey) ) * ckey[MPI_MAX_INFO_KEY] = 0 # just in case # <<<<<<<<<<<<<< * return mpistr(ckey) * */ (__pyx_v_ckey[MPI_MAX_INFO_KEY]) = 0; /* "mpi4py/MPI/Info.pyx":105 * CHKERR( MPI_Info_get_nthkey(self.ob_mpi, n, ckey) ) * ckey[MPI_MAX_INFO_KEY] = 0 # just in case * return mpistr(ckey) # <<<<<<<<<<<<<< * * # Fortran Handle */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mpistr(__pyx_v_ckey); if (unlikely(!__pyx_t_2)) __PYX_ERR(27, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":96 * return nkeys * * def Get_nthkey(self, int n): # <<<<<<<<<<<<<< * """ * Return the nth defined key in info. Keys are numbered in the */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Info.Get_nthkey", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":110 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_25py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_24py2f[] = "Info.py2f(self)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_25py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("py2f (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("py2f", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "py2f", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_24py2f(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_24py2f(struct PyMPIInfoObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("py2f", 0); /* "mpi4py/MPI/Info.pyx":113 * """ * """ * return MPI_Info_c2f(self.ob_mpi) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Fint(MPI_Info_c2f(__pyx_v_self->ob_mpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":110 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Info.py2f", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":116 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_27f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_26f2py[] = "Info.f2py(type cls, arg)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_27f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("f2py (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "f2py") < 0)) __PYX_ERR(27, 116, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("f2py", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(27, 116, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Info.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_26f2py(((PyTypeObject*)__pyx_v_cls), __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_26f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg) { struct PyMPIInfoObject *__pyx_v_info = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; MPI_Fint __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("f2py", 0); /* "mpi4py/MPI/Info.pyx":119 * """ * """ * cdef Info info = Info.__new__(Info) # <<<<<<<<<<<<<< * info.ob_mpi = MPI_Info_f2c(arg) * return info */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 119, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Info.pyx":120 * """ * cdef Info info = Info.__new__(Info) * info.ob_mpi = MPI_Info_f2c(arg) # <<<<<<<<<<<<<< * return info * */ __pyx_t_3 = __Pyx_PyInt_As_MPI_Fint(__pyx_v_arg); if (unlikely((__pyx_t_3 == ((MPI_Fint)-1)) && PyErr_Occurred())) __PYX_ERR(27, 120, __pyx_L1_error) __pyx_v_info->ob_mpi = MPI_Info_f2c(__pyx_t_3); /* "mpi4py/MPI/Info.pyx":121 * cdef Info info = Info.__new__(Info) * info.ob_mpi = MPI_Info_f2c(arg) * return info # <<<<<<<<<<<<<< * * # Python mapping emulation */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_info)); __pyx_r = ((PyObject *)__pyx_v_info); goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":116 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Info.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_info); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":126 * # ------------------------ * * def __len__(self): # <<<<<<<<<<<<<< * if not self: return 0 * return self.Get_nkeys() */ /* Python wrapper */ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_4Info_29__len__(PyObject *__pyx_v_self); /*proto*/ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_4Info_29__len__(PyObject *__pyx_v_self) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__len__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_28__len__(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static Py_ssize_t __pyx_pf_6mpi4py_3MPI_4Info_28__len__(struct PyMPIInfoObject *__pyx_v_self) { Py_ssize_t __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; Py_ssize_t __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__len__", 0); /* "mpi4py/MPI/Info.pyx":127 * * def __len__(self): * if not self: return 0 # <<<<<<<<<<<<<< * return self.Get_nkeys() * */ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(27, 127, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":128 * def __len__(self): * if not self: return 0 * return self.Get_nkeys() # <<<<<<<<<<<<<< * * def __contains__(self, object key): */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_nkeys); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 128, __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(27, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(27, 128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_6; goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":126 * # ------------------------ * * def __len__(self): # <<<<<<<<<<<<<< * if not self: return 0 * return self.Get_nkeys() */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Info.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":130 * return self.Get_nkeys() * * def __contains__(self, object key): # <<<<<<<<<<<<<< * if not self: return False * cdef char *ckey = NULL */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4Info_31__contains__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4Info_31__contains__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__contains__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_30__contains__(((struct PyMPIInfoObject *)__pyx_v_self), ((PyObject *)__pyx_v_key)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4Info_30__contains__(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key) { char *__pyx_v_ckey; int __pyx_v_dummy; int __pyx_v_haskey; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__contains__", 0); __Pyx_INCREF(__pyx_v_key); /* "mpi4py/MPI/Info.pyx":131 * * def __contains__(self, object key): * if not self: return False # <<<<<<<<<<<<<< * cdef char *ckey = NULL * cdef int dummy = 0 */ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(27, 131, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":132 * def __contains__(self, object key): * if not self: return False * cdef char *ckey = NULL # <<<<<<<<<<<<<< * cdef int dummy = 0 * cdef int haskey = 0 */ __pyx_v_ckey = NULL; /* "mpi4py/MPI/Info.pyx":133 * if not self: return False * cdef char *ckey = NULL * cdef int dummy = 0 # <<<<<<<<<<<<<< * cdef int haskey = 0 * key = asmpistr(key, &ckey) */ __pyx_v_dummy = 0; /* "mpi4py/MPI/Info.pyx":134 * cdef char *ckey = NULL * cdef int dummy = 0 * cdef int haskey = 0 # <<<<<<<<<<<<<< * key = asmpistr(key, &ckey) * CHKERR( MPI_Info_get_valuelen(self.ob_mpi, ckey, &dummy, &haskey) ) */ __pyx_v_haskey = 0; /* "mpi4py/MPI/Info.pyx":135 * cdef int dummy = 0 * cdef int haskey = 0 * key = asmpistr(key, &ckey) # <<<<<<<<<<<<<< * CHKERR( MPI_Info_get_valuelen(self.ob_mpi, ckey, &dummy, &haskey) ) * return haskey */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_key, (&__pyx_v_ckey)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_key, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":136 * cdef int haskey = 0 * key = asmpistr(key, &ckey) * CHKERR( MPI_Info_get_valuelen(self.ob_mpi, ckey, &dummy, &haskey) ) # <<<<<<<<<<<<<< * return haskey * */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Info_get_valuelen(__pyx_v_self->ob_mpi, __pyx_v_ckey, (&__pyx_v_dummy), (&__pyx_v_haskey))); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(27, 136, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":137 * key = asmpistr(key, &ckey) * CHKERR( MPI_Info_get_valuelen(self.ob_mpi, ckey, &dummy, &haskey) ) * return haskey # <<<<<<<<<<<<<< * * def __iter__(self): */ __pyx_r = (__pyx_v_haskey != 0); goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":130 * return self.Get_nkeys() * * def __contains__(self, object key): # <<<<<<<<<<<<<< * if not self: return False * cdef char *ckey = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Info.__contains__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF(__pyx_v_key); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":139 * return haskey * * def __iter__(self): # <<<<<<<<<<<<<< * return iter(self.keys()) * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_33__iter__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_33__iter__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_32__iter__(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_32__iter__(struct PyMPIInfoObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__iter__", 0); /* "mpi4py/MPI/Info.pyx":140 * * def __iter__(self): * return iter(self.keys()) # <<<<<<<<<<<<<< * * def __getitem__(self, object key): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(27, 140, __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(27, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(27, 140, __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; /* "mpi4py/MPI/Info.pyx":139 * return haskey * * def __iter__(self): # <<<<<<<<<<<<<< * return iter(self.keys()) * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Info.__iter__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":142 * return iter(self.keys()) * * def __getitem__(self, object key): # <<<<<<<<<<<<<< * if not self: raise KeyError(key) * cdef object value = self.Get(key) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_35__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_35__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_34__getitem__(((struct PyMPIInfoObject *)__pyx_v_self), ((PyObject *)__pyx_v_key)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_34__getitem__(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key) { PyObject *__pyx_v_value = 0; 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__getitem__", 0); /* "mpi4py/MPI/Info.pyx":143 * * def __getitem__(self, object key): * if not self: raise KeyError(key) # <<<<<<<<<<<<<< * cdef object value = self.Get(key) * if value is None: raise KeyError(key) */ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(27, 143, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (unlikely(__pyx_t_2)) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_KeyError, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(27, 143, __pyx_L1_error) } /* "mpi4py/MPI/Info.pyx":144 * def __getitem__(self, object key): * if not self: raise KeyError(key) * cdef object value = self.Get(key) # <<<<<<<<<<<<<< * if value is None: raise KeyError(key) * return value */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 144, __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_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_key) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_key); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_value = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":145 * if not self: raise KeyError(key) * cdef object value = self.Get(key) * if value is None: raise KeyError(key) # <<<<<<<<<<<<<< * return value * */ __pyx_t_2 = (__pyx_v_value == Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (unlikely(__pyx_t_1)) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_KeyError, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(27, 145, __pyx_L1_error) } /* "mpi4py/MPI/Info.pyx":146 * cdef object value = self.Get(key) * if value is None: raise KeyError(key) * return value # <<<<<<<<<<<<<< * * def __setitem__(self, object key, object value): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_value); __pyx_r = __pyx_v_value; goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":142 * return iter(self.keys()) * * def __getitem__(self, object key): # <<<<<<<<<<<<<< * if not self: raise KeyError(key) * cdef object value = self.Get(key) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Info.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_value); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":148 * return value * * def __setitem__(self, object key, object value): # <<<<<<<<<<<<<< * if not self: raise KeyError(key) * self.Set(key, value) */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4Info_37__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4Info_37__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_36__setitem__(((struct PyMPIInfoObject *)__pyx_v_self), ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4Info_36__setitem__(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) { 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; int __pyx_t_6; PyObject *__pyx_t_7 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__setitem__", 0); /* "mpi4py/MPI/Info.pyx":149 * * def __setitem__(self, object key, object value): * if not self: raise KeyError(key) # <<<<<<<<<<<<<< * self.Set(key, value) * */ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(27, 149, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (unlikely(__pyx_t_2)) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_KeyError, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(27, 149, __pyx_L1_error) } /* "mpi4py/MPI/Info.pyx":150 * def __setitem__(self, object key, object value): * if not self: raise KeyError(key) * self.Set(key, value) # <<<<<<<<<<<<<< * * def __delitem__(self, object key): */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; 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 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_key, __pyx_v_value}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 150, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_key, __pyx_v_value}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 150, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(27, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_key); __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_value); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":148 * return value * * def __setitem__(self, object key, object value): # <<<<<<<<<<<<<< * if not self: raise KeyError(key) * self.Set(key, value) */ /* 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_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.Info.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":152 * self.Set(key, value) * * def __delitem__(self, object key): # <<<<<<<<<<<<<< * if not self: raise KeyError(key) * if key not in self: raise KeyError(key) */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4Info_39__delitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4Info_39__delitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__delitem__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_38__delitem__(((struct PyMPIInfoObject *)__pyx_v_self), ((PyObject *)__pyx_v_key)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4Info_38__delitem__(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key) { 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__delitem__", 0); /* "mpi4py/MPI/Info.pyx":153 * * def __delitem__(self, object key): * if not self: raise KeyError(key) # <<<<<<<<<<<<<< * if key not in self: raise KeyError(key) * self.Delete(key) */ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(27, 153, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (unlikely(__pyx_t_2)) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_KeyError, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(27, 153, __pyx_L1_error) } /* "mpi4py/MPI/Info.pyx":154 * def __delitem__(self, object key): * if not self: raise KeyError(key) * if key not in self: raise KeyError(key) # <<<<<<<<<<<<<< * self.Delete(key) * */ __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_key, ((PyObject *)__pyx_v_self), Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(27, 154, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (unlikely(__pyx_t_1)) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_KeyError, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(27, 154, __pyx_L1_error) } /* "mpi4py/MPI/Info.pyx":155 * if not self: raise KeyError(key) * if key not in self: raise KeyError(key) * self.Delete(key) # <<<<<<<<<<<<<< * * def get(self, object key, object default=None): */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Delete); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 155, __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_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_key) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_key); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 155, __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; /* "mpi4py/MPI/Info.pyx":152 * self.Set(key, value) * * def __delitem__(self, object key): # <<<<<<<<<<<<<< * if not self: raise KeyError(key) * if key not in self: raise KeyError(key) */ /* 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("mpi4py.MPI.Info.__delitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":157 * self.Delete(key) * * def get(self, object key, object default=None): # <<<<<<<<<<<<<< * """info get""" * if not self: return default */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_41get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_40get[] = "Info.get(self, key, default=None)\ninfo get"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_41get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_key = 0; PyObject *__pyx_v_default = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("get (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_default,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_key)) != 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_default); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get") < 0)) __PYX_ERR(27, 157, __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_key = values[0]; __pyx_v_default = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("get", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(27, 157, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Info.get", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_40get(((struct PyMPIInfoObject *)__pyx_v_self), __pyx_v_key, __pyx_v_default); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_40get(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default) { PyObject *__pyx_v_value = 0; 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get", 0); /* "mpi4py/MPI/Info.pyx":159 * def get(self, object key, object default=None): * """info get""" * if not self: return default # <<<<<<<<<<<<<< * cdef object value = self.Get(key) * if value is None: return default */ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(27, 159, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_default); __pyx_r = __pyx_v_default; goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":160 * """info get""" * if not self: return default * cdef object value = self.Get(key) # <<<<<<<<<<<<<< * if value is None: return default * return value */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 160, __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_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_key) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_key); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_value = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":161 * if not self: return default * cdef object value = self.Get(key) * if value is None: return default # <<<<<<<<<<<<<< * return value * */ __pyx_t_2 = (__pyx_v_value == Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_default); __pyx_r = __pyx_v_default; goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":162 * cdef object value = self.Get(key) * if value is None: return default * return value # <<<<<<<<<<<<<< * * def keys(self): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_value); __pyx_r = __pyx_v_value; goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":157 * self.Delete(key) * * def get(self, object key, object default=None): # <<<<<<<<<<<<<< * """info get""" * if not self: return default */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Info.get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_value); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":164 * return value * * def keys(self): # <<<<<<<<<<<<<< * """info keys""" * if not self: return [] */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_43keys(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_42keys[] = "Info.keys(self)\ninfo keys"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_43keys(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("keys (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("keys", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "keys", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_42keys(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_42keys(struct PyMPIInfoObject *__pyx_v_self) { PyObject *__pyx_v_keys = 0; int __pyx_v_k; int __pyx_v_nkeys; PyObject *__pyx_v_key = 0; 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; int __pyx_t_6; PyObject *__pyx_t_7 = NULL; int __pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("keys", 0); /* "mpi4py/MPI/Info.pyx":166 * def keys(self): * """info keys""" * if not self: return [] # <<<<<<<<<<<<<< * cdef list keys = [] * cdef int k = 0, nkeys = self.Get_nkeys() */ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(27, 166, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":167 * """info keys""" * if not self: return [] * cdef list keys = [] # <<<<<<<<<<<<<< * cdef int k = 0, nkeys = self.Get_nkeys() * cdef object key */ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_keys = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":168 * if not self: return [] * cdef list keys = [] * cdef int k = 0, nkeys = self.Get_nkeys() # <<<<<<<<<<<<<< * cdef object key * for k from 0 <= k < nkeys: */ __pyx_v_k = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_nkeys); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 168, __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(27, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(27, 168, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_nkeys = __pyx_t_6; /* "mpi4py/MPI/Info.pyx":170 * cdef int k = 0, nkeys = self.Get_nkeys() * cdef object key * for k from 0 <= k < nkeys: # <<<<<<<<<<<<<< * key = self.Get_nthkey(k) * keys.append(key) */ __pyx_t_6 = __pyx_v_nkeys; for (__pyx_v_k = 0; __pyx_v_k < __pyx_t_6; __pyx_v_k++) { /* "mpi4py/MPI/Info.pyx":171 * cdef object key * for k from 0 <= k < nkeys: * key = self.Get_nthkey(k) # <<<<<<<<<<<<<< * keys.append(key) * return keys */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_nthkey); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_5)) __PYX_ERR(27, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __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_3)) __PYX_ERR(27, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":172 * for k from 0 <= k < nkeys: * key = self.Get_nthkey(k) * keys.append(key) # <<<<<<<<<<<<<< * return keys * */ __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_keys, __pyx_v_key); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(27, 172, __pyx_L1_error) } /* "mpi4py/MPI/Info.pyx":173 * key = self.Get_nthkey(k) * keys.append(key) * return keys # <<<<<<<<<<<<<< * * def values(self): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_keys); __pyx_r = __pyx_v_keys; goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":164 * return value * * def keys(self): # <<<<<<<<<<<<<< * """info keys""" * if not self: return [] */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.Info.keys", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_keys); __Pyx_XDECREF(__pyx_v_key); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":175 * return keys * * def values(self): # <<<<<<<<<<<<<< * """info values""" * if not self: return [] */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_45values(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_44values[] = "Info.values(self)\ninfo values"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_45values(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("values (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("values", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "values", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_44values(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_44values(struct PyMPIInfoObject *__pyx_v_self) { PyObject *__pyx_v_values = 0; int __pyx_v_k; int __pyx_v_nkeys; PyObject *__pyx_v_key = 0; PyObject *__pyx_v_val = 0; 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; int __pyx_t_6; PyObject *__pyx_t_7 = NULL; int __pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("values", 0); /* "mpi4py/MPI/Info.pyx":177 * def values(self): * """info values""" * if not self: return [] # <<<<<<<<<<<<<< * cdef list values = [] * cdef int k = 0, nkeys = self.Get_nkeys() */ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(27, 177, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":178 * """info values""" * if not self: return [] * cdef list values = [] # <<<<<<<<<<<<<< * cdef int k = 0, nkeys = self.Get_nkeys() * cdef object key, val */ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_values = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":179 * if not self: return [] * cdef list values = [] * cdef int k = 0, nkeys = self.Get_nkeys() # <<<<<<<<<<<<<< * cdef object key, val * for k from 0 <= k < nkeys: */ __pyx_v_k = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_nkeys); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 179, __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(27, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(27, 179, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_nkeys = __pyx_t_6; /* "mpi4py/MPI/Info.pyx":181 * cdef int k = 0, nkeys = self.Get_nkeys() * cdef object key, val * for k from 0 <= k < nkeys: # <<<<<<<<<<<<<< * key = self.Get_nthkey(k) * val = self.Get(key) */ __pyx_t_6 = __pyx_v_nkeys; for (__pyx_v_k = 0; __pyx_v_k < __pyx_t_6; __pyx_v_k++) { /* "mpi4py/MPI/Info.pyx":182 * cdef object key, val * for k from 0 <= k < nkeys: * key = self.Get_nthkey(k) # <<<<<<<<<<<<<< * val = self.Get(key) * values.append(val) */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_nthkey); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_5)) __PYX_ERR(27, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __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_3)) __PYX_ERR(27, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":183 * for k from 0 <= k < nkeys: * key = self.Get_nthkey(k) * val = self.Get(key) # <<<<<<<<<<<<<< * values.append(val) * return values */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 183, __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_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_key) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_key); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":184 * key = self.Get_nthkey(k) * val = self.Get(key) * values.append(val) # <<<<<<<<<<<<<< * return values * */ __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_values, __pyx_v_val); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(27, 184, __pyx_L1_error) } /* "mpi4py/MPI/Info.pyx":185 * val = self.Get(key) * values.append(val) * return values # <<<<<<<<<<<<<< * * def items(self): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_values); __pyx_r = __pyx_v_values; goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":175 * return keys * * def values(self): # <<<<<<<<<<<<<< * """info values""" * if not self: return [] */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.Info.values", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_values); __Pyx_XDECREF(__pyx_v_key); __Pyx_XDECREF(__pyx_v_val); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":187 * return values * * def items(self): # <<<<<<<<<<<<<< * """info items""" * if not self: return [] */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_47items(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_46items[] = "Info.items(self)\ninfo items"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_47items(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("items (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("items", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "items", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_46items(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_46items(struct PyMPIInfoObject *__pyx_v_self) { PyObject *__pyx_v_items = 0; int __pyx_v_k; int __pyx_v_nkeys; PyObject *__pyx_v_key = 0; PyObject *__pyx_v_value = 0; 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; int __pyx_t_6; PyObject *__pyx_t_7 = NULL; int __pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("items", 0); /* "mpi4py/MPI/Info.pyx":189 * def items(self): * """info items""" * if not self: return [] # <<<<<<<<<<<<<< * cdef list items = [] * cdef int k = 0, nkeys = self.Get_nkeys() */ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(27, 189, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":190 * """info items""" * if not self: return [] * cdef list items = [] # <<<<<<<<<<<<<< * cdef int k = 0, nkeys = self.Get_nkeys() * cdef object key, value */ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_items = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":191 * if not self: return [] * cdef list items = [] * cdef int k = 0, nkeys = self.Get_nkeys() # <<<<<<<<<<<<<< * cdef object key, value * for k from 0 <= k < nkeys: */ __pyx_v_k = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_nkeys); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 191, __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(27, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(27, 191, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_nkeys = __pyx_t_6; /* "mpi4py/MPI/Info.pyx":193 * cdef int k = 0, nkeys = self.Get_nkeys() * cdef object key, value * for k from 0 <= k < nkeys: # <<<<<<<<<<<<<< * key = self.Get_nthkey(k) * value = self.Get(key) */ __pyx_t_6 = __pyx_v_nkeys; for (__pyx_v_k = 0; __pyx_v_k < __pyx_t_6; __pyx_v_k++) { /* "mpi4py/MPI/Info.pyx":194 * cdef object key, value * for k from 0 <= k < nkeys: * key = self.Get_nthkey(k) # <<<<<<<<<<<<<< * value = self.Get(key) * items.append((key, value)) */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_nthkey); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_5)) __PYX_ERR(27, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __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_3)) __PYX_ERR(27, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":195 * for k from 0 <= k < nkeys: * key = self.Get_nthkey(k) * value = self.Get(key) # <<<<<<<<<<<<<< * items.append((key, value)) * return items */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 195, __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_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_key) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_key); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":196 * key = self.Get_nthkey(k) * value = self.Get(key) * items.append((key, value)) # <<<<<<<<<<<<<< * return items * */ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_key); __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_value); __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_items, __pyx_t_3); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(27, 196, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/Info.pyx":197 * value = self.Get(key) * items.append((key, value)) * return items # <<<<<<<<<<<<<< * * def update(self, other=(), **kwds): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_items); __pyx_r = __pyx_v_items; goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":187 * return values * * def items(self): # <<<<<<<<<<<<<< * """info items""" * if not self: return [] */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.Info.items", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_items); __Pyx_XDECREF(__pyx_v_key); __Pyx_XDECREF(__pyx_v_value); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":199 * return items * * def update(self, other=(), **kwds): # <<<<<<<<<<<<<< * """info update""" * if not self: raise KeyError */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_49update(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_48update[] = "Info.update(self, other=(), **kwds)\ninfo update"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_49update(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_other = 0; PyObject *__pyx_v_kwds = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("update (wrapper)", 0); __pyx_v_kwds = PyDict_New(); if (unlikely(!__pyx_v_kwds)) return NULL; __Pyx_GOTREF(__pyx_v_kwds); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_other,0}; PyObject* values[1] = {0}; values[0] = ((PyObject *)__pyx_empty_tuple); 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_other); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwds, values, pos_args, "update") < 0)) __PYX_ERR(27, 199, __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_other = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("update", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(27, 199, __pyx_L3_error) __pyx_L3_error:; __Pyx_DECREF(__pyx_v_kwds); __pyx_v_kwds = 0; __Pyx_AddTraceback("mpi4py.MPI.Info.update", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_48update(((struct PyMPIInfoObject *)__pyx_v_self), __pyx_v_other, __pyx_v_kwds); /* function exit code */ __Pyx_XDECREF(__pyx_v_kwds); __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_48update(struct PyMPIInfoObject *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_kwds) { PyObject *__pyx_v_key = 0; PyObject *__pyx_v_value = 0; 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; Py_ssize_t __pyx_t_6; PyObject *(*__pyx_t_7)(PyObject *); PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; int __pyx_t_10; PyObject *__pyx_t_11 = NULL; PyObject *(*__pyx_t_12)(PyObject *); int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("update", 0); /* "mpi4py/MPI/Info.pyx":201 * def update(self, other=(), **kwds): * """info update""" * if not self: raise KeyError # <<<<<<<<<<<<<< * cdef object key, value * if hasattr(other, 'keys'): */ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(27, 201, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (unlikely(__pyx_t_2)) { __Pyx_Raise(__pyx_builtin_KeyError, 0, 0, 0); __PYX_ERR(27, 201, __pyx_L1_error) } /* "mpi4py/MPI/Info.pyx":203 * if not self: raise KeyError * cdef object key, value * if hasattr(other, 'keys'): # <<<<<<<<<<<<<< * for key in other.keys(): * self.Set(key, other[key]) */ __pyx_t_2 = __Pyx_HasAttr(__pyx_v_other, __pyx_n_s_keys); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(27, 203, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/Info.pyx":204 * cdef object key, value * if hasattr(other, 'keys'): * for key in other.keys(): # <<<<<<<<<<<<<< * self.Set(key, other[key]) * else: */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_keys); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 204, __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(27, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(27, 204, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(27, 204, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(27, 204, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_7(__pyx_t_4); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(27, 204, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":205 * if hasattr(other, 'keys'): * for key in other.keys(): * self.Set(key, other[key]) # <<<<<<<<<<<<<< * else: * for key, value in other: */ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set); if (unlikely(!__pyx_t_5)) __PYX_ERR(27, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_other, __pyx_v_key); if (unlikely(!__pyx_t_8)) __PYX_ERR(27, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && likely(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_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_key, __pyx_t_8}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 205, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_3); __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_9, __pyx_v_key, __pyx_t_8}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 205, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_11 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(27, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_v_key); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_11, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":204 * cdef object key, value * if hasattr(other, 'keys'): * for key in other.keys(): # <<<<<<<<<<<<<< * self.Set(key, other[key]) * else: */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Info.pyx":203 * if not self: raise KeyError * cdef object key, value * if hasattr(other, 'keys'): # <<<<<<<<<<<<<< * for key in other.keys(): * self.Set(key, other[key]) */ goto __pyx_L4; } /* "mpi4py/MPI/Info.pyx":207 * self.Set(key, other[key]) * else: * for key, value in other: # <<<<<<<<<<<<<< * self.Set(key, value) * for key, value in kwds.items(): */ /*else*/ { if (likely(PyList_CheckExact(__pyx_v_other)) || PyTuple_CheckExact(__pyx_v_other)) { __pyx_t_4 = __pyx_v_other; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_other); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(27, 207, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(27, 207, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(27, 207, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_7(__pyx_t_4); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(27, 207, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(27, 207, __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_11 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_11 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_11); #else __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(27, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(27, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(27, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_8)->tp_iternext; index = 0; __pyx_t_5 = __pyx_t_12(__pyx_t_8); if (unlikely(!__pyx_t_5)) goto __pyx_L9_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 1; __pyx_t_11 = __pyx_t_12(__pyx_t_8); if (unlikely(!__pyx_t_11)) goto __pyx_L9_unpacking_failed; __Pyx_GOTREF(__pyx_t_11); if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_8), 2) < 0) __PYX_ERR(27, 207, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L10_unpacking_done; __pyx_L9_unpacking_failed:; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(27, 207, __pyx_L1_error) __pyx_L10_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_11); __pyx_t_11 = 0; /* "mpi4py/MPI/Info.pyx":208 * else: * for key, value in other: * self.Set(key, value) # <<<<<<<<<<<<<< * for key, value in kwds.items(): * self.Set(key, value) */ __pyx_t_11 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set); if (unlikely(!__pyx_t_11)) __PYX_ERR(27, 208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_5 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_key, __pyx_v_value}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 208, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_key, __pyx_v_value}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 208, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(27, 208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_10, __pyx_v_key); __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_10, __pyx_v_value); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":207 * self.Set(key, other[key]) * else: * for key, value in other: # <<<<<<<<<<<<<< * self.Set(key, value) * for key, value in kwds.items(): */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_L4:; /* "mpi4py/MPI/Info.pyx":209 * for key, value in other: * self.Set(key, value) * for key, value in kwds.items(): # <<<<<<<<<<<<<< * self.Set(key, value) * */ __pyx_t_4 = __Pyx_PyDict_Items(__pyx_v_kwds); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(27, 209, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_6 >= 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_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(27, 209, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_6 >= 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_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(27, 209, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_7(__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(27, 209, __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(27, 209, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_11 = PyList_GET_ITEM(sequence, 0); __pyx_t_8 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_8); #else __pyx_t_11 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(27, 209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(27, 209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(27, 209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_11 = __pyx_t_12(__pyx_t_5); if (unlikely(!__pyx_t_11)) goto __pyx_L13_unpacking_failed; __Pyx_GOTREF(__pyx_t_11); index = 1; __pyx_t_8 = __pyx_t_12(__pyx_t_5); if (unlikely(!__pyx_t_8)) goto __pyx_L13_unpacking_failed; __Pyx_GOTREF(__pyx_t_8); if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_5), 2) < 0) __PYX_ERR(27, 209, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L14_unpacking_done; __pyx_L13_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(27, 209, __pyx_L1_error) __pyx_L14_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_8); __pyx_t_8 = 0; /* "mpi4py/MPI/Info.pyx":210 * self.Set(key, value) * for key, value in kwds.items(): * self.Set(key, value) # <<<<<<<<<<<<<< * * def copy(self): */ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set); if (unlikely(!__pyx_t_8)) __PYX_ERR(27, 210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_11 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_key, __pyx_v_value}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 210, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_key, __pyx_v_value}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 210, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(27, 210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_11); __pyx_t_11 = NULL; } __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_10, __pyx_v_key); __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_10, __pyx_v_value); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Info.pyx":209 * for key, value in other: * self.Set(key, value) * for key, value in kwds.items(): # <<<<<<<<<<<<<< * self.Set(key, value) * */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":199 * return items * * def update(self, other=(), **kwds): # <<<<<<<<<<<<<< * """info update""" * if not self: raise KeyError */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_11); __Pyx_AddTraceback("mpi4py.MPI.Info.update", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_key); __Pyx_XDECREF(__pyx_v_value); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":212 * self.Set(key, value) * * def copy(self): # <<<<<<<<<<<<<< * """info copy""" * if not self: return Info() */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_51copy(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_50copy[] = "Info.copy(self)\ninfo copy"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_51copy(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("copy (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "copy", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_50copy(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_50copy(struct PyMPIInfoObject *__pyx_v_self) { 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("copy", 0); /* "mpi4py/MPI/Info.pyx":214 * def copy(self): * """info copy""" * if not self: return Info() # <<<<<<<<<<<<<< * return self.Dup() * */ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(27, 214, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Info)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":215 * """info copy""" * if not self: return Info() * return self.Dup() # <<<<<<<<<<<<<< * * def clear(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Dup); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 215, __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(27, 215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Info.pyx":212 * self.Set(key, value) * * def copy(self): # <<<<<<<<<<<<<< * """info copy""" * if not self: return Info() */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Info.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Info.pyx":217 * return self.Dup() * * def clear(self): # <<<<<<<<<<<<<< * """info clear""" * if not self: return None */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_53clear(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_52clear[] = "Info.clear(self)\ninfo clear"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_53clear(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("clear (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("clear", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "clear", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Info_52clear(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_52clear(struct PyMPIInfoObject *__pyx_v_self) { PyObject *__pyx_v_key = 0; int __pyx_v_k; int __pyx_v_nkeys; 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; int __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("clear", 0); /* "mpi4py/MPI/Info.pyx":219 * def clear(self): * """info clear""" * if not self: return None # <<<<<<<<<<<<<< * cdef object key * cdef int k = 0, nkeys = self.Get_nkeys() */ __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(27, 219, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/Info.pyx":221 * if not self: return None * cdef object key * cdef int k = 0, nkeys = self.Get_nkeys() # <<<<<<<<<<<<<< * while k < nkeys: * key = self.Get_nthkey(0) */ __pyx_v_k = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_nkeys); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 221, __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(27, 221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(27, 221, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_nkeys = __pyx_t_6; /* "mpi4py/MPI/Info.pyx":222 * cdef object key * cdef int k = 0, nkeys = self.Get_nkeys() * while k < nkeys: # <<<<<<<<<<<<<< * key = self.Get_nthkey(0) * self.Delete(key) */ while (1) { __pyx_t_2 = ((__pyx_v_k < __pyx_v_nkeys) != 0); if (!__pyx_t_2) break; /* "mpi4py/MPI/Info.pyx":223 * cdef int k = 0, nkeys = self.Get_nkeys() * while k < nkeys: * key = self.Get_nthkey(0) # <<<<<<<<<<<<<< * self.Delete(key) * k += 1 */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_nthkey); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 223, __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_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_0); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Info.pyx":224 * while k < nkeys: * key = self.Get_nthkey(0) * self.Delete(key) # <<<<<<<<<<<<<< * k += 1 * */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Delete); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 224, __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_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_key) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_key); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 224, __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; /* "mpi4py/MPI/Info.pyx":225 * key = self.Get_nthkey(0) * self.Delete(key) * k += 1 # <<<<<<<<<<<<<< * * */ __pyx_v_k = (__pyx_v_k + 1); } /* "mpi4py/MPI/Info.pyx":217 * return self.Dup() * * def clear(self): # <<<<<<<<<<<<<< * """info clear""" * if not self: return None */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Info.clear", __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; } /* "mpi4py/MPI/Op.pyx":7 * """ * * def __cinit__(self, Op op=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_OP_NULL * if op is None: return */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_2Op_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_2Op_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_op,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIOpObject *)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_op); 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(28, 7, __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_op = ((struct PyMPIOpObject *)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(28, 7, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Op.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 1, "op", 0))) __PYX_ERR(28, 7, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_2Op___cinit__(((struct PyMPIOpObject *)__pyx_v_self), __pyx_v_op); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_2Op___cinit__(struct PyMPIOpObject *__pyx_v_self, struct PyMPIOpObject *__pyx_v_op) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; MPI_Op __pyx_t_3; PyObject *(*__pyx_t_4)(PyObject *, PyObject *); int __pyx_t_5; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Op.pyx":8 * * def __cinit__(self, Op op=None): * self.ob_mpi = MPI_OP_NULL # <<<<<<<<<<<<<< * if op is None: return * self.ob_mpi = op.ob_mpi */ __pyx_v_self->ob_mpi = MPI_OP_NULL; /* "mpi4py/MPI/Op.pyx":9 * def __cinit__(self, Op op=None): * self.ob_mpi = MPI_OP_NULL * if op is None: return # <<<<<<<<<<<<<< * self.ob_mpi = op.ob_mpi * self.ob_func = op.ob_func */ __pyx_t_1 = (((PyObject *)__pyx_v_op) == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Op.pyx":10 * self.ob_mpi = MPI_OP_NULL * if op is None: return * self.ob_mpi = op.ob_mpi # <<<<<<<<<<<<<< * self.ob_func = op.ob_func * self.ob_usrid = op.ob_usrid */ __pyx_t_3 = __pyx_v_op->ob_mpi; __pyx_v_self->ob_mpi = __pyx_t_3; /* "mpi4py/MPI/Op.pyx":11 * if op is None: return * self.ob_mpi = op.ob_mpi * self.ob_func = op.ob_func # <<<<<<<<<<<<<< * self.ob_usrid = op.ob_usrid * */ __pyx_t_4 = __pyx_v_op->ob_func; __pyx_v_self->ob_func = __pyx_t_4; /* "mpi4py/MPI/Op.pyx":12 * self.ob_mpi = op.ob_mpi * self.ob_func = op.ob_func * self.ob_usrid = op.ob_usrid # <<<<<<<<<<<<<< * * def __dealloc__(self): */ __pyx_t_5 = __pyx_v_op->ob_usrid; __pyx_v_self->ob_usrid = __pyx_t_5; /* "mpi4py/MPI/Op.pyx":7 * """ * * def __cinit__(self, Op op=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_OP_NULL * if op is None: return */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Op.pyx":14 * self.ob_usrid = op.ob_usrid * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Op(&self.ob_mpi) ) */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_2Op_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_2Op_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_2Op_2__dealloc__(((struct PyMPIOpObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_2Op_2__dealloc__(struct PyMPIOpObject *__pyx_v_self) { __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "mpi4py/MPI/Op.pyx":15 * * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return # <<<<<<<<<<<<<< * CHKERR( del_Op(&self.ob_mpi) ) * op_user_del(&self.ob_usrid) */ __pyx_t_1 = ((!((__pyx_v_self->flags & __pyx_e_6mpi4py_3MPI_PyMPI_OWNED) != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "mpi4py/MPI/Op.pyx":16 * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Op(&self.ob_mpi) ) # <<<<<<<<<<<<<< * op_user_del(&self.ob_usrid) * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(__pyx_f_6mpi4py_3MPI_del_Op((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(28, 16, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":17 * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Op(&self.ob_mpi) ) * op_user_del(&self.ob_usrid) # <<<<<<<<<<<<<< * * def __richcmp__(self, other, int op): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_op_user_del((&__pyx_v_self->ob_usrid)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(28, 17, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":14 * self.ob_usrid = op.ob_usrid * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Op(&self.ob_mpi) ) */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.Op.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/Op.pyx":19 * op_user_del(&self.ob_usrid) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Op): return NotImplemented * cdef Op s = self, o = other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_2Op_4__richcmp__(((struct PyMPIOpObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_op)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_4__richcmp__(struct PyMPIOpObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { struct PyMPIOpObject *__pyx_v_s = 0; struct PyMPIOpObject *__pyx_v_o = 0; PyObject *__pyx_v_mod = 0; PyObject *__pyx_v_cls = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "mpi4py/MPI/Op.pyx":20 * * def __richcmp__(self, other, int op): * if not isinstance(other, Op): return NotImplemented # <<<<<<<<<<<<<< * cdef Op s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_ptype_6mpi4py_3MPI_Op); __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_builtin_NotImplemented); __pyx_r = __pyx_builtin_NotImplemented; goto __pyx_L0; } /* "mpi4py/MPI/Op.pyx":21 * def __richcmp__(self, other, int op): * if not isinstance(other, Op): return NotImplemented * cdef Op s = self, o = other # <<<<<<<<<<<<<< * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) */ __pyx_t_3 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_3); __pyx_v_s = ((struct PyMPIOpObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_v_other; __Pyx_INCREF(__pyx_t_3); __pyx_v_o = ((struct PyMPIOpObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Op.pyx":22 * if not isinstance(other, Op): return NotImplemented * cdef Op s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) # <<<<<<<<<<<<<< * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ */ __pyx_t_2 = ((__pyx_v_op == Py_EQ) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi == __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Op.pyx":23 * cdef Op s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) # <<<<<<<<<<<<<< * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ */ __pyx_t_2 = ((__pyx_v_op == Py_NE) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi != __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Op.pyx":24 * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mod = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Op.pyx":25 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_cls = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Op.pyx":26 * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) # <<<<<<<<<<<<<< * * def __bool__(self): */ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mod); __Pyx_GIVEREF(__pyx_v_mod); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mod); __Pyx_INCREF(__pyx_v_cls); __Pyx_GIVEREF(__pyx_v_cls); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cls); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_unorderable_type_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(28, 26, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":19 * op_user_del(&self.ob_usrid) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Op): return NotImplemented * cdef Op s = self, o = other */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Op.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_s); __Pyx_XDECREF((PyObject *)__pyx_v_o); __Pyx_XDECREF(__pyx_v_mod); __Pyx_XDECREF(__pyx_v_cls); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Op.pyx":28 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_OP_NULL * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_2Op_7__bool__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_2Op_7__bool__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_2Op_6__bool__(((struct PyMPIOpObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_2Op_6__bool__(struct PyMPIOpObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__", 0); /* "mpi4py/MPI/Op.pyx":29 * * def __bool__(self): * return self.ob_mpi != MPI_OP_NULL # <<<<<<<<<<<<<< * * def __call__(self, x, y): */ __pyx_r = (__pyx_v_self->ob_mpi != MPI_OP_NULL); goto __pyx_L0; /* "mpi4py/MPI/Op.pyx":28 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_OP_NULL * */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Op.pyx":31 * return self.ob_mpi != MPI_OP_NULL * * def __call__(self, x, y): # <<<<<<<<<<<<<< * if self.ob_func != NULL: * return self.ob_func(x, y) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_9__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_9__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_x = 0; PyObject *__pyx_v_y = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__call__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,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_x)) != 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_y)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__call__", 1, 2, 2, 1); __PYX_ERR(28, 31, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__call__") < 0)) __PYX_ERR(28, 31, __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_x = values[0]; __pyx_v_y = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__call__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(28, 31, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Op.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_2Op_8__call__(((struct PyMPIOpObject *)__pyx_v_self), __pyx_v_x, __pyx_v_y); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_8__call__(struct PyMPIOpObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_y) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__call__", 0); /* "mpi4py/MPI/Op.pyx":32 * * def __call__(self, x, y): * if self.ob_func != NULL: # <<<<<<<<<<<<<< * return self.ob_func(x, y) * else: */ __pyx_t_1 = ((__pyx_v_self->ob_func != NULL) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/Op.pyx":33 * def __call__(self, x, y): * if self.ob_func != NULL: * return self.ob_func(x, y) # <<<<<<<<<<<<<< * else: * return op_user_py(self.ob_usrid, x, y, None) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_v_self->ob_func(__pyx_v_x, __pyx_v_y); if (unlikely(!__pyx_t_2)) __PYX_ERR(28, 33, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Op.pyx":32 * * def __call__(self, x, y): * if self.ob_func != NULL: # <<<<<<<<<<<<<< * return self.ob_func(x, y) * else: */ } /* "mpi4py/MPI/Op.pyx":35 * return self.ob_func(x, y) * else: * return op_user_py(self.ob_usrid, x, y, None) # <<<<<<<<<<<<<< * * @classmethod */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_op_user_py(__pyx_v_self->ob_usrid, __pyx_v_x, __pyx_v_y, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(28, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Op.pyx":31 * return self.ob_mpi != MPI_OP_NULL * * def __call__(self, x, y): # <<<<<<<<<<<<<< * if self.ob_func != NULL: * return self.ob_func(x, y) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Op.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Op.pyx":38 * * @classmethod * def Create(cls, function, bint commute=False): # <<<<<<<<<<<<<< * """ * Create a user-defined operation */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_11Create(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_2Op_10Create[] = "Op.Create(type cls, function, bool commute=False)\n\n Create a user-defined operation\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_11Create(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_function = 0; int __pyx_v_commute; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_function,&__pyx_n_s_commute,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_function)) != 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_commute); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create") < 0)) __PYX_ERR(28, 38, __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_function = values[0]; if (values[1]) { __pyx_v_commute = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_commute == (int)-1) && PyErr_Occurred())) __PYX_ERR(28, 38, __pyx_L3_error) } else { __pyx_v_commute = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(28, 38, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Op.Create", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_2Op_10Create(((PyTypeObject*)__pyx_v_cls), __pyx_v_function, __pyx_v_commute); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_10Create(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_function, int __pyx_v_commute) { struct PyMPIOpObject *__pyx_v_op = 0; MPI_User_function *__pyx_v_cfunction; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create", 0); /* "mpi4py/MPI/Op.pyx":42 * Create a user-defined operation * """ * cdef Op op = Op.__new__(Op) # <<<<<<<<<<<<<< * cdef MPI_User_function *cfunction = NULL * op.ob_usrid = op_user_new(function, &cfunction) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Op(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Op), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 42, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_op = ((struct PyMPIOpObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Op.pyx":43 * """ * cdef Op op = Op.__new__(Op) * cdef MPI_User_function *cfunction = NULL # <<<<<<<<<<<<<< * op.ob_usrid = op_user_new(function, &cfunction) * CHKERR( MPI_Op_create(cfunction, commute, &op.ob_mpi) ) */ __pyx_v_cfunction = NULL; /* "mpi4py/MPI/Op.pyx":44 * cdef Op op = Op.__new__(Op) * cdef MPI_User_function *cfunction = NULL * op.ob_usrid = op_user_new(function, &cfunction) # <<<<<<<<<<<<<< * CHKERR( MPI_Op_create(cfunction, commute, &op.ob_mpi) ) * return op */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_op_user_new(__pyx_v_function, (&__pyx_v_cfunction)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(28, 44, __pyx_L1_error) __pyx_v_op->ob_usrid = __pyx_t_3; /* "mpi4py/MPI/Op.pyx":45 * cdef MPI_User_function *cfunction = NULL * op.ob_usrid = op_user_new(function, &cfunction) * CHKERR( MPI_Op_create(cfunction, commute, &op.ob_mpi) ) # <<<<<<<<<<<<<< * return op * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Op_create(__pyx_v_cfunction, __pyx_v_commute, (&__pyx_v_op->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(28, 45, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":46 * op.ob_usrid = op_user_new(function, &cfunction) * CHKERR( MPI_Op_create(cfunction, commute, &op.ob_mpi) ) * return op # <<<<<<<<<<<<<< * * def Free(self): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_op)); __pyx_r = ((PyObject *)__pyx_v_op); goto __pyx_L0; /* "mpi4py/MPI/Op.pyx":38 * * @classmethod * def Create(cls, function, bint commute=False): # <<<<<<<<<<<<<< * """ * Create a user-defined operation */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Op.Create", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_op); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Op.pyx":48 * return op * * def Free(self): # <<<<<<<<<<<<<< * """ * Free the operation */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_13Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_2Op_12Free[] = "Op.Free(self)\n\n Free the operation\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_13Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Free", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Free", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_2Op_12Free(((struct PyMPIOpObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_12Free(struct PyMPIOpObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Free", 0); /* "mpi4py/MPI/Op.pyx":52 * Free the operation * """ * CHKERR( MPI_Op_free(&self.ob_mpi) ) # <<<<<<<<<<<<<< * op_user_del(&self.ob_usrid) * if self is __MAX__ : self.ob_mpi = MPI_MAX */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Op_free((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(28, 52, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":53 * """ * CHKERR( MPI_Op_free(&self.ob_mpi) ) * op_user_del(&self.ob_usrid) # <<<<<<<<<<<<<< * if self is __MAX__ : self.ob_mpi = MPI_MAX * elif self is __MIN__ : self.ob_mpi = MPI_MIN */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_op_user_del((&__pyx_v_self->ob_usrid)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(28, 53, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":54 * CHKERR( MPI_Op_free(&self.ob_mpi) ) * op_user_del(&self.ob_usrid) * if self is __MAX__ : self.ob_mpi = MPI_MAX # <<<<<<<<<<<<<< * elif self is __MIN__ : self.ob_mpi = MPI_MIN * elif self is __SUM__ : self.ob_mpi = MPI_SUM */ __pyx_t_2 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___MAX__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_self->ob_mpi = MPI_MAX; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":55 * op_user_del(&self.ob_usrid) * if self is __MAX__ : self.ob_mpi = MPI_MAX * elif self is __MIN__ : self.ob_mpi = MPI_MIN # <<<<<<<<<<<<<< * elif self is __SUM__ : self.ob_mpi = MPI_SUM * elif self is __PROD__ : self.ob_mpi = MPI_PROD */ __pyx_t_3 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___MIN__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_self->ob_mpi = MPI_MIN; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":56 * if self is __MAX__ : self.ob_mpi = MPI_MAX * elif self is __MIN__ : self.ob_mpi = MPI_MIN * elif self is __SUM__ : self.ob_mpi = MPI_SUM # <<<<<<<<<<<<<< * elif self is __PROD__ : self.ob_mpi = MPI_PROD * elif self is __LAND__ : self.ob_mpi = MPI_LAND */ __pyx_t_2 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___SUM__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_self->ob_mpi = MPI_SUM; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":57 * elif self is __MIN__ : self.ob_mpi = MPI_MIN * elif self is __SUM__ : self.ob_mpi = MPI_SUM * elif self is __PROD__ : self.ob_mpi = MPI_PROD # <<<<<<<<<<<<<< * elif self is __LAND__ : self.ob_mpi = MPI_LAND * elif self is __BAND__ : self.ob_mpi = MPI_BAND */ __pyx_t_3 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___PROD__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_self->ob_mpi = MPI_PROD; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":58 * elif self is __SUM__ : self.ob_mpi = MPI_SUM * elif self is __PROD__ : self.ob_mpi = MPI_PROD * elif self is __LAND__ : self.ob_mpi = MPI_LAND # <<<<<<<<<<<<<< * elif self is __BAND__ : self.ob_mpi = MPI_BAND * elif self is __LOR__ : self.ob_mpi = MPI_LOR */ __pyx_t_2 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___LAND__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_self->ob_mpi = MPI_LAND; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":59 * elif self is __PROD__ : self.ob_mpi = MPI_PROD * elif self is __LAND__ : self.ob_mpi = MPI_LAND * elif self is __BAND__ : self.ob_mpi = MPI_BAND # <<<<<<<<<<<<<< * elif self is __LOR__ : self.ob_mpi = MPI_LOR * elif self is __BOR__ : self.ob_mpi = MPI_BOR */ __pyx_t_3 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___BAND__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_self->ob_mpi = MPI_BAND; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":60 * elif self is __LAND__ : self.ob_mpi = MPI_LAND * elif self is __BAND__ : self.ob_mpi = MPI_BAND * elif self is __LOR__ : self.ob_mpi = MPI_LOR # <<<<<<<<<<<<<< * elif self is __BOR__ : self.ob_mpi = MPI_BOR * elif self is __LXOR__ : self.ob_mpi = MPI_LXOR */ __pyx_t_2 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___LOR__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_self->ob_mpi = MPI_LOR; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":61 * elif self is __BAND__ : self.ob_mpi = MPI_BAND * elif self is __LOR__ : self.ob_mpi = MPI_LOR * elif self is __BOR__ : self.ob_mpi = MPI_BOR # <<<<<<<<<<<<<< * elif self is __LXOR__ : self.ob_mpi = MPI_LXOR * elif self is __BXOR__ : self.ob_mpi = MPI_BXOR */ __pyx_t_3 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___BOR__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_self->ob_mpi = MPI_BOR; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":62 * elif self is __LOR__ : self.ob_mpi = MPI_LOR * elif self is __BOR__ : self.ob_mpi = MPI_BOR * elif self is __LXOR__ : self.ob_mpi = MPI_LXOR # <<<<<<<<<<<<<< * elif self is __BXOR__ : self.ob_mpi = MPI_BXOR * elif self is __MAXLOC__ : self.ob_mpi = MPI_MAXLOC */ __pyx_t_2 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___LXOR__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_self->ob_mpi = MPI_LXOR; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":63 * elif self is __BOR__ : self.ob_mpi = MPI_BOR * elif self is __LXOR__ : self.ob_mpi = MPI_LXOR * elif self is __BXOR__ : self.ob_mpi = MPI_BXOR # <<<<<<<<<<<<<< * elif self is __MAXLOC__ : self.ob_mpi = MPI_MAXLOC * elif self is __MINLOC__ : self.ob_mpi = MPI_MINLOC */ __pyx_t_3 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___BXOR__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_self->ob_mpi = MPI_BXOR; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":64 * elif self is __LXOR__ : self.ob_mpi = MPI_LXOR * elif self is __BXOR__ : self.ob_mpi = MPI_BXOR * elif self is __MAXLOC__ : self.ob_mpi = MPI_MAXLOC # <<<<<<<<<<<<<< * elif self is __MINLOC__ : self.ob_mpi = MPI_MINLOC * elif self is __REPLACE__ : self.ob_mpi = MPI_REPLACE */ __pyx_t_2 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___MAXLOC__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_self->ob_mpi = MPI_MAXLOC; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":65 * elif self is __BXOR__ : self.ob_mpi = MPI_BXOR * elif self is __MAXLOC__ : self.ob_mpi = MPI_MAXLOC * elif self is __MINLOC__ : self.ob_mpi = MPI_MINLOC # <<<<<<<<<<<<<< * elif self is __REPLACE__ : self.ob_mpi = MPI_REPLACE * elif self is __NO_OP__ : self.ob_mpi = MPI_NO_OP */ __pyx_t_3 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___MINLOC__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_self->ob_mpi = MPI_MINLOC; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":66 * elif self is __MAXLOC__ : self.ob_mpi = MPI_MAXLOC * elif self is __MINLOC__ : self.ob_mpi = MPI_MINLOC * elif self is __REPLACE__ : self.ob_mpi = MPI_REPLACE # <<<<<<<<<<<<<< * elif self is __NO_OP__ : self.ob_mpi = MPI_NO_OP * */ __pyx_t_2 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___REPLACE__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_self->ob_mpi = MPI_REPLACE; goto __pyx_L3; } /* "mpi4py/MPI/Op.pyx":67 * elif self is __MINLOC__ : self.ob_mpi = MPI_MINLOC * elif self is __REPLACE__ : self.ob_mpi = MPI_REPLACE * elif self is __NO_OP__ : self.ob_mpi = MPI_NO_OP # <<<<<<<<<<<<<< * * # Process-local reduction */ __pyx_t_3 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___NO_OP__); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_self->ob_mpi = MPI_NO_OP; } __pyx_L3:; /* "mpi4py/MPI/Op.pyx":48 * return op * * def Free(self): # <<<<<<<<<<<<<< * """ * Free the operation */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Op.Free", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Op.pyx":72 * # ----------------------- * * def Is_commutative(self): # <<<<<<<<<<<<<< * """ * Query reduction operations for their commutativity */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_15Is_commutative(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_2Op_14Is_commutative[] = "Op.Is_commutative(self)\n\n Query reduction operations for their commutativity\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_15Is_commutative(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Is_commutative (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Is_commutative", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Is_commutative", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_2Op_14Is_commutative(((struct PyMPIOpObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_14Is_commutative(struct PyMPIOpObject *__pyx_v_self) { int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Is_commutative", 0); /* "mpi4py/MPI/Op.pyx":76 * Query reduction operations for their commutativity * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Op_commutative(self.ob_mpi, &flag) ) * return flag */ __pyx_v_flag = 0; /* "mpi4py/MPI/Op.pyx":77 * """ * cdef int flag = 0 * CHKERR( MPI_Op_commutative(self.ob_mpi, &flag) ) # <<<<<<<<<<<<<< * return flag * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Op_commutative(__pyx_v_self->ob_mpi, (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(28, 77, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":78 * cdef int flag = 0 * CHKERR( MPI_Op_commutative(self.ob_mpi, &flag) ) * return flag # <<<<<<<<<<<<<< * * property is_commutative: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(28, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Op.pyx":72 * # ----------------------- * * def Is_commutative(self): # <<<<<<<<<<<<<< * """ * Query reduction operations for their commutativity */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Op.Is_commutative", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Op.pyx":82 * property is_commutative: * """is commutative""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Is_commutative() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_14is_commutative_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_14is_commutative_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_2Op_14is_commutative___get__(((struct PyMPIOpObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_14is_commutative___get__(struct PyMPIOpObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Op.pyx":83 * """is commutative""" * def __get__(self): * return self.Is_commutative() # <<<<<<<<<<<<<< * * def Reduce_local(self, inbuf, inoutbuf): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Is_commutative); if (unlikely(!__pyx_t_2)) __PYX_ERR(28, 83, __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(28, 83, __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; /* "mpi4py/MPI/Op.pyx":82 * property is_commutative: * """is commutative""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Is_commutative() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Op.is_commutative.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Op.pyx":85 * return self.Is_commutative() * * def Reduce_local(self, inbuf, inoutbuf): # <<<<<<<<<<<<<< * """ * Apply a reduction operator to local data */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_17Reduce_local(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_2Op_16Reduce_local[] = "Op.Reduce_local(self, inbuf, inoutbuf)\n\n Apply a reduction operator to local data\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_17Reduce_local(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_inbuf = 0; PyObject *__pyx_v_inoutbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Reduce_local (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_inbuf,&__pyx_n_s_inoutbuf,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_inbuf)) != 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_inoutbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Reduce_local", 1, 2, 2, 1); __PYX_ERR(28, 85, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Reduce_local") < 0)) __PYX_ERR(28, 85, __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_inbuf = values[0]; __pyx_v_inoutbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Reduce_local", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(28, 85, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Op.Reduce_local", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_2Op_16Reduce_local(((struct PyMPIOpObject *)__pyx_v_self), __pyx_v_inbuf, __pyx_v_inoutbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_16Reduce_local(struct PyMPIOpObject *__pyx_v_self, PyObject *__pyx_v_inbuf, PyObject *__pyx_v_inoutbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Reduce_local", 0); /* "mpi4py/MPI/Op.pyx":90 * """ * # get *in* and *inout* buffers * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_cro_send(inbuf, 0) * m.for_cro_recv(inoutbuf, 0) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":91 * # get *in* and *inout* buffers * cdef _p_msg_cco m = message_cco() * m.for_cro_send(inbuf, 0) # <<<<<<<<<<<<<< * m.for_cro_recv(inoutbuf, 0) * # check counts and datatypes */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_send(__pyx_v_m, __pyx_v_inbuf, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(28, 91, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":92 * cdef _p_msg_cco m = message_cco() * m.for_cro_send(inbuf, 0) * m.for_cro_recv(inoutbuf, 0) # <<<<<<<<<<<<<< * # check counts and datatypes * if m.scount != m.rcount: raise ValueError( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_recv(__pyx_v_m, __pyx_v_inoutbuf, 0); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(28, 92, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":94 * m.for_cro_recv(inoutbuf, 0) * # check counts and datatypes * if m.scount != m.rcount: raise ValueError( # <<<<<<<<<<<<<< * "mismatch in inbuf count %d and inoutbuf count %d" % * (m.scount, m.rcount)) */ __pyx_t_3 = ((__pyx_v_m->scount != __pyx_v_m->rcount) != 0); if (unlikely(__pyx_t_3)) { /* "mpi4py/MPI/Op.pyx":96 * if m.scount != m.rcount: raise ValueError( * "mismatch in inbuf count %d and inoutbuf count %d" % * (m.scount, m.rcount)) # <<<<<<<<<<<<<< * if (m.stype != m.rtype): raise ValueError( * "mismatch in inbuf and inoutbuf MPI datatypes") */ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_m->scount); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_m->rcount); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(28, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __pyx_t_1 = 0; __pyx_t_4 = 0; /* "mpi4py/MPI/Op.pyx":95 * # check counts and datatypes * if m.scount != m.rcount: raise ValueError( * "mismatch in inbuf count %d and inoutbuf count %d" % # <<<<<<<<<<<<<< * (m.scount, m.rcount)) * if (m.stype != m.rtype): raise ValueError( */ __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_mismatch_in_inbuf_count_d_and_in, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/Op.pyx":94 * m.for_cro_recv(inoutbuf, 0) * # check counts and datatypes * if m.scount != m.rcount: raise ValueError( # <<<<<<<<<<<<<< * "mismatch in inbuf count %d and inoutbuf count %d" % * (m.scount, m.rcount)) */ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(28, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(28, 94, __pyx_L1_error) } /* "mpi4py/MPI/Op.pyx":97 * "mismatch in inbuf count %d and inoutbuf count %d" % * (m.scount, m.rcount)) * if (m.stype != m.rtype): raise ValueError( # <<<<<<<<<<<<<< * "mismatch in inbuf and inoutbuf MPI datatypes") * # do local reduction */ __pyx_t_3 = ((__pyx_v_m->stype != __pyx_v_m->rtype) != 0); if (unlikely(__pyx_t_3)) { __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(28, 97, __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(28, 97, __pyx_L1_error) } /* "mpi4py/MPI/Op.pyx":100 * "mismatch in inbuf and inoutbuf MPI datatypes") * # do local reduction * with nogil: CHKERR( MPI_Reduce_local( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, self.ob_mpi) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Op.pyx":101 * # do local reduction * with nogil: CHKERR( MPI_Reduce_local( * m.sbuf, m.rbuf, m.rcount, m.rtype, self.ob_mpi) ) # <<<<<<<<<<<<<< * * property is_predefined: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Reduce_local(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(28, 100, __pyx_L6_error) } /* "mpi4py/MPI/Op.pyx":100 * "mismatch in inbuf and inoutbuf MPI datatypes") * # do local reduction * with nogil: CHKERR( MPI_Reduce_local( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, self.ob_mpi) ) * */ /*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:; } } /* "mpi4py/MPI/Op.pyx":85 * return self.Is_commutative() * * def Reduce_local(self, inbuf, inoutbuf): # <<<<<<<<<<<<<< * """ * Apply a reduction operator to local data */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Op.Reduce_local", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Op.pyx":105 * property is_predefined: * """is a predefined operation""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Op op = self.ob_mpi * return (op == MPI_OP_NULL or */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_13is_predefined_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_13is_predefined_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_2Op_13is_predefined___get__(((struct PyMPIOpObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_13is_predefined___get__(struct PyMPIOpObject *__pyx_v_self) { MPI_Op __pyx_v_op; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Op __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Op.pyx":106 * """is a predefined operation""" * def __get__(self): * cdef MPI_Op op = self.ob_mpi # <<<<<<<<<<<<<< * return (op == MPI_OP_NULL or * op == MPI_MAX or */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_op = __pyx_t_1; /* "mpi4py/MPI/Op.pyx":107 * def __get__(self): * cdef MPI_Op op = self.ob_mpi * return (op == MPI_OP_NULL or # <<<<<<<<<<<<<< * op == MPI_MAX or * op == MPI_MIN or */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = (__pyx_v_op == MPI_OP_NULL); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":108 * cdef MPI_Op op = self.ob_mpi * return (op == MPI_OP_NULL or * op == MPI_MAX or # <<<<<<<<<<<<<< * op == MPI_MIN or * op == MPI_SUM or */ __pyx_t_3 = (__pyx_v_op == MPI_MAX); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":109 * return (op == MPI_OP_NULL or * op == MPI_MAX or * op == MPI_MIN or # <<<<<<<<<<<<<< * op == MPI_SUM or * op == MPI_PROD or */ __pyx_t_3 = (__pyx_v_op == MPI_MIN); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":110 * op == MPI_MAX or * op == MPI_MIN or * op == MPI_SUM or # <<<<<<<<<<<<<< * op == MPI_PROD or * op == MPI_LAND or */ __pyx_t_3 = (__pyx_v_op == MPI_SUM); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":111 * op == MPI_MIN or * op == MPI_SUM or * op == MPI_PROD or # <<<<<<<<<<<<<< * op == MPI_LAND or * op == MPI_BAND or */ __pyx_t_3 = (__pyx_v_op == MPI_PROD); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":112 * op == MPI_SUM or * op == MPI_PROD or * op == MPI_LAND or # <<<<<<<<<<<<<< * op == MPI_BAND or * op == MPI_LOR or */ __pyx_t_3 = (__pyx_v_op == MPI_LAND); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":113 * op == MPI_PROD or * op == MPI_LAND or * op == MPI_BAND or # <<<<<<<<<<<<<< * op == MPI_LOR or * op == MPI_BOR or */ __pyx_t_3 = (__pyx_v_op == MPI_BAND); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":114 * op == MPI_LAND or * op == MPI_BAND or * op == MPI_LOR or # <<<<<<<<<<<<<< * op == MPI_BOR or * op == MPI_LXOR or */ __pyx_t_3 = (__pyx_v_op == MPI_LOR); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":115 * op == MPI_BAND or * op == MPI_LOR or * op == MPI_BOR or # <<<<<<<<<<<<<< * op == MPI_LXOR or * op == MPI_BXOR or */ __pyx_t_3 = (__pyx_v_op == MPI_BOR); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":116 * op == MPI_LOR or * op == MPI_BOR or * op == MPI_LXOR or # <<<<<<<<<<<<<< * op == MPI_BXOR or * op == MPI_MAXLOC or */ __pyx_t_3 = (__pyx_v_op == MPI_LXOR); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":117 * op == MPI_BOR or * op == MPI_LXOR or * op == MPI_BXOR or # <<<<<<<<<<<<<< * op == MPI_MAXLOC or * op == MPI_MINLOC or */ __pyx_t_3 = (__pyx_v_op == MPI_BXOR); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":118 * op == MPI_LXOR or * op == MPI_BXOR or * op == MPI_MAXLOC or # <<<<<<<<<<<<<< * op == MPI_MINLOC or * op == MPI_REPLACE or */ __pyx_t_3 = (__pyx_v_op == MPI_MAXLOC); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":119 * op == MPI_BXOR or * op == MPI_MAXLOC or * op == MPI_MINLOC or # <<<<<<<<<<<<<< * op == MPI_REPLACE or * op == MPI_NO_OP) */ __pyx_t_3 = (__pyx_v_op == MPI_MINLOC); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":120 * op == MPI_MAXLOC or * op == MPI_MINLOC or * op == MPI_REPLACE or # <<<<<<<<<<<<<< * op == MPI_NO_OP) * */ __pyx_t_3 = (__pyx_v_op == MPI_REPLACE); if (!__pyx_t_3) { } else { __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L3_bool_binop_done; } /* "mpi4py/MPI/Op.pyx":121 * op == MPI_MINLOC or * op == MPI_REPLACE or * op == MPI_NO_OP) # <<<<<<<<<<<<<< * * # Fortran Handle */ __pyx_t_3 = (__pyx_v_op == MPI_NO_OP); __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __pyx_t_4; __pyx_t_4 = 0; __pyx_L3_bool_binop_done:; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Op.pyx":105 * property is_predefined: * """is a predefined operation""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Op op = self.ob_mpi * return (op == MPI_OP_NULL or */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Op.is_predefined.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Op.pyx":126 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_19py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_2Op_18py2f[] = "Op.py2f(self)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_19py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("py2f (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("py2f", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "py2f", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_2Op_18py2f(((struct PyMPIOpObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_18py2f(struct PyMPIOpObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("py2f", 0); /* "mpi4py/MPI/Op.pyx":129 * """ * """ * return MPI_Op_c2f(self.ob_mpi) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Fint(MPI_Op_c2f(__pyx_v_self->ob_mpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Op.pyx":126 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Op.py2f", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Op.pyx":132 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_21f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_2Op_20f2py[] = "Op.f2py(type cls, arg)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_2Op_21f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("f2py (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "f2py") < 0)) __PYX_ERR(28, 132, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("f2py", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(28, 132, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Op.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_2Op_20f2py(((PyTypeObject*)__pyx_v_cls), __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_2Op_20f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg) { struct PyMPIOpObject *__pyx_v_op = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; MPI_Fint __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("f2py", 0); /* "mpi4py/MPI/Op.pyx":135 * """ * """ * cdef Op op = Op.__new__(Op) # <<<<<<<<<<<<<< * op.ob_mpi = MPI_Op_f2c(arg) * return op */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Op(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Op), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 135, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_op = ((struct PyMPIOpObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Op.pyx":136 * """ * cdef Op op = Op.__new__(Op) * op.ob_mpi = MPI_Op_f2c(arg) # <<<<<<<<<<<<<< * return op * */ __pyx_t_3 = __Pyx_PyInt_As_MPI_Fint(__pyx_v_arg); if (unlikely((__pyx_t_3 == ((MPI_Fint)-1)) && PyErr_Occurred())) __PYX_ERR(28, 136, __pyx_L1_error) __pyx_v_op->ob_mpi = MPI_Op_f2c(__pyx_t_3); /* "mpi4py/MPI/Op.pyx":137 * cdef Op op = Op.__new__(Op) * op.ob_mpi = MPI_Op_f2c(arg) * return op # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_op)); __pyx_r = ((PyObject *)__pyx_v_op); goto __pyx_L0; /* "mpi4py/MPI/Op.pyx":132 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Op.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_op); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":7 * """ * * def __cinit__(self, Group group=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_GROUP_NULL * if group is None: return */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_5Group_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_5Group_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIGroupObject *__pyx_v_group = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIGroupObject *)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_group); 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(29, 7, __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_group = ((struct PyMPIGroupObject *)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(29, 7, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Group.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group), __pyx_ptype_6mpi4py_3MPI_Group, 1, "group", 0))) __PYX_ERR(29, 7, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group___cinit__(((struct PyMPIGroupObject *)__pyx_v_self), __pyx_v_group); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_5Group___cinit__(struct PyMPIGroupObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; MPI_Group __pyx_t_3; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Group.pyx":8 * * def __cinit__(self, Group group=None): * self.ob_mpi = MPI_GROUP_NULL # <<<<<<<<<<<<<< * if group is None: return * self.ob_mpi = group.ob_mpi */ __pyx_v_self->ob_mpi = MPI_GROUP_NULL; /* "mpi4py/MPI/Group.pyx":9 * def __cinit__(self, Group group=None): * self.ob_mpi = MPI_GROUP_NULL * if group is None: return # <<<<<<<<<<<<<< * self.ob_mpi = group.ob_mpi * */ __pyx_t_1 = (((PyObject *)__pyx_v_group) == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Group.pyx":10 * self.ob_mpi = MPI_GROUP_NULL * if group is None: return * self.ob_mpi = group.ob_mpi # <<<<<<<<<<<<<< * * def __dealloc__(self): */ __pyx_t_3 = __pyx_v_group->ob_mpi; __pyx_v_self->ob_mpi = __pyx_t_3; /* "mpi4py/MPI/Group.pyx":7 * """ * * def __cinit__(self, Group group=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_GROUP_NULL * if group is None: return */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":12 * self.ob_mpi = group.ob_mpi * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Group(&self.ob_mpi) ) */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_5Group_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_5Group_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_5Group_2__dealloc__(((struct PyMPIGroupObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_5Group_2__dealloc__(struct PyMPIGroupObject *__pyx_v_self) { __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "mpi4py/MPI/Group.pyx":13 * * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return # <<<<<<<<<<<<<< * CHKERR( del_Group(&self.ob_mpi) ) * */ __pyx_t_1 = ((!((__pyx_v_self->flags & __pyx_e_6mpi4py_3MPI_PyMPI_OWNED) != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "mpi4py/MPI/Group.pyx":14 * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Group(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * def __richcmp__(self, other, int op): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(__pyx_f_6mpi4py_3MPI_del_Group((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(29, 14, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":12 * self.ob_mpi = group.ob_mpi * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Group(&self.ob_mpi) ) */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.Group.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/Group.pyx":16 * CHKERR( del_Group(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Group): return NotImplemented * cdef Group s = self, o = other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_4__richcmp__(((struct PyMPIGroupObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_op)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_4__richcmp__(struct PyMPIGroupObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { struct PyMPIGroupObject *__pyx_v_s = 0; struct PyMPIGroupObject *__pyx_v_o = 0; PyObject *__pyx_v_mod = 0; PyObject *__pyx_v_cls = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "mpi4py/MPI/Group.pyx":17 * * def __richcmp__(self, other, int op): * if not isinstance(other, Group): return NotImplemented # <<<<<<<<<<<<<< * cdef Group s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_ptype_6mpi4py_3MPI_Group); __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_builtin_NotImplemented); __pyx_r = __pyx_builtin_NotImplemented; goto __pyx_L0; } /* "mpi4py/MPI/Group.pyx":18 * def __richcmp__(self, other, int op): * if not isinstance(other, Group): return NotImplemented * cdef Group s = self, o = other # <<<<<<<<<<<<<< * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) */ __pyx_t_3 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_3); __pyx_v_s = ((struct PyMPIGroupObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_v_other; __Pyx_INCREF(__pyx_t_3); __pyx_v_o = ((struct PyMPIGroupObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Group.pyx":19 * if not isinstance(other, Group): return NotImplemented * cdef Group s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) # <<<<<<<<<<<<<< * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ */ __pyx_t_2 = ((__pyx_v_op == Py_EQ) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi == __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Group.pyx":20 * cdef Group s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) # <<<<<<<<<<<<<< * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ */ __pyx_t_2 = ((__pyx_v_op == Py_NE) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi != __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Group.pyx":21 * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mod = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Group.pyx":22 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_cls = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Group.pyx":23 * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) # <<<<<<<<<<<<<< * * def __bool__(self): */ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mod); __Pyx_GIVEREF(__pyx_v_mod); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mod); __Pyx_INCREF(__pyx_v_cls); __Pyx_GIVEREF(__pyx_v_cls); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cls); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_unorderable_type_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(29, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(29, 23, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":16 * CHKERR( del_Group(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Group): return NotImplemented * cdef Group s = self, o = other */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Group.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_s); __Pyx_XDECREF((PyObject *)__pyx_v_o); __Pyx_XDECREF(__pyx_v_mod); __Pyx_XDECREF(__pyx_v_cls); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":25 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_GROUP_NULL * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_5Group_7__bool__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_5Group_7__bool__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_6__bool__(((struct PyMPIGroupObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_5Group_6__bool__(struct PyMPIGroupObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__", 0); /* "mpi4py/MPI/Group.pyx":26 * * def __bool__(self): * return self.ob_mpi != MPI_GROUP_NULL # <<<<<<<<<<<<<< * * # Group Accessors */ __pyx_r = (__pyx_v_self->ob_mpi != MPI_GROUP_NULL); goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":25 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_GROUP_NULL * */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":31 * # --------------- * * def Get_size(self): # <<<<<<<<<<<<<< * """ * Return the size of a group */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_9Get_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_8Get_size[] = "Group.Get_size(self)\n\n Return the size of a group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_9Get_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_size (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_size", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_size", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_8Get_size(((struct PyMPIGroupObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_8Get_size(struct PyMPIGroupObject *__pyx_v_self) { int __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_size", 0); /* "mpi4py/MPI/Group.pyx":35 * Return the size of a group * """ * cdef int size = -1 # <<<<<<<<<<<<<< * CHKERR( MPI_Group_size(self.ob_mpi, &size) ) * return size */ __pyx_v_size = -1; /* "mpi4py/MPI/Group.pyx":36 * """ * cdef int size = -1 * CHKERR( MPI_Group_size(self.ob_mpi, &size) ) # <<<<<<<<<<<<<< * return size * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_size(__pyx_v_self->ob_mpi, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(29, 36, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":37 * cdef int size = -1 * CHKERR( MPI_Group_size(self.ob_mpi, &size) ) * return size # <<<<<<<<<<<<<< * * property size: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 37, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":31 * # --------------- * * def Get_size(self): # <<<<<<<<<<<<<< * """ * Return the size of a group */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Group.Get_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":41 * property size: * """number of processes in group""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_size() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_4size_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_4size_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_4size___get__(((struct PyMPIGroupObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_4size___get__(struct PyMPIGroupObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Group.pyx":42 * """number of processes in group""" * def __get__(self): * return self.Get_size() # <<<<<<<<<<<<<< * * def Get_rank(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 42, __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(29, 42, __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; /* "mpi4py/MPI/Group.pyx":41 * property size: * """number of processes in group""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_size() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Group.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":44 * return self.Get_size() * * def Get_rank(self): # <<<<<<<<<<<<<< * """ * Return the rank of this process in a group */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_11Get_rank(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_10Get_rank[] = "Group.Get_rank(self)\n\n Return the rank of this process in a group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_11Get_rank(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_rank (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_rank", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_rank", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_10Get_rank(((struct PyMPIGroupObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_10Get_rank(struct PyMPIGroupObject *__pyx_v_self) { int __pyx_v_rank; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_rank", 0); /* "mpi4py/MPI/Group.pyx":48 * Return the rank of this process in a group * """ * cdef int rank = -1 # <<<<<<<<<<<<<< * CHKERR( MPI_Group_rank(self.ob_mpi, &rank) ) * return rank */ __pyx_v_rank = -1; /* "mpi4py/MPI/Group.pyx":49 * """ * cdef int rank = -1 * CHKERR( MPI_Group_rank(self.ob_mpi, &rank) ) # <<<<<<<<<<<<<< * return rank * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_rank(__pyx_v_self->ob_mpi, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(29, 49, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":50 * cdef int rank = -1 * CHKERR( MPI_Group_rank(self.ob_mpi, &rank) ) * return rank # <<<<<<<<<<<<<< * * property rank: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_rank); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":44 * return self.Get_size() * * def Get_rank(self): # <<<<<<<<<<<<<< * """ * Return the rank of this process in a group */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Group.Get_rank", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":54 * property rank: * """rank of this process in group""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_rank() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_4rank_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_4rank_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_4rank___get__(((struct PyMPIGroupObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_4rank___get__(struct PyMPIGroupObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Group.pyx":55 * """rank of this process in group""" * def __get__(self): * return self.Get_rank() # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_rank); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 55, __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(29, 55, __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; /* "mpi4py/MPI/Group.pyx":54 * property rank: * """rank of this process in group""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_rank() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Group.rank.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":58 * * @classmethod * def Translate_ranks(cls, Group group1, ranks1, Group group2=None): # <<<<<<<<<<<<<< * """ * Translate the ranks of processes in */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_13Translate_ranks(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_12Translate_ranks[] = "Group.Translate_ranks(type cls, Group group1, ranks1, Group group2=None)\n\n Translate the ranks of processes in\n one group to those in another group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_13Translate_ranks(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIGroupObject *__pyx_v_group1 = 0; PyObject *__pyx_v_ranks1 = 0; struct PyMPIGroupObject *__pyx_v_group2 = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Translate_ranks (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group1,&__pyx_n_s_ranks1,&__pyx_n_s_group2,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)((struct PyMPIGroupObject *)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_group1)) != 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_ranks1)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Translate_ranks", 0, 2, 3, 1); __PYX_ERR(29, 58, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_group2); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Translate_ranks") < 0)) __PYX_ERR(29, 58, __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_group1 = ((struct PyMPIGroupObject *)values[0]); __pyx_v_ranks1 = values[1]; __pyx_v_group2 = ((struct PyMPIGroupObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Translate_ranks", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(29, 58, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Group.Translate_ranks", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group1), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group1", 0))) __PYX_ERR(29, 58, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group2), __pyx_ptype_6mpi4py_3MPI_Group, 1, "group2", 0))) __PYX_ERR(29, 58, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_12Translate_ranks(((PyTypeObject*)__pyx_v_cls), __pyx_v_group1, __pyx_v_ranks1, __pyx_v_group2); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_12Translate_ranks(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIGroupObject *__pyx_v_group1, PyObject *__pyx_v_ranks1, struct PyMPIGroupObject *__pyx_v_group2) { MPI_Group __pyx_v_grp1; MPI_Group __pyx_v_grp2; int __pyx_v_i; int __pyx_v_n; int *__pyx_v_iranks1; int *__pyx_v_iranks2; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; PyObject *__pyx_v_ranks2 = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; MPI_Group __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_t_6; char const *__pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; int __pyx_t_14; PyObject *__pyx_t_15 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Translate_ranks", 0); /* "mpi4py/MPI/Group.pyx":63 * one group to those in another group * """ * cdef MPI_Group grp1 = MPI_GROUP_NULL # <<<<<<<<<<<<<< * cdef MPI_Group grp2 = MPI_GROUP_NULL * cdef int i = 0, n = 0, *iranks1 = NULL, *iranks2 = NULL */ __pyx_v_grp1 = MPI_GROUP_NULL; /* "mpi4py/MPI/Group.pyx":64 * """ * cdef MPI_Group grp1 = MPI_GROUP_NULL * cdef MPI_Group grp2 = MPI_GROUP_NULL # <<<<<<<<<<<<<< * cdef int i = 0, n = 0, *iranks1 = NULL, *iranks2 = NULL * cdef tmp1 = getarray(ranks1, &n, &iranks1) */ __pyx_v_grp2 = MPI_GROUP_NULL; /* "mpi4py/MPI/Group.pyx":65 * cdef MPI_Group grp1 = MPI_GROUP_NULL * cdef MPI_Group grp2 = MPI_GROUP_NULL * cdef int i = 0, n = 0, *iranks1 = NULL, *iranks2 = NULL # <<<<<<<<<<<<<< * cdef tmp1 = getarray(ranks1, &n, &iranks1) * cdef tmp2 = newarray(n, &iranks2) */ __pyx_v_i = 0; __pyx_v_n = 0; __pyx_v_iranks1 = NULL; __pyx_v_iranks2 = NULL; /* "mpi4py/MPI/Group.pyx":66 * cdef MPI_Group grp2 = MPI_GROUP_NULL * cdef int i = 0, n = 0, *iranks1 = NULL, *iranks2 = NULL * cdef tmp1 = getarray(ranks1, &n, &iranks1) # <<<<<<<<<<<<<< * cdef tmp2 = newarray(n, &iranks2) * # */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_ranks1, (&__pyx_v_n), (&__pyx_v_iranks1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp1 = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Group.pyx":67 * cdef int i = 0, n = 0, *iranks1 = NULL, *iranks2 = NULL * cdef tmp1 = getarray(ranks1, &n, &iranks1) * cdef tmp2 = newarray(n, &iranks2) # <<<<<<<<<<<<<< * # * grp1 = group1.ob_mpi */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_n, (&__pyx_v_iranks2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp2 = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Group.pyx":69 * cdef tmp2 = newarray(n, &iranks2) * # * grp1 = group1.ob_mpi # <<<<<<<<<<<<<< * if group2 is not None: * grp2 = group2.ob_mpi */ __pyx_t_2 = __pyx_v_group1->ob_mpi; __pyx_v_grp1 = __pyx_t_2; /* "mpi4py/MPI/Group.pyx":70 * # * grp1 = group1.ob_mpi * if group2 is not None: # <<<<<<<<<<<<<< * grp2 = group2.ob_mpi * else: */ __pyx_t_3 = (((PyObject *)__pyx_v_group2) != Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/Group.pyx":71 * grp1 = group1.ob_mpi * if group2 is not None: * grp2 = group2.ob_mpi # <<<<<<<<<<<<<< * else: * CHKERR( MPI_Comm_group(MPI_COMM_WORLD, &grp2) ) */ __pyx_t_2 = __pyx_v_group2->ob_mpi; __pyx_v_grp2 = __pyx_t_2; /* "mpi4py/MPI/Group.pyx":70 * # * grp1 = group1.ob_mpi * if group2 is not None: # <<<<<<<<<<<<<< * grp2 = group2.ob_mpi * else: */ goto __pyx_L3; } /* "mpi4py/MPI/Group.pyx":73 * grp2 = group2.ob_mpi * else: * CHKERR( MPI_Comm_group(MPI_COMM_WORLD, &grp2) ) # <<<<<<<<<<<<<< * try: * CHKERR( MPI_Group_translate_ranks(grp1, n, iranks1, */ /*else*/ { __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_group(MPI_COMM_WORLD, (&__pyx_v_grp2))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(29, 73, __pyx_L1_error) } __pyx_L3:; /* "mpi4py/MPI/Group.pyx":74 * else: * CHKERR( MPI_Comm_group(MPI_COMM_WORLD, &grp2) ) * try: # <<<<<<<<<<<<<< * CHKERR( MPI_Group_translate_ranks(grp1, n, iranks1, * grp2, iranks2) ) */ /*try:*/ { /* "mpi4py/MPI/Group.pyx":75 * CHKERR( MPI_Comm_group(MPI_COMM_WORLD, &grp2) ) * try: * CHKERR( MPI_Group_translate_ranks(grp1, n, iranks1, # <<<<<<<<<<<<<< * grp2, iranks2) ) * finally: */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_translate_ranks(__pyx_v_grp1, __pyx_v_n, __pyx_v_iranks1, __pyx_v_grp2, __pyx_v_iranks2)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(29, 75, __pyx_L5_error) } /* "mpi4py/MPI/Group.pyx":78 * grp2, iranks2) ) * finally: * if group2 is None: # <<<<<<<<<<<<<< * CHKERR( MPI_Group_free(&grp2) ) * # */ /*finally:*/ { /*normal exit:*/{ __pyx_t_4 = (((PyObject *)__pyx_v_group2) == Py_None); __pyx_t_3 = (__pyx_t_4 != 0); if (__pyx_t_3) { /* "mpi4py/MPI/Group.pyx":79 * finally: * if group2 is None: * CHKERR( MPI_Group_free(&grp2) ) # <<<<<<<<<<<<<< * # * cdef object ranks2 = [iranks2[i] for i from 0 <= i < n] */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_free((&__pyx_v_grp2))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(29, 79, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":78 * grp2, iranks2) ) * finally: * if group2 is None: # <<<<<<<<<<<<<< * CHKERR( MPI_Group_free(&grp2) ) * # */ } goto __pyx_L6; } __pyx_L5_error:; /*exception exit:*/{ __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); __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_XGOTREF(__pyx_t_13); __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename; { __pyx_t_3 = (((PyObject *)__pyx_v_group2) == Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/Group.pyx":79 * finally: * if group2 is None: * CHKERR( MPI_Group_free(&grp2) ) # <<<<<<<<<<<<<< * # * cdef object ranks2 = [iranks2[i] for i from 0 <= i < n] */ __pyx_t_14 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_free((&__pyx_v_grp2))); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(29, 79, __pyx_L9_error) /* "mpi4py/MPI/Group.pyx":78 * grp2, iranks2) ) * finally: * if group2 is None: # <<<<<<<<<<<<<< * CHKERR( MPI_Group_free(&grp2) ) * # */ } } if (PY_MAJOR_VERSION >= 3) { __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_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10); __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7; goto __pyx_L1_error; __pyx_L9_error:; if (PY_MAJOR_VERSION >= 3) { __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_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; goto __pyx_L1_error; } __pyx_L6:; } /* "mpi4py/MPI/Group.pyx":81 * CHKERR( MPI_Group_free(&grp2) ) * # * cdef object ranks2 = [iranks2[i] for i from 0 <= i < n] # <<<<<<<<<<<<<< * return ranks2 * */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_6; __pyx_v_i++) { __pyx_t_15 = __Pyx_PyInt_From_int((__pyx_v_iranks2[__pyx_v_i])); if (unlikely(!__pyx_t_15)) __PYX_ERR(29, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_15))) __PYX_ERR(29, 81, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __pyx_v_ranks2 = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/Group.pyx":82 * # * cdef object ranks2 = [iranks2[i] for i from 0 <= i < n] * return ranks2 # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ranks2); __pyx_r = __pyx_v_ranks2; goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":58 * * @classmethod * def Translate_ranks(cls, Group group1, ranks1, Group group2=None): # <<<<<<<<<<<<<< * """ * Translate the ranks of processes in */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_15); __Pyx_AddTraceback("mpi4py.MPI.Group.Translate_ranks", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_ranks2); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":85 * * @classmethod * def Compare(cls, Group group1, Group group2): # <<<<<<<<<<<<<< * """ * Compare two groups */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_15Compare(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_14Compare[] = "Group.Compare(type cls, Group group1, Group group2)\n\n Compare two groups\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_15Compare(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIGroupObject *__pyx_v_group1 = 0; struct PyMPIGroupObject *__pyx_v_group2 = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Compare (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group1,&__pyx_n_s_group2,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_group1)) != 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_group2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Compare", 1, 2, 2, 1); __PYX_ERR(29, 85, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Compare") < 0)) __PYX_ERR(29, 85, __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_group1 = ((struct PyMPIGroupObject *)values[0]); __pyx_v_group2 = ((struct PyMPIGroupObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Compare", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(29, 85, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Group.Compare", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group1), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group1", 0))) __PYX_ERR(29, 85, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group2), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group2", 0))) __PYX_ERR(29, 85, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_14Compare(((PyTypeObject*)__pyx_v_cls), __pyx_v_group1, __pyx_v_group2); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_14Compare(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIGroupObject *__pyx_v_group1, struct PyMPIGroupObject *__pyx_v_group2) { int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Compare", 0); /* "mpi4py/MPI/Group.pyx":89 * Compare two groups * """ * cdef int flag = MPI_UNEQUAL # <<<<<<<<<<<<<< * CHKERR( MPI_Group_compare(group1.ob_mpi, group2.ob_mpi, &flag) ) * return flag */ __pyx_v_flag = MPI_UNEQUAL; /* "mpi4py/MPI/Group.pyx":90 * """ * cdef int flag = MPI_UNEQUAL * CHKERR( MPI_Group_compare(group1.ob_mpi, group2.ob_mpi, &flag) ) # <<<<<<<<<<<<<< * return flag * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_compare(__pyx_v_group1->ob_mpi, __pyx_v_group2->ob_mpi, (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(29, 90, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":91 * cdef int flag = MPI_UNEQUAL * CHKERR( MPI_Group_compare(group1.ob_mpi, group2.ob_mpi, &flag) ) * return flag # <<<<<<<<<<<<<< * * # Group Constructors */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_flag); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 91, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":85 * * @classmethod * def Compare(cls, Group group1, Group group2): # <<<<<<<<<<<<<< * """ * Compare two groups */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Group.Compare", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":96 * # ------------------ * * def Dup(self): # <<<<<<<<<<<<<< * """ * Duplicate a group */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_17Dup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_16Dup[] = "Group.Dup(self)\n\n Duplicate a group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_17Dup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Dup (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Dup", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Dup", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_16Dup(((struct PyMPIGroupObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_16Dup(struct PyMPIGroupObject *__pyx_v_self) { struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Dup", 0); /* "mpi4py/MPI/Group.pyx":100 * Duplicate a group * """ * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * CHKERR( MPI_Group_union(self.ob_mpi, MPI_GROUP_EMPTY, &group.ob_mpi) ) * return group */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 100, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Group.pyx":101 * """ * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_union(self.ob_mpi, MPI_GROUP_EMPTY, &group.ob_mpi) ) # <<<<<<<<<<<<<< * return group * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_union(__pyx_v_self->ob_mpi, MPI_GROUP_EMPTY, (&__pyx_v_group->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(29, 101, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":102 * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_union(self.ob_mpi, MPI_GROUP_EMPTY, &group.ob_mpi) ) * return group # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":96 * # ------------------ * * def Dup(self): # <<<<<<<<<<<<<< * """ * Duplicate a group */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Group.Dup", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":105 * * @classmethod * def Union(cls, Group group1, Group group2): # <<<<<<<<<<<<<< * """ * Produce a group by combining */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_19Union(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_18Union[] = "Group.Union(type cls, Group group1, Group group2)\n\n Produce a group by combining\n two existing groups\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_19Union(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIGroupObject *__pyx_v_group1 = 0; struct PyMPIGroupObject *__pyx_v_group2 = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Union (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group1,&__pyx_n_s_group2,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_group1)) != 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_group2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Union", 1, 2, 2, 1); __PYX_ERR(29, 105, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Union") < 0)) __PYX_ERR(29, 105, __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_group1 = ((struct PyMPIGroupObject *)values[0]); __pyx_v_group2 = ((struct PyMPIGroupObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Union", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(29, 105, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Group.Union", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group1), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group1", 0))) __PYX_ERR(29, 105, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group2), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group2", 0))) __PYX_ERR(29, 105, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_18Union(((PyTypeObject*)__pyx_v_cls), __pyx_v_group1, __pyx_v_group2); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_18Union(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIGroupObject *__pyx_v_group1, struct PyMPIGroupObject *__pyx_v_group2) { struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Union", 0); /* "mpi4py/MPI/Group.pyx":110 * two existing groups * """ * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * CHKERR( MPI_Group_union( * group1.ob_mpi, group2.ob_mpi, &group.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 110, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Group.pyx":111 * """ * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_union( # <<<<<<<<<<<<<< * group1.ob_mpi, group2.ob_mpi, &group.ob_mpi) ) * return group */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_union(__pyx_v_group1->ob_mpi, __pyx_v_group2->ob_mpi, (&__pyx_v_group->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(29, 111, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":113 * CHKERR( MPI_Group_union( * group1.ob_mpi, group2.ob_mpi, &group.ob_mpi) ) * return group # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":105 * * @classmethod * def Union(cls, Group group1, Group group2): # <<<<<<<<<<<<<< * """ * Produce a group by combining */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Group.Union", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":116 * * @classmethod * def Intersection(cls, Group group1, Group group2): # <<<<<<<<<<<<<< * """ * Produce a group as the intersection */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_21Intersection(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_20Intersection[] = "Group.Intersection(type cls, Group group1, Group group2)\n\n Produce a group as the intersection\n of two existing groups\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_21Intersection(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIGroupObject *__pyx_v_group1 = 0; struct PyMPIGroupObject *__pyx_v_group2 = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Intersection (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group1,&__pyx_n_s_group2,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_group1)) != 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_group2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Intersection", 1, 2, 2, 1); __PYX_ERR(29, 116, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Intersection") < 0)) __PYX_ERR(29, 116, __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_group1 = ((struct PyMPIGroupObject *)values[0]); __pyx_v_group2 = ((struct PyMPIGroupObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Intersection", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(29, 116, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Group.Intersection", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group1), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group1", 0))) __PYX_ERR(29, 116, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group2), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group2", 0))) __PYX_ERR(29, 116, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_20Intersection(((PyTypeObject*)__pyx_v_cls), __pyx_v_group1, __pyx_v_group2); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_20Intersection(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIGroupObject *__pyx_v_group1, struct PyMPIGroupObject *__pyx_v_group2) { struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Intersection", 0); /* "mpi4py/MPI/Group.pyx":121 * of two existing groups * """ * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * CHKERR( MPI_Group_intersection( * group1.ob_mpi, group2.ob_mpi, &group.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 121, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Group.pyx":122 * """ * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_intersection( # <<<<<<<<<<<<<< * group1.ob_mpi, group2.ob_mpi, &group.ob_mpi) ) * return group */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_intersection(__pyx_v_group1->ob_mpi, __pyx_v_group2->ob_mpi, (&__pyx_v_group->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(29, 122, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":124 * CHKERR( MPI_Group_intersection( * group1.ob_mpi, group2.ob_mpi, &group.ob_mpi) ) * return group # <<<<<<<<<<<<<< * * Intersect = Intersection */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":116 * * @classmethod * def Intersection(cls, Group group1, Group group2): # <<<<<<<<<<<<<< * """ * Produce a group as the intersection */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Group.Intersection", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":129 * * @classmethod * def Difference(cls, Group group1, Group group2): # <<<<<<<<<<<<<< * """ * Produce a group from the difference */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_23Difference(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_22Difference[] = "Group.Difference(type cls, Group group1, Group group2)\n\n Produce a group from the difference\n of two existing groups\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_23Difference(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIGroupObject *__pyx_v_group1 = 0; struct PyMPIGroupObject *__pyx_v_group2 = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Difference (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group1,&__pyx_n_s_group2,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_group1)) != 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_group2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Difference", 1, 2, 2, 1); __PYX_ERR(29, 129, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Difference") < 0)) __PYX_ERR(29, 129, __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_group1 = ((struct PyMPIGroupObject *)values[0]); __pyx_v_group2 = ((struct PyMPIGroupObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Difference", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(29, 129, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Group.Difference", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group1), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group1", 0))) __PYX_ERR(29, 129, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group2), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group2", 0))) __PYX_ERR(29, 129, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_22Difference(((PyTypeObject*)__pyx_v_cls), __pyx_v_group1, __pyx_v_group2); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_22Difference(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIGroupObject *__pyx_v_group1, struct PyMPIGroupObject *__pyx_v_group2) { struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Difference", 0); /* "mpi4py/MPI/Group.pyx":134 * of two existing groups * """ * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * CHKERR( MPI_Group_difference( * group1.ob_mpi, group2.ob_mpi, &group.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 134, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Group.pyx":135 * """ * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_difference( # <<<<<<<<<<<<<< * group1.ob_mpi, group2.ob_mpi, &group.ob_mpi) ) * return group */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_difference(__pyx_v_group1->ob_mpi, __pyx_v_group2->ob_mpi, (&__pyx_v_group->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(29, 135, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":137 * CHKERR( MPI_Group_difference( * group1.ob_mpi, group2.ob_mpi, &group.ob_mpi) ) * return group # <<<<<<<<<<<<<< * * def Incl(self, ranks): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":129 * * @classmethod * def Difference(cls, Group group1, Group group2): # <<<<<<<<<<<<<< * """ * Produce a group from the difference */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Group.Difference", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":139 * return group * * def Incl(self, ranks): # <<<<<<<<<<<<<< * """ * Produce a group by reordering an existing */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_25Incl(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_24Incl[] = "Group.Incl(self, ranks)\n\n Produce a group by reordering an existing\n group and taking only listed members\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_25Incl(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_ranks = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Incl (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ranks,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_ranks)) != 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, "Incl") < 0)) __PYX_ERR(29, 139, __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_ranks = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Incl", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(29, 139, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Group.Incl", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_24Incl(((struct PyMPIGroupObject *)__pyx_v_self), __pyx_v_ranks); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_24Incl(struct PyMPIGroupObject *__pyx_v_self, PyObject *__pyx_v_ranks) { int __pyx_v_n; int *__pyx_v_iranks; struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Incl", 0); __Pyx_INCREF(__pyx_v_ranks); /* "mpi4py/MPI/Group.pyx":144 * group and taking only listed members * """ * cdef int n = 0, *iranks = NULL # <<<<<<<<<<<<<< * ranks = getarray(ranks, &n, &iranks) * cdef Group group = Group.__new__(Group) */ __pyx_v_n = 0; __pyx_v_iranks = NULL; /* "mpi4py/MPI/Group.pyx":145 * """ * cdef int n = 0, *iranks = NULL * ranks = getarray(ranks, &n, &iranks) # <<<<<<<<<<<<<< * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_incl(self.ob_mpi, n, iranks, &group.ob_mpi) ) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_ranks, (&__pyx_v_n), (&__pyx_v_iranks)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_ranks, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Group.pyx":146 * cdef int n = 0, *iranks = NULL * ranks = getarray(ranks, &n, &iranks) * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * CHKERR( MPI_Group_incl(self.ob_mpi, n, iranks, &group.ob_mpi) ) * return group */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 146, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Group.pyx":147 * ranks = getarray(ranks, &n, &iranks) * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_incl(self.ob_mpi, n, iranks, &group.ob_mpi) ) # <<<<<<<<<<<<<< * return group * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_incl(__pyx_v_self->ob_mpi, __pyx_v_n, __pyx_v_iranks, (&__pyx_v_group->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(29, 147, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":148 * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_incl(self.ob_mpi, n, iranks, &group.ob_mpi) ) * return group # <<<<<<<<<<<<<< * * def Excl(self, ranks): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":139 * return group * * def Incl(self, ranks): # <<<<<<<<<<<<<< * """ * Produce a group by reordering an existing */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Group.Incl", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XDECREF(__pyx_v_ranks); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":150 * return group * * def Excl(self, ranks): # <<<<<<<<<<<<<< * """ * Produce a group by reordering an existing */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_27Excl(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_26Excl[] = "Group.Excl(self, ranks)\n\n Produce a group by reordering an existing\n group and taking only unlisted members\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_27Excl(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_ranks = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Excl (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ranks,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_ranks)) != 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, "Excl") < 0)) __PYX_ERR(29, 150, __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_ranks = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Excl", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(29, 150, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Group.Excl", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_26Excl(((struct PyMPIGroupObject *)__pyx_v_self), __pyx_v_ranks); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_26Excl(struct PyMPIGroupObject *__pyx_v_self, PyObject *__pyx_v_ranks) { int __pyx_v_n; int *__pyx_v_iranks; struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Excl", 0); __Pyx_INCREF(__pyx_v_ranks); /* "mpi4py/MPI/Group.pyx":155 * group and taking only unlisted members * """ * cdef int n = 0, *iranks = NULL # <<<<<<<<<<<<<< * ranks = getarray(ranks, &n, &iranks) * cdef Group group = Group.__new__(Group) */ __pyx_v_n = 0; __pyx_v_iranks = NULL; /* "mpi4py/MPI/Group.pyx":156 * """ * cdef int n = 0, *iranks = NULL * ranks = getarray(ranks, &n, &iranks) # <<<<<<<<<<<<<< * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_excl(self.ob_mpi, n, iranks, &group.ob_mpi) ) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_ranks, (&__pyx_v_n), (&__pyx_v_iranks)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_ranks, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Group.pyx":157 * cdef int n = 0, *iranks = NULL * ranks = getarray(ranks, &n, &iranks) * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * CHKERR( MPI_Group_excl(self.ob_mpi, n, iranks, &group.ob_mpi) ) * return group */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 157, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Group.pyx":158 * ranks = getarray(ranks, &n, &iranks) * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_excl(self.ob_mpi, n, iranks, &group.ob_mpi) ) # <<<<<<<<<<<<<< * return group * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_excl(__pyx_v_self->ob_mpi, __pyx_v_n, __pyx_v_iranks, (&__pyx_v_group->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(29, 158, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":159 * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_excl(self.ob_mpi, n, iranks, &group.ob_mpi) ) * return group # <<<<<<<<<<<<<< * * def Range_incl(self, ranks): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":150 * return group * * def Excl(self, ranks): # <<<<<<<<<<<<<< * """ * Produce a group by reordering an existing */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Group.Excl", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XDECREF(__pyx_v_ranks); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":161 * return group * * def Range_incl(self, ranks): # <<<<<<<<<<<<<< * """ * Create a new group from ranges of */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_29Range_incl(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_28Range_incl[] = "Group.Range_incl(self, ranks)\n\n Create a new group from ranges of\n of ranks in an existing group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_29Range_incl(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_ranks = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Range_incl (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ranks,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_ranks)) != 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, "Range_incl") < 0)) __PYX_ERR(29, 161, __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_ranks = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Range_incl", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(29, 161, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Group.Range_incl", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_28Range_incl(((struct PyMPIGroupObject *)__pyx_v_self), __pyx_v_ranks); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_28Range_incl(struct PyMPIGroupObject *__pyx_v_self, PyObject *__pyx_v_ranks) { int *__pyx_v_p; int (*__pyx_v_ranges)[3]; int __pyx_v_i; int __pyx_v_n; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *(*__pyx_t_8)(PyObject *); int __pyx_t_9; int __pyx_t_10; int __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Range_incl", 0); /* "mpi4py/MPI/Group.pyx":166 * of ranks in an existing group * """ * cdef int *p = NULL, (*ranges)[3]# = NULL ## XXX cython fails # <<<<<<<<<<<<<< * ranges = NULL * cdef int i = 0, n = len(ranks) */ __pyx_v_p = NULL; /* "mpi4py/MPI/Group.pyx":167 * """ * cdef int *p = NULL, (*ranges)[3]# = NULL ## XXX cython fails * ranges = NULL # <<<<<<<<<<<<<< * cdef int i = 0, n = len(ranks) * cdef tmp1 = allocate(n, sizeof(int[3]), &ranges) */ __pyx_v_ranges = NULL; /* "mpi4py/MPI/Group.pyx":168 * cdef int *p = NULL, (*ranges)[3]# = NULL ## XXX cython fails * ranges = NULL * cdef int i = 0, n = len(ranks) # <<<<<<<<<<<<<< * cdef tmp1 = allocate(n, sizeof(int[3]), &ranges) * for i from 0 <= i < n: */ __pyx_v_i = 0; __pyx_t_1 = PyObject_Length(__pyx_v_ranks); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(29, 168, __pyx_L1_error) __pyx_v_n = ((int)__pyx_t_1); /* "mpi4py/MPI/Group.pyx":169 * ranges = NULL * cdef int i = 0, n = len(ranks) * cdef tmp1 = allocate(n, sizeof(int[3]), &ranges) # <<<<<<<<<<<<<< * for i from 0 <= i < n: * p = ranges[i] */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_n, (sizeof(int [3])), (&__pyx_v_ranges))); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Group.pyx":170 * cdef int i = 0, n = len(ranks) * cdef tmp1 = allocate(n, sizeof(int[3]), &ranges) * for i from 0 <= i < n: # <<<<<<<<<<<<<< * p = ranges[i] * p[0], p[1], p[2] = ranks[i] */ __pyx_t_3 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { /* "mpi4py/MPI/Group.pyx":171 * cdef tmp1 = allocate(n, sizeof(int[3]), &ranges) * for i from 0 <= i < n: * p = ranges[i] # <<<<<<<<<<<<<< * p[0], p[1], p[2] = ranks[i] * cdef Group group = Group.__new__(Group) */ __pyx_v_p = ((int *)(__pyx_v_ranges[__pyx_v_i])); /* "mpi4py/MPI/Group.pyx":172 * for i from 0 <= i < n: * p = ranges[i] * p[0], p[1], p[2] = ranks[i] # <<<<<<<<<<<<<< * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_range_incl(self.ob_mpi, n, ranges, &group.ob_mpi) ) */ __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_ranks, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); 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 != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(29, 172, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); __pyx_t_6 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); #else __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(29, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(29, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(29, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(29, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; index = 0; __pyx_t_4 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 1; __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 = 2; __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), 3) < 0) __PYX_ERR(29, 172, __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(29, 172, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(29, 172, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(29, 172, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(29, 172, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; (__pyx_v_p[0]) = __pyx_t_9; (__pyx_v_p[1]) = __pyx_t_10; (__pyx_v_p[2]) = __pyx_t_11; } /* "mpi4py/MPI/Group.pyx":173 * p = ranges[i] * p[0], p[1], p[2] = ranks[i] * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * CHKERR( MPI_Group_range_incl(self.ob_mpi, n, ranges, &group.ob_mpi) ) * return group */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 173, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_6 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_6); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/Group.pyx":174 * p[0], p[1], p[2] = ranks[i] * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_range_incl(self.ob_mpi, n, ranges, &group.ob_mpi) ) # <<<<<<<<<<<<<< * return group * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_range_incl(__pyx_v_self->ob_mpi, __pyx_v_n, __pyx_v_ranges, (&__pyx_v_group->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(29, 174, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":175 * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_range_incl(self.ob_mpi, n, ranges, &group.ob_mpi) ) * return group # <<<<<<<<<<<<<< * * def Range_excl(self, ranks): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":161 * return group * * def Range_incl(self, ranks): # <<<<<<<<<<<<<< * """ * Create a new group from ranges of */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.Group.Range_incl", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":177 * return group * * def Range_excl(self, ranks): # <<<<<<<<<<<<<< * """ * Create a new group by excluding ranges */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_31Range_excl(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_30Range_excl[] = "Group.Range_excl(self, ranks)\n\n Create a new group by excluding ranges\n of processes from an existing group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_31Range_excl(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_ranks = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Range_excl (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ranks,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_ranks)) != 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, "Range_excl") < 0)) __PYX_ERR(29, 177, __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_ranks = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Range_excl", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(29, 177, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Group.Range_excl", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_30Range_excl(((struct PyMPIGroupObject *)__pyx_v_self), __pyx_v_ranks); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_30Range_excl(struct PyMPIGroupObject *__pyx_v_self, PyObject *__pyx_v_ranks) { int *__pyx_v_p; int (*__pyx_v_ranges)[3]; int __pyx_v_i; int __pyx_v_n; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *(*__pyx_t_8)(PyObject *); int __pyx_t_9; int __pyx_t_10; int __pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Range_excl", 0); /* "mpi4py/MPI/Group.pyx":182 * of processes from an existing group * """ * cdef int *p = NULL, (*ranges)[3]# = NULL ## XXX cython fails # <<<<<<<<<<<<<< * ranges = NULL * cdef int i = 0, n = len(ranks) */ __pyx_v_p = NULL; /* "mpi4py/MPI/Group.pyx":183 * """ * cdef int *p = NULL, (*ranges)[3]# = NULL ## XXX cython fails * ranges = NULL # <<<<<<<<<<<<<< * cdef int i = 0, n = len(ranks) * cdef tmp1 = allocate(n, sizeof(int[3]), &ranges) */ __pyx_v_ranges = NULL; /* "mpi4py/MPI/Group.pyx":184 * cdef int *p = NULL, (*ranges)[3]# = NULL ## XXX cython fails * ranges = NULL * cdef int i = 0, n = len(ranks) # <<<<<<<<<<<<<< * cdef tmp1 = allocate(n, sizeof(int[3]), &ranges) * for i from 0 <= i < n: */ __pyx_v_i = 0; __pyx_t_1 = PyObject_Length(__pyx_v_ranks); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(29, 184, __pyx_L1_error) __pyx_v_n = ((int)__pyx_t_1); /* "mpi4py/MPI/Group.pyx":185 * ranges = NULL * cdef int i = 0, n = len(ranks) * cdef tmp1 = allocate(n, sizeof(int[3]), &ranges) # <<<<<<<<<<<<<< * for i from 0 <= i < n: * p = ranges[i] */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_n, (sizeof(int [3])), (&__pyx_v_ranges))); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Group.pyx":186 * cdef int i = 0, n = len(ranks) * cdef tmp1 = allocate(n, sizeof(int[3]), &ranges) * for i from 0 <= i < n: # <<<<<<<<<<<<<< * p = ranges[i] * p[0], p[1], p[2] = ranks[i] */ __pyx_t_3 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { /* "mpi4py/MPI/Group.pyx":187 * cdef tmp1 = allocate(n, sizeof(int[3]), &ranges) * for i from 0 <= i < n: * p = ranges[i] # <<<<<<<<<<<<<< * p[0], p[1], p[2] = ranks[i] * cdef Group group = Group.__new__(Group) */ __pyx_v_p = ((int *)(__pyx_v_ranges[__pyx_v_i])); /* "mpi4py/MPI/Group.pyx":188 * for i from 0 <= i < n: * p = ranges[i] * p[0], p[1], p[2] = ranks[i] # <<<<<<<<<<<<<< * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_range_excl(self.ob_mpi, n, ranges, &group.ob_mpi) ) */ __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_ranks, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); 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 != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(29, 188, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); __pyx_t_6 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); #else __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(29, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(29, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(29, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(29, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; index = 0; __pyx_t_4 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 1; __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 = 2; __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), 3) < 0) __PYX_ERR(29, 188, __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(29, 188, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(29, 188, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(29, 188, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(29, 188, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; (__pyx_v_p[0]) = __pyx_t_9; (__pyx_v_p[1]) = __pyx_t_10; (__pyx_v_p[2]) = __pyx_t_11; } /* "mpi4py/MPI/Group.pyx":189 * p = ranges[i] * p[0], p[1], p[2] = ranks[i] * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * CHKERR( MPI_Group_range_excl(self.ob_mpi, n, ranges, &group.ob_mpi) ) * return group */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 189, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_6 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_6); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/Group.pyx":190 * p[0], p[1], p[2] = ranks[i] * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_range_excl(self.ob_mpi, n, ranges, &group.ob_mpi) ) # <<<<<<<<<<<<<< * return group * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_range_excl(__pyx_v_self->ob_mpi, __pyx_v_n, __pyx_v_ranges, (&__pyx_v_group->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(29, 190, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":191 * cdef Group group = Group.__new__(Group) * CHKERR( MPI_Group_range_excl(self.ob_mpi, n, ranges, &group.ob_mpi) ) * return group # <<<<<<<<<<<<<< * * # Group Destructor */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":177 * return group * * def Range_excl(self, ranks): # <<<<<<<<<<<<<< * """ * Create a new group by excluding ranges */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("mpi4py.MPI.Group.Range_excl", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":196 * # ---------------- * * def Free(self): # <<<<<<<<<<<<<< * """ * Free a group */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_33Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_32Free[] = "Group.Free(self)\n\n Free a group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_33Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Free", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Free", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_32Free(((struct PyMPIGroupObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_32Free(struct PyMPIGroupObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Free", 0); /* "mpi4py/MPI/Group.pyx":200 * Free a group * """ * CHKERR( MPI_Group_free(&self.ob_mpi) ) # <<<<<<<<<<<<<< * if self is __GROUP_EMPTY__: self.ob_mpi = MPI_GROUP_EMPTY * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Group_free((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(29, 200, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":201 * """ * CHKERR( MPI_Group_free(&self.ob_mpi) ) * if self is __GROUP_EMPTY__: self.ob_mpi = MPI_GROUP_EMPTY # <<<<<<<<<<<<<< * * # Fortran Handle */ __pyx_t_2 = (__pyx_v_self == __pyx_v_6mpi4py_3MPI___GROUP_EMPTY__); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_self->ob_mpi = MPI_GROUP_EMPTY; } /* "mpi4py/MPI/Group.pyx":196 * # ---------------- * * def Free(self): # <<<<<<<<<<<<<< * """ * Free a group */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Group.Free", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":206 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_35py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_34py2f[] = "Group.py2f(self)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_35py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("py2f (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("py2f", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "py2f", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_34py2f(((struct PyMPIGroupObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_34py2f(struct PyMPIGroupObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("py2f", 0); /* "mpi4py/MPI/Group.pyx":209 * """ * """ * return MPI_Group_c2f(self.ob_mpi) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Fint(MPI_Group_c2f(__pyx_v_self->ob_mpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":206 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Group.py2f", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Group.pyx":212 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_37f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_5Group_36f2py[] = "Group.f2py(type cls, arg)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_5Group_37f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("f2py (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "f2py") < 0)) __PYX_ERR(29, 212, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("f2py", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(29, 212, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Group.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_5Group_36f2py(((PyTypeObject*)__pyx_v_cls), __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_5Group_36f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg) { struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; MPI_Fint __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("f2py", 0); /* "mpi4py/MPI/Group.pyx":215 * """ * """ * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * group.ob_mpi = MPI_Group_f2c(arg) * return group */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 215, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Group.pyx":216 * """ * cdef Group group = Group.__new__(Group) * group.ob_mpi = MPI_Group_f2c(arg) # <<<<<<<<<<<<<< * return group * */ __pyx_t_3 = __Pyx_PyInt_As_MPI_Fint(__pyx_v_arg); if (unlikely((__pyx_t_3 == ((MPI_Fint)-1)) && PyErr_Occurred())) __PYX_ERR(29, 216, __pyx_L1_error) __pyx_v_group->ob_mpi = MPI_Group_f2c(__pyx_t_3); /* "mpi4py/MPI/Group.pyx":217 * cdef Group group = Group.__new__(Group) * group.ob_mpi = MPI_Group_f2c(arg) * return group # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/Group.pyx":212 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Group.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":37 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_COMM_NULL * if comm is None: return */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4Comm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4Comm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPICommObject *)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_comm); 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(7, 37, __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_comm = ((struct PyMPICommObject *)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(7, 37, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) __PYX_ERR(7, 37, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm___cinit__(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4Comm___cinit__(struct PyMPICommObject *__pyx_v_self, struct PyMPICommObject *__pyx_v_comm) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; MPI_Comm __pyx_t_3; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Comm.pyx":38 * * def __cinit__(self, Comm comm=None): * self.ob_mpi = MPI_COMM_NULL # <<<<<<<<<<<<<< * if comm is None: return * self.ob_mpi = comm.ob_mpi */ __pyx_v_self->ob_mpi = MPI_COMM_NULL; /* "mpi4py/MPI/Comm.pyx":39 * def __cinit__(self, Comm comm=None): * self.ob_mpi = MPI_COMM_NULL * if comm is None: return # <<<<<<<<<<<<<< * self.ob_mpi = comm.ob_mpi * */ __pyx_t_1 = (((PyObject *)__pyx_v_comm) == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":40 * self.ob_mpi = MPI_COMM_NULL * if comm is None: return * self.ob_mpi = comm.ob_mpi # <<<<<<<<<<<<<< * * def __dealloc__(self): */ __pyx_t_3 = __pyx_v_comm->ob_mpi; __pyx_v_self->ob_mpi = __pyx_t_3; /* "mpi4py/MPI/Comm.pyx":37 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_COMM_NULL * if comm is None: return */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":42 * self.ob_mpi = comm.ob_mpi * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Comm(&self.ob_mpi) ) */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_4Comm_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_4Comm_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_4Comm_2__dealloc__(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_4Comm_2__dealloc__(struct PyMPICommObject *__pyx_v_self) { __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "mpi4py/MPI/Comm.pyx":43 * * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return # <<<<<<<<<<<<<< * CHKERR( del_Comm(&self.ob_mpi) ) * */ __pyx_t_1 = ((!((__pyx_v_self->flags & __pyx_e_6mpi4py_3MPI_PyMPI_OWNED) != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":44 * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Comm(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * def __richcmp__(self, other, int op): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(__pyx_f_6mpi4py_3MPI_del_Comm((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 44, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":42 * self.ob_mpi = comm.ob_mpi * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Comm(&self.ob_mpi) ) */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.Comm.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/Comm.pyx":46 * CHKERR( del_Comm(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Comm): return NotImplemented * cdef Comm s = self, o = other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_4__richcmp__(((struct PyMPICommObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_op)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_4__richcmp__(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { struct PyMPICommObject *__pyx_v_s = 0; struct PyMPICommObject *__pyx_v_o = 0; PyObject *__pyx_v_mod = 0; PyObject *__pyx_v_cls = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "mpi4py/MPI/Comm.pyx":47 * * def __richcmp__(self, other, int op): * if not isinstance(other, Comm): return NotImplemented # <<<<<<<<<<<<<< * cdef Comm s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_ptype_6mpi4py_3MPI_Comm); __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_builtin_NotImplemented); __pyx_r = __pyx_builtin_NotImplemented; goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":48 * def __richcmp__(self, other, int op): * if not isinstance(other, Comm): return NotImplemented * cdef Comm s = self, o = other # <<<<<<<<<<<<<< * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) */ __pyx_t_3 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_3); __pyx_v_s = ((struct PyMPICommObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_v_other; __Pyx_INCREF(__pyx_t_3); __pyx_v_o = ((struct PyMPICommObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":49 * if not isinstance(other, Comm): return NotImplemented * cdef Comm s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) # <<<<<<<<<<<<<< * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ */ __pyx_t_2 = ((__pyx_v_op == Py_EQ) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi == __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 49, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":50 * cdef Comm s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) # <<<<<<<<<<<<<< * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ */ __pyx_t_2 = ((__pyx_v_op == Py_NE) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi != __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":51 * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mod = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":52 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_cls = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":53 * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) # <<<<<<<<<<<<<< * * def __bool__(self): */ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mod); __Pyx_GIVEREF(__pyx_v_mod); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mod); __Pyx_INCREF(__pyx_v_cls); __Pyx_GIVEREF(__pyx_v_cls); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cls); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_unorderable_type_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(7, 53, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":46 * CHKERR( del_Comm(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Comm): return NotImplemented * cdef Comm s = self, o = other */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Comm.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_s); __Pyx_XDECREF((PyObject *)__pyx_v_o); __Pyx_XDECREF(__pyx_v_mod); __Pyx_XDECREF(__pyx_v_cls); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":55 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_COMM_NULL * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4Comm_7__bool__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4Comm_7__bool__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_6__bool__(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4Comm_6__bool__(struct PyMPICommObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__", 0); /* "mpi4py/MPI/Comm.pyx":56 * * def __bool__(self): * return self.ob_mpi != MPI_COMM_NULL # <<<<<<<<<<<<<< * * # Group */ __pyx_r = (__pyx_v_self->ob_mpi != MPI_COMM_NULL); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":55 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_COMM_NULL * */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":61 * # ----- * * def Get_group(self): # <<<<<<<<<<<<<< * """ * Access the group associated with a communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_9Get_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_8Get_group[] = "Comm.Get_group(self)\n\n Access the group associated with a communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_9Get_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_group (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_group", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_group", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_8Get_group(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_8Get_group(struct PyMPICommObject *__pyx_v_self) { struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_group", 0); /* "mpi4py/MPI/Comm.pyx":65 * Access the group associated with a communicator * """ * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_group(self.ob_mpi, &group.ob_mpi) ) * return group */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 65, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":66 * """ * cdef Group group = Group.__new__(Group) * with nogil: CHKERR( MPI_Comm_group(self.ob_mpi, &group.ob_mpi) ) # <<<<<<<<<<<<<< * return group * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_group(__pyx_v_self->ob_mpi, (&__pyx_v_group->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 66, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":67 * cdef Group group = Group.__new__(Group) * with nogil: CHKERR( MPI_Comm_group(self.ob_mpi, &group.ob_mpi) ) * return group # <<<<<<<<<<<<<< * * property group: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":61 * # ----- * * def Get_group(self): # <<<<<<<<<<<<<< * """ * Access the group associated with a communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Get_group", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":71 * property group: * """communicator group""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_group() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_5group_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_5group_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_5group___get__(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_5group___get__(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":72 * """communicator group""" * def __get__(self): * return self.Get_group() # <<<<<<<<<<<<<< * * # Communicator Accessors */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 72, __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(7, 72, __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; /* "mpi4py/MPI/Comm.pyx":71 * property group: * """communicator group""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_group() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.group.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":77 * # ---------------------- * * def Get_size(self): # <<<<<<<<<<<<<< * """ * Return the number of processes in a communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_11Get_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_10Get_size[] = "Comm.Get_size(self)\n\n Return the number of processes in a communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_11Get_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_size (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_size", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_size", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_10Get_size(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_10Get_size(struct PyMPICommObject *__pyx_v_self) { int __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_size", 0); /* "mpi4py/MPI/Comm.pyx":81 * Return the number of processes in a communicator * """ * cdef int size = -1 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_size(self.ob_mpi, &size) ) * return size */ __pyx_v_size = -1; /* "mpi4py/MPI/Comm.pyx":82 * """ * cdef int size = -1 * CHKERR( MPI_Comm_size(self.ob_mpi, &size) ) # <<<<<<<<<<<<<< * return size * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_self->ob_mpi, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 82, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":83 * cdef int size = -1 * CHKERR( MPI_Comm_size(self.ob_mpi, &size) ) * return size # <<<<<<<<<<<<<< * * property size: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":77 * # ---------------------- * * def Get_size(self): # <<<<<<<<<<<<<< * """ * Return the number of processes in a communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Get_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":87 * property size: * """number of processes in communicator""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_size() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_4size_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_4size_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_4size___get__(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_4size___get__(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":88 * """number of processes in communicator""" * def __get__(self): * return self.Get_size() # <<<<<<<<<<<<<< * * def Get_rank(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 88, __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(7, 88, __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; /* "mpi4py/MPI/Comm.pyx":87 * property size: * """number of processes in communicator""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_size() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":90 * return self.Get_size() * * def Get_rank(self): # <<<<<<<<<<<<<< * """ * Return the rank of this process in a communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_13Get_rank(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_12Get_rank[] = "Comm.Get_rank(self)\n\n Return the rank of this process in a communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_13Get_rank(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_rank (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_rank", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_rank", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_12Get_rank(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_12Get_rank(struct PyMPICommObject *__pyx_v_self) { int __pyx_v_rank; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_rank", 0); /* "mpi4py/MPI/Comm.pyx":94 * Return the rank of this process in a communicator * """ * cdef int rank = MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * return rank */ __pyx_v_rank = MPI_PROC_NULL; /* "mpi4py/MPI/Comm.pyx":95 * """ * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) # <<<<<<<<<<<<<< * return rank * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_self->ob_mpi, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 95, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":96 * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * return rank # <<<<<<<<<<<<<< * * property rank: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_rank); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":90 * return self.Get_size() * * def Get_rank(self): # <<<<<<<<<<<<<< * """ * Return the rank of this process in a communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Get_rank", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":100 * property rank: * """rank of this process in communicator""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_rank() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_4rank_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_4rank_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_4rank___get__(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_4rank___get__(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":101 * """rank of this process in communicator""" * def __get__(self): * return self.Get_rank() # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_rank); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 101, __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(7, 101, __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; /* "mpi4py/MPI/Comm.pyx":100 * property rank: * """rank of this process in communicator""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_rank() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.rank.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":104 * * @classmethod * def Compare(cls, Comm comm1, Comm comm2): # <<<<<<<<<<<<<< * """ * Compare two communicators */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_15Compare(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_14Compare[] = "Comm.Compare(type cls, Comm comm1, Comm comm2)\n\n Compare two communicators\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_15Compare(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPICommObject *__pyx_v_comm1 = 0; struct PyMPICommObject *__pyx_v_comm2 = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Compare (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm1,&__pyx_n_s_comm2,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_comm1)) != 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_comm2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Compare", 1, 2, 2, 1); __PYX_ERR(7, 104, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Compare") < 0)) __PYX_ERR(7, 104, __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_comm1 = ((struct PyMPICommObject *)values[0]); __pyx_v_comm2 = ((struct PyMPICommObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Compare", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 104, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Compare", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm1), __pyx_ptype_6mpi4py_3MPI_Comm, 0, "comm1", 0))) __PYX_ERR(7, 104, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm2), __pyx_ptype_6mpi4py_3MPI_Comm, 0, "comm2", 0))) __PYX_ERR(7, 104, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_14Compare(((PyTypeObject*)__pyx_v_cls), __pyx_v_comm1, __pyx_v_comm2); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_14Compare(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPICommObject *__pyx_v_comm1, struct PyMPICommObject *__pyx_v_comm2) { int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Compare", 0); /* "mpi4py/MPI/Comm.pyx":108 * Compare two communicators * """ * cdef int flag = MPI_UNEQUAL # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_compare( * comm1.ob_mpi, comm2.ob_mpi, &flag) ) */ __pyx_v_flag = MPI_UNEQUAL; /* "mpi4py/MPI/Comm.pyx":109 * """ * cdef int flag = MPI_UNEQUAL * with nogil: CHKERR( MPI_Comm_compare( # <<<<<<<<<<<<<< * comm1.ob_mpi, comm2.ob_mpi, &flag) ) * return flag */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":110 * cdef int flag = MPI_UNEQUAL * with nogil: CHKERR( MPI_Comm_compare( * comm1.ob_mpi, comm2.ob_mpi, &flag) ) # <<<<<<<<<<<<<< * return flag * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_compare(__pyx_v_comm1->ob_mpi, __pyx_v_comm2->ob_mpi, (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 109, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":109 * """ * cdef int flag = MPI_UNEQUAL * with nogil: CHKERR( MPI_Comm_compare( # <<<<<<<<<<<<<< * comm1.ob_mpi, comm2.ob_mpi, &flag) ) * return flag */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":111 * with nogil: CHKERR( MPI_Comm_compare( * comm1.ob_mpi, comm2.ob_mpi, &flag) ) * return flag # <<<<<<<<<<<<<< * * # Communicator Constructors */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_flag); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":104 * * @classmethod * def Compare(cls, Comm comm1, Comm comm2): # <<<<<<<<<<<<<< * """ * Compare two communicators */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Compare", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":116 * # ------------------------- * * def Clone(self): # <<<<<<<<<<<<<< * """ * Clone an existing communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_17Clone(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_16Clone[] = "Comm.Clone(self)\n\n Clone an existing communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_17Clone(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Clone (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Clone", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Clone", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_16Clone(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_16Clone(struct PyMPICommObject *__pyx_v_self) { PyTypeObject *__pyx_v_comm_type = 0; struct PyMPICommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Clone", 0); /* "mpi4py/MPI/Comm.pyx":120 * Clone an existing communicator * """ * cdef type comm_type = type(self) # <<<<<<<<<<<<<< * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_dup(self.ob_mpi, &comm.ob_mpi) ) */ __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); __pyx_v_comm_type = ((PyTypeObject*)((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); /* "mpi4py/MPI/Comm.pyx":121 * """ * cdef type comm_type = type(self) * cdef Comm comm = comm_type.__new__(comm_type) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_dup(self.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ __pyx_t_1 = __Pyx_tp_new(((PyObject *)__pyx_v_comm_type), __pyx_empty_tuple); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPICommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":122 * cdef type comm_type = type(self) * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_dup(self.ob_mpi, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_dup(__pyx_v_self->ob_mpi, (&__pyx_v_comm->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 122, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":123 * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_dup(self.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->ob_mpi); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 123, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":124 * with nogil: CHKERR( MPI_Comm_dup(self.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * def Dup(self, Info info=None): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":116 * # ------------------------- * * def Clone(self): # <<<<<<<<<<<<<< * """ * Clone an existing communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Clone", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_comm_type); __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":126 * return comm * * def Dup(self, Info info=None): # <<<<<<<<<<<<<< * """ * Duplicate an existing communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_19Dup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_18Dup[] = "Comm.Dup(self, Info info=None)\n\n Duplicate an existing communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_19Dup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Dup (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_info,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIInfoObject *)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_info); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Dup") < 0)) __PYX_ERR(7, 126, __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_info = ((struct PyMPIInfoObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Dup", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 126, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Dup", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 1, "info", 0))) __PYX_ERR(7, 126, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_18Dup(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_info); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_18Dup(struct PyMPICommObject *__pyx_v_self, struct PyMPIInfoObject *__pyx_v_info) { MPI_Info __pyx_v_cinfo; PyTypeObject *__pyx_v_comm_type = 0; struct PyMPICommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Dup", 0); /* "mpi4py/MPI/Comm.pyx":130 * Duplicate an existing communicator * """ * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * cdef type comm_type = type(self) * cdef Comm comm = comm_type.__new__(comm_type) */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "mpi4py/MPI/Comm.pyx":131 * """ * cdef MPI_Info cinfo = arg_Info(info) * cdef type comm_type = type(self) # <<<<<<<<<<<<<< * cdef Comm comm = comm_type.__new__(comm_type) * if info is None: */ __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); __pyx_v_comm_type = ((PyTypeObject*)((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); /* "mpi4py/MPI/Comm.pyx":132 * cdef MPI_Info cinfo = arg_Info(info) * cdef type comm_type = type(self) * cdef Comm comm = comm_type.__new__(comm_type) # <<<<<<<<<<<<<< * if info is None: * with nogil: CHKERR( MPI_Comm_dup( */ __pyx_t_1 = __Pyx_tp_new(((PyObject *)__pyx_v_comm_type), __pyx_empty_tuple); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPICommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":133 * cdef type comm_type = type(self) * cdef Comm comm = comm_type.__new__(comm_type) * if info is None: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_dup( * self.ob_mpi, &comm.ob_mpi) ) */ __pyx_t_3 = (((PyObject *)__pyx_v_info) == Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/Comm.pyx":134 * cdef Comm comm = comm_type.__new__(comm_type) * if info is None: * with nogil: CHKERR( MPI_Comm_dup( # <<<<<<<<<<<<<< * self.ob_mpi, &comm.ob_mpi) ) * else: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":135 * if info is None: * with nogil: CHKERR( MPI_Comm_dup( * self.ob_mpi, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * else: * with nogil: CHKERR( MPI_Comm_dup_with_info( */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_dup(__pyx_v_self->ob_mpi, (&__pyx_v_comm->ob_mpi))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 134, __pyx_L5_error) } /* "mpi4py/MPI/Comm.pyx":134 * cdef Comm comm = comm_type.__new__(comm_type) * if info is None: * with nogil: CHKERR( MPI_Comm_dup( # <<<<<<<<<<<<<< * self.ob_mpi, &comm.ob_mpi) ) * else: */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":133 * cdef type comm_type = type(self) * cdef Comm comm = comm_type.__new__(comm_type) * if info is None: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_dup( * self.ob_mpi, &comm.ob_mpi) ) */ goto __pyx_L3; } /* "mpi4py/MPI/Comm.pyx":137 * self.ob_mpi, &comm.ob_mpi) ) * else: * with nogil: CHKERR( MPI_Comm_dup_with_info( # <<<<<<<<<<<<<< * self.ob_mpi, cinfo, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ /*else*/ { { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":138 * else: * with nogil: CHKERR( MPI_Comm_dup_with_info( * self.ob_mpi, cinfo, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_dup_with_info(__pyx_v_self->ob_mpi, __pyx_v_cinfo, (&__pyx_v_comm->ob_mpi))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 137, __pyx_L8_error) } /* "mpi4py/MPI/Comm.pyx":137 * self.ob_mpi, &comm.ob_mpi) ) * else: * with nogil: CHKERR( MPI_Comm_dup_with_info( # <<<<<<<<<<<<<< * self.ob_mpi, cinfo, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L9; } __pyx_L8_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L9:; } } } __pyx_L3:; /* "mpi4py/MPI/Comm.pyx":139 * with nogil: CHKERR( MPI_Comm_dup_with_info( * self.ob_mpi, cinfo, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->ob_mpi); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 139, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":140 * self.ob_mpi, cinfo, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * def Dup_with_info(self, Info info): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":126 * return comm * * def Dup(self, Info info=None): # <<<<<<<<<<<<<< * """ * Duplicate an existing communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Dup", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_comm_type); __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":142 * return comm * * def Dup_with_info(self, Info info): # <<<<<<<<<<<<<< * """ * Duplicate an existing communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_21Dup_with_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_20Dup_with_info[] = "Comm.Dup_with_info(self, Info info)\n\n Duplicate an existing communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_21Dup_with_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Dup_with_info (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_info,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_info)) != 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, "Dup_with_info") < 0)) __PYX_ERR(7, 142, __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_info = ((struct PyMPIInfoObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Dup_with_info", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 142, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Dup_with_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(7, 142, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_20Dup_with_info(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_info); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_20Dup_with_info(struct PyMPICommObject *__pyx_v_self, struct PyMPIInfoObject *__pyx_v_info) { PyTypeObject *__pyx_v_comm_type = 0; struct PyMPICommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Dup_with_info", 0); /* "mpi4py/MPI/Comm.pyx":146 * Duplicate an existing communicator * """ * cdef type comm_type = type(self) # <<<<<<<<<<<<<< * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_dup_with_info( */ __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); __pyx_v_comm_type = ((PyTypeObject*)((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); /* "mpi4py/MPI/Comm.pyx":147 * """ * cdef type comm_type = type(self) * cdef Comm comm = comm_type.__new__(comm_type) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_dup_with_info( * self.ob_mpi, info.ob_mpi, &comm.ob_mpi) ) */ __pyx_t_1 = __Pyx_tp_new(((PyObject *)__pyx_v_comm_type), __pyx_empty_tuple); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPICommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":148 * cdef type comm_type = type(self) * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_dup_with_info( # <<<<<<<<<<<<<< * self.ob_mpi, info.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":149 * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_dup_with_info( * self.ob_mpi, info.ob_mpi, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_dup_with_info(__pyx_v_self->ob_mpi, __pyx_v_info->ob_mpi, (&__pyx_v_comm->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 148, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":148 * cdef type comm_type = type(self) * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_dup_with_info( # <<<<<<<<<<<<<< * self.ob_mpi, info.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":150 * with nogil: CHKERR( MPI_Comm_dup_with_info( * self.ob_mpi, info.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->ob_mpi); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 150, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":151 * self.ob_mpi, info.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * def Idup(self): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":142 * return comm * * def Dup_with_info(self, Info info): # <<<<<<<<<<<<<< * """ * Duplicate an existing communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Dup_with_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_comm_type); __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":153 * return comm * * def Idup(self): # <<<<<<<<<<<<<< * """ * Nonblocking duplicate an existing communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_23Idup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_22Idup[] = "Comm.Idup(self)\n\n Nonblocking duplicate an existing communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_23Idup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Idup (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Idup", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Idup", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_22Idup(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_22Idup(struct PyMPICommObject *__pyx_v_self) { PyTypeObject *__pyx_v_comm_type = 0; struct PyMPICommObject *__pyx_v_comm = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Idup", 0); /* "mpi4py/MPI/Comm.pyx":157 * Nonblocking duplicate an existing communicator * """ * cdef type comm_type = type(self) # <<<<<<<<<<<<<< * cdef Comm comm = comm_type.__new__(comm_type) * cdef Request request = Request.__new__(Request) */ __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); __pyx_v_comm_type = ((PyTypeObject*)((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); /* "mpi4py/MPI/Comm.pyx":158 * """ * cdef type comm_type = type(self) * cdef Comm comm = comm_type.__new__(comm_type) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Comm_idup( */ __pyx_t_1 = __Pyx_tp_new(((PyObject *)__pyx_v_comm_type), __pyx_empty_tuple); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPICommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":159 * cdef type comm_type = type(self) * cdef Comm comm = comm_type.__new__(comm_type) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_idup( * self.ob_mpi, &comm.ob_mpi, &request.ob_mpi) ) */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 159, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_1 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":160 * cdef Comm comm = comm_type.__new__(comm_type) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Comm_idup( # <<<<<<<<<<<<<< * self.ob_mpi, &comm.ob_mpi, &request.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":161 * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Comm_idup( * self.ob_mpi, &comm.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return (comm, request) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_idup(__pyx_v_self->ob_mpi, (&__pyx_v_comm->ob_mpi), (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 160, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":160 * cdef Comm comm = comm_type.__new__(comm_type) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Comm_idup( # <<<<<<<<<<<<<< * self.ob_mpi, &comm.ob_mpi, &request.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":162 * with nogil: CHKERR( MPI_Comm_idup( * self.ob_mpi, &comm.ob_mpi, &request.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return (comm, request) * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->ob_mpi); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 162, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":163 * self.ob_mpi, &comm.ob_mpi, &request.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return (comm, request) # <<<<<<<<<<<<<< * * def Create(self, Group group): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __Pyx_GIVEREF(((PyObject *)__pyx_v_comm)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_comm)); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __Pyx_GIVEREF(((PyObject *)__pyx_v_request)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_request)); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":153 * return comm * * def Idup(self): # <<<<<<<<<<<<<< * """ * Nonblocking duplicate an existing communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Idup", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_comm_type); __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":165 * return (comm, request) * * def Create(self, Group group): # <<<<<<<<<<<<<< * """ * Create communicator from group */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_25Create(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_24Create[] = "Comm.Create(self, Group group)\n\n Create communicator from group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_25Create(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIGroupObject *__pyx_v_group = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,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_group)) != 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, "Create") < 0)) __PYX_ERR(7, 165, __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_group = ((struct PyMPIGroupObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 165, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Create", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group", 0))) __PYX_ERR(7, 165, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_24Create(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_group); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_24Create(struct PyMPICommObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group) { PyTypeObject *__pyx_v_comm_type = 0; struct PyMPICommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create", 0); /* "mpi4py/MPI/Comm.pyx":169 * Create communicator from group * """ * cdef type comm_type = Comm # <<<<<<<<<<<<<< * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm */ __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm)); __pyx_v_comm_type = __pyx_ptype_6mpi4py_3MPI_Comm; /* "mpi4py/MPI/Comm.pyx":170 * """ * cdef type comm_type = Comm * if isinstance(self, Intracomm): comm_type = Intracomm # <<<<<<<<<<<<<< * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) */ __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Intracomm); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Intracomm)); __Pyx_DECREF_SET(__pyx_v_comm_type, __pyx_ptype_6mpi4py_3MPI_Intracomm); goto __pyx_L3; } /* "mpi4py/MPI/Comm.pyx":171 * cdef type comm_type = Comm * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm # <<<<<<<<<<<<<< * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_create( */ __pyx_t_2 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Intercomm); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm)); __Pyx_DECREF_SET(__pyx_v_comm_type, __pyx_ptype_6mpi4py_3MPI_Intercomm); } __pyx_L3:; /* "mpi4py/MPI/Comm.pyx":172 * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_create( * self.ob_mpi, group.ob_mpi, &comm.ob_mpi) ) */ if (unlikely(((PyObject *)__pyx_v_comm_type) == Py_None)) { PyErr_SetString(PyExc_TypeError, "object.__new__(X): X is not a type object (NoneType)"); __PYX_ERR(7, 172, __pyx_L1_error) } __pyx_t_3 = __Pyx_tp_new(((PyObject *)__pyx_v_comm_type), __pyx_empty_tuple); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_comm = ((struct PyMPICommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":173 * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_create( # <<<<<<<<<<<<<< * self.ob_mpi, group.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":174 * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_create( * self.ob_mpi, group.ob_mpi, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_create(__pyx_v_self->ob_mpi, __pyx_v_group->ob_mpi, (&__pyx_v_comm->ob_mpi))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 173, __pyx_L5_error) } /* "mpi4py/MPI/Comm.pyx":173 * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_create( # <<<<<<<<<<<<<< * self.ob_mpi, group.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":175 * with nogil: CHKERR( MPI_Comm_create( * self.ob_mpi, group.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->ob_mpi); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 175, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":176 * self.ob_mpi, group.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * def Create_group(self, Group group, int tag=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":165 * return (comm, request) * * def Create(self, Group group): # <<<<<<<<<<<<<< * """ * Create communicator from group */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Comm.Create", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_comm_type); __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":178 * return comm * * def Create_group(self, Group group, int tag=0): # <<<<<<<<<<<<<< * """ * Create communicator from group */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_27Create_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_26Create_group[] = "Comm.Create_group(self, Group group, int tag=0)\n\n Create communicator from group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_27Create_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIGroupObject *__pyx_v_group = 0; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_group (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_tag,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_group)) != 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_tag); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_group") < 0)) __PYX_ERR(7, 178, __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_group = ((struct PyMPIGroupObject *)values[0]); if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 178, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_group", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 178, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Create_group", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group", 0))) __PYX_ERR(7, 178, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_26Create_group(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_group, __pyx_v_tag); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_26Create_group(struct PyMPICommObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group, int __pyx_v_tag) { PyTypeObject *__pyx_v_comm_type = 0; struct PyMPICommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_group", 0); /* "mpi4py/MPI/Comm.pyx":182 * Create communicator from group * """ * cdef type comm_type = Comm # <<<<<<<<<<<<<< * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm */ __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm)); __pyx_v_comm_type = __pyx_ptype_6mpi4py_3MPI_Comm; /* "mpi4py/MPI/Comm.pyx":183 * """ * cdef type comm_type = Comm * if isinstance(self, Intracomm): comm_type = Intracomm # <<<<<<<<<<<<<< * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) */ __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Intracomm); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Intracomm)); __Pyx_DECREF_SET(__pyx_v_comm_type, __pyx_ptype_6mpi4py_3MPI_Intracomm); goto __pyx_L3; } /* "mpi4py/MPI/Comm.pyx":184 * cdef type comm_type = Comm * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm # <<<<<<<<<<<<<< * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_create_group( */ __pyx_t_2 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Intercomm); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm)); __Pyx_DECREF_SET(__pyx_v_comm_type, __pyx_ptype_6mpi4py_3MPI_Intercomm); } __pyx_L3:; /* "mpi4py/MPI/Comm.pyx":185 * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_create_group( * self.ob_mpi, group.ob_mpi, tag, &comm.ob_mpi) ) */ if (unlikely(((PyObject *)__pyx_v_comm_type) == Py_None)) { PyErr_SetString(PyExc_TypeError, "object.__new__(X): X is not a type object (NoneType)"); __PYX_ERR(7, 185, __pyx_L1_error) } __pyx_t_3 = __Pyx_tp_new(((PyObject *)__pyx_v_comm_type), __pyx_empty_tuple); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_comm = ((struct PyMPICommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":186 * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_create_group( # <<<<<<<<<<<<<< * self.ob_mpi, group.ob_mpi, tag, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":187 * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_create_group( * self.ob_mpi, group.ob_mpi, tag, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_create_group(__pyx_v_self->ob_mpi, __pyx_v_group->ob_mpi, __pyx_v_tag, (&__pyx_v_comm->ob_mpi))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 186, __pyx_L5_error) } /* "mpi4py/MPI/Comm.pyx":186 * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_create_group( # <<<<<<<<<<<<<< * self.ob_mpi, group.ob_mpi, tag, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":188 * with nogil: CHKERR( MPI_Comm_create_group( * self.ob_mpi, group.ob_mpi, tag, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->ob_mpi); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 188, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":189 * self.ob_mpi, group.ob_mpi, tag, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * def Split(self, int color=0, int key=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":178 * return comm * * def Create_group(self, Group group, int tag=0): # <<<<<<<<<<<<<< * """ * Create communicator from group */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Comm.Create_group", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_comm_type); __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":191 * return comm * * def Split(self, int color=0, int key=0): # <<<<<<<<<<<<<< * """ * Split communicator by color and key */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_29Split(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_28Split[] = "Comm.Split(self, int color=0, int key=0)\n\n Split communicator by color and key\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_29Split(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_color; int __pyx_v_key; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Split (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_color,&__pyx_n_s_key,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_color); 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_key); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Split") < 0)) __PYX_ERR(7, 191, __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_color = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_color == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 191, __pyx_L3_error) } else { __pyx_v_color = ((int)0); } if (values[1]) { __pyx_v_key = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_key == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 191, __pyx_L3_error) } else { __pyx_v_key = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Split", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 191, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Split", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_28Split(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_color, __pyx_v_key); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_28Split(struct PyMPICommObject *__pyx_v_self, int __pyx_v_color, int __pyx_v_key) { PyTypeObject *__pyx_v_comm_type = 0; struct PyMPICommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Split", 0); /* "mpi4py/MPI/Comm.pyx":195 * Split communicator by color and key * """ * cdef type comm_type = Comm # <<<<<<<<<<<<<< * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm */ __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm)); __pyx_v_comm_type = __pyx_ptype_6mpi4py_3MPI_Comm; /* "mpi4py/MPI/Comm.pyx":196 * """ * cdef type comm_type = Comm * if isinstance(self, Intracomm): comm_type = Intracomm # <<<<<<<<<<<<<< * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) */ __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Intracomm); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Intracomm)); __Pyx_DECREF_SET(__pyx_v_comm_type, __pyx_ptype_6mpi4py_3MPI_Intracomm); goto __pyx_L3; } /* "mpi4py/MPI/Comm.pyx":197 * cdef type comm_type = Comm * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm # <<<<<<<<<<<<<< * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_split( */ __pyx_t_2 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Intercomm); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm)); __Pyx_DECREF_SET(__pyx_v_comm_type, __pyx_ptype_6mpi4py_3MPI_Intercomm); } __pyx_L3:; /* "mpi4py/MPI/Comm.pyx":198 * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_split( * self.ob_mpi, color, key, &comm.ob_mpi) ) */ if (unlikely(((PyObject *)__pyx_v_comm_type) == Py_None)) { PyErr_SetString(PyExc_TypeError, "object.__new__(X): X is not a type object (NoneType)"); __PYX_ERR(7, 198, __pyx_L1_error) } __pyx_t_3 = __Pyx_tp_new(((PyObject *)__pyx_v_comm_type), __pyx_empty_tuple); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_comm = ((struct PyMPICommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":199 * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_split( # <<<<<<<<<<<<<< * self.ob_mpi, color, key, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":200 * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_split( * self.ob_mpi, color, key, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_split(__pyx_v_self->ob_mpi, __pyx_v_color, __pyx_v_key, (&__pyx_v_comm->ob_mpi))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 199, __pyx_L5_error) } /* "mpi4py/MPI/Comm.pyx":199 * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_split( # <<<<<<<<<<<<<< * self.ob_mpi, color, key, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":201 * with nogil: CHKERR( MPI_Comm_split( * self.ob_mpi, color, key, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->ob_mpi); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 201, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":202 * self.ob_mpi, color, key, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * def Split_type(self, int split_type, int key=0, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":191 * return comm * * def Split(self, int color=0, int key=0): # <<<<<<<<<<<<<< * """ * Split communicator by color and key */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Comm.Split", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_comm_type); __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":204 * return comm * * def Split_type(self, int split_type, int key=0, # <<<<<<<<<<<<<< * Info info=INFO_NULL): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_31Split_type(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_30Split_type[] = "Comm.Split_type(self, int split_type, int key=0, Info info=INFO_NULL)\n\n Split communicator by color and key\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_31Split_type(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_split_type; int __pyx_v_key; struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Split_type (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_split_type,&__pyx_n_s_key,&__pyx_n_s_info,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)__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 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_split_type)) != 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_key); 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_info); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Split_type") < 0)) __PYX_ERR(7, 204, __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_split_type = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_split_type == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 204, __pyx_L3_error) if (values[1]) { __pyx_v_key = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_key == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 204, __pyx_L3_error) } else { __pyx_v_key = ((int)0); } __pyx_v_info = ((struct PyMPIInfoObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Split_type", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 204, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Split_type", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(7, 205, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_30Split_type(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_split_type, __pyx_v_key, __pyx_v_info); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_30Split_type(struct PyMPICommObject *__pyx_v_self, int __pyx_v_split_type, int __pyx_v_key, struct PyMPIInfoObject *__pyx_v_info) { PyTypeObject *__pyx_v_comm_type = 0; struct PyMPICommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Split_type", 0); /* "mpi4py/MPI/Comm.pyx":209 * Split communicator by color and key * """ * cdef type comm_type = Comm # <<<<<<<<<<<<<< * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm */ __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm)); __pyx_v_comm_type = __pyx_ptype_6mpi4py_3MPI_Comm; /* "mpi4py/MPI/Comm.pyx":210 * """ * cdef type comm_type = Comm * if isinstance(self, Intracomm): comm_type = Intracomm # <<<<<<<<<<<<<< * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) */ __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Intracomm); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Intracomm)); __Pyx_DECREF_SET(__pyx_v_comm_type, __pyx_ptype_6mpi4py_3MPI_Intracomm); goto __pyx_L3; } /* "mpi4py/MPI/Comm.pyx":211 * cdef type comm_type = Comm * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm # <<<<<<<<<<<<<< * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_split_type( */ __pyx_t_2 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Intercomm); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { __Pyx_INCREF(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm)); __Pyx_DECREF_SET(__pyx_v_comm_type, __pyx_ptype_6mpi4py_3MPI_Intercomm); } __pyx_L3:; /* "mpi4py/MPI/Comm.pyx":212 * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_split_type( * self.ob_mpi, split_type, key, info.ob_mpi, &comm.ob_mpi) ) */ if (unlikely(((PyObject *)__pyx_v_comm_type) == Py_None)) { PyErr_SetString(PyExc_TypeError, "object.__new__(X): X is not a type object (NoneType)"); __PYX_ERR(7, 212, __pyx_L1_error) } __pyx_t_3 = __Pyx_tp_new(((PyObject *)__pyx_v_comm_type), __pyx_empty_tuple); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_comm = ((struct PyMPICommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":213 * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_split_type( # <<<<<<<<<<<<<< * self.ob_mpi, split_type, key, info.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":214 * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_split_type( * self.ob_mpi, split_type, key, info.ob_mpi, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_split_type(__pyx_v_self->ob_mpi, __pyx_v_split_type, __pyx_v_key, __pyx_v_info->ob_mpi, (&__pyx_v_comm->ob_mpi))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 213, __pyx_L5_error) } /* "mpi4py/MPI/Comm.pyx":213 * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_split_type( # <<<<<<<<<<<<<< * self.ob_mpi, split_type, key, info.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":215 * with nogil: CHKERR( MPI_Comm_split_type( * self.ob_mpi, split_type, key, info.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->ob_mpi); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 215, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":216 * self.ob_mpi, split_type, key, info.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * # Communicator Destructor */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":204 * return comm * * def Split_type(self, int split_type, int key=0, # <<<<<<<<<<<<<< * Info info=INFO_NULL): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Comm.Split_type", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_comm_type); __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":221 * # ----------------------- * * def Free(self): # <<<<<<<<<<<<<< * """ * Free a communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_33Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_32Free[] = "Comm.Free(self)\n\n Free a communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_33Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Free", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Free", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_32Free(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_32Free(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Free", 0); /* "mpi4py/MPI/Comm.pyx":225 * Free a communicator * """ * with nogil: CHKERR( MPI_Comm_free(&self.ob_mpi) ) # <<<<<<<<<<<<<< * if self is __COMM_SELF__: self.ob_mpi = MPI_COMM_SELF * if self is __COMM_WORLD__: self.ob_mpi = MPI_COMM_WORLD */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_free((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 225, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":226 * """ * with nogil: CHKERR( MPI_Comm_free(&self.ob_mpi) ) * if self is __COMM_SELF__: self.ob_mpi = MPI_COMM_SELF # <<<<<<<<<<<<<< * if self is __COMM_WORLD__: self.ob_mpi = MPI_COMM_WORLD * */ __pyx_t_2 = (((PyObject *)__pyx_v_self) == ((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_SELF__)); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_self->ob_mpi = MPI_COMM_SELF; } /* "mpi4py/MPI/Comm.pyx":227 * with nogil: CHKERR( MPI_Comm_free(&self.ob_mpi) ) * if self is __COMM_SELF__: self.ob_mpi = MPI_COMM_SELF * if self is __COMM_WORLD__: self.ob_mpi = MPI_COMM_WORLD # <<<<<<<<<<<<<< * * # Communicator Info */ __pyx_t_3 = (((PyObject *)__pyx_v_self) == ((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_WORLD__)); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_v_self->ob_mpi = MPI_COMM_WORLD; } /* "mpi4py/MPI/Comm.pyx":221 * # ----------------------- * * def Free(self): # <<<<<<<<<<<<<< * """ * Free a communicator */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Free", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":232 * # ----------------- * * def Set_info(self, Info info): # <<<<<<<<<<<<<< * """ * Set new values for the hints */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_35Set_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_34Set_info[] = "Comm.Set_info(self, Info info)\n\n Set new values for the hints\n associated with a communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_35Set_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_info (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_info,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_info)) != 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, "Set_info") < 0)) __PYX_ERR(7, 232, __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_info = ((struct PyMPIInfoObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_info", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 232, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Set_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(7, 232, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_34Set_info(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_info); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_34Set_info(struct PyMPICommObject *__pyx_v_self, struct PyMPIInfoObject *__pyx_v_info) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_info", 0); /* "mpi4py/MPI/Comm.pyx":237 * associated with a communicator * """ * with nogil: CHKERR( MPI_Comm_set_info( # <<<<<<<<<<<<<< * self.ob_mpi, info.ob_mpi) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":238 * """ * with nogil: CHKERR( MPI_Comm_set_info( * self.ob_mpi, info.ob_mpi) ) # <<<<<<<<<<<<<< * * def Get_info(self): */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_set_info(__pyx_v_self->ob_mpi, __pyx_v_info->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 237, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":237 * associated with a communicator * """ * with nogil: CHKERR( MPI_Comm_set_info( # <<<<<<<<<<<<<< * self.ob_mpi, info.ob_mpi) ) * */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":232 * # ----------------- * * def Set_info(self, Info info): # <<<<<<<<<<<<<< * """ * Set new values for the hints */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Set_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":240 * self.ob_mpi, info.ob_mpi) ) * * def Get_info(self): # <<<<<<<<<<<<<< * """ * Return the hints for a communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_37Get_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_36Get_info[] = "Comm.Get_info(self)\n\n Return the hints for a communicator\n that are currently in use\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_37Get_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_info (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_info", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_info", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_36Get_info(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_36Get_info(struct PyMPICommObject *__pyx_v_self) { struct PyMPIInfoObject *__pyx_v_info = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_info", 0); /* "mpi4py/MPI/Comm.pyx":245 * that are currently in use * """ * cdef Info info = Info.__new__(Info) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_get_info( * self.ob_mpi, &info.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 245, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":246 * """ * cdef Info info = Info.__new__(Info) * with nogil: CHKERR( MPI_Comm_get_info( # <<<<<<<<<<<<<< * self.ob_mpi, &info.ob_mpi) ) * return info */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":247 * cdef Info info = Info.__new__(Info) * with nogil: CHKERR( MPI_Comm_get_info( * self.ob_mpi, &info.ob_mpi) ) # <<<<<<<<<<<<<< * return info * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_get_info(__pyx_v_self->ob_mpi, (&__pyx_v_info->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 246, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":246 * """ * cdef Info info = Info.__new__(Info) * with nogil: CHKERR( MPI_Comm_get_info( # <<<<<<<<<<<<<< * self.ob_mpi, &info.ob_mpi) ) * return info */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":248 * with nogil: CHKERR( MPI_Comm_get_info( * self.ob_mpi, &info.ob_mpi) ) * return info # <<<<<<<<<<<<<< * * property info: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_info)); __pyx_r = ((PyObject *)__pyx_v_info); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":240 * self.ob_mpi, info.ob_mpi) ) * * def Get_info(self): # <<<<<<<<<<<<<< * """ * Return the hints for a communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Get_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_info); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":252 * property info: * """communicator info""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_info() * def __set__(self, info): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_4info_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_4info_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_4info___get__(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_4info___get__(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":253 * """communicator info""" * def __get__(self): * return self.Get_info() # <<<<<<<<<<<<<< * def __set__(self, info): * self.Set_info(info) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 253, __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(7, 253, __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; /* "mpi4py/MPI/Comm.pyx":252 * property info: * """communicator info""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_info() * def __set__(self, info): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.info.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":254 * def __get__(self): * return self.Get_info() * def __set__(self, info): # <<<<<<<<<<<<<< * self.Set_info(info) * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4Comm_4info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_info); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4Comm_4info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_info) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_4info_2__set__(((struct PyMPICommObject *)__pyx_v_self), ((PyObject *)__pyx_v_info)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4Comm_4info_2__set__(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_info) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 0); /* "mpi4py/MPI/Comm.pyx":255 * return self.Get_info() * def __set__(self, info): * self.Set_info(info) # <<<<<<<<<<<<<< * * # Point to Point communication */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 255, __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_v_info) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_info); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":254 * def __get__(self): * return self.Get_info() * def __set__(self, info): # <<<<<<<<<<<<<< * self.Set_info(info) * */ /* 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("mpi4py.MPI.Comm.info.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":263 * # ------------------------------------ * * def Send(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Blocking send */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_39Send(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_38Send[] = "Comm.Send(self, buf, int dest, int tag=0)\n\n Blocking send\n\n .. note:: This function may block until the message is\n received. Whether or not `Send` blocks depends on\n several factors and is implementation dependent\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_39Send(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Send (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_tag,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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Send", 0, 2, 3, 1); __PYX_ERR(7, 263, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Send") < 0)) __PYX_ERR(7, 263, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 263, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 263, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Send", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 263, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Send", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_38Send(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_38Send(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Send", 0); /* "mpi4py/MPI/Comm.pyx":271 * several factors and is implementation dependent * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Send( * smsg.buf, smsg.count, smsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_buf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":272 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * with nogil: CHKERR( MPI_Send( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":274 * with nogil: CHKERR( MPI_Send( * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Recv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Send(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_tag, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 272, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":272 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * with nogil: CHKERR( MPI_Send( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":263 * # ------------------------------------ * * def Send(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Blocking send */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Send", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":276 * dest, tag, self.ob_mpi) ) * * def Recv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_41Recv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_40Recv[] = "Comm.Recv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\n\n Blocking receive\n\n .. note:: This function blocks until the message is received\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_41Recv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Recv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[4] = {0,0,0,0}; /* "mpi4py/MPI/Comm.pyx":277 * * def Recv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """ * Blocking receive */ values[3] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_source); 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_tag); 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_status); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Recv") < 0)) __PYX_ERR(7, 276, __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_buf = values[0]; if (values[1]) { __pyx_v_source = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 276, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__39; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 276, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__40; } __pyx_v_status = ((struct PyMPIStatusObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Recv", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 276, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 277, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_40Recv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":276 * dest, tag, self.ob_mpi) ) * * def Recv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_40Recv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_rmsg = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Recv", 0); /* "mpi4py/MPI/Comm.pyx":283 * .. note:: This function blocks until the message is received * """ * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Recv( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_recv(__pyx_v_buf, __pyx_v_source)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_rmsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":284 * """ * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Recv( * rmsg.buf, rmsg.count, rmsg.dtype, */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":285 * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Recv( # <<<<<<<<<<<<<< * rmsg.buf, rmsg.count, rmsg.dtype, * source, tag, self.ob_mpi, statusp) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":287 * with nogil: CHKERR( MPI_Recv( * rmsg.buf, rmsg.count, rmsg.dtype, * source, tag, self.ob_mpi, statusp) ) # <<<<<<<<<<<<<< * * # Send-Receive */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Recv(__pyx_v_rmsg->buf, __pyx_v_rmsg->count, __pyx_v_rmsg->dtype, __pyx_v_source, __pyx_v_tag, __pyx_v_self->ob_mpi, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 285, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":285 * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Recv( # <<<<<<<<<<<<<< * rmsg.buf, rmsg.count, rmsg.dtype, * source, tag, self.ob_mpi, statusp) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":276 * dest, tag, self.ob_mpi) ) * * def Recv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":292 * # ------------ * * def Sendrecv(self, sendbuf, int dest, int sendtag=0, # <<<<<<<<<<<<<< * recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, * Status status=None): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_43Sendrecv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_42Sendrecv[] = "Comm.Sendrecv(self, sendbuf, int dest, int sendtag=0, recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, Status status=None)\n\n Send and receive a message\n\n .. note:: This function is guaranteed not to deadlock in\n situations where pairs of blocking sends and receives may\n deadlock.\n\n .. caution:: A common mistake when using this function is to\n mismatch the tags with the source and destination ranks,\n which can result in deadlock.\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_43Sendrecv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; int __pyx_v_dest; int __pyx_v_sendtag; PyObject *__pyx_v_recvbuf = 0; int __pyx_v_source; int __pyx_v_recvtag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Sendrecv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_dest,&__pyx_n_s_sendtag,&__pyx_n_s_recvbuf,&__pyx_n_s_source,&__pyx_n_s_recvtag,&__pyx_n_s_status,0}; PyObject* values[7] = {0,0,0,0,0,0,0}; /* "mpi4py/MPI/Comm.pyx":293 * * def Sendrecv(self, sendbuf, int dest, int sendtag=0, * recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ values[3] = ((PyObject *)Py_None); /* "mpi4py/MPI/Comm.pyx":294 * def Sendrecv(self, sendbuf, int dest, int sendtag=0, * recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """ * Send and receive a message */ values[6] = (PyObject *)((struct PyMPIStatusObject *)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 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_sendbuf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Sendrecv", 0, 2, 7, 1); __PYX_ERR(7, 292, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sendtag); 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_recvbuf); 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_source); 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_recvtag); 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_status); if (value) { values[6] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Sendrecv") < 0)) __PYX_ERR(7, 292, __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); values[0] = PyTuple_GET_ITEM(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_sendbuf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 292, __pyx_L3_error) if (values[2]) { __pyx_v_sendtag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_sendtag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 292, __pyx_L3_error) } else { __pyx_v_sendtag = ((int)0); } __pyx_v_recvbuf = values[3]; if (values[4]) { __pyx_v_source = __Pyx_PyInt_As_int(values[4]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 293, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__41; } if (values[5]) { __pyx_v_recvtag = __Pyx_PyInt_As_int(values[5]); if (unlikely((__pyx_v_recvtag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 293, __pyx_L3_error) } else { __pyx_v_recvtag = __pyx_k__42; } __pyx_v_status = ((struct PyMPIStatusObject *)values[6]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Sendrecv", 0, 2, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 292, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Sendrecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 294, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_42Sendrecv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_dest, __pyx_v_sendtag, __pyx_v_recvbuf, __pyx_v_source, __pyx_v_recvtag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":292 * # ------------ * * def Sendrecv(self, sendbuf, int dest, int sendtag=0, # <<<<<<<<<<<<<< * recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, * Status status=None): */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_42Sendrecv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, int __pyx_v_dest, int __pyx_v_sendtag, PyObject *__pyx_v_recvbuf, int __pyx_v_source, int __pyx_v_recvtag, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_rmsg = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Sendrecv", 0); /* "mpi4py/MPI/Comm.pyx":306 * which can result in deadlock. * """ * cdef _p_msg_p2p smsg = message_p2p_send(sendbuf, dest) # <<<<<<<<<<<<<< * cdef _p_msg_p2p rmsg = message_p2p_recv(recvbuf, source) * cdef MPI_Status *statusp = arg_Status(status) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_sendbuf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":307 * """ * cdef _p_msg_p2p smsg = message_p2p_send(sendbuf, dest) * cdef _p_msg_p2p rmsg = message_p2p_recv(recvbuf, source) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Sendrecv( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_recv(__pyx_v_recvbuf, __pyx_v_source)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_rmsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":308 * cdef _p_msg_p2p smsg = message_p2p_send(sendbuf, dest) * cdef _p_msg_p2p rmsg = message_p2p_recv(recvbuf, source) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Sendrecv( * smsg.buf, smsg.count, smsg.dtype, dest, sendtag, */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":309 * cdef _p_msg_p2p rmsg = message_p2p_recv(recvbuf, source) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Sendrecv( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, dest, sendtag, * rmsg.buf, rmsg.count, rmsg.dtype, source, recvtag, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":312 * smsg.buf, smsg.count, smsg.dtype, dest, sendtag, * rmsg.buf, rmsg.count, rmsg.dtype, source, recvtag, * self.ob_mpi, statusp) ) # <<<<<<<<<<<<<< * * def Sendrecv_replace(self, buf, int dest, int sendtag=0, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Sendrecv(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_sendtag, __pyx_v_rmsg->buf, __pyx_v_rmsg->count, __pyx_v_rmsg->dtype, __pyx_v_source, __pyx_v_recvtag, __pyx_v_self->ob_mpi, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 309, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":309 * cdef _p_msg_p2p rmsg = message_p2p_recv(recvbuf, source) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Sendrecv( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, dest, sendtag, * rmsg.buf, rmsg.count, rmsg.dtype, source, recvtag, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":292 * # ------------ * * def Sendrecv(self, sendbuf, int dest, int sendtag=0, # <<<<<<<<<<<<<< * recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, * Status status=None): */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Sendrecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XDECREF((PyObject *)__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":314 * self.ob_mpi, statusp) ) * * def Sendrecv_replace(self, buf, int dest, int sendtag=0, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int recvtag=ANY_TAG, * Status status=None): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_45Sendrecv_replace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_44Sendrecv_replace[] = "Comm.Sendrecv_replace(self, buf, int dest, int sendtag=0, int source=ANY_SOURCE, int recvtag=ANY_TAG, Status status=None)\n\n Send and receive a message\n\n .. note:: This function is guaranteed not to deadlock in\n situations where pairs of blocking sends and receives may\n deadlock.\n\n .. caution:: A common mistake when using this function is to\n mismatch the tags with the source and destination ranks,\n which can result in deadlock.\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_45Sendrecv_replace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_sendtag; int __pyx_v_source; int __pyx_v_recvtag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Sendrecv_replace (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_sendtag,&__pyx_n_s_source,&__pyx_n_s_recvtag,&__pyx_n_s_status,0}; PyObject* values[6] = {0,0,0,0,0,0}; /* "mpi4py/MPI/Comm.pyx":316 * def Sendrecv_replace(self, buf, int dest, int sendtag=0, * int source=ANY_SOURCE, int recvtag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """ * Send and receive a message */ values[5] = (PyObject *)((struct PyMPIStatusObject *)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 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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Sendrecv_replace", 0, 2, 6, 1); __PYX_ERR(7, 314, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sendtag); 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_source); 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_recvtag); 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_status); if (value) { values[5] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Sendrecv_replace") < 0)) __PYX_ERR(7, 314, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 314, __pyx_L3_error) if (values[2]) { __pyx_v_sendtag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_sendtag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 314, __pyx_L3_error) } else { __pyx_v_sendtag = ((int)0); } if (values[3]) { __pyx_v_source = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 315, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__43; } if (values[4]) { __pyx_v_recvtag = __Pyx_PyInt_As_int(values[4]); if (unlikely((__pyx_v_recvtag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 315, __pyx_L3_error) } else { __pyx_v_recvtag = __pyx_k__44; } __pyx_v_status = ((struct PyMPIStatusObject *)values[5]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Sendrecv_replace", 0, 2, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 314, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Sendrecv_replace", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 316, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_44Sendrecv_replace(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_sendtag, __pyx_v_source, __pyx_v_recvtag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":314 * self.ob_mpi, statusp) ) * * def Sendrecv_replace(self, buf, int dest, int sendtag=0, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int recvtag=ANY_TAG, * Status status=None): */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_44Sendrecv_replace(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_sendtag, int __pyx_v_source, int __pyx_v_recvtag, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_rank; struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_rmsg = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Sendrecv_replace", 0); /* "mpi4py/MPI/Comm.pyx":328 * which can result in deadlock. * """ * cdef int rank = MPI_PROC_NULL # <<<<<<<<<<<<<< * if dest != MPI_PROC_NULL: rank = dest * if source != MPI_PROC_NULL: rank = source */ __pyx_v_rank = MPI_PROC_NULL; /* "mpi4py/MPI/Comm.pyx":329 * """ * cdef int rank = MPI_PROC_NULL * if dest != MPI_PROC_NULL: rank = dest # <<<<<<<<<<<<<< * if source != MPI_PROC_NULL: rank = source * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, rank) */ __pyx_t_1 = ((__pyx_v_dest != MPI_PROC_NULL) != 0); if (__pyx_t_1) { __pyx_v_rank = __pyx_v_dest; } /* "mpi4py/MPI/Comm.pyx":330 * cdef int rank = MPI_PROC_NULL * if dest != MPI_PROC_NULL: rank = dest * if source != MPI_PROC_NULL: rank = source # <<<<<<<<<<<<<< * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, rank) * cdef MPI_Status *statusp = arg_Status(status) */ __pyx_t_1 = ((__pyx_v_source != MPI_PROC_NULL) != 0); if (__pyx_t_1) { __pyx_v_rank = __pyx_v_source; } /* "mpi4py/MPI/Comm.pyx":331 * if dest != MPI_PROC_NULL: rank = dest * if source != MPI_PROC_NULL: rank = source * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, rank) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Sendrecv_replace( */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_recv(__pyx_v_buf, __pyx_v_rank)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_rmsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":332 * if source != MPI_PROC_NULL: rank = source * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, rank) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Sendrecv_replace( * rmsg.buf, rmsg.count, rmsg.dtype, */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":333 * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, rank) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Sendrecv_replace( # <<<<<<<<<<<<<< * rmsg.buf, rmsg.count, rmsg.dtype, * dest, sendtag, source, recvtag, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":336 * rmsg.buf, rmsg.count, rmsg.dtype, * dest, sendtag, source, recvtag, * self.ob_mpi, statusp) ) # <<<<<<<<<<<<<< * * # Nonblocking Communications */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Sendrecv_replace(__pyx_v_rmsg->buf, __pyx_v_rmsg->count, __pyx_v_rmsg->dtype, __pyx_v_dest, __pyx_v_sendtag, __pyx_v_source, __pyx_v_recvtag, __pyx_v_self->ob_mpi, __pyx_v_statusp)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 333, __pyx_L6_error) } /* "mpi4py/MPI/Comm.pyx":333 * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, rank) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Sendrecv_replace( # <<<<<<<<<<<<<< * rmsg.buf, rmsg.count, rmsg.dtype, * dest, sendtag, source, recvtag, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":314 * self.ob_mpi, statusp) ) * * def Sendrecv_replace(self, buf, int dest, int sendtag=0, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int recvtag=ANY_TAG, * Status status=None): */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Sendrecv_replace", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":341 * # -------------------------- * * def Isend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Nonblocking send */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_47Isend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_46Isend[] = "Comm.Isend(self, buf, int dest, int tag=0)\n\n Nonblocking send\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_47Isend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Isend (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_tag,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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Isend", 0, 2, 3, 1); __PYX_ERR(7, 341, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Isend") < 0)) __PYX_ERR(7, 341, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 341, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 341, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Isend", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 341, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Isend", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_46Isend(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_46Isend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Isend", 0); /* "mpi4py/MPI/Comm.pyx":345 * Nonblocking send * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Isend( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_buf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":346 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Isend( * smsg.buf, smsg.count, smsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 346, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":347 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Isend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":349 * with nogil: CHKERR( MPI_Isend( * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = smsg * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Isend(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 347, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":347 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Isend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":350 * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_smsg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_smsg)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_smsg); /* "mpi4py/MPI/Comm.pyx":351 * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg * return request # <<<<<<<<<<<<<< * * def Irecv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":341 * # -------------------------- * * def Isend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Nonblocking send */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Isend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":353 * return request * * def Irecv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG): # <<<<<<<<<<<<<< * """ * Nonblocking receive */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_49Irecv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_48Irecv[] = "Comm.Irecv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG)\n\n Nonblocking receive\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_49Irecv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_source; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Irecv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_source,&__pyx_n_s_tag,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_buf)) != 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_source); 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_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Irecv") < 0)) __PYX_ERR(7, 353, __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_buf = values[0]; if (values[1]) { __pyx_v_source = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 353, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__45; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 353, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__46; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Irecv", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 353, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Irecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_48Irecv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_source, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_48Irecv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_source, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_rmsg = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Irecv", 0); /* "mpi4py/MPI/Comm.pyx":357 * Nonblocking receive * """ * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Irecv( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_recv(__pyx_v_buf, __pyx_v_source)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_rmsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":358 * """ * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Irecv( * rmsg.buf, rmsg.count, rmsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 358, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":359 * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Irecv( # <<<<<<<<<<<<<< * rmsg.buf, rmsg.count, rmsg.dtype, * source, tag, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":361 * with nogil: CHKERR( MPI_Irecv( * rmsg.buf, rmsg.count, rmsg.dtype, * source, tag, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = rmsg * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Irecv(__pyx_v_rmsg->buf, __pyx_v_rmsg->count, __pyx_v_rmsg->dtype, __pyx_v_source, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 359, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":359 * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Irecv( # <<<<<<<<<<<<<< * rmsg.buf, rmsg.count, rmsg.dtype, * source, tag, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":362 * rmsg.buf, rmsg.count, rmsg.dtype, * source, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = rmsg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_rmsg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_rmsg)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_rmsg); /* "mpi4py/MPI/Comm.pyx":363 * source, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = rmsg * return request # <<<<<<<<<<<<<< * * # Probe */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":353 * return request * * def Irecv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG): # <<<<<<<<<<<<<< * """ * Nonblocking receive */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Irecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_rmsg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":368 * # ----- * * def Probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_51Probe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_50Probe[] = "Comm.Probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\n\n Blocking test for a message\n\n .. note:: This function blocks until the message arrives.\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_51Probe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Probe (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[3] = {0,0,0}; /* "mpi4py/MPI/Comm.pyx":369 * * def Probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """ * Blocking test for a message */ values[2] = (PyObject *)((struct PyMPIStatusObject *)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_source); 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_tag); 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_status); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Probe") < 0)) __PYX_ERR(7, 368, __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; } } if (values[0]) { __pyx_v_source = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 368, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__47; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 368, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__48; } __pyx_v_status = ((struct PyMPIStatusObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Probe", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 368, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Probe", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 369, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_50Probe(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":368 * # ----- * * def Probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_50Probe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Probe", 0); /* "mpi4py/MPI/Comm.pyx":375 * .. note:: This function blocks until the message arrives. * """ * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Probe( * source, tag, self.ob_mpi, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":376 * """ * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Probe( # <<<<<<<<<<<<<< * source, tag, self.ob_mpi, statusp) ) * return True */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":377 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Probe( * source, tag, self.ob_mpi, statusp) ) # <<<<<<<<<<<<<< * return True * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Probe(__pyx_v_source, __pyx_v_tag, __pyx_v_self->ob_mpi, __pyx_v_statusp)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 376, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":376 * """ * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Probe( # <<<<<<<<<<<<<< * source, tag, self.ob_mpi, statusp) ) * return True */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":378 * with nogil: CHKERR( MPI_Probe( * source, tag, self.ob_mpi, statusp) ) * return True # <<<<<<<<<<<<<< * * def Iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_True); __pyx_r = Py_True; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":368 * # ----- * * def Probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Probe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":380 * return True * * def Iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_53Iprobe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_52Iprobe[] = "Comm.Iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\n\n Nonblocking test for a message\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_53Iprobe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iprobe (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[3] = {0,0,0}; /* "mpi4py/MPI/Comm.pyx":381 * * def Iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """ * Nonblocking test for a message */ values[2] = (PyObject *)((struct PyMPIStatusObject *)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_source); 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_tag); 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_status); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iprobe") < 0)) __PYX_ERR(7, 380, __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; } } if (values[0]) { __pyx_v_source = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 380, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__49; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 380, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__50; } __pyx_v_status = ((struct PyMPIStatusObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iprobe", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 380, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Iprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 381, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_52Iprobe(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":380 * return True * * def Iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_52Iprobe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_flag; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iprobe", 0); /* "mpi4py/MPI/Comm.pyx":385 * Nonblocking test for a message * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Iprobe( */ __pyx_v_flag = 0; /* "mpi4py/MPI/Comm.pyx":386 * """ * cdef int flag = 0 * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Iprobe( * source, tag, self.ob_mpi, &flag, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":387 * cdef int flag = 0 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Iprobe( # <<<<<<<<<<<<<< * source, tag, self.ob_mpi, &flag, statusp) ) * return flag */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":388 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Iprobe( * source, tag, self.ob_mpi, &flag, statusp) ) # <<<<<<<<<<<<<< * return flag * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Iprobe(__pyx_v_source, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_flag), __pyx_v_statusp)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 387, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":387 * cdef int flag = 0 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Iprobe( # <<<<<<<<<<<<<< * source, tag, self.ob_mpi, &flag, statusp) ) * return flag */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":389 * with nogil: CHKERR( MPI_Iprobe( * source, tag, self.ob_mpi, &flag, statusp) ) * return flag # <<<<<<<<<<<<<< * * # Matching Probe */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":380 * return True * * def Iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Iprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":394 * # -------------- * * def Mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_55Mprobe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_54Mprobe[] = "Comm.Mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\n\n Blocking test for a matched message\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_55Mprobe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Mprobe (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[3] = {0,0,0}; /* "mpi4py/MPI/Comm.pyx":395 * * def Mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """ * Blocking test for a matched message */ values[2] = (PyObject *)((struct PyMPIStatusObject *)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_source); 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_tag); 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_status); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Mprobe") < 0)) __PYX_ERR(7, 394, __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; } } if (values[0]) { __pyx_v_source = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 394, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__51; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 394, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__52; } __pyx_v_status = ((struct PyMPIStatusObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Mprobe", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 394, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Mprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 395, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_54Mprobe(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":394 * # -------------- * * def Mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_54Mprobe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { MPI_Message __pyx_v_cmessage; MPI_Status *__pyx_v_statusp; struct PyMPIMessageObject *__pyx_v_message = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Mprobe", 0); /* "mpi4py/MPI/Comm.pyx":399 * Blocking test for a matched message * """ * cdef MPI_Message cmessage = MPI_MESSAGE_NULL # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Mprobe( */ __pyx_v_cmessage = MPI_MESSAGE_NULL; /* "mpi4py/MPI/Comm.pyx":400 * """ * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Mprobe( * source, tag, self.ob_mpi, &cmessage, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":401 * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Mprobe( # <<<<<<<<<<<<<< * source, tag, self.ob_mpi, &cmessage, statusp) ) * cdef Message message = Message.__new__(Message) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":402 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Mprobe( * source, tag, self.ob_mpi, &cmessage, statusp) ) # <<<<<<<<<<<<<< * cdef Message message = Message.__new__(Message) * message.ob_mpi = cmessage */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Mprobe(__pyx_v_source, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_cmessage), __pyx_v_statusp)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 401, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":401 * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Mprobe( # <<<<<<<<<<<<<< * source, tag, self.ob_mpi, &cmessage, statusp) ) * cdef Message message = Message.__new__(Message) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":403 * with nogil: CHKERR( MPI_Mprobe( * source, tag, self.ob_mpi, &cmessage, statusp) ) * cdef Message message = Message.__new__(Message) # <<<<<<<<<<<<<< * message.ob_mpi = cmessage * return message */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 403, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_message = ((struct PyMPIMessageObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":404 * source, tag, self.ob_mpi, &cmessage, statusp) ) * cdef Message message = Message.__new__(Message) * message.ob_mpi = cmessage # <<<<<<<<<<<<<< * return message * */ __pyx_v_message->ob_mpi = __pyx_v_cmessage; /* "mpi4py/MPI/Comm.pyx":405 * cdef Message message = Message.__new__(Message) * message.ob_mpi = cmessage * return message # <<<<<<<<<<<<<< * * def Improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_message)); __pyx_r = ((PyObject *)__pyx_v_message); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":394 * # -------------- * * def Mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Mprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_message); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":407 * return message * * def Improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_57Improbe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_56Improbe[] = "Comm.Improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\n\n Nonblocking test for a matched message\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_57Improbe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Improbe (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[3] = {0,0,0}; /* "mpi4py/MPI/Comm.pyx":408 * * def Improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """ * Nonblocking test for a matched message */ values[2] = (PyObject *)((struct PyMPIStatusObject *)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_source); 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_tag); 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_status); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Improbe") < 0)) __PYX_ERR(7, 407, __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; } } if (values[0]) { __pyx_v_source = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 407, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__53; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 407, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__54; } __pyx_v_status = ((struct PyMPIStatusObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Improbe", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 407, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Improbe", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 408, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_56Improbe(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":407 * return message * * def Improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_56Improbe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_flag; MPI_Message __pyx_v_cmessage; MPI_Status *__pyx_v_statusp; struct PyMPIMessageObject *__pyx_v_message = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Improbe", 0); /* "mpi4py/MPI/Comm.pyx":412 * Nonblocking test for a matched message * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) */ __pyx_v_flag = 0; /* "mpi4py/MPI/Comm.pyx":413 * """ * cdef int flag = 0 * cdef MPI_Message cmessage = MPI_MESSAGE_NULL # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Improbe( */ __pyx_v_cmessage = MPI_MESSAGE_NULL; /* "mpi4py/MPI/Comm.pyx":414 * cdef int flag = 0 * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Improbe( * source, tag, self.ob_mpi, &flag, &cmessage, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":415 * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Improbe( # <<<<<<<<<<<<<< * source, tag, self.ob_mpi, &flag, &cmessage, statusp) ) * if flag == 0: return None */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":416 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Improbe( * source, tag, self.ob_mpi, &flag, &cmessage, statusp) ) # <<<<<<<<<<<<<< * if flag == 0: return None * cdef Message message = Message.__new__(Message) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Improbe(__pyx_v_source, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_flag), (&__pyx_v_cmessage), __pyx_v_statusp)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 415, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":415 * cdef MPI_Message cmessage = MPI_MESSAGE_NULL * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_Improbe( # <<<<<<<<<<<<<< * source, tag, self.ob_mpi, &flag, &cmessage, statusp) ) * if flag == 0: return None */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":417 * with nogil: CHKERR( MPI_Improbe( * source, tag, self.ob_mpi, &flag, &cmessage, statusp) ) * if flag == 0: return None # <<<<<<<<<<<<<< * cdef Message message = Message.__new__(Message) * message.ob_mpi = cmessage */ __pyx_t_2 = ((__pyx_v_flag == 0) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":418 * source, tag, self.ob_mpi, &flag, &cmessage, statusp) ) * if flag == 0: return None * cdef Message message = Message.__new__(Message) # <<<<<<<<<<<<<< * message.ob_mpi = cmessage * return message */ __pyx_t_3 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 418, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __pyx_t_4 = ((PyObject *)__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_v_message = ((struct PyMPIMessageObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":419 * if flag == 0: return None * cdef Message message = Message.__new__(Message) * message.ob_mpi = cmessage # <<<<<<<<<<<<<< * return message * */ __pyx_v_message->ob_mpi = __pyx_v_cmessage; /* "mpi4py/MPI/Comm.pyx":420 * cdef Message message = Message.__new__(Message) * message.ob_mpi = cmessage * return message # <<<<<<<<<<<<<< * * # Persistent Communication */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_message)); __pyx_r = ((PyObject *)__pyx_v_message); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":407 * return message * * def Improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Comm.Improbe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_message); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":425 * # ------------------------ * * def Send_init(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Create a persistent request for a standard send */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_59Send_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_58Send_init[] = "Comm.Send_init(self, buf, int dest, int tag=0)\n\n Create a persistent request for a standard send\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_59Send_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Send_init (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_tag,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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Send_init", 0, 2, 3, 1); __PYX_ERR(7, 425, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Send_init") < 0)) __PYX_ERR(7, 425, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 425, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 425, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Send_init", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 425, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Send_init", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_58Send_init(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_58Send_init(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; struct PyMPIPrequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Send_init", 0); /* "mpi4py/MPI/Comm.pyx":429 * Create a persistent request for a standard send * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) # <<<<<<<<<<<<<< * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Send_init( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_buf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":430 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Prequest request = Prequest.__new__(Prequest) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Send_init( * smsg.buf, smsg.count, smsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Prequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Prequest), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 430, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIPrequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":431 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Send_init( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":433 * with nogil: CHKERR( MPI_Send_init( * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = smsg * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Send_init(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_request->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 431, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":431 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Send_init( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":434 * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_smsg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_smsg)); __Pyx_GOTREF(__pyx_v_request->__pyx_base.ob_buf); __Pyx_DECREF(__pyx_v_request->__pyx_base.ob_buf); __pyx_v_request->__pyx_base.ob_buf = ((PyObject *)__pyx_v_smsg); /* "mpi4py/MPI/Comm.pyx":435 * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg * return request # <<<<<<<<<<<<<< * * def Recv_init(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":425 * # ------------------------ * * def Send_init(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Create a persistent request for a standard send */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Send_init", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":437 * return request * * def Recv_init(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG): # <<<<<<<<<<<<<< * """ * Create a persistent request for a receive */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_61Recv_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_60Recv_init[] = "Comm.Recv_init(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG)\n\n Create a persistent request for a receive\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_61Recv_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_source; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Recv_init (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_source,&__pyx_n_s_tag,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_buf)) != 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_source); 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_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Recv_init") < 0)) __PYX_ERR(7, 437, __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_buf = values[0]; if (values[1]) { __pyx_v_source = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 437, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__55; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 437, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__56; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Recv_init", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 437, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Recv_init", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_60Recv_init(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_source, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_60Recv_init(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_source, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_rmsg = 0; struct PyMPIPrequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Recv_init", 0); /* "mpi4py/MPI/Comm.pyx":441 * Create a persistent request for a receive * """ * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) # <<<<<<<<<<<<<< * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Recv_init( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_recv(__pyx_v_buf, __pyx_v_source)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_rmsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":442 * """ * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef Prequest request = Prequest.__new__(Prequest) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Recv_init( * rmsg.buf, rmsg.count, rmsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Prequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Prequest), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 442, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIPrequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":443 * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Recv_init( # <<<<<<<<<<<<<< * rmsg.buf, rmsg.count, rmsg.dtype, * source, tag, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":445 * with nogil: CHKERR( MPI_Recv_init( * rmsg.buf, rmsg.count, rmsg.dtype, * source, tag, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = rmsg * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Recv_init(__pyx_v_rmsg->buf, __pyx_v_rmsg->count, __pyx_v_rmsg->dtype, __pyx_v_source, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_request->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 443, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":443 * cdef _p_msg_p2p rmsg = message_p2p_recv(buf, source) * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Recv_init( # <<<<<<<<<<<<<< * rmsg.buf, rmsg.count, rmsg.dtype, * source, tag, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":446 * rmsg.buf, rmsg.count, rmsg.dtype, * source, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = rmsg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_rmsg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_rmsg)); __Pyx_GOTREF(__pyx_v_request->__pyx_base.ob_buf); __Pyx_DECREF(__pyx_v_request->__pyx_base.ob_buf); __pyx_v_request->__pyx_base.ob_buf = ((PyObject *)__pyx_v_rmsg); /* "mpi4py/MPI/Comm.pyx":447 * source, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = rmsg * return request # <<<<<<<<<<<<<< * * # Communication Modes */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":437 * return request * * def Recv_init(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG): # <<<<<<<<<<<<<< * """ * Create a persistent request for a receive */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Recv_init", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_rmsg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":454 * # Blocking calls * * def Bsend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Blocking send in buffered mode */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_63Bsend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_62Bsend[] = "Comm.Bsend(self, buf, int dest, int tag=0)\n\n Blocking send in buffered mode\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_63Bsend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Bsend (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_tag,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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Bsend", 0, 2, 3, 1); __PYX_ERR(7, 454, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Bsend") < 0)) __PYX_ERR(7, 454, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 454, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 454, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Bsend", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 454, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Bsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_62Bsend(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_62Bsend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Bsend", 0); /* "mpi4py/MPI/Comm.pyx":458 * Blocking send in buffered mode * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bsend( * smsg.buf, smsg.count, smsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_buf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":459 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * with nogil: CHKERR( MPI_Bsend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":461 * with nogil: CHKERR( MPI_Bsend( * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Ssend(self, buf, int dest, int tag=0): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Bsend(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_tag, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 459, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":459 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * with nogil: CHKERR( MPI_Bsend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":454 * # Blocking calls * * def Bsend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Blocking send in buffered mode */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Bsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":463 * dest, tag, self.ob_mpi) ) * * def Ssend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Blocking send in synchronous mode */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_65Ssend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_64Ssend[] = "Comm.Ssend(self, buf, int dest, int tag=0)\n\n Blocking send in synchronous mode\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_65Ssend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ssend (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_tag,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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ssend", 0, 2, 3, 1); __PYX_ERR(7, 463, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ssend") < 0)) __PYX_ERR(7, 463, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 463, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 463, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ssend", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 463, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Ssend", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_64Ssend(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_64Ssend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ssend", 0); /* "mpi4py/MPI/Comm.pyx":467 * Blocking send in synchronous mode * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ssend( * smsg.buf, smsg.count, smsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_buf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":468 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * with nogil: CHKERR( MPI_Ssend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":470 * with nogil: CHKERR( MPI_Ssend( * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Rsend(self, buf, int dest, int tag=0): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ssend(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_tag, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 468, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":468 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * with nogil: CHKERR( MPI_Ssend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":463 * dest, tag, self.ob_mpi) ) * * def Ssend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Blocking send in synchronous mode */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Ssend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":472 * dest, tag, self.ob_mpi) ) * * def Rsend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Blocking send in ready mode */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_67Rsend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_66Rsend[] = "Comm.Rsend(self, buf, int dest, int tag=0)\n\n Blocking send in ready mode\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_67Rsend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Rsend (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_tag,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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Rsend", 0, 2, 3, 1); __PYX_ERR(7, 472, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Rsend") < 0)) __PYX_ERR(7, 472, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 472, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 472, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Rsend", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 472, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Rsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_66Rsend(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_66Rsend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Rsend", 0); /* "mpi4py/MPI/Comm.pyx":476 * Blocking send in ready mode * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Rsend( * smsg.buf, smsg.count, smsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_buf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":477 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * with nogil: CHKERR( MPI_Rsend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":479 * with nogil: CHKERR( MPI_Rsend( * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Nonblocking calls */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Rsend(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_tag, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 477, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":477 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * with nogil: CHKERR( MPI_Rsend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":472 * dest, tag, self.ob_mpi) ) * * def Rsend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Blocking send in ready mode */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Rsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":483 * # Nonblocking calls * * def Ibsend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Nonblocking send in buffered mode */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_69Ibsend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_68Ibsend[] = "Comm.Ibsend(self, buf, int dest, int tag=0)\n\n Nonblocking send in buffered mode\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_69Ibsend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ibsend (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_tag,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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ibsend", 0, 2, 3, 1); __PYX_ERR(7, 483, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ibsend") < 0)) __PYX_ERR(7, 483, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 483, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 483, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ibsend", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 483, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Ibsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_68Ibsend(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_68Ibsend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ibsend", 0); /* "mpi4py/MPI/Comm.pyx":487 * Nonblocking send in buffered mode * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ibsend( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_buf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":488 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ibsend( * smsg.buf, smsg.count, smsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 488, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":489 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ibsend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":491 * with nogil: CHKERR( MPI_Ibsend( * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = smsg * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ibsend(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 489, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":489 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ibsend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":492 * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_smsg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_smsg)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_smsg); /* "mpi4py/MPI/Comm.pyx":493 * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg * return request # <<<<<<<<<<<<<< * * def Issend(self, buf, int dest, int tag=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":483 * # Nonblocking calls * * def Ibsend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Nonblocking send in buffered mode */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Ibsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":495 * return request * * def Issend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Nonblocking send in synchronous mode */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_71Issend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_70Issend[] = "Comm.Issend(self, buf, int dest, int tag=0)\n\n Nonblocking send in synchronous mode\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_71Issend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Issend (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_tag,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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Issend", 0, 2, 3, 1); __PYX_ERR(7, 495, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Issend") < 0)) __PYX_ERR(7, 495, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 495, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 495, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Issend", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 495, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Issend", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_70Issend(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_70Issend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Issend", 0); /* "mpi4py/MPI/Comm.pyx":499 * Nonblocking send in synchronous mode * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Issend( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_buf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":500 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Issend( * smsg.buf, smsg.count, smsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 500, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":501 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Issend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":503 * with nogil: CHKERR( MPI_Issend( * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = smsg * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Issend(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 501, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":501 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Issend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":504 * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_smsg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_smsg)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_smsg); /* "mpi4py/MPI/Comm.pyx":505 * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg * return request # <<<<<<<<<<<<<< * * def Irsend(self, buf, int dest, int tag=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":495 * return request * * def Issend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Nonblocking send in synchronous mode */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Issend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":507 * return request * * def Irsend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Nonblocking send in ready mode */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_73Irsend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_72Irsend[] = "Comm.Irsend(self, buf, int dest, int tag=0)\n\n Nonblocking send in ready mode\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_73Irsend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Irsend (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_tag,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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Irsend", 0, 2, 3, 1); __PYX_ERR(7, 507, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Irsend") < 0)) __PYX_ERR(7, 507, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 507, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 507, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Irsend", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 507, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Irsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_72Irsend(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_72Irsend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Irsend", 0); /* "mpi4py/MPI/Comm.pyx":511 * Nonblocking send in ready mode * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Irsend( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_buf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 511, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":512 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Irsend( * smsg.buf, smsg.count, smsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 512, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":513 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Irsend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":515 * with nogil: CHKERR( MPI_Irsend( * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = smsg * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Irsend(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 513, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":513 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Irsend( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":516 * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_smsg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_smsg)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_smsg); /* "mpi4py/MPI/Comm.pyx":517 * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg * return request # <<<<<<<<<<<<<< * * # Persistent Requests */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":507 * return request * * def Irsend(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Nonblocking send in ready mode */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Irsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":521 * # Persistent Requests * * def Bsend_init(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Persistent request for a send in buffered mode */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_75Bsend_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_74Bsend_init[] = "Comm.Bsend_init(self, buf, int dest, int tag=0)\n\n Persistent request for a send in buffered mode\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_75Bsend_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Bsend_init (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_tag,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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Bsend_init", 0, 2, 3, 1); __PYX_ERR(7, 521, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Bsend_init") < 0)) __PYX_ERR(7, 521, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 521, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 521, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Bsend_init", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 521, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Bsend_init", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_74Bsend_init(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_74Bsend_init(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; struct PyMPIPrequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Bsend_init", 0); /* "mpi4py/MPI/Comm.pyx":525 * Persistent request for a send in buffered mode * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) # <<<<<<<<<<<<<< * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Bsend_init( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_buf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":526 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Prequest request = Prequest.__new__(Prequest) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bsend_init( * smsg.buf, smsg.count, smsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Prequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Prequest), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 526, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIPrequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":527 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Bsend_init( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":529 * with nogil: CHKERR( MPI_Bsend_init( * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = smsg * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Bsend_init(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_request->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 527, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":527 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Bsend_init( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":530 * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_smsg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_smsg)); __Pyx_GOTREF(__pyx_v_request->__pyx_base.ob_buf); __Pyx_DECREF(__pyx_v_request->__pyx_base.ob_buf); __pyx_v_request->__pyx_base.ob_buf = ((PyObject *)__pyx_v_smsg); /* "mpi4py/MPI/Comm.pyx":531 * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg * return request # <<<<<<<<<<<<<< * * def Ssend_init(self, buf, int dest, int tag=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":521 * # Persistent Requests * * def Bsend_init(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Persistent request for a send in buffered mode */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Bsend_init", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":533 * return request * * def Ssend_init(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Persistent request for a send in synchronous mode */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_77Ssend_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_76Ssend_init[] = "Comm.Ssend_init(self, buf, int dest, int tag=0)\n\n Persistent request for a send in synchronous mode\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_77Ssend_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ssend_init (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_tag,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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ssend_init", 0, 2, 3, 1); __PYX_ERR(7, 533, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ssend_init") < 0)) __PYX_ERR(7, 533, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 533, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 533, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ssend_init", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 533, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Ssend_init", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_76Ssend_init(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_76Ssend_init(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; struct PyMPIPrequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ssend_init", 0); /* "mpi4py/MPI/Comm.pyx":537 * Persistent request for a send in synchronous mode * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) # <<<<<<<<<<<<<< * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Ssend_init( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_buf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":538 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Prequest request = Prequest.__new__(Prequest) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ssend_init( * smsg.buf, smsg.count, smsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Prequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Prequest), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 538, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIPrequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":539 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Ssend_init( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":541 * with nogil: CHKERR( MPI_Ssend_init( * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = smsg * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ssend_init(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_request->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 539, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":539 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Ssend_init( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":542 * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_smsg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_smsg)); __Pyx_GOTREF(__pyx_v_request->__pyx_base.ob_buf); __Pyx_DECREF(__pyx_v_request->__pyx_base.ob_buf); __pyx_v_request->__pyx_base.ob_buf = ((PyObject *)__pyx_v_smsg); /* "mpi4py/MPI/Comm.pyx":543 * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg * return request # <<<<<<<<<<<<<< * * def Rsend_init(self, buf, int dest, int tag=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":533 * return request * * def Ssend_init(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Persistent request for a send in synchronous mode */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Ssend_init", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":545 * return request * * def Rsend_init(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Persistent request for a send in ready mode */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_79Rsend_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_78Rsend_init[] = "Comm.Rsend_init(self, buf, int dest, int tag=0)\n\n Persistent request for a send in ready mode\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_79Rsend_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Rsend_init (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_dest,&__pyx_n_s_tag,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_buf)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Rsend_init", 0, 2, 3, 1); __PYX_ERR(7, 545, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Rsend_init") < 0)) __PYX_ERR(7, 545, __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_buf = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 545, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 545, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Rsend_init", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 545, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Rsend_init", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_78Rsend_init(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_78Rsend_init(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_dest, int __pyx_v_tag) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *__pyx_v_smsg = 0; struct PyMPIPrequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Rsend_init", 0); /* "mpi4py/MPI/Comm.pyx":549 * Persistent request for a send in ready mode * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) # <<<<<<<<<<<<<< * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Rsend_init( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_p2p_send(__pyx_v_buf, __pyx_v_dest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_smsg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":550 * """ * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Prequest request = Prequest.__new__(Prequest) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Rsend_init( * smsg.buf, smsg.count, smsg.dtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Prequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Prequest), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 550, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIPrequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":551 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Rsend_init( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":553 * with nogil: CHKERR( MPI_Rsend_init( * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = smsg * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Rsend_init(__pyx_v_smsg->buf, __pyx_v_smsg->count, __pyx_v_smsg->dtype, __pyx_v_dest, __pyx_v_tag, __pyx_v_self->ob_mpi, (&__pyx_v_request->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 551, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":551 * cdef _p_msg_p2p smsg = message_p2p_send(buf, dest) * cdef Prequest request = Prequest.__new__(Prequest) * with nogil: CHKERR( MPI_Rsend_init( # <<<<<<<<<<<<<< * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":554 * smsg.buf, smsg.count, smsg.dtype, * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_smsg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_smsg)); __Pyx_GOTREF(__pyx_v_request->__pyx_base.ob_buf); __Pyx_DECREF(__pyx_v_request->__pyx_base.ob_buf); __pyx_v_request->__pyx_base.ob_buf = ((PyObject *)__pyx_v_smsg); /* "mpi4py/MPI/Comm.pyx":555 * dest, tag, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = smsg * return request # <<<<<<<<<<<<<< * * # Collective Communications */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":545 * return request * * def Rsend_init(self, buf, int dest, int tag=0): # <<<<<<<<<<<<<< * """ * Persistent request for a send in ready mode */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Rsend_init", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_smsg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":563 * # ----------------------- * * def Barrier(self): # <<<<<<<<<<<<<< * """ * Barrier synchronization */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_81Barrier(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_80Barrier[] = "Comm.Barrier(self)\n\n Barrier synchronization\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_81Barrier(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Barrier (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Barrier", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Barrier", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_80Barrier(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_80Barrier(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Barrier", 0); /* "mpi4py/MPI/Comm.pyx":567 * Barrier synchronization * """ * with nogil: CHKERR( MPI_Barrier(self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Global Communication Functions */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Barrier(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 567, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":563 * # ----------------------- * * def Barrier(self): # <<<<<<<<<<<<<< * """ * Barrier synchronization */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Barrier", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":572 * # ------------------------------ * * def Bcast(self, buf, int root=0): # <<<<<<<<<<<<<< * """ * Broadcast a message from one process */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_83Bcast(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_82Bcast[] = "Comm.Bcast(self, buf, int root=0)\n\n Broadcast a message from one process\n to all other processes in a group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_83Bcast(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Bcast (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_root,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_buf)) != 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_root); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Bcast") < 0)) __PYX_ERR(7, 572, __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_buf = values[0]; if (values[1]) { __pyx_v_root = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 572, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Bcast", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 572, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Bcast", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_82Bcast(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_82Bcast(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_root) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Bcast", 0); /* "mpi4py/MPI/Comm.pyx":577 * to all other processes in a group * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_bcast(buf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Bcast( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":578 * """ * cdef _p_msg_cco m = message_cco() * m.for_bcast(buf, root, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bcast( * m.sbuf, m.scount, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_bcast(__pyx_v_m, __pyx_v_buf, __pyx_v_root, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 578, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":579 * cdef _p_msg_cco m = message_cco() * m.for_bcast(buf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Bcast( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * root, self.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":581 * with nogil: CHKERR( MPI_Bcast( * m.sbuf, m.scount, m.stype, * root, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Gather(self, sendbuf, recvbuf, int root=0): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Bcast(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_root, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 579, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":579 * cdef _p_msg_cco m = message_cco() * m.for_bcast(buf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Bcast( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * root, self.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":572 * # ------------------------------ * * def Bcast(self, buf, int root=0): # <<<<<<<<<<<<<< * """ * Broadcast a message from one process */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Bcast", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":583 * root, self.ob_mpi) ) * * def Gather(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Gather together values from a group of processes */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_85Gather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_84Gather[] = "Comm.Gather(self, sendbuf, recvbuf, int root=0)\n\n Gather together values from a group of processes\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_85Gather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Gather (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_root,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Gather", 0, 2, 3, 1); __PYX_ERR(7, 583, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_root); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Gather") < 0)) __PYX_ERR(7, 583, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; if (values[2]) { __pyx_v_root = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 583, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Gather", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 583, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Gather", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_84Gather(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_84Gather(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Gather", 0); /* "mpi4py/MPI/Comm.pyx":587 * Gather together values from a group of processes * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_gather(0, sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Gather( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":588 * """ * cdef _p_msg_cco m = message_cco() * m.for_gather(0, sendbuf, recvbuf, root, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Gather( * m.sbuf, m.scount, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_gather(__pyx_v_m, 0, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 588, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":589 * cdef _p_msg_cco m = message_cco() * m.for_gather(0, sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Gather( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":592 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, * root, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Gatherv(self, sendbuf, recvbuf, int root=0): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Gather(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_root, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 589, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":589 * cdef _p_msg_cco m = message_cco() * m.for_gather(0, sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Gather( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":583 * root, self.ob_mpi) ) * * def Gather(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Gather together values from a group of processes */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Gather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":594 * root, self.ob_mpi) ) * * def Gatherv(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Gather Vector, gather data to one process from all other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_87Gatherv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_86Gatherv[] = "Comm.Gatherv(self, sendbuf, recvbuf, int root=0)\n\n Gather Vector, gather data to one process from all other\n processes in a group providing different amount of data and\n displacements at the receiving sides\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_87Gatherv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Gatherv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_root,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Gatherv", 0, 2, 3, 1); __PYX_ERR(7, 594, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_root); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Gatherv") < 0)) __PYX_ERR(7, 594, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; if (values[2]) { __pyx_v_root = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 594, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Gatherv", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 594, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Gatherv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_86Gatherv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_86Gatherv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Gatherv", 0); /* "mpi4py/MPI/Comm.pyx":600 * displacements at the receiving sides * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_gather(1, sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Gatherv( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":601 * """ * cdef _p_msg_cco m = message_cco() * m.for_gather(1, sendbuf, recvbuf, root, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Gatherv( * m.sbuf, m.scount, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_gather(__pyx_v_m, 1, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 601, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":602 * cdef _p_msg_cco m = message_cco() * m.for_gather(1, sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Gatherv( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":605 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, * root, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Scatter(self, sendbuf, recvbuf, int root=0): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Gatherv(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdispls, __pyx_v_m->rtype, __pyx_v_root, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 602, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":602 * cdef _p_msg_cco m = message_cco() * m.for_gather(1, sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Gatherv( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":594 * root, self.ob_mpi) ) * * def Gatherv(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Gather Vector, gather data to one process from all other */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Gatherv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":607 * root, self.ob_mpi) ) * * def Scatter(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Scatter data from one process */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_89Scatter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_88Scatter[] = "Comm.Scatter(self, sendbuf, recvbuf, int root=0)\n\n Scatter data from one process\n to all other processes in a group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_89Scatter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Scatter (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_root,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Scatter", 0, 2, 3, 1); __PYX_ERR(7, 607, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_root); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Scatter") < 0)) __PYX_ERR(7, 607, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; if (values[2]) { __pyx_v_root = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 607, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Scatter", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 607, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Scatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_88Scatter(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_88Scatter(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Scatter", 0); /* "mpi4py/MPI/Comm.pyx":612 * to all other processes in a group * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_scatter(0, sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Scatter( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":613 * """ * cdef _p_msg_cco m = message_cco() * m.for_scatter(0, sendbuf, recvbuf, root, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Scatter( * m.sbuf, m.scount, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scatter(__pyx_v_m, 0, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 613, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":614 * cdef _p_msg_cco m = message_cco() * m.for_scatter(0, sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Scatter( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":617 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, * root, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Scatterv(self, sendbuf, recvbuf, int root=0): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Scatter(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_root, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 614, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":614 * cdef _p_msg_cco m = message_cco() * m.for_scatter(0, sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Scatter( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":607 * root, self.ob_mpi) ) * * def Scatter(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Scatter data from one process */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Scatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":619 * root, self.ob_mpi) ) * * def Scatterv(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Scatter Vector, scatter data from one process to all other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_91Scatterv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_90Scatterv[] = "Comm.Scatterv(self, sendbuf, recvbuf, int root=0)\n\n Scatter Vector, scatter data from one process to all other\n processes in a group providing different amount of data and\n displacements at the sending side\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_91Scatterv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Scatterv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_root,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Scatterv", 0, 2, 3, 1); __PYX_ERR(7, 619, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_root); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Scatterv") < 0)) __PYX_ERR(7, 619, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; if (values[2]) { __pyx_v_root = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 619, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Scatterv", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 619, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Scatterv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_90Scatterv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_90Scatterv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Scatterv", 0); /* "mpi4py/MPI/Comm.pyx":625 * displacements at the sending side * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_scatter(1, sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Scatterv( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":626 * """ * cdef _p_msg_cco m = message_cco() * m.for_scatter(1, sendbuf, recvbuf, root, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Scatterv( * m.sbuf, m.scounts, m.sdispls, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scatter(__pyx_v_m, 1, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 626, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":627 * cdef _p_msg_cco m = message_cco() * m.for_scatter(1, sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Scatterv( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":630 * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcount, m.rtype, * root, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Allgather(self, sendbuf, recvbuf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Scatterv(__pyx_v_m->sbuf, __pyx_v_m->scounts, __pyx_v_m->sdispls, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_root, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 627, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":627 * cdef _p_msg_cco m = message_cco() * m.for_scatter(1, sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Scatterv( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":619 * root, self.ob_mpi) ) * * def Scatterv(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Scatter Vector, scatter data from one process to all other */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Scatterv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":632 * root, self.ob_mpi) ) * * def Allgather(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Gather to All, gather data from all processes and */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_93Allgather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_92Allgather[] = "Comm.Allgather(self, sendbuf, recvbuf)\n\n Gather to All, gather data from all processes and\n distribute it to all other processes in a group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_93Allgather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Allgather (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Allgather", 1, 2, 2, 1); __PYX_ERR(7, 632, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Allgather") < 0)) __PYX_ERR(7, 632, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Allgather", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 632, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_92Allgather(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_92Allgather(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Allgather", 0); /* "mpi4py/MPI/Comm.pyx":637 * distribute it to all other processes in a group * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_allgather(0, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Allgather( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":638 * """ * cdef _p_msg_cco m = message_cco() * m.for_allgather(0, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Allgather( * m.sbuf, m.scount, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allgather(__pyx_v_m, 0, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 638, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":639 * cdef _p_msg_cco m = message_cco() * m.for_allgather(0, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Allgather( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":642 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, * self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Allgatherv(self, sendbuf, recvbuf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Allgather(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 639, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":639 * cdef _p_msg_cco m = message_cco() * m.for_allgather(0, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Allgather( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":632 * root, self.ob_mpi) ) * * def Allgather(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Gather to All, gather data from all processes and */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":644 * self.ob_mpi) ) * * def Allgatherv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Gather to All Vector, gather data from all processes and */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_95Allgatherv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_94Allgatherv[] = "Comm.Allgatherv(self, sendbuf, recvbuf)\n\n Gather to All Vector, gather data from all processes and\n distribute it to all other processes in a group providing\n different amount of data and displacements\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_95Allgatherv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Allgatherv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Allgatherv", 1, 2, 2, 1); __PYX_ERR(7, 644, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Allgatherv") < 0)) __PYX_ERR(7, 644, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Allgatherv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 644, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Allgatherv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_94Allgatherv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_94Allgatherv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Allgatherv", 0); /* "mpi4py/MPI/Comm.pyx":650 * different amount of data and displacements * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_allgather(1, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Allgatherv( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":651 * """ * cdef _p_msg_cco m = message_cco() * m.for_allgather(1, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Allgatherv( * m.sbuf, m.scount, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allgather(__pyx_v_m, 1, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 651, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":652 * cdef _p_msg_cco m = message_cco() * m.for_allgather(1, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Allgatherv( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":655 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, * self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Alltoall(self, sendbuf, recvbuf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Allgatherv(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdispls, __pyx_v_m->rtype, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 652, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":652 * cdef _p_msg_cco m = message_cco() * m.for_allgather(1, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Allgatherv( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":644 * self.ob_mpi) ) * * def Allgatherv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Gather to All Vector, gather data from all processes and */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Allgatherv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":657 * self.ob_mpi) ) * * def Alltoall(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * All to All Scatter/Gather, send data from all to all */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_97Alltoall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_96Alltoall[] = "Comm.Alltoall(self, sendbuf, recvbuf)\n\n All to All Scatter/Gather, send data from all to all\n processes in a group\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_97Alltoall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Alltoall (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Alltoall", 1, 2, 2, 1); __PYX_ERR(7, 657, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Alltoall") < 0)) __PYX_ERR(7, 657, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Alltoall", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 657, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_96Alltoall(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_96Alltoall(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Alltoall", 0); /* "mpi4py/MPI/Comm.pyx":662 * processes in a group * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Alltoall( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":663 * """ * cdef _p_msg_cco m = message_cco() * m.for_alltoall(0, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Alltoall( * m.sbuf, m.scount, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_alltoall(__pyx_v_m, 0, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 663, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":664 * cdef _p_msg_cco m = message_cco() * m.for_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Alltoall( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":667 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, * self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Alltoallv(self, sendbuf, recvbuf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Alltoall(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 664, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":664 * cdef _p_msg_cco m = message_cco() * m.for_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Alltoall( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":657 * self.ob_mpi) ) * * def Alltoall(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * All to All Scatter/Gather, send data from all to all */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":669 * self.ob_mpi) ) * * def Alltoallv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * All to All Scatter/Gather Vector, send data from all to all */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_99Alltoallv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_98Alltoallv[] = "Comm.Alltoallv(self, sendbuf, recvbuf)\n\n All to All Scatter/Gather Vector, send data from all to all\n processes in a group providing different amount of data and\n displacements\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_99Alltoallv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Alltoallv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Alltoallv", 1, 2, 2, 1); __PYX_ERR(7, 669, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Alltoallv") < 0)) __PYX_ERR(7, 669, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Alltoallv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 669, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Alltoallv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_98Alltoallv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_98Alltoallv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Alltoallv", 0); /* "mpi4py/MPI/Comm.pyx":675 * displacements * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Alltoallv( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":676 * """ * cdef _p_msg_cco m = message_cco() * m.for_alltoall(1, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Alltoallv( * m.sbuf, m.scounts, m.sdispls, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_alltoall(__pyx_v_m, 1, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 676, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":677 * cdef _p_msg_cco m = message_cco() * m.for_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Alltoallv( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":680 * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, * self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Alltoallw(self, sendbuf, recvbuf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Alltoallv(__pyx_v_m->sbuf, __pyx_v_m->scounts, __pyx_v_m->sdispls, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdispls, __pyx_v_m->rtype, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 677, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":677 * cdef _p_msg_cco m = message_cco() * m.for_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Alltoallv( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":669 * self.ob_mpi) ) * * def Alltoallv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * All to All Scatter/Gather Vector, send data from all to all */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Alltoallv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":682 * self.ob_mpi) ) * * def Alltoallw(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Generalized All-to-All communication allowing different */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_101Alltoallw(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_100Alltoallw[] = "Comm.Alltoallw(self, sendbuf, recvbuf)\n\n Generalized All-to-All communication allowing different\n counts, displacements and datatypes for each partner\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_101Alltoallw(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Alltoallw (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Alltoallw", 1, 2, 2, 1); __PYX_ERR(7, 682, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Alltoallw") < 0)) __PYX_ERR(7, 682, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Alltoallw", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 682, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Alltoallw", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_100Alltoallw(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_100Alltoallw(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Alltoallw", 0); /* "mpi4py/MPI/Comm.pyx":687 * counts, displacements and datatypes for each partner * """ * cdef _p_msg_ccow m = message_ccow() # <<<<<<<<<<<<<< * m.for_alltoallw(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Alltoallw( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_ccow()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":688 * """ * cdef _p_msg_ccow m = message_ccow() * m.for_alltoallw(sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Alltoallw( * m.sbuf, m.scounts, m.sdispls, m.stypes, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_11_p_msg_ccow_for_alltoallw(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 688, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":689 * cdef _p_msg_ccow m = message_ccow() * m.for_alltoallw(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Alltoallw( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stypes, * m.rbuf, m.rcounts, m.rdispls, m.rtypes, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":692 * m.sbuf, m.scounts, m.sdispls, m.stypes, * m.rbuf, m.rcounts, m.rdispls, m.rtypes, * self.ob_mpi) ) # <<<<<<<<<<<<<< * * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Alltoallw(__pyx_v_m->sbuf, __pyx_v_m->scounts, __pyx_v_m->sdispls, __pyx_v_m->stypes, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdispls, __pyx_v_m->rtypes, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 689, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":689 * cdef _p_msg_ccow m = message_ccow() * m.for_alltoallw(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Alltoallw( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stypes, * m.rbuf, m.rcounts, m.rdispls, m.rtypes, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":682 * self.ob_mpi) ) * * def Alltoallw(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Generalized All-to-All communication allowing different */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Alltoallw", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":698 * # --------------------------- * * def Reduce(self, sendbuf, recvbuf, Op op=SUM, int root=0): # <<<<<<<<<<<<<< * """ * Reduce */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_103Reduce(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_102Reduce[] = "Comm.Reduce(self, sendbuf, recvbuf, Op op=SUM, int root=0)\n\n Reduce\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_103Reduce(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Reduce (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_op,&__pyx_n_s_root,0}; PyObject* values[4] = {0,0,0,0}; values[2] = (PyObject *)__pyx_k__57; 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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Reduce", 0, 2, 4, 1); __PYX_ERR(7, 698, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_op); 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_root); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Reduce") < 0)) __PYX_ERR(7, 698, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; __pyx_v_op = ((struct PyMPIOpObject *)values[2]); if (values[3]) { __pyx_v_root = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 698, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Reduce", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 698, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Reduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(7, 698, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_102Reduce(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_op, __pyx_v_root); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_102Reduce(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op, int __pyx_v_root) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Reduce", 0); /* "mpi4py/MPI/Comm.pyx":702 * Reduce * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_reduce(sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Reduce( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":703 * """ * cdef _p_msg_cco m = message_cco() * m.for_reduce(sendbuf, recvbuf, root, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Reduce( * m.sbuf, m.rbuf, m.rcount, m.rtype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 703, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":704 * cdef _p_msg_cco m = message_cco() * m.for_reduce(sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Reduce( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, root, self.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":706 * with nogil: CHKERR( MPI_Reduce( * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, root, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Allreduce(self, sendbuf, recvbuf, Op op=SUM): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Reduce(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_op->ob_mpi, __pyx_v_root, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 704, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":704 * cdef _p_msg_cco m = message_cco() * m.for_reduce(sendbuf, recvbuf, root, self.ob_mpi) * with nogil: CHKERR( MPI_Reduce( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, root, self.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":698 * # --------------------------- * * def Reduce(self, sendbuf, recvbuf, Op op=SUM, int root=0): # <<<<<<<<<<<<<< * """ * Reduce */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Reduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":708 * op.ob_mpi, root, self.ob_mpi) ) * * def Allreduce(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * All Reduce */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_105Allreduce(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_104Allreduce[] = "Comm.Allreduce(self, sendbuf, recvbuf, Op op=SUM)\n\n All Reduce\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_105Allreduce(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Allreduce (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_op,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)__pyx_k__58; 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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Allreduce", 0, 2, 3, 1); __PYX_ERR(7, 708, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_op); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Allreduce") < 0)) __PYX_ERR(7, 708, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; __pyx_v_op = ((struct PyMPIOpObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Allreduce", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 708, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Allreduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(7, 708, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_104Allreduce(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_op); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_104Allreduce(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Allreduce", 0); /* "mpi4py/MPI/Comm.pyx":712 * All Reduce * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_allreduce(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Allreduce( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":713 * """ * cdef _p_msg_cco m = message_cco() * m.for_allreduce(sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Allreduce( * m.sbuf, m.rbuf, m.rcount, m.rtype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allreduce(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 713, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":714 * cdef _p_msg_cco m = message_cco() * m.for_allreduce(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Allreduce( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":716 * with nogil: CHKERR( MPI_Allreduce( * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Reduce_scatter_block(self, sendbuf, recvbuf, Op op=SUM): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Allreduce(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_op->ob_mpi, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 714, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":714 * cdef _p_msg_cco m = message_cco() * m.for_allreduce(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Allreduce( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":708 * op.ob_mpi, root, self.ob_mpi) ) * * def Allreduce(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * All Reduce */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Allreduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":718 * op.ob_mpi, self.ob_mpi) ) * * def Reduce_scatter_block(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Reduce-Scatter Block (regular, non-vector version) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_107Reduce_scatter_block(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_106Reduce_scatter_block[] = "Comm.Reduce_scatter_block(self, sendbuf, recvbuf, Op op=SUM)\n\n Reduce-Scatter Block (regular, non-vector version)\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_107Reduce_scatter_block(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Reduce_scatter_block (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_op,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)__pyx_k__59; 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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Reduce_scatter_block", 0, 2, 3, 1); __PYX_ERR(7, 718, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_op); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Reduce_scatter_block") < 0)) __PYX_ERR(7, 718, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; __pyx_v_op = ((struct PyMPIOpObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Reduce_scatter_block", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 718, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Reduce_scatter_block", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(7, 718, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_106Reduce_scatter_block(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_op); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_106Reduce_scatter_block(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Reduce_scatter_block", 0); /* "mpi4py/MPI/Comm.pyx":722 * Reduce-Scatter Block (regular, non-vector version) * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_reduce_scatter_block(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Reduce_scatter_block( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":723 * """ * cdef _p_msg_cco m = message_cco() * m.for_reduce_scatter_block(sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Reduce_scatter_block( * m.sbuf, m.rbuf, m.rcount, m.rtype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce_scatter_block(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 723, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":724 * cdef _p_msg_cco m = message_cco() * m.for_reduce_scatter_block(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Reduce_scatter_block( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":726 * with nogil: CHKERR( MPI_Reduce_scatter_block( * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Reduce_scatter(self, sendbuf, recvbuf, recvcounts=None, Op op=SUM): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Reduce_scatter_block(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_op->ob_mpi, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 724, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":724 * cdef _p_msg_cco m = message_cco() * m.for_reduce_scatter_block(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Reduce_scatter_block( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":718 * op.ob_mpi, self.ob_mpi) ) * * def Reduce_scatter_block(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Reduce-Scatter Block (regular, non-vector version) */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Reduce_scatter_block", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":728 * op.ob_mpi, self.ob_mpi) ) * * def Reduce_scatter(self, sendbuf, recvbuf, recvcounts=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Reduce-Scatter (vector version) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_109Reduce_scatter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_108Reduce_scatter[] = "Comm.Reduce_scatter(self, sendbuf, recvbuf, recvcounts=None, Op op=SUM)\n\n Reduce-Scatter (vector version)\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_109Reduce_scatter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; PyObject *__pyx_v_recvcounts = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Reduce_scatter (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_recvcounts,&__pyx_n_s_op,0}; PyObject* values[4] = {0,0,0,0}; values[2] = ((PyObject *)Py_None); values[3] = (PyObject *)__pyx_k__60; 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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Reduce_scatter", 0, 2, 4, 1); __PYX_ERR(7, 728, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_recvcounts); 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_op); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Reduce_scatter") < 0)) __PYX_ERR(7, 728, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; __pyx_v_recvcounts = values[2]; __pyx_v_op = ((struct PyMPIOpObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Reduce_scatter", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 728, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Reduce_scatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(7, 728, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_108Reduce_scatter(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_recvcounts, __pyx_v_op); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_108Reduce_scatter(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, PyObject *__pyx_v_recvcounts, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Reduce_scatter", 0); /* "mpi4py/MPI/Comm.pyx":732 * Reduce-Scatter (vector version) * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_reduce_scatter(sendbuf, recvbuf, * recvcounts, self.ob_mpi) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":733 * """ * cdef _p_msg_cco m = message_cco() * m.for_reduce_scatter(sendbuf, recvbuf, # <<<<<<<<<<<<<< * recvcounts, self.ob_mpi) * with nogil: CHKERR( MPI_Reduce_scatter( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce_scatter(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_recvcounts, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 733, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":735 * m.for_reduce_scatter(sendbuf, recvbuf, * recvcounts, self.ob_mpi) * with nogil: CHKERR( MPI_Reduce_scatter( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcounts, m.rtype, * op.ob_mpi, self.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":737 * with nogil: CHKERR( MPI_Reduce_scatter( * m.sbuf, m.rbuf, m.rcounts, m.rtype, * op.ob_mpi, self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Nonblocking Collectives */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Reduce_scatter(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rtype, __pyx_v_op->ob_mpi, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 735, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":735 * m.for_reduce_scatter(sendbuf, recvbuf, * recvcounts, self.ob_mpi) * with nogil: CHKERR( MPI_Reduce_scatter( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcounts, m.rtype, * op.ob_mpi, self.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":728 * op.ob_mpi, self.ob_mpi) ) * * def Reduce_scatter(self, sendbuf, recvbuf, recvcounts=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Reduce-Scatter (vector version) */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Reduce_scatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":742 * # ----------------------- * * def Ibarrier(self): # <<<<<<<<<<<<<< * """ * Nonblocking Barrier */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_111Ibarrier(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_110Ibarrier[] = "Comm.Ibarrier(self)\n\n Nonblocking Barrier\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_111Ibarrier(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ibarrier (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Ibarrier", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Ibarrier", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_110Ibarrier(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_110Ibarrier(struct PyMPICommObject *__pyx_v_self) { struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ibarrier", 0); /* "mpi4py/MPI/Comm.pyx":746 * Nonblocking Barrier * """ * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ibarrier(self.ob_mpi, &request.ob_mpi) ) * return request */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 746, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":747 * """ * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ibarrier(self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * return request * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ibarrier(__pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 747, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":748 * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ibarrier(self.ob_mpi, &request.ob_mpi) ) * return request # <<<<<<<<<<<<<< * * def Ibcast(self, buf, int root=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":742 * # ----------------------- * * def Ibarrier(self): # <<<<<<<<<<<<<< * """ * Nonblocking Barrier */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Ibarrier", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":750 * return request * * def Ibcast(self, buf, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Broadcast */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_113Ibcast(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_112Ibcast[] = "Comm.Ibcast(self, buf, int root=0)\n\n Nonblocking Broadcast\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_113Ibcast(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ibcast (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_root,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_buf)) != 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_root); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ibcast") < 0)) __PYX_ERR(7, 750, __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_buf = values[0]; if (values[1]) { __pyx_v_root = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 750, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ibcast", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 750, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Ibcast", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_112Ibcast(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_112Ibcast(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_root) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ibcast", 0); /* "mpi4py/MPI/Comm.pyx":754 * Nonblocking Broadcast * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_bcast(buf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":755 * """ * cdef _p_msg_cco m = message_cco() * m.for_bcast(buf, root, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ibcast( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_bcast(__pyx_v_m, __pyx_v_buf, __pyx_v_root, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 755, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":756 * cdef _p_msg_cco m = message_cco() * m.for_bcast(buf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ibcast( * m.sbuf, m.scount, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 756, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":757 * m.for_bcast(buf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ibcast( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * root, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":759 * with nogil: CHKERR( MPI_Ibcast( * m.sbuf, m.scount, m.stype, * root, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ibcast(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_root, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 757, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":757 * m.for_bcast(buf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ibcast( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * root, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":760 * m.sbuf, m.scount, m.stype, * root, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":761 * root, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Igather(self, sendbuf, recvbuf, int root=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":750 * return request * * def Ibcast(self, buf, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Broadcast */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Ibcast", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":763 * return request * * def Igather(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Gather */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_115Igather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_114Igather[] = "Comm.Igather(self, sendbuf, recvbuf, int root=0)\n\n Nonblocking Gather\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_115Igather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Igather (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_root,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Igather", 0, 2, 3, 1); __PYX_ERR(7, 763, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_root); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Igather") < 0)) __PYX_ERR(7, 763, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; if (values[2]) { __pyx_v_root = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 763, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Igather", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 763, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Igather", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_114Igather(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_114Igather(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Igather", 0); /* "mpi4py/MPI/Comm.pyx":767 * Nonblocking Gather * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_gather(0, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":768 * """ * cdef _p_msg_cco m = message_cco() * m.for_gather(0, sendbuf, recvbuf, root, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Igather( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_gather(__pyx_v_m, 0, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 768, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":769 * cdef _p_msg_cco m = message_cco() * m.for_gather(0, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Igather( * m.sbuf, m.scount, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 769, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":770 * m.for_gather(0, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Igather( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":773 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, * root, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Igather(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_root, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 770, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":770 * m.for_gather(0, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Igather( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":774 * m.rbuf, m.rcount, m.rtype, * root, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":775 * root, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Igatherv(self, sendbuf, recvbuf, int root=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":763 * return request * * def Igather(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Gather */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Igather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":777 * return request * * def Igatherv(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Gather Vector */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_117Igatherv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_116Igatherv[] = "Comm.Igatherv(self, sendbuf, recvbuf, int root=0)\n\n Nonblocking Gather Vector\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_117Igatherv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Igatherv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_root,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Igatherv", 0, 2, 3, 1); __PYX_ERR(7, 777, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_root); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Igatherv") < 0)) __PYX_ERR(7, 777, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; if (values[2]) { __pyx_v_root = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 777, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Igatherv", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 777, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Igatherv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_116Igatherv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_116Igatherv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Igatherv", 0); /* "mpi4py/MPI/Comm.pyx":781 * Nonblocking Gather Vector * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_gather(1, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":782 * """ * cdef _p_msg_cco m = message_cco() * m.for_gather(1, sendbuf, recvbuf, root, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Igatherv( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_gather(__pyx_v_m, 1, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 782, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":783 * cdef _p_msg_cco m = message_cco() * m.for_gather(1, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Igatherv( * m.sbuf, m.scount, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 783, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":784 * m.for_gather(1, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Igatherv( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":787 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, * root, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Igatherv(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdispls, __pyx_v_m->rtype, __pyx_v_root, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 784, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":784 * m.for_gather(1, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Igatherv( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":788 * m.rbuf, m.rcounts, m.rdispls, m.rtype, * root, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":789 * root, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Iscatter(self, sendbuf, recvbuf, int root=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":777 * return request * * def Igatherv(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Gather Vector */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Igatherv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":791 * return request * * def Iscatter(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Scatter */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_119Iscatter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_118Iscatter[] = "Comm.Iscatter(self, sendbuf, recvbuf, int root=0)\n\n Nonblocking Scatter\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_119Iscatter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iscatter (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_root,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iscatter", 0, 2, 3, 1); __PYX_ERR(7, 791, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_root); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iscatter") < 0)) __PYX_ERR(7, 791, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; if (values[2]) { __pyx_v_root = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 791, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iscatter", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 791, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Iscatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_118Iscatter(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_118Iscatter(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iscatter", 0); /* "mpi4py/MPI/Comm.pyx":795 * Nonblocking Scatter * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_scatter(0, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":796 * """ * cdef _p_msg_cco m = message_cco() * m.for_scatter(0, sendbuf, recvbuf, root, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iscatter( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scatter(__pyx_v_m, 0, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 796, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":797 * cdef _p_msg_cco m = message_cco() * m.for_scatter(0, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Iscatter( * m.sbuf, m.scount, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 797, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":798 * m.for_scatter(0, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iscatter( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":801 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, * root, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Iscatter(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_root, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 798, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":798 * m.for_scatter(0, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iscatter( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":802 * m.rbuf, m.rcount, m.rtype, * root, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":803 * root, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Iscatterv(self, sendbuf, recvbuf, int root=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":791 * return request * * def Iscatter(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Scatter */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Iscatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":805 * return request * * def Iscatterv(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Scatter Vector */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_121Iscatterv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_120Iscatterv[] = "Comm.Iscatterv(self, sendbuf, recvbuf, int root=0)\n\n Nonblocking Scatter Vector\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_121Iscatterv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iscatterv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_root,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iscatterv", 0, 2, 3, 1); __PYX_ERR(7, 805, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_root); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iscatterv") < 0)) __PYX_ERR(7, 805, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; if (values[2]) { __pyx_v_root = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 805, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iscatterv", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 805, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Iscatterv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_120Iscatterv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_120Iscatterv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, int __pyx_v_root) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iscatterv", 0); /* "mpi4py/MPI/Comm.pyx":809 * Nonblocking Scatter Vector * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_scatter(1, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":810 * """ * cdef _p_msg_cco m = message_cco() * m.for_scatter(1, sendbuf, recvbuf, root, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iscatterv( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scatter(__pyx_v_m, 1, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 810, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":811 * cdef _p_msg_cco m = message_cco() * m.for_scatter(1, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Iscatterv( * m.sbuf, m.scounts, m.sdispls, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 811, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":812 * m.for_scatter(1, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iscatterv( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":815 * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcount, m.rtype, * root, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Iscatterv(__pyx_v_m->sbuf, __pyx_v_m->scounts, __pyx_v_m->sdispls, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_root, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 812, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":812 * m.for_scatter(1, sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iscatterv( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":816 * m.rbuf, m.rcount, m.rtype, * root, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":817 * root, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Iallgather(self, sendbuf, recvbuf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":805 * return request * * def Iscatterv(self, sendbuf, recvbuf, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Scatter Vector */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Iscatterv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":819 * return request * * def Iallgather(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Gather to All */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_123Iallgather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_122Iallgather[] = "Comm.Iallgather(self, sendbuf, recvbuf)\n\n Nonblocking Gather to All\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_123Iallgather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iallgather (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iallgather", 1, 2, 2, 1); __PYX_ERR(7, 819, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iallgather") < 0)) __PYX_ERR(7, 819, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iallgather", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 819, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Iallgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_122Iallgather(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_122Iallgather(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iallgather", 0); /* "mpi4py/MPI/Comm.pyx":823 * Nonblocking Gather to All * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_allgather(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":824 * """ * cdef _p_msg_cco m = message_cco() * m.for_allgather(0, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iallgather( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allgather(__pyx_v_m, 0, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 824, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":825 * cdef _p_msg_cco m = message_cco() * m.for_allgather(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Iallgather( * m.sbuf, m.scount, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 825, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":826 * m.for_allgather(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iallgather( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":829 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, * self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Iallgather(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 826, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":826 * m.for_allgather(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iallgather( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":830 * m.rbuf, m.rcount, m.rtype, * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":831 * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Iallgatherv(self, sendbuf, recvbuf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":819 * return request * * def Iallgather(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Gather to All */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Iallgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":833 * return request * * def Iallgatherv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Gather to All Vector */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_125Iallgatherv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_124Iallgatherv[] = "Comm.Iallgatherv(self, sendbuf, recvbuf)\n\n Nonblocking Gather to All Vector\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_125Iallgatherv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iallgatherv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iallgatherv", 1, 2, 2, 1); __PYX_ERR(7, 833, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iallgatherv") < 0)) __PYX_ERR(7, 833, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iallgatherv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 833, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Iallgatherv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_124Iallgatherv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_124Iallgatherv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iallgatherv", 0); /* "mpi4py/MPI/Comm.pyx":837 * Nonblocking Gather to All Vector * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_allgather(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":838 * """ * cdef _p_msg_cco m = message_cco() * m.for_allgather(1, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iallgatherv( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allgather(__pyx_v_m, 1, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 838, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":839 * cdef _p_msg_cco m = message_cco() * m.for_allgather(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Iallgatherv( * m.sbuf, m.scount, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 839, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":840 * m.for_allgather(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iallgatherv( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":843 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, * self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * return request * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Iallgatherv(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdispls, __pyx_v_m->rtype, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 840, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":840 * m.for_allgather(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iallgatherv( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":844 * m.rbuf, m.rcounts, m.rdispls, m.rtype, * self.ob_mpi, &request.ob_mpi) ) * return request # <<<<<<<<<<<<<< * * def Ialltoall(self, sendbuf, recvbuf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":833 * return request * * def Iallgatherv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Gather to All Vector */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Iallgatherv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":846 * return request * * def Ialltoall(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking All to All Scatter/Gather */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_127Ialltoall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_126Ialltoall[] = "Comm.Ialltoall(self, sendbuf, recvbuf)\n\n Nonblocking All to All Scatter/Gather\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_127Ialltoall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ialltoall (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ialltoall", 1, 2, 2, 1); __PYX_ERR(7, 846, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ialltoall") < 0)) __PYX_ERR(7, 846, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ialltoall", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 846, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Ialltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_126Ialltoall(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_126Ialltoall(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ialltoall", 0); /* "mpi4py/MPI/Comm.pyx":850 * Nonblocking All to All Scatter/Gather * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":851 * """ * cdef _p_msg_cco m = message_cco() * m.for_alltoall(0, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ialltoall( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_alltoall(__pyx_v_m, 0, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 851, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":852 * cdef _p_msg_cco m = message_cco() * m.for_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ialltoall( * m.sbuf, m.scount, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 852, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":853 * m.for_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ialltoall( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":856 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, * self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ialltoall(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 853, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":853 * m.for_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ialltoall( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":857 * m.rbuf, m.rcount, m.rtype, * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":858 * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Ialltoallv(self, sendbuf, recvbuf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":846 * return request * * def Ialltoall(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking All to All Scatter/Gather */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Ialltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":860 * return request * * def Ialltoallv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking All to All Scatter/Gather Vector */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_129Ialltoallv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_128Ialltoallv[] = "Comm.Ialltoallv(self, sendbuf, recvbuf)\n\n Nonblocking All to All Scatter/Gather Vector\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_129Ialltoallv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ialltoallv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ialltoallv", 1, 2, 2, 1); __PYX_ERR(7, 860, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ialltoallv") < 0)) __PYX_ERR(7, 860, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ialltoallv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 860, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Ialltoallv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_128Ialltoallv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_128Ialltoallv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ialltoallv", 0); /* "mpi4py/MPI/Comm.pyx":864 * Nonblocking All to All Scatter/Gather Vector * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 864, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":865 * """ * cdef _p_msg_cco m = message_cco() * m.for_alltoall(1, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ialltoallv( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_alltoall(__pyx_v_m, 1, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 865, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":866 * cdef _p_msg_cco m = message_cco() * m.for_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ialltoallv( * m.sbuf, m.scounts, m.sdispls, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 866, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":867 * m.for_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ialltoallv( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":870 * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, * self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ialltoallv(__pyx_v_m->sbuf, __pyx_v_m->scounts, __pyx_v_m->sdispls, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdispls, __pyx_v_m->rtype, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 867, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":867 * m.for_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ialltoallv( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":871 * m.rbuf, m.rcounts, m.rdispls, m.rtype, * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":872 * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Ialltoallw(self, sendbuf, recvbuf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":860 * return request * * def Ialltoallv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking All to All Scatter/Gather Vector */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Ialltoallv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":874 * return request * * def Ialltoallw(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Generalized All-to-All */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_131Ialltoallw(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_130Ialltoallw[] = "Comm.Ialltoallw(self, sendbuf, recvbuf)\n\n Nonblocking Generalized All-to-All\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_131Ialltoallw(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ialltoallw (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ialltoallw", 1, 2, 2, 1); __PYX_ERR(7, 874, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ialltoallw") < 0)) __PYX_ERR(7, 874, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ialltoallw", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 874, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Ialltoallw", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_130Ialltoallw(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_130Ialltoallw(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ialltoallw", 0); /* "mpi4py/MPI/Comm.pyx":878 * Nonblocking Generalized All-to-All * """ * cdef _p_msg_ccow m = message_ccow() # <<<<<<<<<<<<<< * m.for_alltoallw(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_ccow()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 878, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":879 * """ * cdef _p_msg_ccow m = message_ccow() * m.for_alltoallw(sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ialltoallw( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_11_p_msg_ccow_for_alltoallw(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 879, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":880 * cdef _p_msg_ccow m = message_ccow() * m.for_alltoallw(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ialltoallw( * m.sbuf, m.scounts, m.sdispls, m.stypes, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 880, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":881 * m.for_alltoallw(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ialltoallw( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stypes, * m.rbuf, m.rcounts, m.rdispls, m.rtypes, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":884 * m.sbuf, m.scounts, m.sdispls, m.stypes, * m.rbuf, m.rcounts, m.rdispls, m.rtypes, * self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ialltoallw(__pyx_v_m->sbuf, __pyx_v_m->scounts, __pyx_v_m->sdispls, __pyx_v_m->stypes, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdispls, __pyx_v_m->rtypes, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 881, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":881 * m.for_alltoallw(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ialltoallw( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stypes, * m.rbuf, m.rcounts, m.rdispls, m.rtypes, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":885 * m.rbuf, m.rcounts, m.rdispls, m.rtypes, * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":886 * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Ireduce(self, sendbuf, recvbuf, Op op=SUM, int root=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":874 * return request * * def Ialltoallw(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Generalized All-to-All */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Ialltoallw", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":888 * return request * * def Ireduce(self, sendbuf, recvbuf, Op op=SUM, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Reduce */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_133Ireduce(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_132Ireduce[] = "Comm.Ireduce(self, sendbuf, recvbuf, Op op=SUM, int root=0)\n\n Nonblocking Reduce\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_133Ireduce(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ireduce (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_op,&__pyx_n_s_root,0}; PyObject* values[4] = {0,0,0,0}; values[2] = (PyObject *)__pyx_k__61; 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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ireduce", 0, 2, 4, 1); __PYX_ERR(7, 888, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_op); 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_root); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ireduce") < 0)) __PYX_ERR(7, 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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; __pyx_v_op = ((struct PyMPIOpObject *)values[2]); if (values[3]) { __pyx_v_root = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 888, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ireduce", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 888, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Ireduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(7, 888, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_132Ireduce(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_op, __pyx_v_root); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_132Ireduce(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op, int __pyx_v_root) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ireduce", 0); /* "mpi4py/MPI/Comm.pyx":892 * Nonblocking Reduce * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_reduce(sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":893 * """ * cdef _p_msg_cco m = message_cco() * m.for_reduce(sendbuf, recvbuf, root, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ireduce( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_root, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 893, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":894 * cdef _p_msg_cco m = message_cco() * m.for_reduce(sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ireduce( * m.sbuf, m.rbuf, m.rcount, m.rtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 894, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":895 * m.for_reduce(sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ireduce( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, root, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":897 * with nogil: CHKERR( MPI_Ireduce( * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, root, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * return request * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ireduce(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_op->ob_mpi, __pyx_v_root, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 895, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":895 * m.for_reduce(sendbuf, recvbuf, root, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ireduce( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, root, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":898 * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, root, self.ob_mpi, &request.ob_mpi) ) * return request # <<<<<<<<<<<<<< * * def Iallreduce(self, sendbuf, recvbuf, Op op=SUM): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":888 * return request * * def Ireduce(self, sendbuf, recvbuf, Op op=SUM, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Reduce */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Ireduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":900 * return request * * def Iallreduce(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Nonblocking All Reduce */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_135Iallreduce(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_134Iallreduce[] = "Comm.Iallreduce(self, sendbuf, recvbuf, Op op=SUM)\n\n Nonblocking All Reduce\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_135Iallreduce(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iallreduce (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_op,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)__pyx_k__62; 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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iallreduce", 0, 2, 3, 1); __PYX_ERR(7, 900, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_op); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iallreduce") < 0)) __PYX_ERR(7, 900, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; __pyx_v_op = ((struct PyMPIOpObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iallreduce", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 900, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Iallreduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(7, 900, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_134Iallreduce(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_op); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_134Iallreduce(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iallreduce", 0); /* "mpi4py/MPI/Comm.pyx":904 * Nonblocking All Reduce * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_allreduce(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 904, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":905 * """ * cdef _p_msg_cco m = message_cco() * m.for_allreduce(sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iallreduce( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allreduce(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 905, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":906 * cdef _p_msg_cco m = message_cco() * m.for_allreduce(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Iallreduce( * m.sbuf, m.rbuf, m.rcount, m.rtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 906, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":907 * m.for_allreduce(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iallreduce( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":909 * with nogil: CHKERR( MPI_Iallreduce( * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * return request * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Iallreduce(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_op->ob_mpi, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 907, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":907 * m.for_allreduce(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iallreduce( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":910 * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) * return request # <<<<<<<<<<<<<< * * def Ireduce_scatter_block(self, sendbuf, recvbuf, Op op=SUM): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":900 * return request * * def Iallreduce(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Nonblocking All Reduce */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Iallreduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":912 * return request * * def Ireduce_scatter_block(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Nonblocking Reduce-Scatter Block (regular, non-vector version) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_137Ireduce_scatter_block(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_136Ireduce_scatter_block[] = "Comm.Ireduce_scatter_block(self, sendbuf, recvbuf, Op op=SUM)\n\n Nonblocking Reduce-Scatter Block (regular, non-vector version)\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_137Ireduce_scatter_block(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ireduce_scatter_block (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_op,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)__pyx_k__63; 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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ireduce_scatter_block", 0, 2, 3, 1); __PYX_ERR(7, 912, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_op); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ireduce_scatter_block") < 0)) __PYX_ERR(7, 912, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; __pyx_v_op = ((struct PyMPIOpObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ireduce_scatter_block", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 912, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Ireduce_scatter_block", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(7, 912, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_136Ireduce_scatter_block(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_op); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_136Ireduce_scatter_block(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ireduce_scatter_block", 0); /* "mpi4py/MPI/Comm.pyx":916 * Nonblocking Reduce-Scatter Block (regular, non-vector version) * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_reduce_scatter_block(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":917 * """ * cdef _p_msg_cco m = message_cco() * m.for_reduce_scatter_block(sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ireduce_scatter_block( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce_scatter_block(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 917, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":918 * cdef _p_msg_cco m = message_cco() * m.for_reduce_scatter_block(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ireduce_scatter_block( * m.sbuf, m.rbuf, m.rcount, m.rtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 918, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":919 * m.for_reduce_scatter_block(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ireduce_scatter_block( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":921 * with nogil: CHKERR( MPI_Ireduce_scatter_block( * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * return request * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ireduce_scatter_block(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_op->ob_mpi, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 919, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":919 * m.for_reduce_scatter_block(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ireduce_scatter_block( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":922 * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) * return request # <<<<<<<<<<<<<< * * def Ireduce_scatter(self, sendbuf, recvbuf, recvcounts=None, Op op=SUM): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":912 * return request * * def Ireduce_scatter_block(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Nonblocking Reduce-Scatter Block (regular, non-vector version) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Ireduce_scatter_block", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":924 * return request * * def Ireduce_scatter(self, sendbuf, recvbuf, recvcounts=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Nonblocking Reduce-Scatter (vector version) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_139Ireduce_scatter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_138Ireduce_scatter[] = "Comm.Ireduce_scatter(self, sendbuf, recvbuf, recvcounts=None, Op op=SUM)\n\n Nonblocking Reduce-Scatter (vector version)\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_139Ireduce_scatter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; PyObject *__pyx_v_recvcounts = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ireduce_scatter (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_recvcounts,&__pyx_n_s_op,0}; PyObject* values[4] = {0,0,0,0}; values[2] = ((PyObject *)Py_None); values[3] = (PyObject *)__pyx_k__64; 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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ireduce_scatter", 0, 2, 4, 1); __PYX_ERR(7, 924, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_recvcounts); 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_op); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ireduce_scatter") < 0)) __PYX_ERR(7, 924, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; __pyx_v_recvcounts = values[2]; __pyx_v_op = ((struct PyMPIOpObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ireduce_scatter", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 924, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Ireduce_scatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(7, 924, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_138Ireduce_scatter(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_recvcounts, __pyx_v_op); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_138Ireduce_scatter(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, PyObject *__pyx_v_recvcounts, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ireduce_scatter", 0); /* "mpi4py/MPI/Comm.pyx":928 * Nonblocking Reduce-Scatter (vector version) * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_reduce_scatter(sendbuf, recvbuf, * recvcounts, self.ob_mpi) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":929 * """ * cdef _p_msg_cco m = message_cco() * m.for_reduce_scatter(sendbuf, recvbuf, # <<<<<<<<<<<<<< * recvcounts, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce_scatter(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_recvcounts, __pyx_v_self->ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 929, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":931 * m.for_reduce_scatter(sendbuf, recvbuf, * recvcounts, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ireduce_scatter( * m.sbuf, m.rbuf, m.rcounts, m.rtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 931, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":932 * recvcounts, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ireduce_scatter( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcounts, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":934 * with nogil: CHKERR( MPI_Ireduce_scatter( * m.sbuf, m.rbuf, m.rcounts, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * return request * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ireduce_scatter(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rtype, __pyx_v_op->ob_mpi, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 932, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":932 * recvcounts, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ireduce_scatter( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcounts, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":935 * m.sbuf, m.rbuf, m.rcounts, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) * return request # <<<<<<<<<<<<<< * * # Tests */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":924 * return request * * def Ireduce_scatter(self, sendbuf, recvbuf, recvcounts=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Nonblocking Reduce-Scatter (vector version) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Ireduce_scatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":940 * # ----- * * def Is_inter(self): # <<<<<<<<<<<<<< * """ * Test to see if a comm is an intercommunicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_141Is_inter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_140Is_inter[] = "Comm.Is_inter(self)\n\n Test to see if a comm is an intercommunicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_141Is_inter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Is_inter (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Is_inter", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Is_inter", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_140Is_inter(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_140Is_inter(struct PyMPICommObject *__pyx_v_self) { int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Is_inter", 0); /* "mpi4py/MPI/Comm.pyx":944 * Test to see if a comm is an intercommunicator * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &flag) ) * return flag */ __pyx_v_flag = 0; /* "mpi4py/MPI/Comm.pyx":945 * """ * cdef int flag = 0 * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &flag) ) # <<<<<<<<<<<<<< * return flag * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_self->ob_mpi, (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 945, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":946 * cdef int flag = 0 * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &flag) ) * return flag # <<<<<<<<<<<<<< * * property is_inter: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 946, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":940 * # ----- * * def Is_inter(self): # <<<<<<<<<<<<<< * """ * Test to see if a comm is an intercommunicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Is_inter", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":950 * property is_inter: * """is intercommunicator""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Is_inter() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_8is_inter_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_8is_inter_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_8is_inter___get__(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_8is_inter___get__(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":951 * """is intercommunicator""" * def __get__(self): * return self.Is_inter() # <<<<<<<<<<<<<< * * def Is_intra(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Is_inter); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 951, __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(7, 951, __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; /* "mpi4py/MPI/Comm.pyx":950 * property is_inter: * """is intercommunicator""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Is_inter() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.is_inter.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":953 * return self.Is_inter() * * def Is_intra(self): # <<<<<<<<<<<<<< * """ * Test to see if a comm is an intracommunicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_143Is_intra(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_142Is_intra[] = "Comm.Is_intra(self)\n\n Test to see if a comm is an intracommunicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_143Is_intra(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Is_intra (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Is_intra", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Is_intra", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_142Is_intra(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_142Is_intra(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Is_intra", 0); /* "mpi4py/MPI/Comm.pyx":957 * Test to see if a comm is an intracommunicator * """ * return not self.Is_inter() # <<<<<<<<<<<<<< * * property is_intra: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Is_inter); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 957, __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(7, 957, __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(7, 957, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyBool_FromLong((!__pyx_t_4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 957, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":953 * return self.Is_inter() * * def Is_intra(self): # <<<<<<<<<<<<<< * """ * Test to see if a comm is an intracommunicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.Is_intra", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":961 * property is_intra: * """is intracommunicator""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Is_intra() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_8is_intra_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_8is_intra_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_8is_intra___get__(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_8is_intra___get__(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":962 * """is intracommunicator""" * def __get__(self): * return self.Is_intra() # <<<<<<<<<<<<<< * * def Get_topology(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Is_intra); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 962, __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(7, 962, __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; /* "mpi4py/MPI/Comm.pyx":961 * property is_intra: * """is intracommunicator""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Is_intra() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.is_intra.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":964 * return self.Is_intra() * * def Get_topology(self): # <<<<<<<<<<<<<< * """ * Determine the type of topology (if any) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_145Get_topology(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_144Get_topology[] = "Comm.Get_topology(self)\n\n Determine the type of topology (if any)\n associated with a communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_145Get_topology(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_topology (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_topology", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_topology", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_144Get_topology(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_144Get_topology(struct PyMPICommObject *__pyx_v_self) { int __pyx_v_topo; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_topology", 0); /* "mpi4py/MPI/Comm.pyx":969 * associated with a communicator * """ * cdef int topo = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * return topo */ __pyx_v_topo = MPI_UNDEFINED; /* "mpi4py/MPI/Comm.pyx":970 * """ * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) # <<<<<<<<<<<<<< * return topo * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Topo_test(__pyx_v_self->ob_mpi, (&__pyx_v_topo))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 970, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":971 * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * return topo # <<<<<<<<<<<<<< * * property topology: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_topo); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":964 * return self.Is_intra() * * def Get_topology(self): # <<<<<<<<<<<<<< * """ * Determine the type of topology (if any) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Get_topology", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":975 * property topology: * """communicator topology type""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topology() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_8topology_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_8topology_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_8topology___get__(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_8topology___get__(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":976 * """communicator topology type""" * def __get__(self): * return self.Get_topology() # <<<<<<<<<<<<<< * * property is_topo: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_topology); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 976, __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(7, 976, __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; /* "mpi4py/MPI/Comm.pyx":975 * property topology: * """communicator topology type""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topology() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.topology.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":980 * property is_topo: * """is a topology communicator""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topology() != MPI_UNDEFINED * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_7is_topo_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_7is_topo_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_7is_topo___get__(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_7is_topo___get__(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":981 * """is a topology communicator""" * def __get__(self): * return self.Get_topology() != MPI_UNDEFINED # <<<<<<<<<<<<<< * * # Process Creation and Management */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_topology); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 981, __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(7, 981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_int(MPI_UNDEFINED); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 981, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":980 * property is_topo: * """is a topology communicator""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topology() != MPI_UNDEFINED * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.is_topo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":987 * * @classmethod * def Get_parent(cls): # <<<<<<<<<<<<<< * """ * Return the parent intercommunicator for this process */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_147Get_parent(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_146Get_parent[] = "Comm.Get_parent(type cls)\n\n Return the parent intercommunicator for this process\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_147Get_parent(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_parent (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_parent", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_parent", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_146Get_parent(((PyTypeObject*)__pyx_v_cls)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_146Get_parent(CYTHON_UNUSED PyTypeObject *__pyx_v_cls) { struct PyMPIIntercommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_parent", 0); /* "mpi4py/MPI/Comm.pyx":991 * Return the parent intercommunicator for this process * """ * cdef Intercomm comm = __COMM_PARENT__ # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_get_parent(&comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_PARENT__)); __pyx_v_comm = __pyx_v_6mpi4py_3MPI___COMM_PARENT__; /* "mpi4py/MPI/Comm.pyx":992 * """ * cdef Intercomm comm = __COMM_PARENT__ * with nogil: CHKERR( MPI_Comm_get_parent(&comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_get_parent((&__pyx_v_comm->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 992, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":993 * cdef Intercomm comm = __COMM_PARENT__ * with nogil: CHKERR( MPI_Comm_get_parent(&comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.ob_mpi); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 993, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":994 * with nogil: CHKERR( MPI_Comm_get_parent(&comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * def Disconnect(self): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":987 * * @classmethod * def Get_parent(cls): # <<<<<<<<<<<<<< * """ * Return the parent intercommunicator for this process */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Get_parent", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":996 * return comm * * def Disconnect(self): # <<<<<<<<<<<<<< * """ * Disconnect from a communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_149Disconnect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_148Disconnect[] = "Comm.Disconnect(self)\n\n Disconnect from a communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_149Disconnect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Disconnect (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Disconnect", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Disconnect", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_148Disconnect(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_148Disconnect(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Disconnect", 0); /* "mpi4py/MPI/Comm.pyx":1000 * Disconnect from a communicator * """ * with nogil: CHKERR( MPI_Comm_disconnect(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * @classmethod */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_disconnect((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1000, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":996 * return comm * * def Disconnect(self): # <<<<<<<<<<<<<< * """ * Disconnect from a communicator */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Disconnect", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1003 * * @classmethod * def Join(cls, int fd): # <<<<<<<<<<<<<< * """ * Create a intercommunicator by joining */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_151Join(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_150Join[] = "Comm.Join(type cls, int fd)\n\n Create a intercommunicator by joining\n two processes connected by a socket\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_151Join(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_fd; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Join (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fd,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_fd)) != 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, "Join") < 0)) __PYX_ERR(7, 1003, __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_fd = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_fd == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1003, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Join", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1003, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Join", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_150Join(((PyTypeObject*)__pyx_v_cls), __pyx_v_fd); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_150Join(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_fd) { struct PyMPIIntercommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Join", 0); /* "mpi4py/MPI/Comm.pyx":1008 * two processes connected by a socket * """ * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_join(fd, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1008, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPIIntercommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1009 * """ * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_join(fd, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_join(__pyx_v_fd, (&__pyx_v_comm->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 1009, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":1010 * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_join(fd, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.ob_mpi); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 1010, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1011 * with nogil: CHKERR( MPI_Comm_join(fd, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * # Attributes */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1003 * * @classmethod * def Join(cls, int fd): # <<<<<<<<<<<<<< * """ * Create a intercommunicator by joining */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Join", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1016 * # ---------- * * def Get_attr(self, int keyval): # <<<<<<<<<<<<<< * """ * Retrieve attribute value by key */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_153Get_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_152Get_attr[] = "Comm.Get_attr(self, int keyval)\n\n Retrieve attribute value by key\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_153Get_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_keyval; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_attr (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_keyval,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_keyval)) != 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, "Get_attr") < 0)) __PYX_ERR(7, 1016, __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_keyval = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_keyval == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1016, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_attr", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1016, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Get_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_152Get_attr(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_keyval); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_152Get_attr(struct PyMPICommObject *__pyx_v_self, int __pyx_v_keyval) { void *__pyx_v_attrval; int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_attr", 0); /* "mpi4py/MPI/Comm.pyx":1020 * Retrieve attribute value by key * """ * cdef void *attrval = NULL # <<<<<<<<<<<<<< * cdef int flag = 0 * CHKERR( MPI_Comm_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) */ __pyx_v_attrval = NULL; /* "mpi4py/MPI/Comm.pyx":1021 * """ * cdef void *attrval = NULL * cdef int flag = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) * if not flag: return None */ __pyx_v_flag = 0; /* "mpi4py/MPI/Comm.pyx":1022 * cdef void *attrval = NULL * cdef int flag = 0 * CHKERR( MPI_Comm_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) # <<<<<<<<<<<<<< * if not flag: return None * if attrval == NULL: return 0 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_get_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval, (&__pyx_v_attrval), (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1022, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1023 * cdef int flag = 0 * CHKERR( MPI_Comm_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) * if not flag: return None # <<<<<<<<<<<<<< * if attrval == NULL: return 0 * # MPI-1 predefined attribute keyvals */ __pyx_t_2 = ((!(__pyx_v_flag != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":1024 * CHKERR( MPI_Comm_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) * if not flag: return None * if attrval == NULL: return 0 # <<<<<<<<<<<<<< * # MPI-1 predefined attribute keyvals * if (keyval == MPI_TAG_UB or */ __pyx_t_2 = ((__pyx_v_attrval == NULL) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_int_0); __pyx_r = __pyx_int_0; goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":1026 * if attrval == NULL: return 0 * # MPI-1 predefined attribute keyvals * if (keyval == MPI_TAG_UB or # <<<<<<<<<<<<<< * keyval == MPI_HOST or * keyval == MPI_IO or */ __pyx_t_3 = ((__pyx_v_keyval == MPI_TAG_UB) != 0); if (!__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* "mpi4py/MPI/Comm.pyx":1027 * # MPI-1 predefined attribute keyvals * if (keyval == MPI_TAG_UB or * keyval == MPI_HOST or # <<<<<<<<<<<<<< * keyval == MPI_IO or * keyval == MPI_WTIME_IS_GLOBAL): */ __pyx_t_3 = ((__pyx_v_keyval == MPI_HOST) != 0); if (!__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* "mpi4py/MPI/Comm.pyx":1028 * if (keyval == MPI_TAG_UB or * keyval == MPI_HOST or * keyval == MPI_IO or # <<<<<<<<<<<<<< * keyval == MPI_WTIME_IS_GLOBAL): * return (attrval)[0] */ __pyx_t_3 = ((__pyx_v_keyval == MPI_IO) != 0); if (!__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L6_bool_binop_done; } /* "mpi4py/MPI/Comm.pyx":1029 * keyval == MPI_HOST or * keyval == MPI_IO or * keyval == MPI_WTIME_IS_GLOBAL): # <<<<<<<<<<<<<< * return (attrval)[0] * # MPI-2 predefined attribute keyvals */ __pyx_t_3 = ((__pyx_v_keyval == MPI_WTIME_IS_GLOBAL) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L6_bool_binop_done:; /* "mpi4py/MPI/Comm.pyx":1026 * if attrval == NULL: return 0 * # MPI-1 predefined attribute keyvals * if (keyval == MPI_TAG_UB or # <<<<<<<<<<<<<< * keyval == MPI_HOST or * keyval == MPI_IO or */ if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1030 * keyval == MPI_IO or * keyval == MPI_WTIME_IS_GLOBAL): * return (attrval)[0] # <<<<<<<<<<<<<< * # MPI-2 predefined attribute keyvals * elif (keyval == MPI_UNIVERSE_SIZE or */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_PyInt_From_int((((int *)__pyx_v_attrval)[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1026 * if attrval == NULL: return 0 * # MPI-1 predefined attribute keyvals * if (keyval == MPI_TAG_UB or # <<<<<<<<<<<<<< * keyval == MPI_HOST or * keyval == MPI_IO or */ } /* "mpi4py/MPI/Comm.pyx":1032 * return (attrval)[0] * # MPI-2 predefined attribute keyvals * elif (keyval == MPI_UNIVERSE_SIZE or # <<<<<<<<<<<<<< * keyval == MPI_APPNUM or * keyval == MPI_LASTUSEDCODE): */ __pyx_t_3 = ((__pyx_v_keyval == MPI_UNIVERSE_SIZE) != 0); if (!__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L10_bool_binop_done; } /* "mpi4py/MPI/Comm.pyx":1033 * # MPI-2 predefined attribute keyvals * elif (keyval == MPI_UNIVERSE_SIZE or * keyval == MPI_APPNUM or # <<<<<<<<<<<<<< * keyval == MPI_LASTUSEDCODE): * return (attrval)[0] */ __pyx_t_3 = ((__pyx_v_keyval == MPI_APPNUM) != 0); if (!__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L10_bool_binop_done; } /* "mpi4py/MPI/Comm.pyx":1034 * elif (keyval == MPI_UNIVERSE_SIZE or * keyval == MPI_APPNUM or * keyval == MPI_LASTUSEDCODE): # <<<<<<<<<<<<<< * return (attrval)[0] * # user-defined attribute keyval */ __pyx_t_3 = ((__pyx_v_keyval == MPI_LASTUSEDCODE) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L10_bool_binop_done:; /* "mpi4py/MPI/Comm.pyx":1032 * return (attrval)[0] * # MPI-2 predefined attribute keyvals * elif (keyval == MPI_UNIVERSE_SIZE or # <<<<<<<<<<<<<< * keyval == MPI_APPNUM or * keyval == MPI_LASTUSEDCODE): */ if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1035 * keyval == MPI_APPNUM or * keyval == MPI_LASTUSEDCODE): * return (attrval)[0] # <<<<<<<<<<<<<< * # user-defined attribute keyval * return PyMPI_attr_get(self.ob_mpi, keyval, attrval) */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_PyInt_From_int((((int *)__pyx_v_attrval)[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1032 * return (attrval)[0] * # MPI-2 predefined attribute keyvals * elif (keyval == MPI_UNIVERSE_SIZE or # <<<<<<<<<<<<<< * keyval == MPI_APPNUM or * keyval == MPI_LASTUSEDCODE): */ } /* "mpi4py/MPI/Comm.pyx":1037 * return (attrval)[0] * # user-defined attribute keyval * return PyMPI_attr_get(self.ob_mpi, keyval, attrval) # <<<<<<<<<<<<<< * * def Set_attr(self, int keyval, object attrval): */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_get(__pyx_v_self->ob_mpi, __pyx_v_keyval, __pyx_v_attrval); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1016 * # ---------- * * def Get_attr(self, int keyval): # <<<<<<<<<<<<<< * """ * Retrieve attribute value by key */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Comm.Get_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1039 * return PyMPI_attr_get(self.ob_mpi, keyval, attrval) * * def Set_attr(self, int keyval, object attrval): # <<<<<<<<<<<<<< * """ * Store attribute value associated with a key */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_155Set_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_154Set_attr[] = "Comm.Set_attr(self, int keyval, attrval)\n\n Store attribute value associated with a key\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_155Set_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_keyval; PyObject *__pyx_v_attrval = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_attr (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_keyval,&__pyx_n_s_attrval,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_keyval)) != 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_attrval)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Set_attr", 1, 2, 2, 1); __PYX_ERR(7, 1039, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Set_attr") < 0)) __PYX_ERR(7, 1039, __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_keyval = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_keyval == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1039, __pyx_L3_error) __pyx_v_attrval = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_attr", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1039, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Set_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_154Set_attr(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_keyval, __pyx_v_attrval); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_154Set_attr(struct PyMPICommObject *__pyx_v_self, int __pyx_v_keyval, PyObject *__pyx_v_attrval) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_attr", 0); /* "mpi4py/MPI/Comm.pyx":1043 * Store attribute value associated with a key * """ * PyMPI_attr_set(self.ob_mpi, keyval, attrval) # <<<<<<<<<<<<<< * * def Delete_attr(self, int keyval): */ __pyx_t_1 = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_set(__pyx_v_self->ob_mpi, __pyx_v_keyval, __pyx_v_attrval); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1043, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1039 * return PyMPI_attr_get(self.ob_mpi, keyval, attrval) * * def Set_attr(self, int keyval, object attrval): # <<<<<<<<<<<<<< * """ * Store attribute value associated with a key */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Set_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1045 * PyMPI_attr_set(self.ob_mpi, keyval, attrval) * * def Delete_attr(self, int keyval): # <<<<<<<<<<<<<< * """ * Delete attribute value associated with a key */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_157Delete_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_156Delete_attr[] = "Comm.Delete_attr(self, int keyval)\n\n Delete attribute value associated with a key\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_157Delete_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_keyval; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Delete_attr (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_keyval,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_keyval)) != 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, "Delete_attr") < 0)) __PYX_ERR(7, 1045, __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_keyval = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_keyval == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1045, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Delete_attr", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1045, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Delete_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_156Delete_attr(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_keyval); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_156Delete_attr(struct PyMPICommObject *__pyx_v_self, int __pyx_v_keyval) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Delete_attr", 0); /* "mpi4py/MPI/Comm.pyx":1049 * Delete attribute value associated with a key * """ * CHKERR( MPI_Comm_delete_attr(self.ob_mpi, keyval) ) # <<<<<<<<<<<<<< * * @classmethod */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_delete_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1049, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1045 * PyMPI_attr_set(self.ob_mpi, keyval, attrval) * * def Delete_attr(self, int keyval): # <<<<<<<<<<<<<< * """ * Delete attribute value associated with a key */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Delete_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1052 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None, nopython=False): # <<<<<<<<<<<<<< * """ * Create a new attribute key for communicators */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_159Create_keyval(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_158Create_keyval[] = "Comm.Create_keyval(type cls, copy_fn=None, delete_fn=None, nopython=False)\n\n Create a new attribute key for communicators\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_159Create_keyval(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_copy_fn = 0; PyObject *__pyx_v_delete_fn = 0; PyObject *__pyx_v_nopython = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_keyval (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_copy_fn,&__pyx_n_s_delete_fn,&__pyx_n_s_nopython,0}; PyObject* values[3] = {0,0,0}; values[0] = ((PyObject *)Py_None); values[1] = ((PyObject *)Py_None); 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 (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_copy_fn); 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_delete_fn); 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_nopython); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_keyval") < 0)) __PYX_ERR(7, 1052, __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_copy_fn = values[0]; __pyx_v_delete_fn = values[1]; __pyx_v_nopython = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_keyval", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1052, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Create_keyval", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_158Create_keyval(((PyTypeObject*)__pyx_v_cls), __pyx_v_copy_fn, __pyx_v_delete_fn, __pyx_v_nopython); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_158Create_keyval(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_copy_fn, PyObject *__pyx_v_delete_fn, PyObject *__pyx_v_nopython) { PyObject *__pyx_v_state = 0; int __pyx_v_keyval; MPI_Comm_copy_attr_function *__pyx_v__copy; MPI_Comm_delete_attr_function *__pyx_v__del; void *__pyx_v_extra_state; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_keyval", 0); /* "mpi4py/MPI/Comm.pyx":1056 * Create a new attribute key for communicators * """ * cdef object state = _p_keyval(copy_fn, delete_fn, nopython) # <<<<<<<<<<<<<< * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Comm_copy_attr_function *_copy = PyMPI_attr_copy_fn */ __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_copy_fn); __Pyx_GIVEREF(__pyx_v_copy_fn); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_copy_fn); __Pyx_INCREF(__pyx_v_delete_fn); __Pyx_GIVEREF(__pyx_v_delete_fn); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_delete_fn); __Pyx_INCREF(__pyx_v_nopython); __Pyx_GIVEREF(__pyx_v_nopython); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_nopython); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6mpi4py_3MPI__p_keyval), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_state = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1057 * """ * cdef object state = _p_keyval(copy_fn, delete_fn, nopython) * cdef int keyval = MPI_KEYVAL_INVALID # <<<<<<<<<<<<<< * cdef MPI_Comm_copy_attr_function *_copy = PyMPI_attr_copy_fn * cdef MPI_Comm_delete_attr_function *_del = PyMPI_attr_delete_fn */ __pyx_v_keyval = MPI_KEYVAL_INVALID; /* "mpi4py/MPI/Comm.pyx":1058 * cdef object state = _p_keyval(copy_fn, delete_fn, nopython) * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Comm_copy_attr_function *_copy = PyMPI_attr_copy_fn # <<<<<<<<<<<<<< * cdef MPI_Comm_delete_attr_function *_del = PyMPI_attr_delete_fn * cdef void *extra_state = state */ __pyx_v__copy = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_fn; /* "mpi4py/MPI/Comm.pyx":1059 * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Comm_copy_attr_function *_copy = PyMPI_attr_copy_fn * cdef MPI_Comm_delete_attr_function *_del = PyMPI_attr_delete_fn # <<<<<<<<<<<<<< * cdef void *extra_state = state * CHKERR( MPI_Comm_create_keyval(_copy, _del, &keyval, extra_state) ) */ __pyx_v__del = __pyx_fuse_1__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_fn; /* "mpi4py/MPI/Comm.pyx":1060 * cdef MPI_Comm_copy_attr_function *_copy = PyMPI_attr_copy_fn * cdef MPI_Comm_delete_attr_function *_del = PyMPI_attr_delete_fn * cdef void *extra_state = state # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_create_keyval(_copy, _del, &keyval, extra_state) ) * comm_keyval[keyval] = state */ __pyx_v_extra_state = ((void *)__pyx_v_state); /* "mpi4py/MPI/Comm.pyx":1061 * cdef MPI_Comm_delete_attr_function *_del = PyMPI_attr_delete_fn * cdef void *extra_state = state * CHKERR( MPI_Comm_create_keyval(_copy, _del, &keyval, extra_state) ) # <<<<<<<<<<<<<< * comm_keyval[keyval] = state * return keyval */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_create_keyval(__pyx_v__copy, __pyx_v__del, (&__pyx_v_keyval), __pyx_v_extra_state)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 1061, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1062 * cdef void *extra_state = state * CHKERR( MPI_Comm_create_keyval(_copy, _del, &keyval, extra_state) ) * comm_keyval[keyval] = state # <<<<<<<<<<<<<< * return keyval * */ if (unlikely(__pyx_v_6mpi4py_3MPI_comm_keyval == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(7, 1062, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1062, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_6mpi4py_3MPI_comm_keyval, __pyx_t_2, __pyx_v_state) < 0)) __PYX_ERR(7, 1062, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1063 * CHKERR( MPI_Comm_create_keyval(_copy, _del, &keyval, extra_state) ) * comm_keyval[keyval] = state * return keyval # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1063, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1052 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None, nopython=False): # <<<<<<<<<<<<<< * """ * Create a new attribute key for communicators */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Create_keyval", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_state); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1066 * * @classmethod * def Free_keyval(cls, int keyval): # <<<<<<<<<<<<<< * """ * Free and attribute key for communicators */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_161Free_keyval(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_160Free_keyval[] = "Comm.Free_keyval(type cls, int keyval)\n\n Free and attribute key for communicators\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_161Free_keyval(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_keyval; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free_keyval (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_keyval,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_keyval)) != 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, "Free_keyval") < 0)) __PYX_ERR(7, 1066, __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_keyval = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_keyval == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1066, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Free_keyval", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1066, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Free_keyval", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_160Free_keyval(((PyTypeObject*)__pyx_v_cls), __pyx_v_keyval); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_160Free_keyval(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_keyval) { int __pyx_v_keyval_save; 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_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Free_keyval", 0); /* "mpi4py/MPI/Comm.pyx":1070 * Free and attribute key for communicators * """ * cdef int keyval_save = keyval # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_free_keyval(&keyval) ) * try: del comm_keyval[keyval_save] */ __pyx_v_keyval_save = __pyx_v_keyval; /* "mpi4py/MPI/Comm.pyx":1071 * """ * cdef int keyval_save = keyval * CHKERR( MPI_Comm_free_keyval(&keyval) ) # <<<<<<<<<<<<<< * try: del comm_keyval[keyval_save] * except KeyError: pass */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_free_keyval((&__pyx_v_keyval))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1071, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1072 * cdef int keyval_save = keyval * CHKERR( MPI_Comm_free_keyval(&keyval) ) * try: del comm_keyval[keyval_save] # <<<<<<<<<<<<<< * except KeyError: pass * return keyval */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { if (unlikely(__pyx_v_6mpi4py_3MPI_comm_keyval == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(7, 1072, __pyx_L3_error) } __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_keyval_save); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1072, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_DelItem(__pyx_v_6mpi4py_3MPI_comm_keyval, __pyx_t_5) < 0)) __PYX_ERR(7, 1072, __pyx_L3_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 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; goto __pyx_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/Comm.pyx":1073 * CHKERR( MPI_Comm_free_keyval(&keyval) ) * try: del comm_keyval[keyval_save] * except KeyError: pass # <<<<<<<<<<<<<< * return keyval * */ __pyx_t_1 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); if (__pyx_t_1) { __Pyx_ErrRestore(0,0,0); goto __pyx_L4_exception_handled; } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "mpi4py/MPI/Comm.pyx":1072 * cdef int keyval_save = keyval * CHKERR( MPI_Comm_free_keyval(&keyval) ) * try: del comm_keyval[keyval_save] # <<<<<<<<<<<<<< * except KeyError: pass * return keyval */ __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); goto __pyx_L1_error; __pyx_L4_exception_handled:; __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); __pyx_L8_try_end:; } /* "mpi4py/MPI/Comm.pyx":1074 * try: del comm_keyval[keyval_save] * except KeyError: pass * return keyval # <<<<<<<<<<<<<< * * # Error handling */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1066 * * @classmethod * def Free_keyval(cls, int keyval): # <<<<<<<<<<<<<< * """ * Free and attribute key for communicators */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Comm.Free_keyval", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1079 * # -------------- * * def Get_errhandler(self): # <<<<<<<<<<<<<< * """ * Get the error handler for a communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_163Get_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_162Get_errhandler[] = "Comm.Get_errhandler(self)\n\n Get the error handler for a communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_163Get_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_errhandler (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_errhandler", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_errhandler", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_162Get_errhandler(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_162Get_errhandler(struct PyMPICommObject *__pyx_v_self) { struct PyMPIErrhandlerObject *__pyx_v_errhandler = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_errhandler", 0); /* "mpi4py/MPI/Comm.pyx":1083 * Get the error handler for a communicator * """ * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_get_errhandler(self.ob_mpi, &errhandler.ob_mpi) ) * return errhandler */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Errhandler(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1083, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_errhandler = ((struct PyMPIErrhandlerObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1084 * """ * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) * CHKERR( MPI_Comm_get_errhandler(self.ob_mpi, &errhandler.ob_mpi) ) # <<<<<<<<<<<<<< * return errhandler * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_get_errhandler(__pyx_v_self->ob_mpi, (&__pyx_v_errhandler->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 1084, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1085 * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) * CHKERR( MPI_Comm_get_errhandler(self.ob_mpi, &errhandler.ob_mpi) ) * return errhandler # <<<<<<<<<<<<<< * * def Set_errhandler(self, Errhandler errhandler): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_errhandler)); __pyx_r = ((PyObject *)__pyx_v_errhandler); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1079 * # -------------- * * def Get_errhandler(self): # <<<<<<<<<<<<<< * """ * Get the error handler for a communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Get_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_errhandler); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1087 * return errhandler * * def Set_errhandler(self, Errhandler errhandler): # <<<<<<<<<<<<<< * """ * Set the error handler for a communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_165Set_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_164Set_errhandler[] = "Comm.Set_errhandler(self, Errhandler errhandler)\n\n Set the error handler for a communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_165Set_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIErrhandlerObject *__pyx_v_errhandler = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_errhandler (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_errhandler,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_errhandler)) != 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, "Set_errhandler") < 0)) __PYX_ERR(7, 1087, __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_errhandler = ((struct PyMPIErrhandlerObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_errhandler", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1087, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Set_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_errhandler), __pyx_ptype_6mpi4py_3MPI_Errhandler, 0, "errhandler", 0))) __PYX_ERR(7, 1087, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_164Set_errhandler(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_errhandler); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_164Set_errhandler(struct PyMPICommObject *__pyx_v_self, struct PyMPIErrhandlerObject *__pyx_v_errhandler) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_errhandler", 0); /* "mpi4py/MPI/Comm.pyx":1091 * Set the error handler for a communicator * """ * CHKERR( MPI_Comm_set_errhandler(self.ob_mpi, errhandler.ob_mpi) ) # <<<<<<<<<<<<<< * * def Call_errhandler(self, int errorcode): */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_set_errhandler(__pyx_v_self->ob_mpi, __pyx_v_errhandler->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1091, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1087 * return errhandler * * def Set_errhandler(self, Errhandler errhandler): # <<<<<<<<<<<<<< * """ * Set the error handler for a communicator */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Set_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1093 * CHKERR( MPI_Comm_set_errhandler(self.ob_mpi, errhandler.ob_mpi) ) * * def Call_errhandler(self, int errorcode): # <<<<<<<<<<<<<< * """ * Call the error handler installed on a communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_167Call_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_166Call_errhandler[] = "Comm.Call_errhandler(self, int errorcode)\n\n Call the error handler installed on a communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_167Call_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorcode; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Call_errhandler (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_errorcode,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_errorcode)) != 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, "Call_errhandler") < 0)) __PYX_ERR(7, 1093, __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_errorcode = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_errorcode == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1093, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Call_errhandler", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1093, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Call_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_166Call_errhandler(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_errorcode); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_166Call_errhandler(struct PyMPICommObject *__pyx_v_self, int __pyx_v_errorcode) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Call_errhandler", 0); /* "mpi4py/MPI/Comm.pyx":1097 * Call the error handler installed on a communicator * """ * CHKERR( MPI_Comm_call_errhandler(self.ob_mpi, errorcode) ) # <<<<<<<<<<<<<< * * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_call_errhandler(__pyx_v_self->ob_mpi, __pyx_v_errorcode)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1097, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1093 * CHKERR( MPI_Comm_set_errhandler(self.ob_mpi, errhandler.ob_mpi) ) * * def Call_errhandler(self, int errorcode): # <<<<<<<<<<<<<< * """ * Call the error handler installed on a communicator */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Call_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1100 * * * def Abort(self, int errorcode=0): # <<<<<<<<<<<<<< * """ * Terminate MPI execution environment */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_169Abort(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_168Abort[] = "Comm.Abort(self, int errorcode=0)\n\n Terminate MPI execution environment\n\n .. warning:: This is a direct call, use it with care!!!.\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_169Abort(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorcode; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Abort (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_errorcode,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_errorcode); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Abort") < 0)) __PYX_ERR(7, 1100, __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_errorcode = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_errorcode == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1100, __pyx_L3_error) } else { __pyx_v_errorcode = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Abort", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1100, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Abort", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_168Abort(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_errorcode); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_168Abort(struct PyMPICommObject *__pyx_v_self, int __pyx_v_errorcode) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Abort", 0); /* "mpi4py/MPI/Comm.pyx":1106 * .. warning:: This is a direct call, use it with care!!!. * """ * CHKERR( MPI_Abort(self.ob_mpi, errorcode) ) # <<<<<<<<<<<<<< * * # Naming Objects */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Abort(__pyx_v_self->ob_mpi, __pyx_v_errorcode)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1106, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1100 * * * def Abort(self, int errorcode=0): # <<<<<<<<<<<<<< * """ * Terminate MPI execution environment */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Abort", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1111 * # -------------- * * def Get_name(self): # <<<<<<<<<<<<<< * """ * Get the print name for this communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_171Get_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_170Get_name[] = "Comm.Get_name(self)\n\n Get the print name for this communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_171Get_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_name (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_name", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_name", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_170Get_name(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_170Get_name(struct PyMPICommObject *__pyx_v_self) { char __pyx_v_name[(MPI_MAX_OBJECT_NAME + 1)]; int __pyx_v_nlen; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_name", 0); /* "mpi4py/MPI/Comm.pyx":1116 * """ * cdef char name[MPI_MAX_OBJECT_NAME+1] * cdef int nlen = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_get_name(self.ob_mpi, name, &nlen) ) * return tompistr(name, nlen) */ __pyx_v_nlen = 0; /* "mpi4py/MPI/Comm.pyx":1117 * cdef char name[MPI_MAX_OBJECT_NAME+1] * cdef int nlen = 0 * CHKERR( MPI_Comm_get_name(self.ob_mpi, name, &nlen) ) # <<<<<<<<<<<<<< * return tompistr(name, nlen) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_get_name(__pyx_v_self->ob_mpi, __pyx_v_name, (&__pyx_v_nlen))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1117, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1118 * cdef int nlen = 0 * CHKERR( MPI_Comm_get_name(self.ob_mpi, name, &nlen) ) * return tompistr(name, nlen) # <<<<<<<<<<<<<< * * def Set_name(self, name): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_tompistr(__pyx_v_name, __pyx_v_nlen); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1111 * # -------------- * * def Get_name(self): # <<<<<<<<<<<<<< * """ * Get the print name for this communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Get_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1120 * return tompistr(name, nlen) * * def Set_name(self, name): # <<<<<<<<<<<<<< * """ * Set the print name for this communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_173Set_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_172Set_name[] = "Comm.Set_name(self, name)\n\n Set the print name for this communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_173Set_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_name = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_name (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name_2,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_name_2)) != 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, "Set_name") < 0)) __PYX_ERR(7, 1120, __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_name = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_name", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1120, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.Set_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_172Set_name(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_name); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_172Set_name(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_name) { char *__pyx_v_cname; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_name", 0); __Pyx_INCREF(__pyx_v_name); /* "mpi4py/MPI/Comm.pyx":1124 * Set the print name for this communicator * """ * cdef char *cname = NULL # <<<<<<<<<<<<<< * name = asmpistr(name, &cname) * CHKERR( MPI_Comm_set_name(self.ob_mpi, cname) ) */ __pyx_v_cname = NULL; /* "mpi4py/MPI/Comm.pyx":1125 * """ * cdef char *cname = NULL * name = asmpistr(name, &cname) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_set_name(self.ob_mpi, cname) ) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_name, (&__pyx_v_cname)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1126 * cdef char *cname = NULL * name = asmpistr(name, &cname) * CHKERR( MPI_Comm_set_name(self.ob_mpi, cname) ) # <<<<<<<<<<<<<< * * property name: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_set_name(__pyx_v_self->ob_mpi, __pyx_v_cname)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1126, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1120 * return tompistr(name, nlen) * * def Set_name(self, name): # <<<<<<<<<<<<<< * """ * Set the print name for this communicator */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.Set_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_name); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1130 * property name: * """communicator name""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_name() * def __set__(self, value): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_4name_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_4name_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_4name___get__(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_4name___get__(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1131 * """communicator name""" * def __get__(self): * return self.Get_name() # <<<<<<<<<<<<<< * def __set__(self, value): * self.Set_name(value) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1131, __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(7, 1131, __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; /* "mpi4py/MPI/Comm.pyx":1130 * property name: * """communicator name""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_name() * def __set__(self, value): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1132 * def __get__(self): * return self.Get_name() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_name(value) * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4Comm_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4Comm_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_4name_2__set__(((struct PyMPICommObject *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4Comm_4name_2__set__(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 0); /* "mpi4py/MPI/Comm.pyx":1133 * return self.Get_name() * def __set__(self, value): * self.Set_name(value) # <<<<<<<<<<<<<< * * # Fortran Handle */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1133, __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_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1132 * def __get__(self): * return self.Get_name() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_name(value) * */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1138 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_175py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_174py2f[] = "Comm.py2f(self)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_175py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("py2f (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("py2f", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "py2f", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_174py2f(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_174py2f(struct PyMPICommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("py2f", 0); /* "mpi4py/MPI/Comm.pyx":1141 * """ * """ * return MPI_Comm_c2f(self.ob_mpi) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Fint(MPI_Comm_c2f(__pyx_v_self->ob_mpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1138 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Comm.py2f", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1144 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_177f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_176f2py[] = "Comm.f2py(type cls, arg)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_177f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("f2py (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "f2py") < 0)) __PYX_ERR(7, 1144, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("f2py", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1144, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_176f2py(((PyTypeObject*)__pyx_v_cls), __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_176f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Fint __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("f2py", 0); /* "mpi4py/MPI/Comm.pyx":1147 * """ * """ * cdef MPI_Comm comm = MPI_Comm_f2c(arg) # <<<<<<<<<<<<<< * return PyMPIComm_New(comm) * */ __pyx_t_1 = __Pyx_PyInt_As_MPI_Fint(__pyx_v_arg); if (unlikely((__pyx_t_1 == ((MPI_Fint)-1)) && PyErr_Occurred())) __PYX_ERR(7, 1147, __pyx_L1_error) __pyx_v_comm = MPI_Comm_f2c(__pyx_t_1); /* "mpi4py/MPI/Comm.pyx":1148 * """ * cdef MPI_Comm comm = MPI_Comm_f2c(arg) * return PyMPIComm_New(comm) # <<<<<<<<<<<<<< * * # Python Communication */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPIComm_New(__pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1144 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1153 * # -------------------- * # * def send(self, obj, int dest, int tag=0): # <<<<<<<<<<<<<< * """Send""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_179send(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_178send[] = "Comm.send(self, obj, int dest, int tag=0)\nSend"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_179send(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_obj = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("send (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,&__pyx_n_s_dest,&__pyx_n_s_tag,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_obj)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("send", 0, 2, 3, 1); __PYX_ERR(7, 1153, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "send") < 0)) __PYX_ERR(7, 1153, __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_obj = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1153, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1153, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("send", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1153, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.send", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_178send(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_obj, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_178send(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("send", 0); /* "mpi4py/MPI/Comm.pyx":1155 * def send(self, obj, int dest, int tag=0): * """Send""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_send(obj, dest, tag, comm) * # */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1156 * """Send""" * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_send(obj, dest, tag, comm) # <<<<<<<<<<<<<< * # * def bsend(self, obj, int dest, int tag=0): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_send(__pyx_v_obj, __pyx_v_dest, __pyx_v_tag, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1153 * # -------------------- * # * def send(self, obj, int dest, int tag=0): # <<<<<<<<<<<<<< * """Send""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.send", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1158 * return PyMPI_send(obj, dest, tag, comm) * # * def bsend(self, obj, int dest, int tag=0): # <<<<<<<<<<<<<< * """Send in buffered mode""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_181bsend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_180bsend[] = "Comm.bsend(self, obj, int dest, int tag=0)\nSend in buffered mode"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_181bsend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_obj = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("bsend (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,&__pyx_n_s_dest,&__pyx_n_s_tag,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_obj)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("bsend", 0, 2, 3, 1); __PYX_ERR(7, 1158, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bsend") < 0)) __PYX_ERR(7, 1158, __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_obj = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1158, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1158, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("bsend", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1158, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.bsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_180bsend(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_obj, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_180bsend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bsend", 0); /* "mpi4py/MPI/Comm.pyx":1160 * def bsend(self, obj, int dest, int tag=0): * """Send in buffered mode""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_bsend(obj, dest, tag, comm) * # */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1161 * """Send in buffered mode""" * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_bsend(obj, dest, tag, comm) # <<<<<<<<<<<<<< * # * def ssend(self, obj, int dest, int tag=0): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_bsend(__pyx_v_obj, __pyx_v_dest, __pyx_v_tag, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1158 * return PyMPI_send(obj, dest, tag, comm) * # * def bsend(self, obj, int dest, int tag=0): # <<<<<<<<<<<<<< * """Send in buffered mode""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.bsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1163 * return PyMPI_bsend(obj, dest, tag, comm) * # * def ssend(self, obj, int dest, int tag=0): # <<<<<<<<<<<<<< * """Send in synchronous mode""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_183ssend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_182ssend[] = "Comm.ssend(self, obj, int dest, int tag=0)\nSend in synchronous mode"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_183ssend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_obj = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("ssend (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,&__pyx_n_s_dest,&__pyx_n_s_tag,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_obj)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("ssend", 0, 2, 3, 1); __PYX_ERR(7, 1163, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "ssend") < 0)) __PYX_ERR(7, 1163, __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_obj = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1163, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1163, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("ssend", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1163, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.ssend", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_182ssend(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_obj, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_182ssend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("ssend", 0); /* "mpi4py/MPI/Comm.pyx":1165 * def ssend(self, obj, int dest, int tag=0): * """Send in synchronous mode""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_ssend(obj, dest, tag, comm) * # */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1166 * """Send in synchronous mode""" * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_ssend(obj, dest, tag, comm) # <<<<<<<<<<<<<< * # * def recv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG, */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_ssend(__pyx_v_obj, __pyx_v_dest, __pyx_v_tag, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1163 * return PyMPI_bsend(obj, dest, tag, comm) * # * def ssend(self, obj, int dest, int tag=0): # <<<<<<<<<<<<<< * """Send in synchronous mode""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.ssend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1168 * return PyMPI_ssend(obj, dest, tag, comm) * # * def recv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Receive""" */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_185recv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_184recv[] = "Comm.recv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\nReceive"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_185recv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("recv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[4] = {0,0,0,0}; values[0] = ((PyObject *)Py_None); /* "mpi4py/MPI/Comm.pyx":1169 * # * def recv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """Receive""" * cdef MPI_Comm comm = self.ob_mpi */ values[3] = (PyObject *)((struct PyMPIStatusObject *)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 (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_buf); 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_source); 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_tag); 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_status); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "recv") < 0)) __PYX_ERR(7, 1168, __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); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_buf = values[0]; if (values[1]) { __pyx_v_source = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1168, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__65; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1168, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__66; } __pyx_v_status = ((struct PyMPIStatusObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("recv", 0, 0, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1168, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 1169, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_184recv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":1168 * return PyMPI_ssend(obj, dest, tag, comm) * # * def recv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Receive""" */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_184recv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { MPI_Comm __pyx_v_comm; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("recv", 0); /* "mpi4py/MPI/Comm.pyx":1171 * Status status=None): * """Receive""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * return PyMPI_recv(buf, source, tag, comm, statusp) */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1172 * """Receive""" * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * return PyMPI_recv(buf, source, tag, comm, statusp) * # */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":1173 * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) * return PyMPI_recv(buf, source, tag, comm, statusp) # <<<<<<<<<<<<<< * # * def sendrecv(self, sendobj, int dest, int sendtag=0, */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_recv(__pyx_v_buf, __pyx_v_source, __pyx_v_tag, __pyx_v_comm, __pyx_v_statusp); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1168 * return PyMPI_ssend(obj, dest, tag, comm) * # * def recv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Receive""" */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.recv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1175 * return PyMPI_recv(buf, source, tag, comm, statusp) * # * def sendrecv(self, sendobj, int dest, int sendtag=0, # <<<<<<<<<<<<<< * recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, * Status status=None): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_187sendrecv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_186sendrecv[] = "Comm.sendrecv(self, sendobj, int dest, int sendtag=0, recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, Status status=None)\nSend and Receive"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_187sendrecv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendobj = 0; int __pyx_v_dest; int __pyx_v_sendtag; PyObject *__pyx_v_recvbuf = 0; int __pyx_v_source; int __pyx_v_recvtag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("sendrecv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendobj,&__pyx_n_s_dest,&__pyx_n_s_sendtag,&__pyx_n_s_recvbuf,&__pyx_n_s_source,&__pyx_n_s_recvtag,&__pyx_n_s_status,0}; PyObject* values[7] = {0,0,0,0,0,0,0}; /* "mpi4py/MPI/Comm.pyx":1176 * # * def sendrecv(self, sendobj, int dest, int sendtag=0, * recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Send and Receive""" */ values[3] = ((PyObject *)Py_None); /* "mpi4py/MPI/Comm.pyx":1177 * def sendrecv(self, sendobj, int dest, int sendtag=0, * recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """Send and Receive""" * cdef MPI_Comm comm = self.ob_mpi */ values[6] = (PyObject *)((struct PyMPIStatusObject *)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 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_sendobj)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("sendrecv", 0, 2, 7, 1); __PYX_ERR(7, 1175, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sendtag); 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_recvbuf); 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_source); 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_recvtag); 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_status); if (value) { values[6] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sendrecv") < 0)) __PYX_ERR(7, 1175, __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); values[0] = PyTuple_GET_ITEM(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_sendobj = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1175, __pyx_L3_error) if (values[2]) { __pyx_v_sendtag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_sendtag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1175, __pyx_L3_error) } else { __pyx_v_sendtag = ((int)0); } __pyx_v_recvbuf = values[3]; if (values[4]) { __pyx_v_source = __Pyx_PyInt_As_int(values[4]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1176, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__67; } if (values[5]) { __pyx_v_recvtag = __Pyx_PyInt_As_int(values[5]); if (unlikely((__pyx_v_recvtag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1176, __pyx_L3_error) } else { __pyx_v_recvtag = __pyx_k__68; } __pyx_v_status = ((struct PyMPIStatusObject *)values[6]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("sendrecv", 0, 2, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1175, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.sendrecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 1177, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_186sendrecv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendobj, __pyx_v_dest, __pyx_v_sendtag, __pyx_v_recvbuf, __pyx_v_source, __pyx_v_recvtag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":1175 * return PyMPI_recv(buf, source, tag, comm, statusp) * # * def sendrecv(self, sendobj, int dest, int sendtag=0, # <<<<<<<<<<<<<< * recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, * Status status=None): */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_186sendrecv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, int __pyx_v_dest, int __pyx_v_sendtag, PyObject *__pyx_v_recvbuf, int __pyx_v_source, int __pyx_v_recvtag, struct PyMPIStatusObject *__pyx_v_status) { MPI_Comm __pyx_v_comm; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("sendrecv", 0); /* "mpi4py/MPI/Comm.pyx":1179 * Status status=None): * """Send and Receive""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * return PyMPI_sendrecv(sendobj, dest, sendtag, */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1180 * """Send and Receive""" * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * return PyMPI_sendrecv(sendobj, dest, sendtag, * recvbuf, source, recvtag, */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":1181 * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) * return PyMPI_sendrecv(sendobj, dest, sendtag, # <<<<<<<<<<<<<< * recvbuf, source, recvtag, * comm, statusp) */ __Pyx_XDECREF(__pyx_r); /* "mpi4py/MPI/Comm.pyx":1183 * return PyMPI_sendrecv(sendobj, dest, sendtag, * recvbuf, source, recvtag, * comm, statusp) # <<<<<<<<<<<<<< * # * def isend(self, obj, int dest, int tag=0): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_sendrecv(__pyx_v_sendobj, __pyx_v_dest, __pyx_v_sendtag, __pyx_v_recvbuf, __pyx_v_source, __pyx_v_recvtag, __pyx_v_comm, __pyx_v_statusp); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1175 * return PyMPI_recv(buf, source, tag, comm, statusp) * # * def sendrecv(self, sendobj, int dest, int sendtag=0, # <<<<<<<<<<<<<< * recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, * Status status=None): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.sendrecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1185 * comm, statusp) * # * def isend(self, obj, int dest, int tag=0): # <<<<<<<<<<<<<< * """Nonblocking send""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_189isend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_188isend[] = "Comm.isend(self, obj, int dest, int tag=0)\nNonblocking send"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_189isend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_obj = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("isend (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,&__pyx_n_s_dest,&__pyx_n_s_tag,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_obj)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("isend", 0, 2, 3, 1); __PYX_ERR(7, 1185, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "isend") < 0)) __PYX_ERR(7, 1185, __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_obj = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1185, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1185, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("isend", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1185, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.isend", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_188isend(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_obj, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_188isend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag) { MPI_Comm __pyx_v_comm; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("isend", 0); /* "mpi4py/MPI/Comm.pyx":1187 * def isend(self, obj, int dest, int tag=0): * """Nonblocking send""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_isend(obj, dest, tag, comm, &request.ob_mpi) */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1188 * """Nonblocking send""" * cdef MPI_Comm comm = self.ob_mpi * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * request.ob_buf = PyMPI_isend(obj, dest, tag, comm, &request.ob_mpi) * return request */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1188, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1189 * cdef MPI_Comm comm = self.ob_mpi * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_isend(obj, dest, tag, comm, &request.ob_mpi) # <<<<<<<<<<<<<< * return request * # */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_isend(__pyx_v_obj, __pyx_v_dest, __pyx_v_tag, __pyx_v_comm, (&__pyx_v_request->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1190 * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_isend(obj, dest, tag, comm, &request.ob_mpi) * return request # <<<<<<<<<<<<<< * # * def ibsend(self, obj, int dest, int tag=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1185 * comm, statusp) * # * def isend(self, obj, int dest, int tag=0): # <<<<<<<<<<<<<< * """Nonblocking send""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.isend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1192 * return request * # * def ibsend(self, obj, int dest, int tag=0): # <<<<<<<<<<<<<< * """Nonblocking send in buffered mode""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_191ibsend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_190ibsend[] = "Comm.ibsend(self, obj, int dest, int tag=0)\nNonblocking send in buffered mode"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_191ibsend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_obj = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("ibsend (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,&__pyx_n_s_dest,&__pyx_n_s_tag,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_obj)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("ibsend", 0, 2, 3, 1); __PYX_ERR(7, 1192, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "ibsend") < 0)) __PYX_ERR(7, 1192, __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_obj = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1192, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1192, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("ibsend", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1192, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.ibsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_190ibsend(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_obj, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_190ibsend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag) { MPI_Comm __pyx_v_comm; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("ibsend", 0); /* "mpi4py/MPI/Comm.pyx":1194 * def ibsend(self, obj, int dest, int tag=0): * """Nonblocking send in buffered mode""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_ibsend(obj, dest, tag, comm, &request.ob_mpi) */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1195 * """Nonblocking send in buffered mode""" * cdef MPI_Comm comm = self.ob_mpi * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * request.ob_buf = PyMPI_ibsend(obj, dest, tag, comm, &request.ob_mpi) * return request */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1195, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1196 * cdef MPI_Comm comm = self.ob_mpi * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_ibsend(obj, dest, tag, comm, &request.ob_mpi) # <<<<<<<<<<<<<< * return request * # */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_ibsend(__pyx_v_obj, __pyx_v_dest, __pyx_v_tag, __pyx_v_comm, (&__pyx_v_request->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1197 * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_ibsend(obj, dest, tag, comm, &request.ob_mpi) * return request # <<<<<<<<<<<<<< * # * def issend(self, obj, int dest, int tag=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1192 * return request * # * def ibsend(self, obj, int dest, int tag=0): # <<<<<<<<<<<<<< * """Nonblocking send in buffered mode""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.ibsend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1199 * return request * # * def issend(self, obj, int dest, int tag=0): # <<<<<<<<<<<<<< * """Nonblocking send in synchronous mode""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_193issend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_192issend[] = "Comm.issend(self, obj, int dest, int tag=0)\nNonblocking send in synchronous mode"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_193issend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_obj = 0; int __pyx_v_dest; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("issend (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,&__pyx_n_s_dest,&__pyx_n_s_tag,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_obj)) != 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_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("issend", 0, 2, 3, 1); __PYX_ERR(7, 1199, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "issend") < 0)) __PYX_ERR(7, 1199, __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_obj = values[0]; __pyx_v_dest = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1199, __pyx_L3_error) if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1199, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("issend", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1199, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.issend", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_192issend(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_obj, __pyx_v_dest, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_192issend(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_dest, int __pyx_v_tag) { MPI_Comm __pyx_v_comm; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("issend", 0); /* "mpi4py/MPI/Comm.pyx":1201 * def issend(self, obj, int dest, int tag=0): * """Nonblocking send in synchronous mode""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_issend(obj, dest, tag, comm, &request.ob_mpi) */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1202 * """Nonblocking send in synchronous mode""" * cdef MPI_Comm comm = self.ob_mpi * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * request.ob_buf = PyMPI_issend(obj, dest, tag, comm, &request.ob_mpi) * return request */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1202, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1203 * cdef MPI_Comm comm = self.ob_mpi * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_issend(obj, dest, tag, comm, &request.ob_mpi) # <<<<<<<<<<<<<< * return request * # */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_issend(__pyx_v_obj, __pyx_v_dest, __pyx_v_tag, __pyx_v_comm, (&__pyx_v_request->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1204 * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_issend(obj, dest, tag, comm, &request.ob_mpi) * return request # <<<<<<<<<<<<<< * # * def irecv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1199 * return request * # * def issend(self, obj, int dest, int tag=0): # <<<<<<<<<<<<<< * """Nonblocking send in synchronous mode""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.issend", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1206 * return request * # * def irecv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG): # <<<<<<<<<<<<<< * """Nonblocking receive""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_195irecv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_194irecv[] = "Comm.irecv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG)\nNonblocking receive"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_195irecv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_v_source; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("irecv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_source,&__pyx_n_s_tag,0}; PyObject* values[3] = {0,0,0}; values[0] = ((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 (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_buf); 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_source); 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_tag); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "irecv") < 0)) __PYX_ERR(7, 1206, __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_buf = values[0]; if (values[1]) { __pyx_v_source = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1206, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__69; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1206, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__70; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("irecv", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1206, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.irecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_194irecv(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_source, __pyx_v_tag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_194irecv(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_buf, int __pyx_v_source, int __pyx_v_tag) { MPI_Comm __pyx_v_comm; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("irecv", 0); /* "mpi4py/MPI/Comm.pyx":1208 * def irecv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG): * """Nonblocking receive""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_irecv(buf, source, tag, comm, &request.ob_mpi) */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1209 * """Nonblocking receive""" * cdef MPI_Comm comm = self.ob_mpi * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * request.ob_buf = PyMPI_irecv(buf, source, tag, comm, &request.ob_mpi) * return request */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1209, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1210 * cdef MPI_Comm comm = self.ob_mpi * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_irecv(buf, source, tag, comm, &request.ob_mpi) # <<<<<<<<<<<<<< * return request * # */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_irecv(__pyx_v_buf, __pyx_v_source, __pyx_v_tag, __pyx_v_comm, (&__pyx_v_request->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1211 * cdef Request request = Request.__new__(Request) * request.ob_buf = PyMPI_irecv(buf, source, tag, comm, &request.ob_mpi) * return request # <<<<<<<<<<<<<< * # * def probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1206 * return request * # * def irecv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG): # <<<<<<<<<<<<<< * """Nonblocking receive""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.irecv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1213 * return request * # * def probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Blocking test for a message""" */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_197probe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_196probe[] = "Comm.probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\nBlocking test for a message"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_197probe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("probe (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[3] = {0,0,0}; /* "mpi4py/MPI/Comm.pyx":1214 * # * def probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """Blocking test for a message""" * cdef MPI_Comm comm = self.ob_mpi */ values[2] = (PyObject *)((struct PyMPIStatusObject *)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_source); 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_tag); 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_status); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "probe") < 0)) __PYX_ERR(7, 1213, __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; } } if (values[0]) { __pyx_v_source = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1213, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__71; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1213, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__72; } __pyx_v_status = ((struct PyMPIStatusObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("probe", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1213, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.probe", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 1214, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_196probe(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":1213 * return request * # * def probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Blocking test for a message""" */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_196probe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { MPI_Comm __pyx_v_comm; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("probe", 0); /* "mpi4py/MPI/Comm.pyx":1216 * Status status=None): * """Blocking test for a message""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * return PyMPI_probe(source, tag, comm, statusp) */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1217 * """Blocking test for a message""" * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * return PyMPI_probe(source, tag, comm, statusp) * # */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":1218 * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) * return PyMPI_probe(source, tag, comm, statusp) # <<<<<<<<<<<<<< * # * def iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_probe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm, __pyx_v_statusp); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1213 * return request * # * def probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Blocking test for a message""" */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.probe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1220 * return PyMPI_probe(source, tag, comm, statusp) * # * def iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Nonblocking test for a message""" */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_199iprobe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_198iprobe[] = "Comm.iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\nNonblocking test for a message"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_199iprobe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("iprobe (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[3] = {0,0,0}; /* "mpi4py/MPI/Comm.pyx":1221 * # * def iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """Nonblocking test for a message""" * cdef MPI_Comm comm = self.ob_mpi */ values[2] = (PyObject *)((struct PyMPIStatusObject *)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_source); 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_tag); 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_status); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "iprobe") < 0)) __PYX_ERR(7, 1220, __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; } } if (values[0]) { __pyx_v_source = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1220, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__73; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1220, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__74; } __pyx_v_status = ((struct PyMPIStatusObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("iprobe", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1220, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.iprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 1221, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_198iprobe(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":1220 * return PyMPI_probe(source, tag, comm, statusp) * # * def iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Nonblocking test for a message""" */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_198iprobe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { MPI_Comm __pyx_v_comm; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("iprobe", 0); /* "mpi4py/MPI/Comm.pyx":1223 * Status status=None): * """Nonblocking test for a message""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * return PyMPI_iprobe(source, tag, comm, statusp) */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1224 * """Nonblocking test for a message""" * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * return PyMPI_iprobe(source, tag, comm, statusp) * # */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":1225 * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) * return PyMPI_iprobe(source, tag, comm, statusp) # <<<<<<<<<<<<<< * # * def mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_iprobe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm, __pyx_v_statusp); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1220 * return PyMPI_probe(source, tag, comm, statusp) * # * def iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Nonblocking test for a message""" */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.iprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1227 * return PyMPI_iprobe(source, tag, comm, statusp) * # * def mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Blocking test for a matched message""" */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_201mprobe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_200mprobe[] = "Comm.mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\nBlocking test for a matched message"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_201mprobe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("mprobe (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[3] = {0,0,0}; /* "mpi4py/MPI/Comm.pyx":1228 * # * def mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """Blocking test for a matched message""" * cdef MPI_Comm comm = self.ob_mpi */ values[2] = (PyObject *)((struct PyMPIStatusObject *)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_source); 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_tag); 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_status); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mprobe") < 0)) __PYX_ERR(7, 1227, __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; } } if (values[0]) { __pyx_v_source = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1227, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__75; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1227, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__76; } __pyx_v_status = ((struct PyMPIStatusObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("mprobe", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1227, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.mprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 1228, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_200mprobe(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":1227 * return PyMPI_iprobe(source, tag, comm, statusp) * # * def mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Blocking test for a matched message""" */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_200mprobe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { MPI_Comm __pyx_v_comm; MPI_Status *__pyx_v_statusp; struct PyMPIMessageObject *__pyx_v_message = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("mprobe", 0); /* "mpi4py/MPI/Comm.pyx":1230 * Status status=None): * """Blocking test for a matched message""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * cdef Message message = Message.__new__(Message) */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1231 * """Blocking test for a matched message""" * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * cdef Message message = Message.__new__(Message) * message.ob_buf = PyMPI_mprobe(source, tag, comm, */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":1232 * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) * cdef Message message = Message.__new__(Message) # <<<<<<<<<<<<<< * message.ob_buf = PyMPI_mprobe(source, tag, comm, * &message.ob_mpi, statusp) */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1232, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_message = ((struct PyMPIMessageObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1233 * cdef MPI_Status *statusp = arg_Status(status) * cdef Message message = Message.__new__(Message) * message.ob_buf = PyMPI_mprobe(source, tag, comm, # <<<<<<<<<<<<<< * &message.ob_mpi, statusp) * return message */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_mprobe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm, (&__pyx_v_message->ob_mpi), __pyx_v_statusp); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_message->ob_buf); __Pyx_DECREF(__pyx_v_message->ob_buf); __pyx_v_message->ob_buf = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1235 * message.ob_buf = PyMPI_mprobe(source, tag, comm, * &message.ob_mpi, statusp) * return message # <<<<<<<<<<<<<< * # * def improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_message)); __pyx_r = ((PyObject *)__pyx_v_message); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1227 * return PyMPI_iprobe(source, tag, comm, statusp) * # * def mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Blocking test for a matched message""" */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.mprobe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_message); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1237 * return message * # * def improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Nonblocking test for a matched message""" */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_203improbe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_202improbe[] = "Comm.improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None)\nNonblocking test for a matched message"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_203improbe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_source; int __pyx_v_tag; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("improbe (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source,&__pyx_n_s_tag,&__pyx_n_s_status,0}; PyObject* values[3] = {0,0,0}; /* "mpi4py/MPI/Comm.pyx":1238 * # * def improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, * Status status=None): # <<<<<<<<<<<<<< * """Nonblocking test for a matched message""" * cdef int flag = 0 */ values[2] = (PyObject *)((struct PyMPIStatusObject *)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_source); 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_tag); 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_status); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "improbe") < 0)) __PYX_ERR(7, 1237, __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; } } if (values[0]) { __pyx_v_source = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_source == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1237, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__77; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1237, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__78; } __pyx_v_status = ((struct PyMPIStatusObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("improbe", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1237, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.improbe", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(7, 1238, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_202improbe(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_source, __pyx_v_tag, __pyx_v_status); /* "mpi4py/MPI/Comm.pyx":1237 * return message * # * def improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Nonblocking test for a matched message""" */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_202improbe(struct PyMPICommObject *__pyx_v_self, int __pyx_v_source, int __pyx_v_tag, struct PyMPIStatusObject *__pyx_v_status) { int __pyx_v_flag; MPI_Comm __pyx_v_comm; MPI_Status *__pyx_v_statusp; struct PyMPIMessageObject *__pyx_v_message = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("improbe", 0); /* "mpi4py/MPI/Comm.pyx":1240 * Status status=None): * """Nonblocking test for a matched message""" * cdef int flag = 0 # <<<<<<<<<<<<<< * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) */ __pyx_v_flag = 0; /* "mpi4py/MPI/Comm.pyx":1241 * """Nonblocking test for a matched message""" * cdef int flag = 0 * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * cdef Message message = Message.__new__(Message) */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1242 * cdef int flag = 0 * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * cdef Message message = Message.__new__(Message) * message.ob_buf = PyMPI_improbe(source, tag, comm, &flag, */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/Comm.pyx":1243 * cdef MPI_Comm comm = self.ob_mpi * cdef MPI_Status *statusp = arg_Status(status) * cdef Message message = Message.__new__(Message) # <<<<<<<<<<<<<< * message.ob_buf = PyMPI_improbe(source, tag, comm, &flag, * &message.ob_mpi, statusp) */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1243, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_message = ((struct PyMPIMessageObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1244 * cdef MPI_Status *statusp = arg_Status(status) * cdef Message message = Message.__new__(Message) * message.ob_buf = PyMPI_improbe(source, tag, comm, &flag, # <<<<<<<<<<<<<< * &message.ob_mpi, statusp) * if flag == 0: return None */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_improbe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm, (&__pyx_v_flag), (&__pyx_v_message->ob_mpi), __pyx_v_statusp); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_GOTREF(__pyx_v_message->ob_buf); __Pyx_DECREF(__pyx_v_message->ob_buf); __pyx_v_message->ob_buf = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1246 * message.ob_buf = PyMPI_improbe(source, tag, comm, &flag, * &message.ob_mpi, statusp) * if flag == 0: return None # <<<<<<<<<<<<<< * return message * # */ __pyx_t_4 = ((__pyx_v_flag == 0) != 0); if (__pyx_t_4) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":1247 * &message.ob_mpi, statusp) * if flag == 0: return None * return message # <<<<<<<<<<<<<< * # * def barrier(self): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_message)); __pyx_r = ((PyObject *)__pyx_v_message); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1237 * return message * # * def improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Nonblocking test for a matched message""" */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.improbe", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_message); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1249 * return message * # * def barrier(self): # <<<<<<<<<<<<<< * """Barrier""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_205barrier(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_204barrier[] = "Comm.barrier(self)\nBarrier"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_205barrier(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("barrier (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("barrier", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "barrier", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_204barrier(((struct PyMPICommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_204barrier(struct PyMPICommObject *__pyx_v_self) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("barrier", 0); /* "mpi4py/MPI/Comm.pyx":1251 * def barrier(self): * """Barrier""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_barrier(comm) * # */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1252 * """Barrier""" * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_barrier(comm) # <<<<<<<<<<<<<< * # * def bcast(self, obj, int root=0): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_barrier(__pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1249 * return message * # * def barrier(self): # <<<<<<<<<<<<<< * """Barrier""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.barrier", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1254 * return PyMPI_barrier(comm) * # * def bcast(self, obj, int root=0): # <<<<<<<<<<<<<< * """Broadcast""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_207bcast(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_206bcast[] = "Comm.bcast(self, obj, int root=0)\nBroadcast"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_207bcast(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_obj = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("bcast (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,&__pyx_n_s_root,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_obj)) != 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_root); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bcast") < 0)) __PYX_ERR(7, 1254, __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_obj = values[0]; if (values[1]) { __pyx_v_root = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1254, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("bcast", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1254, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.bcast", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_206bcast(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_obj, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_206bcast(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_root) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("bcast", 0); /* "mpi4py/MPI/Comm.pyx":1256 * def bcast(self, obj, int root=0): * """Broadcast""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_bcast(obj, root, comm) * # */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1257 * """Broadcast""" * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_bcast(obj, root, comm) # <<<<<<<<<<<<<< * # * def gather(self, sendobj, int root=0): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_bcast(__pyx_v_obj, __pyx_v_root, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1254 * return PyMPI_barrier(comm) * # * def bcast(self, obj, int root=0): # <<<<<<<<<<<<<< * """Broadcast""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.bcast", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1259 * return PyMPI_bcast(obj, root, comm) * # * def gather(self, sendobj, int root=0): # <<<<<<<<<<<<<< * """Gather""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_209gather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_208gather[] = "Comm.gather(self, sendobj, int root=0)\nGather"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_209gather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendobj = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("gather (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendobj,&__pyx_n_s_root,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_sendobj)) != 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_root); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "gather") < 0)) __PYX_ERR(7, 1259, __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_sendobj = values[0]; if (values[1]) { __pyx_v_root = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1259, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("gather", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1259, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.gather", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_208gather(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendobj, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_208gather(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, int __pyx_v_root) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("gather", 0); /* "mpi4py/MPI/Comm.pyx":1261 * def gather(self, sendobj, int root=0): * """Gather""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_gather(sendobj, root, comm) * # */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1262 * """Gather""" * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_gather(sendobj, root, comm) # <<<<<<<<<<<<<< * # * def scatter(self, sendobj, int root=0): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_gather(__pyx_v_sendobj, __pyx_v_root, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1259 * return PyMPI_bcast(obj, root, comm) * # * def gather(self, sendobj, int root=0): # <<<<<<<<<<<<<< * """Gather""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.gather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1264 * return PyMPI_gather(sendobj, root, comm) * # * def scatter(self, sendobj, int root=0): # <<<<<<<<<<<<<< * """Scatter""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_211scatter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_210scatter[] = "Comm.scatter(self, sendobj, int root=0)\nScatter"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_211scatter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendobj = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("scatter (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendobj,&__pyx_n_s_root,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_sendobj)) != 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_root); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scatter") < 0)) __PYX_ERR(7, 1264, __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_sendobj = values[0]; if (values[1]) { __pyx_v_root = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1264, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("scatter", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1264, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.scatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_210scatter(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendobj, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_210scatter(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, int __pyx_v_root) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("scatter", 0); /* "mpi4py/MPI/Comm.pyx":1266 * def scatter(self, sendobj, int root=0): * """Scatter""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_scatter(sendobj, root, comm) * # */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1267 * """Scatter""" * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_scatter(sendobj, root, comm) # <<<<<<<<<<<<<< * # * def allgather(self, sendobj): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_scatter(__pyx_v_sendobj, __pyx_v_root, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1264 * return PyMPI_gather(sendobj, root, comm) * # * def scatter(self, sendobj, int root=0): # <<<<<<<<<<<<<< * """Scatter""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.scatter", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1269 * return PyMPI_scatter(sendobj, root, comm) * # * def allgather(self, sendobj): # <<<<<<<<<<<<<< * """Gather to All""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_213allgather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_212allgather[] = "Comm.allgather(self, sendobj)\nGather to All"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_213allgather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendobj = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("allgather (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendobj,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_sendobj)) != 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, "allgather") < 0)) __PYX_ERR(7, 1269, __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_sendobj = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("allgather", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1269, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_212allgather(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendobj); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_212allgather(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("allgather", 0); /* "mpi4py/MPI/Comm.pyx":1271 * def allgather(self, sendobj): * """Gather to All""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_allgather(sendobj, comm) * # */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1272 * """Gather to All""" * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_allgather(sendobj, comm) # <<<<<<<<<<<<<< * # * def alltoall(self, sendobj): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_allgather(__pyx_v_sendobj, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1269 * return PyMPI_scatter(sendobj, root, comm) * # * def allgather(self, sendobj): # <<<<<<<<<<<<<< * """Gather to All""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1274 * return PyMPI_allgather(sendobj, comm) * # * def alltoall(self, sendobj): # <<<<<<<<<<<<<< * """All to All Scatter/Gather""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_215alltoall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_214alltoall[] = "Comm.alltoall(self, sendobj)\nAll to All Scatter/Gather"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_215alltoall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendobj = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("alltoall (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendobj,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_sendobj)) != 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, "alltoall") < 0)) __PYX_ERR(7, 1274, __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_sendobj = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("alltoall", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1274, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_214alltoall(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendobj); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_214alltoall(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("alltoall", 0); /* "mpi4py/MPI/Comm.pyx":1276 * def alltoall(self, sendobj): * """All to All Scatter/Gather""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_alltoall(sendobj, comm) * # */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1277 * """All to All Scatter/Gather""" * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_alltoall(sendobj, comm) # <<<<<<<<<<<<<< * # * def reduce(self, sendobj, op=SUM, int root=0): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_alltoall(__pyx_v_sendobj, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1274 * return PyMPI_allgather(sendobj, comm) * # * def alltoall(self, sendobj): # <<<<<<<<<<<<<< * """All to All Scatter/Gather""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1279 * return PyMPI_alltoall(sendobj, comm) * # * def reduce(self, sendobj, op=SUM, int root=0): # <<<<<<<<<<<<<< * """Reduce""" * if op is None: op = SUM */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_217reduce(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_216reduce[] = "Comm.reduce(self, sendobj, op=SUM, int root=0)\nReduce"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_217reduce(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendobj = 0; PyObject *__pyx_v_op = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("reduce (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendobj,&__pyx_n_s_op,&__pyx_n_s_root,0}; PyObject* values[3] = {0,0,0}; values[1] = __pyx_k__79; 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_sendobj)) != 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_op); 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_root); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "reduce") < 0)) __PYX_ERR(7, 1279, __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_sendobj = values[0]; __pyx_v_op = values[1]; if (values[2]) { __pyx_v_root = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1279, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("reduce", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1279, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.reduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_216reduce(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendobj, __pyx_v_op, __pyx_v_root); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_216reduce(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op, int __pyx_v_root) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; MPI_Comm __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("reduce", 0); __Pyx_INCREF(__pyx_v_op); /* "mpi4py/MPI/Comm.pyx":1281 * def reduce(self, sendobj, op=SUM, int root=0): * """Reduce""" * if op is None: op = SUM # <<<<<<<<<<<<<< * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_reduce(sendobj, op, root, comm) */ __pyx_t_1 = (__pyx_v_op == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_op, __pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/Comm.pyx":1282 * """Reduce""" * if op is None: op = SUM * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_reduce(sendobj, op, root, comm) * # */ __pyx_t_4 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_4; /* "mpi4py/MPI/Comm.pyx":1283 * if op is None: op = SUM * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_reduce(sendobj, op, root, comm) # <<<<<<<<<<<<<< * # * def allreduce(self, sendobj, op=SUM): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_reduce(__pyx_v_sendobj, __pyx_v_op, __pyx_v_root, __pyx_v_comm); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1279 * return PyMPI_alltoall(sendobj, comm) * # * def reduce(self, sendobj, op=SUM, int root=0): # <<<<<<<<<<<<<< * """Reduce""" * if op is None: op = SUM */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.reduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_op); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1285 * return PyMPI_reduce(sendobj, op, root, comm) * # * def allreduce(self, sendobj, op=SUM): # <<<<<<<<<<<<<< * """Reduce to All""" * if op is None: op = SUM */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_219allreduce(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Comm_218allreduce[] = "Comm.allreduce(self, sendobj, op=SUM)\nReduce to All"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Comm_219allreduce(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendobj = 0; PyObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("allreduce (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendobj,&__pyx_n_s_op,0}; PyObject* values[2] = {0,0}; values[1] = __pyx_k__80; 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_sendobj)) != 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_op); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "allreduce") < 0)) __PYX_ERR(7, 1285, __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_sendobj = values[0]; __pyx_v_op = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("allreduce", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1285, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Comm.allreduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4Comm_218allreduce(((struct PyMPICommObject *)__pyx_v_self), __pyx_v_sendobj, __pyx_v_op); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Comm_218allreduce(struct PyMPICommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; MPI_Comm __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("allreduce", 0); __Pyx_INCREF(__pyx_v_op); /* "mpi4py/MPI/Comm.pyx":1287 * def allreduce(self, sendobj, op=SUM): * """Reduce to All""" * if op is None: op = SUM # <<<<<<<<<<<<<< * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_allreduce(sendobj, op, comm) */ __pyx_t_1 = (__pyx_v_op == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_op, __pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/Comm.pyx":1288 * """Reduce to All""" * if op is None: op = SUM * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_allreduce(sendobj, op, comm) * */ __pyx_t_4 = __pyx_v_self->ob_mpi; __pyx_v_comm = __pyx_t_4; /* "mpi4py/MPI/Comm.pyx":1289 * if op is None: op = SUM * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_allreduce(sendobj, op, comm) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_allreduce(__pyx_v_sendobj, __pyx_v_op, __pyx_v_comm); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1285 * return PyMPI_reduce(sendobj, op, root, comm) * # * def allreduce(self, sendobj, op=SUM): # <<<<<<<<<<<<<< * """Reduce to All""" * if op is None: op = SUM */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Comm.allreduce", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_op); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1298 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_COMM_NULL: return * cdef int inter = 1 */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_9Intracomm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_9Intracomm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPICommObject *)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_comm); 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(7, 1298, __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_comm = ((struct PyMPICommObject *)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(7, 1298, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) __PYX_ERR(7, 1298, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm___cinit__(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_9Intracomm___cinit__(struct PyMPIIntracommObject *__pyx_v_self, CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm) { int __pyx_v_inter; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Comm.pyx":1299 * * def __cinit__(self, Comm comm=None): * if self.ob_mpi == MPI_COMM_NULL: return # <<<<<<<<<<<<<< * cdef int inter = 1 * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &inter) ) */ __pyx_t_1 = ((__pyx_v_self->__pyx_base.ob_mpi == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":1300 * def __cinit__(self, Comm comm=None): * if self.ob_mpi == MPI_COMM_NULL: return * cdef int inter = 1 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &inter) ) * if inter: raise TypeError( */ __pyx_v_inter = 1; /* "mpi4py/MPI/Comm.pyx":1301 * if self.ob_mpi == MPI_COMM_NULL: return * cdef int inter = 1 * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &inter) ) # <<<<<<<<<<<<<< * if inter: raise TypeError( * "expecting an intracommunicator") */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1301, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1302 * cdef int inter = 1 * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &inter) ) * if inter: raise TypeError( # <<<<<<<<<<<<<< * "expecting an intracommunicator") * */ __pyx_t_1 = (__pyx_v_inter != 0); if (unlikely(__pyx_t_1)) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__81, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(7, 1302, __pyx_L1_error) } /* "mpi4py/MPI/Comm.pyx":1298 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_COMM_NULL: return * cdef int inter = 1 */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1308 * # ------------------------- * * def Create_cart(self, dims, periods=None, bint reorder=False): # <<<<<<<<<<<<<< * """ * Create cartesian communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_3Create_cart(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_2Create_cart[] = "Intracomm.Create_cart(self, dims, periods=None, bool reorder=False)\n\n Create cartesian communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_3Create_cart(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_dims = 0; PyObject *__pyx_v_periods = 0; int __pyx_v_reorder; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_cart (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dims,&__pyx_n_s_periods,&__pyx_n_s_reorder,0}; PyObject* values[3] = {0,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 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_dims)) != 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_periods); 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_reorder); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_cart") < 0)) __PYX_ERR(7, 1308, __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_dims = values[0]; __pyx_v_periods = values[1]; if (values[2]) { __pyx_v_reorder = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_reorder == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1308, __pyx_L3_error) } else { __pyx_v_reorder = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_cart", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1308, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Create_cart", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_2Create_cart(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_dims, __pyx_v_periods, __pyx_v_reorder); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_2Create_cart(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_dims, PyObject *__pyx_v_periods, int __pyx_v_reorder) { int __pyx_v_ndims; int *__pyx_v_idims; int *__pyx_v_iperiods; struct PyMPICartcommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_cart", 0); __Pyx_INCREF(__pyx_v_dims); __Pyx_INCREF(__pyx_v_periods); /* "mpi4py/MPI/Comm.pyx":1312 * Create cartesian communicator * """ * cdef int ndims = 0, *idims = NULL, *iperiods = NULL # <<<<<<<<<<<<<< * dims = getarray(dims, &ndims, &idims) * if periods is None: periods = False */ __pyx_v_ndims = 0; __pyx_v_idims = NULL; __pyx_v_iperiods = NULL; /* "mpi4py/MPI/Comm.pyx":1313 * """ * cdef int ndims = 0, *idims = NULL, *iperiods = NULL * dims = getarray(dims, &ndims, &idims) # <<<<<<<<<<<<<< * if periods is None: periods = False * if isinstance(periods, bool): periods = [periods] * ndims */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_dims, (&__pyx_v_ndims), (&__pyx_v_idims)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dims, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1314 * cdef int ndims = 0, *idims = NULL, *iperiods = NULL * dims = getarray(dims, &ndims, &idims) * if periods is None: periods = False # <<<<<<<<<<<<<< * if isinstance(periods, bool): periods = [periods] * ndims * periods = chkarray(periods, ndims, &iperiods) */ __pyx_t_2 = (__pyx_v_periods == Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __Pyx_INCREF(Py_False); __Pyx_DECREF_SET(__pyx_v_periods, Py_False); } /* "mpi4py/MPI/Comm.pyx":1315 * dims = getarray(dims, &ndims, &idims) * if periods is None: periods = False * if isinstance(periods, bool): periods = [periods] * ndims # <<<<<<<<<<<<<< * periods = chkarray(periods, ndims, &iperiods) * # */ __pyx_t_1 = ((PyObject*)&PyBool_Type); __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = PyObject_IsInstance(__pyx_v_periods, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 1315, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_t_1 = PyList_New(1 * ((__pyx_v_ndims<0) ? 0:__pyx_v_ndims)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < __pyx_v_ndims; __pyx_temp++) { __Pyx_INCREF(__pyx_v_periods); __Pyx_GIVEREF(__pyx_v_periods); PyList_SET_ITEM(__pyx_t_1, __pyx_temp, __pyx_v_periods); } } __Pyx_DECREF_SET(__pyx_v_periods, __pyx_t_1); __pyx_t_1 = 0; } /* "mpi4py/MPI/Comm.pyx":1316 * if periods is None: periods = False * if isinstance(periods, bool): periods = [periods] * ndims * periods = chkarray(periods, ndims, &iperiods) # <<<<<<<<<<<<<< * # * cdef Cartcomm comm = Cartcomm.__new__(Cartcomm) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_periods, __pyx_v_ndims, (&__pyx_v_iperiods)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_periods, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1318 * periods = chkarray(periods, ndims, &iperiods) * # * cdef Cartcomm comm = Cartcomm.__new__(Cartcomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Cart_create( * self.ob_mpi, ndims, idims, iperiods, reorder, &comm.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Cartcomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Cartcomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1318, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_4 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPICartcommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":1319 * # * cdef Cartcomm comm = Cartcomm.__new__(Cartcomm) * with nogil: CHKERR( MPI_Cart_create( # <<<<<<<<<<<<<< * self.ob_mpi, ndims, idims, iperiods, reorder, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1320 * cdef Cartcomm comm = Cartcomm.__new__(Cartcomm) * with nogil: CHKERR( MPI_Cart_create( * self.ob_mpi, ndims, idims, iperiods, reorder, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cart_create(__pyx_v_self->__pyx_base.ob_mpi, __pyx_v_ndims, __pyx_v_idims, __pyx_v_iperiods, __pyx_v_reorder, (&__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 1319, __pyx_L6_error) } /* "mpi4py/MPI/Comm.pyx":1319 * # * cdef Cartcomm comm = Cartcomm.__new__(Cartcomm) * with nogil: CHKERR( MPI_Cart_create( # <<<<<<<<<<<<<< * self.ob_mpi, ndims, idims, iperiods, reorder, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1321 * with nogil: CHKERR( MPI_Cart_create( * self.ob_mpi, ndims, idims, iperiods, reorder, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 1321, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1322 * self.ob_mpi, ndims, idims, iperiods, reorder, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * def Create_graph(self, index, edges, bint reorder=False): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1308 * # ------------------------- * * def Create_cart(self, dims, periods=None, bint reorder=False): # <<<<<<<<<<<<<< * """ * Create cartesian communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Create_cart", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XDECREF(__pyx_v_dims); __Pyx_XDECREF(__pyx_v_periods); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1324 * return comm * * def Create_graph(self, index, edges, bint reorder=False): # <<<<<<<<<<<<<< * """ * Create graph communicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_5Create_graph(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_4Create_graph[] = "Intracomm.Create_graph(self, index, edges, bool reorder=False)\n\n Create graph communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_5Create_graph(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_index = 0; PyObject *__pyx_v_edges = 0; int __pyx_v_reorder; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_graph (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_index,&__pyx_n_s_edges,&__pyx_n_s_reorder,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_index)) != 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_edges)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_graph", 0, 2, 3, 1); __PYX_ERR(7, 1324, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_reorder); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_graph") < 0)) __PYX_ERR(7, 1324, __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_index = values[0]; __pyx_v_edges = values[1]; if (values[2]) { __pyx_v_reorder = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_reorder == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1324, __pyx_L3_error) } else { __pyx_v_reorder = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_graph", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1324, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Create_graph", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_4Create_graph(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_index, __pyx_v_edges, __pyx_v_reorder); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_4Create_graph(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_edges, int __pyx_v_reorder) { int __pyx_v_nnodes; int *__pyx_v_iindex; int __pyx_v_nedges; int *__pyx_v_iedges; struct PyMPIGraphcommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_graph", 0); __Pyx_INCREF(__pyx_v_index); __Pyx_INCREF(__pyx_v_edges); /* "mpi4py/MPI/Comm.pyx":1328 * Create graph communicator * """ * cdef int nnodes = 0, *iindex = NULL # <<<<<<<<<<<<<< * index = getarray(index, &nnodes, &iindex) * cdef int nedges = 0, *iedges = NULL */ __pyx_v_nnodes = 0; __pyx_v_iindex = NULL; /* "mpi4py/MPI/Comm.pyx":1329 * """ * cdef int nnodes = 0, *iindex = NULL * index = getarray(index, &nnodes, &iindex) # <<<<<<<<<<<<<< * cdef int nedges = 0, *iedges = NULL * edges = getarray(edges, &nedges, &iedges) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_index, (&__pyx_v_nnodes), (&__pyx_v_iindex)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1330 * cdef int nnodes = 0, *iindex = NULL * index = getarray(index, &nnodes, &iindex) * cdef int nedges = 0, *iedges = NULL # <<<<<<<<<<<<<< * edges = getarray(edges, &nedges, &iedges) * # extension: 'standard' adjacency arrays */ __pyx_v_nedges = 0; __pyx_v_iedges = NULL; /* "mpi4py/MPI/Comm.pyx":1331 * index = getarray(index, &nnodes, &iindex) * cdef int nedges = 0, *iedges = NULL * edges = getarray(edges, &nedges, &iedges) # <<<<<<<<<<<<<< * # extension: 'standard' adjacency arrays * if iindex[0]==0 and iindex[nnodes-1]==nedges: */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_edges, (&__pyx_v_nedges), (&__pyx_v_iedges)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_edges, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1333 * edges = getarray(edges, &nedges, &iedges) * # extension: 'standard' adjacency arrays * if iindex[0]==0 and iindex[nnodes-1]==nedges: # <<<<<<<<<<<<<< * nnodes -= 1; iindex += 1; * # */ __pyx_t_3 = (((__pyx_v_iindex[0]) == 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = (((__pyx_v_iindex[(__pyx_v_nnodes - 1)]) == __pyx_v_nedges) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1334 * # extension: 'standard' adjacency arrays * if iindex[0]==0 and iindex[nnodes-1]==nedges: * nnodes -= 1; iindex += 1; # <<<<<<<<<<<<<< * # * cdef Graphcomm comm = Graphcomm.__new__(Graphcomm) */ __pyx_v_nnodes = (__pyx_v_nnodes - 1); __pyx_v_iindex = (__pyx_v_iindex + 1); /* "mpi4py/MPI/Comm.pyx":1333 * edges = getarray(edges, &nedges, &iedges) * # extension: 'standard' adjacency arrays * if iindex[0]==0 and iindex[nnodes-1]==nedges: # <<<<<<<<<<<<<< * nnodes -= 1; iindex += 1; * # */ } /* "mpi4py/MPI/Comm.pyx":1336 * nnodes -= 1; iindex += 1; * # * cdef Graphcomm comm = Graphcomm.__new__(Graphcomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Graph_create( * self.ob_mpi, nnodes, iindex, iedges, reorder, &comm.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Graphcomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Graphcomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1336, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_4 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPIGraphcommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":1337 * # * cdef Graphcomm comm = Graphcomm.__new__(Graphcomm) * with nogil: CHKERR( MPI_Graph_create( # <<<<<<<<<<<<<< * self.ob_mpi, nnodes, iindex, iedges, reorder, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1338 * cdef Graphcomm comm = Graphcomm.__new__(Graphcomm) * with nogil: CHKERR( MPI_Graph_create( * self.ob_mpi, nnodes, iindex, iedges, reorder, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Graph_create(__pyx_v_self->__pyx_base.ob_mpi, __pyx_v_nnodes, __pyx_v_iindex, __pyx_v_iedges, __pyx_v_reorder, (&__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 1337, __pyx_L7_error) } /* "mpi4py/MPI/Comm.pyx":1337 * # * cdef Graphcomm comm = Graphcomm.__new__(Graphcomm) * with nogil: CHKERR( MPI_Graph_create( # <<<<<<<<<<<<<< * self.ob_mpi, nnodes, iindex, iedges, reorder, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1339 * with nogil: CHKERR( MPI_Graph_create( * self.ob_mpi, nnodes, iindex, iedges, reorder, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 1339, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1340 * self.ob_mpi, nnodes, iindex, iedges, reorder, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * def Create_dist_graph_adjacent(self, sources, destinations, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1324 * return comm * * def Create_graph(self, index, edges, bint reorder=False): # <<<<<<<<<<<<<< * """ * Create graph communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Create_graph", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XDECREF(__pyx_v_index); __Pyx_XDECREF(__pyx_v_edges); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1342 * return comm * * def Create_dist_graph_adjacent(self, sources, destinations, # <<<<<<<<<<<<<< * sourceweights=None, destweights=None, * Info info=INFO_NULL, bint reorder=False): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_7Create_dist_graph_adjacent(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_6Create_dist_graph_adjacent[] = "Intracomm.Create_dist_graph_adjacent(self, sources, destinations, sourceweights=None, destweights=None, Info info=INFO_NULL, bool reorder=False)\n\n Create distributed graph communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_7Create_dist_graph_adjacent(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sources = 0; PyObject *__pyx_v_destinations = 0; PyObject *__pyx_v_sourceweights = 0; PyObject *__pyx_v_destweights = 0; struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_v_reorder; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_dist_graph_adjacent (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sources,&__pyx_n_s_destinations,&__pyx_n_s_sourceweights,&__pyx_n_s_destweights,&__pyx_n_s_info,&__pyx_n_s_reorder,0}; PyObject* values[6] = {0,0,0,0,0,0}; /* "mpi4py/MPI/Comm.pyx":1343 * * def Create_dist_graph_adjacent(self, sources, destinations, * sourceweights=None, destweights=None, # <<<<<<<<<<<<<< * Info info=INFO_NULL, bint reorder=False): * """ */ values[2] = ((PyObject *)Py_None); values[3] = ((PyObject *)Py_None); values[4] = (PyObject *)__pyx_k__82; 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_sources)) != 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_destinations)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_dist_graph_adjacent", 0, 2, 6, 1); __PYX_ERR(7, 1342, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sourceweights); 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_destweights); 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_info); 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_reorder); if (value) { values[5] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_dist_graph_adjacent") < 0)) __PYX_ERR(7, 1342, __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_sources = values[0]; __pyx_v_destinations = values[1]; __pyx_v_sourceweights = values[2]; __pyx_v_destweights = values[3]; __pyx_v_info = ((struct PyMPIInfoObject *)values[4]); if (values[5]) { __pyx_v_reorder = __Pyx_PyObject_IsTrue(values[5]); if (unlikely((__pyx_v_reorder == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1344, __pyx_L3_error) } else { /* "mpi4py/MPI/Comm.pyx":1344 * def Create_dist_graph_adjacent(self, sources, destinations, * sourceweights=None, destweights=None, * Info info=INFO_NULL, bint reorder=False): # <<<<<<<<<<<<<< * """ * Create distributed graph communicator */ __pyx_v_reorder = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_dist_graph_adjacent", 0, 2, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1342, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Create_dist_graph_adjacent", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(7, 1344, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_6Create_dist_graph_adjacent(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_sources, __pyx_v_destinations, __pyx_v_sourceweights, __pyx_v_destweights, __pyx_v_info, __pyx_v_reorder); /* "mpi4py/MPI/Comm.pyx":1342 * return comm * * def Create_dist_graph_adjacent(self, sources, destinations, # <<<<<<<<<<<<<< * sourceweights=None, destweights=None, * Info info=INFO_NULL, bint reorder=False): */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_6Create_dist_graph_adjacent(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sources, PyObject *__pyx_v_destinations, PyObject *__pyx_v_sourceweights, PyObject *__pyx_v_destweights, struct PyMPIInfoObject *__pyx_v_info, int __pyx_v_reorder) { int __pyx_v_indegree; int *__pyx_v_isource; int __pyx_v_outdegree; int *__pyx_v_idest; int *__pyx_v_isourceweight; int *__pyx_v_idestweight; struct PyMPIDistgraphcommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_dist_graph_adjacent", 0); __Pyx_INCREF(__pyx_v_sources); __Pyx_INCREF(__pyx_v_destinations); __Pyx_INCREF(__pyx_v_sourceweights); __Pyx_INCREF(__pyx_v_destweights); /* "mpi4py/MPI/Comm.pyx":1348 * Create distributed graph communicator * """ * cdef int indegree = 0, *isource = NULL # <<<<<<<<<<<<<< * cdef int outdegree = 0, *idest = NULL * cdef int *isourceweight = MPI_UNWEIGHTED */ __pyx_v_indegree = 0; __pyx_v_isource = NULL; /* "mpi4py/MPI/Comm.pyx":1349 * """ * cdef int indegree = 0, *isource = NULL * cdef int outdegree = 0, *idest = NULL # <<<<<<<<<<<<<< * cdef int *isourceweight = MPI_UNWEIGHTED * cdef int *idestweight = MPI_UNWEIGHTED */ __pyx_v_outdegree = 0; __pyx_v_idest = NULL; /* "mpi4py/MPI/Comm.pyx":1350 * cdef int indegree = 0, *isource = NULL * cdef int outdegree = 0, *idest = NULL * cdef int *isourceweight = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * cdef int *idestweight = MPI_UNWEIGHTED * if sources is not None: */ __pyx_v_isourceweight = MPI_UNWEIGHTED; /* "mpi4py/MPI/Comm.pyx":1351 * cdef int outdegree = 0, *idest = NULL * cdef int *isourceweight = MPI_UNWEIGHTED * cdef int *idestweight = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * if sources is not None: * sources = getarray(sources, &indegree, &isource) */ __pyx_v_idestweight = MPI_UNWEIGHTED; /* "mpi4py/MPI/Comm.pyx":1352 * cdef int *isourceweight = MPI_UNWEIGHTED * cdef int *idestweight = MPI_UNWEIGHTED * if sources is not None: # <<<<<<<<<<<<<< * sources = getarray(sources, &indegree, &isource) * sourceweights = asarray_weights( */ __pyx_t_1 = (__pyx_v_sources != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1353 * cdef int *idestweight = MPI_UNWEIGHTED * if sources is not None: * sources = getarray(sources, &indegree, &isource) # <<<<<<<<<<<<<< * sourceweights = asarray_weights( * sourceweights, indegree, &isourceweight) */ __pyx_t_3 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_sources, (&__pyx_v_indegree), (&__pyx_v_isource)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1353, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_sources, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1352 * cdef int *isourceweight = MPI_UNWEIGHTED * cdef int *idestweight = MPI_UNWEIGHTED * if sources is not None: # <<<<<<<<<<<<<< * sources = getarray(sources, &indegree, &isource) * sourceweights = asarray_weights( */ } /* "mpi4py/MPI/Comm.pyx":1354 * if sources is not None: * sources = getarray(sources, &indegree, &isource) * sourceweights = asarray_weights( # <<<<<<<<<<<<<< * sourceweights, indegree, &isourceweight) * if destinations is not None: */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asarray_weights(__pyx_v_sourceweights, __pyx_v_indegree, (&__pyx_v_isourceweight)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1354, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_sourceweights, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1356 * sourceweights = asarray_weights( * sourceweights, indegree, &isourceweight) * if destinations is not None: # <<<<<<<<<<<<<< * destinations = getarray(destinations, &outdegree, &idest) * destweights = asarray_weights( */ __pyx_t_2 = (__pyx_v_destinations != Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/Comm.pyx":1357 * sourceweights, indegree, &isourceweight) * if destinations is not None: * destinations = getarray(destinations, &outdegree, &idest) # <<<<<<<<<<<<<< * destweights = asarray_weights( * destweights, outdegree, &idestweight) */ __pyx_t_3 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_destinations, (&__pyx_v_outdegree), (&__pyx_v_idest)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_destinations, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1356 * sourceweights = asarray_weights( * sourceweights, indegree, &isourceweight) * if destinations is not None: # <<<<<<<<<<<<<< * destinations = getarray(destinations, &outdegree, &idest) * destweights = asarray_weights( */ } /* "mpi4py/MPI/Comm.pyx":1358 * if destinations is not None: * destinations = getarray(destinations, &outdegree, &idest) * destweights = asarray_weights( # <<<<<<<<<<<<<< * destweights, outdegree, &idestweight) * # */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asarray_weights(__pyx_v_destweights, __pyx_v_outdegree, (&__pyx_v_idestweight)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_destweights, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1362 * # * cdef Distgraphcomm comm = \ * Distgraphcomm.__new__(Distgraphcomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Dist_graph_create_adjacent( * self.ob_mpi, */ __pyx_t_3 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Distgraphcomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Distgraphcomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1362, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __pyx_t_4 = ((PyObject *)__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_v_comm = ((struct PyMPIDistgraphcommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":1363 * cdef Distgraphcomm comm = \ * Distgraphcomm.__new__(Distgraphcomm) * with nogil: CHKERR( MPI_Dist_graph_create_adjacent( # <<<<<<<<<<<<<< * self.ob_mpi, * indegree, isource, isourceweight, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1367 * indegree, isource, isourceweight, * outdegree, idest, idestweight, * info.ob_mpi, reorder, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Dist_graph_create_adjacent(__pyx_v_self->__pyx_base.ob_mpi, __pyx_v_indegree, __pyx_v_isource, __pyx_v_isourceweight, __pyx_v_outdegree, __pyx_v_idest, __pyx_v_idestweight, __pyx_v_info->ob_mpi, __pyx_v_reorder, (&__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 1363, __pyx_L6_error) } /* "mpi4py/MPI/Comm.pyx":1363 * cdef Distgraphcomm comm = \ * Distgraphcomm.__new__(Distgraphcomm) * with nogil: CHKERR( MPI_Dist_graph_create_adjacent( # <<<<<<<<<<<<<< * self.ob_mpi, * indegree, isource, isourceweight, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1368 * outdegree, idest, idestweight, * info.ob_mpi, reorder, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(7, 1368, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1369 * info.ob_mpi, reorder, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * def Create_dist_graph(self, sources, degrees, destinations, weights=None, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1342 * return comm * * def Create_dist_graph_adjacent(self, sources, destinations, # <<<<<<<<<<<<<< * sourceweights=None, destweights=None, * Info info=INFO_NULL, bint reorder=False): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Create_dist_graph_adjacent", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XDECREF(__pyx_v_sources); __Pyx_XDECREF(__pyx_v_destinations); __Pyx_XDECREF(__pyx_v_sourceweights); __Pyx_XDECREF(__pyx_v_destweights); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1371 * return comm * * def Create_dist_graph(self, sources, degrees, destinations, weights=None, # <<<<<<<<<<<<<< * Info info=INFO_NULL, bint reorder=False): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_9Create_dist_graph(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_8Create_dist_graph[] = "Intracomm.Create_dist_graph(self, sources, degrees, destinations, weights=None, Info info=INFO_NULL, bool reorder=False)\n\n Create distributed graph communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_9Create_dist_graph(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sources = 0; PyObject *__pyx_v_degrees = 0; PyObject *__pyx_v_destinations = 0; PyObject *__pyx_v_weights = 0; struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_v_reorder; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_dist_graph (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sources,&__pyx_n_s_degrees,&__pyx_n_s_destinations,&__pyx_n_s_weights,&__pyx_n_s_info,&__pyx_n_s_reorder,0}; PyObject* values[6] = {0,0,0,0,0,0}; values[3] = ((PyObject *)Py_None); values[4] = (PyObject *)__pyx_k__83; 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_sources)) != 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_degrees)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_dist_graph", 0, 3, 6, 1); __PYX_ERR(7, 1371, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_destinations)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_dist_graph", 0, 3, 6, 2); __PYX_ERR(7, 1371, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_weights); 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_info); 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_reorder); if (value) { values[5] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_dist_graph") < 0)) __PYX_ERR(7, 1371, __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); 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_sources = values[0]; __pyx_v_degrees = values[1]; __pyx_v_destinations = values[2]; __pyx_v_weights = values[3]; __pyx_v_info = ((struct PyMPIInfoObject *)values[4]); if (values[5]) { __pyx_v_reorder = __Pyx_PyObject_IsTrue(values[5]); if (unlikely((__pyx_v_reorder == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1372, __pyx_L3_error) } else { /* "mpi4py/MPI/Comm.pyx":1372 * * def Create_dist_graph(self, sources, degrees, destinations, weights=None, * Info info=INFO_NULL, bint reorder=False): # <<<<<<<<<<<<<< * """ * Create distributed graph communicator */ __pyx_v_reorder = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_dist_graph", 0, 3, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1371, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Create_dist_graph", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(7, 1372, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_8Create_dist_graph(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_sources, __pyx_v_degrees, __pyx_v_destinations, __pyx_v_weights, __pyx_v_info, __pyx_v_reorder); /* "mpi4py/MPI/Comm.pyx":1371 * return comm * * def Create_dist_graph(self, sources, degrees, destinations, weights=None, # <<<<<<<<<<<<<< * Info info=INFO_NULL, bint reorder=False): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_8Create_dist_graph(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sources, PyObject *__pyx_v_degrees, PyObject *__pyx_v_destinations, PyObject *__pyx_v_weights, struct PyMPIInfoObject *__pyx_v_info, int __pyx_v_reorder) { int __pyx_v_nv; int __pyx_v_ne; int __pyx_v_i; int *__pyx_v_isource; int *__pyx_v_idegree; int *__pyx_v_idest; int *__pyx_v_iweight; struct PyMPIDistgraphcommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_dist_graph", 0); __Pyx_INCREF(__pyx_v_sources); __Pyx_INCREF(__pyx_v_degrees); __Pyx_INCREF(__pyx_v_destinations); __Pyx_INCREF(__pyx_v_weights); /* "mpi4py/MPI/Comm.pyx":1376 * Create distributed graph communicator * """ * cdef int nv = 0, ne = 0, i = 0 # <<<<<<<<<<<<<< * cdef int *isource = NULL, *idegree = NULL, * cdef int *idest = NULL, *iweight = MPI_UNWEIGHTED */ __pyx_v_nv = 0; __pyx_v_ne = 0; __pyx_v_i = 0; /* "mpi4py/MPI/Comm.pyx":1377 * """ * cdef int nv = 0, ne = 0, i = 0 * cdef int *isource = NULL, *idegree = NULL, # <<<<<<<<<<<<<< * cdef int *idest = NULL, *iweight = MPI_UNWEIGHTED * sources = getarray(sources, &nv, &isource) */ __pyx_v_isource = NULL; __pyx_v_idegree = NULL; /* "mpi4py/MPI/Comm.pyx":1378 * cdef int nv = 0, ne = 0, i = 0 * cdef int *isource = NULL, *idegree = NULL, * cdef int *idest = NULL, *iweight = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * sources = getarray(sources, &nv, &isource) * degrees = chkarray(degrees, nv, &idegree) */ __pyx_v_idest = NULL; __pyx_v_iweight = MPI_UNWEIGHTED; /* "mpi4py/MPI/Comm.pyx":1379 * cdef int *isource = NULL, *idegree = NULL, * cdef int *idest = NULL, *iweight = MPI_UNWEIGHTED * sources = getarray(sources, &nv, &isource) # <<<<<<<<<<<<<< * degrees = chkarray(degrees, nv, &idegree) * for i from 0 <= i < nv: ne += idegree[i] */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_sources, (&__pyx_v_nv), (&__pyx_v_isource)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_sources, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1380 * cdef int *idest = NULL, *iweight = MPI_UNWEIGHTED * sources = getarray(sources, &nv, &isource) * degrees = chkarray(degrees, nv, &idegree) # <<<<<<<<<<<<<< * for i from 0 <= i < nv: ne += idegree[i] * destinations = chkarray(destinations, ne, &idest) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_degrees, __pyx_v_nv, (&__pyx_v_idegree)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_degrees, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1381 * sources = getarray(sources, &nv, &isource) * degrees = chkarray(degrees, nv, &idegree) * for i from 0 <= i < nv: ne += idegree[i] # <<<<<<<<<<<<<< * destinations = chkarray(destinations, ne, &idest) * weights = asarray_weights(weights, ne, &iweight) */ __pyx_t_2 = __pyx_v_nv; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_2; __pyx_v_i++) { __pyx_v_ne = (__pyx_v_ne + (__pyx_v_idegree[__pyx_v_i])); } /* "mpi4py/MPI/Comm.pyx":1382 * degrees = chkarray(degrees, nv, &idegree) * for i from 0 <= i < nv: ne += idegree[i] * destinations = chkarray(destinations, ne, &idest) # <<<<<<<<<<<<<< * weights = asarray_weights(weights, ne, &iweight) * # */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_destinations, __pyx_v_ne, (&__pyx_v_idest)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1382, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_destinations, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1383 * for i from 0 <= i < nv: ne += idegree[i] * destinations = chkarray(destinations, ne, &idest) * weights = asarray_weights(weights, ne, &iweight) # <<<<<<<<<<<<<< * # * cdef Distgraphcomm comm = \ */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asarray_weights(__pyx_v_weights, __pyx_v_ne, (&__pyx_v_iweight)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_weights, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1386 * # * cdef Distgraphcomm comm = \ * Distgraphcomm.__new__(Distgraphcomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Dist_graph_create( * self.ob_mpi, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Distgraphcomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Distgraphcomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1386, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPIDistgraphcommObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1387 * cdef Distgraphcomm comm = \ * Distgraphcomm.__new__(Distgraphcomm) * with nogil: CHKERR( MPI_Dist_graph_create( # <<<<<<<<<<<<<< * self.ob_mpi, * nv, isource, idegree, idest, iweight, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1390 * self.ob_mpi, * nv, isource, idegree, idest, iweight, * info.ob_mpi, reorder, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Dist_graph_create(__pyx_v_self->__pyx_base.ob_mpi, __pyx_v_nv, __pyx_v_isource, __pyx_v_idegree, __pyx_v_idest, __pyx_v_iweight, __pyx_v_info->ob_mpi, __pyx_v_reorder, (&__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1387, __pyx_L6_error) } /* "mpi4py/MPI/Comm.pyx":1387 * cdef Distgraphcomm comm = \ * Distgraphcomm.__new__(Distgraphcomm) * with nogil: CHKERR( MPI_Dist_graph_create( # <<<<<<<<<<<<<< * self.ob_mpi, * nv, isource, idegree, idest, iweight, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1391 * nv, isource, idegree, idest, iweight, * info.ob_mpi, reorder, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1391, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1392 * info.ob_mpi, reorder, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * def Create_intercomm(self, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1371 * return comm * * def Create_dist_graph(self, sources, degrees, destinations, weights=None, # <<<<<<<<<<<<<< * Info info=INFO_NULL, bint reorder=False): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Create_dist_graph", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XDECREF(__pyx_v_sources); __Pyx_XDECREF(__pyx_v_degrees); __Pyx_XDECREF(__pyx_v_destinations); __Pyx_XDECREF(__pyx_v_weights); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1394 * return comm * * def Create_intercomm(self, # <<<<<<<<<<<<<< * int local_leader, * Intracomm peer_comm, */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_11Create_intercomm(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_10Create_intercomm[] = "Intracomm.Create_intercomm(self, int local_leader, Intracomm peer_comm, int remote_leader, int tag=0)\n\n Create intercommunicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_11Create_intercomm(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_local_leader; struct PyMPIIntracommObject *__pyx_v_peer_comm = 0; int __pyx_v_remote_leader; int __pyx_v_tag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_intercomm (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_local_leader,&__pyx_n_s_peer_comm,&__pyx_n_s_remote_leader,&__pyx_n_s_tag,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_local_leader)) != 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_peer_comm)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_intercomm", 0, 3, 4, 1); __PYX_ERR(7, 1394, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_remote_leader)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_intercomm", 0, 3, 4, 2); __PYX_ERR(7, 1394, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tag); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_intercomm") < 0)) __PYX_ERR(7, 1394, __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_local_leader = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_local_leader == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1395, __pyx_L3_error) __pyx_v_peer_comm = ((struct PyMPIIntracommObject *)values[1]); __pyx_v_remote_leader = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_remote_leader == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1397, __pyx_L3_error) if (values[3]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1398, __pyx_L3_error) } else { __pyx_v_tag = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_intercomm", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1394, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Create_intercomm", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_peer_comm), __pyx_ptype_6mpi4py_3MPI_Intracomm, 0, "peer_comm", 0))) __PYX_ERR(7, 1396, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_10Create_intercomm(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_local_leader, __pyx_v_peer_comm, __pyx_v_remote_leader, __pyx_v_tag); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_10Create_intercomm(struct PyMPIIntracommObject *__pyx_v_self, int __pyx_v_local_leader, struct PyMPIIntracommObject *__pyx_v_peer_comm, int __pyx_v_remote_leader, int __pyx_v_tag) { struct PyMPIIntercommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_intercomm", 0); /* "mpi4py/MPI/Comm.pyx":1402 * Create intercommunicator * """ * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Intercomm_create( * self.ob_mpi, local_leader, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1402, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPIIntercommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1403 * """ * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Intercomm_create( # <<<<<<<<<<<<<< * self.ob_mpi, local_leader, * peer_comm.ob_mpi, remote_leader, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1406 * self.ob_mpi, local_leader, * peer_comm.ob_mpi, remote_leader, * tag, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Intercomm_create(__pyx_v_self->__pyx_base.ob_mpi, __pyx_v_local_leader, __pyx_v_peer_comm->__pyx_base.ob_mpi, __pyx_v_remote_leader, __pyx_v_tag, (&__pyx_v_comm->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 1403, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1403 * """ * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Intercomm_create( # <<<<<<<<<<<<<< * self.ob_mpi, local_leader, * peer_comm.ob_mpi, remote_leader, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1407 * peer_comm.ob_mpi, remote_leader, * tag, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.ob_mpi); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 1407, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1408 * tag, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * # Low-Level Topology Functions */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1394 * return comm * * def Create_intercomm(self, # <<<<<<<<<<<<<< * int local_leader, * Intracomm peer_comm, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Create_intercomm", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1413 * # ---------------------------- * * def Cart_map(self, dims, periods=None): # <<<<<<<<<<<<<< * """ * Return an optimal placement for the */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_13Cart_map(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_12Cart_map[] = "Intracomm.Cart_map(self, dims, periods=None)\n\n Return an optimal placement for the\n calling process on the physical machine\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_13Cart_map(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_dims = 0; PyObject *__pyx_v_periods = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Cart_map (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dims,&__pyx_n_s_periods,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_dims)) != 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_periods); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Cart_map") < 0)) __PYX_ERR(7, 1413, __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_dims = values[0]; __pyx_v_periods = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Cart_map", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1413, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Cart_map", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_12Cart_map(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_dims, __pyx_v_periods); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_12Cart_map(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_dims, PyObject *__pyx_v_periods) { int __pyx_v_ndims; int *__pyx_v_idims; int *__pyx_v_iperiods; int __pyx_v_rank; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Cart_map", 0); __Pyx_INCREF(__pyx_v_dims); __Pyx_INCREF(__pyx_v_periods); /* "mpi4py/MPI/Comm.pyx":1418 * calling process on the physical machine * """ * cdef int ndims = 0, *idims = NULL, *iperiods = NULL # <<<<<<<<<<<<<< * dims = getarray(dims, &ndims, &idims) * if periods is None: periods = False */ __pyx_v_ndims = 0; __pyx_v_idims = NULL; __pyx_v_iperiods = NULL; /* "mpi4py/MPI/Comm.pyx":1419 * """ * cdef int ndims = 0, *idims = NULL, *iperiods = NULL * dims = getarray(dims, &ndims, &idims) # <<<<<<<<<<<<<< * if periods is None: periods = False * if isinstance(periods, bool): periods = [periods] * ndims */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_dims, (&__pyx_v_ndims), (&__pyx_v_idims)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1419, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dims, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1420 * cdef int ndims = 0, *idims = NULL, *iperiods = NULL * dims = getarray(dims, &ndims, &idims) * if periods is None: periods = False # <<<<<<<<<<<<<< * if isinstance(periods, bool): periods = [periods] * ndims * periods = chkarray(periods, ndims, &iperiods) */ __pyx_t_2 = (__pyx_v_periods == Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __Pyx_INCREF(Py_False); __Pyx_DECREF_SET(__pyx_v_periods, Py_False); } /* "mpi4py/MPI/Comm.pyx":1421 * dims = getarray(dims, &ndims, &idims) * if periods is None: periods = False * if isinstance(periods, bool): periods = [periods] * ndims # <<<<<<<<<<<<<< * periods = chkarray(periods, ndims, &iperiods) * cdef int rank = MPI_PROC_NULL */ __pyx_t_1 = ((PyObject*)&PyBool_Type); __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = PyObject_IsInstance(__pyx_v_periods, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 1421, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { __pyx_t_1 = PyList_New(1 * ((__pyx_v_ndims<0) ? 0:__pyx_v_ndims)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < __pyx_v_ndims; __pyx_temp++) { __Pyx_INCREF(__pyx_v_periods); __Pyx_GIVEREF(__pyx_v_periods); PyList_SET_ITEM(__pyx_t_1, __pyx_temp, __pyx_v_periods); } } __Pyx_DECREF_SET(__pyx_v_periods, __pyx_t_1); __pyx_t_1 = 0; } /* "mpi4py/MPI/Comm.pyx":1422 * if periods is None: periods = False * if isinstance(periods, bool): periods = [periods] * ndims * periods = chkarray(periods, ndims, &iperiods) # <<<<<<<<<<<<<< * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Cart_map(self.ob_mpi, ndims, idims, iperiods, &rank) ) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_periods, __pyx_v_ndims, (&__pyx_v_iperiods)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1422, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_periods, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1423 * if isinstance(periods, bool): periods = [periods] * ndims * periods = chkarray(periods, ndims, &iperiods) * cdef int rank = MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Cart_map(self.ob_mpi, ndims, idims, iperiods, &rank) ) * return rank */ __pyx_v_rank = MPI_PROC_NULL; /* "mpi4py/MPI/Comm.pyx":1424 * periods = chkarray(periods, ndims, &iperiods) * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Cart_map(self.ob_mpi, ndims, idims, iperiods, &rank) ) # <<<<<<<<<<<<<< * return rank * */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cart_map(__pyx_v_self->__pyx_base.ob_mpi, __pyx_v_ndims, __pyx_v_idims, __pyx_v_iperiods, (&__pyx_v_rank))); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(7, 1424, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1425 * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Cart_map(self.ob_mpi, ndims, idims, iperiods, &rank) ) * return rank # <<<<<<<<<<<<<< * * def Graph_map(self, index, edges): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_rank); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1413 * # ---------------------------- * * def Cart_map(self, dims, periods=None): # <<<<<<<<<<<<<< * """ * Return an optimal placement for the */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Cart_map", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_dims); __Pyx_XDECREF(__pyx_v_periods); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1427 * return rank * * def Graph_map(self, index, edges): # <<<<<<<<<<<<<< * """ * Return an optimal placement for the */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_15Graph_map(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_14Graph_map[] = "Intracomm.Graph_map(self, index, edges)\n\n Return an optimal placement for the\n calling process on the physical machine\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_15Graph_map(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_index = 0; PyObject *__pyx_v_edges = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Graph_map (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_index,&__pyx_n_s_edges,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_index)) != 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_edges)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Graph_map", 1, 2, 2, 1); __PYX_ERR(7, 1427, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Graph_map") < 0)) __PYX_ERR(7, 1427, __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_index = values[0]; __pyx_v_edges = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Graph_map", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1427, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Graph_map", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_14Graph_map(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_index, __pyx_v_edges); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_14Graph_map(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_edges) { int __pyx_v_nnodes; int *__pyx_v_iindex; int __pyx_v_nedges; int *__pyx_v_iedges; int __pyx_v_rank; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Graph_map", 0); __Pyx_INCREF(__pyx_v_index); __Pyx_INCREF(__pyx_v_edges); /* "mpi4py/MPI/Comm.pyx":1432 * calling process on the physical machine * """ * cdef int nnodes = 0, *iindex = NULL # <<<<<<<<<<<<<< * index = getarray(index, &nnodes, &iindex) * cdef int nedges = 0, *iedges = NULL */ __pyx_v_nnodes = 0; __pyx_v_iindex = NULL; /* "mpi4py/MPI/Comm.pyx":1433 * """ * cdef int nnodes = 0, *iindex = NULL * index = getarray(index, &nnodes, &iindex) # <<<<<<<<<<<<<< * cdef int nedges = 0, *iedges = NULL * edges = getarray(edges, &nedges, &iedges) */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_index, (&__pyx_v_nnodes), (&__pyx_v_iindex)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1434 * cdef int nnodes = 0, *iindex = NULL * index = getarray(index, &nnodes, &iindex) * cdef int nedges = 0, *iedges = NULL # <<<<<<<<<<<<<< * edges = getarray(edges, &nedges, &iedges) * # extension: accept more 'standard' adjacency arrays */ __pyx_v_nedges = 0; __pyx_v_iedges = NULL; /* "mpi4py/MPI/Comm.pyx":1435 * index = getarray(index, &nnodes, &iindex) * cdef int nedges = 0, *iedges = NULL * edges = getarray(edges, &nedges, &iedges) # <<<<<<<<<<<<<< * # extension: accept more 'standard' adjacency arrays * if iindex[0]==0 and iindex[nnodes-1]==nedges: */ __pyx_t_1 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_getarray(__pyx_v_edges, (&__pyx_v_nedges), (&__pyx_v_iedges)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_edges, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1437 * edges = getarray(edges, &nedges, &iedges) * # extension: accept more 'standard' adjacency arrays * if iindex[0]==0 and iindex[nnodes-1]==nedges: # <<<<<<<<<<<<<< * nnodes -= 1; iindex += 1; * cdef int rank = MPI_PROC_NULL */ __pyx_t_3 = (((__pyx_v_iindex[0]) == 0) != 0); if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = (((__pyx_v_iindex[(__pyx_v_nnodes - 1)]) == __pyx_v_nedges) != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1438 * # extension: accept more 'standard' adjacency arrays * if iindex[0]==0 and iindex[nnodes-1]==nedges: * nnodes -= 1; iindex += 1; # <<<<<<<<<<<<<< * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Graph_map(self.ob_mpi, nnodes, iindex, iedges, &rank) ) */ __pyx_v_nnodes = (__pyx_v_nnodes - 1); __pyx_v_iindex = (__pyx_v_iindex + 1); /* "mpi4py/MPI/Comm.pyx":1437 * edges = getarray(edges, &nedges, &iedges) * # extension: accept more 'standard' adjacency arrays * if iindex[0]==0 and iindex[nnodes-1]==nedges: # <<<<<<<<<<<<<< * nnodes -= 1; iindex += 1; * cdef int rank = MPI_PROC_NULL */ } /* "mpi4py/MPI/Comm.pyx":1439 * if iindex[0]==0 and iindex[nnodes-1]==nedges: * nnodes -= 1; iindex += 1; * cdef int rank = MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Graph_map(self.ob_mpi, nnodes, iindex, iedges, &rank) ) * return rank */ __pyx_v_rank = MPI_PROC_NULL; /* "mpi4py/MPI/Comm.pyx":1440 * nnodes -= 1; iindex += 1; * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Graph_map(self.ob_mpi, nnodes, iindex, iedges, &rank) ) # <<<<<<<<<<<<<< * return rank * */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Graph_map(__pyx_v_self->__pyx_base.ob_mpi, __pyx_v_nnodes, __pyx_v_iindex, __pyx_v_iedges, (&__pyx_v_rank))); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(7, 1440, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1441 * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Graph_map(self.ob_mpi, nnodes, iindex, iedges, &rank) ) * return rank # <<<<<<<<<<<<<< * * # Global Reduction Operations */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_rank); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1427 * return rank * * def Graph_map(self, index, edges): # <<<<<<<<<<<<<< * """ * Return an optimal placement for the */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Graph_map", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_index); __Pyx_XDECREF(__pyx_v_edges); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1448 * # Inclusive Scan * * def Scan(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Inclusive Scan */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_17Scan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_16Scan[] = "Intracomm.Scan(self, sendbuf, recvbuf, Op op=SUM)\n\n Inclusive Scan\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_17Scan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Scan (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_op,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)__pyx_k__84; 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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Scan", 0, 2, 3, 1); __PYX_ERR(7, 1448, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_op); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Scan") < 0)) __PYX_ERR(7, 1448, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; __pyx_v_op = ((struct PyMPIOpObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Scan", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1448, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Scan", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(7, 1448, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_16Scan(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_op); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_16Scan(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Scan", 0); /* "mpi4py/MPI/Comm.pyx":1452 * Inclusive Scan * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_scan(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Scan( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1453 * """ * cdef _p_msg_cco m = message_cco() * m.for_scan(sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Scan( * m.sbuf, m.rbuf, m.rcount, m.rtype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scan(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1453, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1454 * cdef _p_msg_cco m = message_cco() * m.for_scan(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Scan( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1456 * with nogil: CHKERR( MPI_Scan( * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Exclusive Scan */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Scan(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_op->ob_mpi, __pyx_v_self->__pyx_base.ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1454, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1454 * cdef _p_msg_cco m = message_cco() * m.for_scan(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Scan( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1448 * # Inclusive Scan * * def Scan(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Inclusive Scan */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Scan", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1460 * # Exclusive Scan * * def Exscan(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Exclusive Scan */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_19Exscan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_18Exscan[] = "Intracomm.Exscan(self, sendbuf, recvbuf, Op op=SUM)\n\n Exclusive Scan\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_19Exscan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Exscan (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_op,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)__pyx_k__85; 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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Exscan", 0, 2, 3, 1); __PYX_ERR(7, 1460, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_op); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Exscan") < 0)) __PYX_ERR(7, 1460, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; __pyx_v_op = ((struct PyMPIOpObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Exscan", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1460, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Exscan", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(7, 1460, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_18Exscan(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_op); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_18Exscan(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Exscan", 0); /* "mpi4py/MPI/Comm.pyx":1464 * Exclusive Scan * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_exscan(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Exscan( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1464, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1465 * """ * cdef _p_msg_cco m = message_cco() * m.for_exscan(sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Exscan( * m.sbuf, m.rbuf, m.rcount, m.rtype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_exscan(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1465, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1466 * cdef _p_msg_cco m = message_cco() * m.for_exscan(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Exscan( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1468 * with nogil: CHKERR( MPI_Exscan( * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Nonblocking */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Exscan(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_op->ob_mpi, __pyx_v_self->__pyx_base.ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1466, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1466 * cdef _p_msg_cco m = message_cco() * m.for_exscan(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Exscan( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1460 * # Exclusive Scan * * def Exscan(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Exclusive Scan */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Exscan", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1472 * # Nonblocking * * def Iscan(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Inclusive Scan */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_21Iscan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_20Iscan[] = "Intracomm.Iscan(self, sendbuf, recvbuf, Op op=SUM)\n\n Inclusive Scan\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_21Iscan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iscan (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_op,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)__pyx_k__86; 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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iscan", 0, 2, 3, 1); __PYX_ERR(7, 1472, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_op); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iscan") < 0)) __PYX_ERR(7, 1472, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; __pyx_v_op = ((struct PyMPIOpObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iscan", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1472, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Iscan", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(7, 1472, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_20Iscan(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_op); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_20Iscan(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iscan", 0); /* "mpi4py/MPI/Comm.pyx":1476 * Inclusive Scan * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_scan(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1477 * """ * cdef _p_msg_cco m = message_cco() * m.for_scan(sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iscan( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scan(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1477, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1478 * cdef _p_msg_cco m = message_cco() * m.for_scan(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Iscan( * m.sbuf, m.rbuf, m.rcount, m.rtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1478, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1479 * m.for_scan(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iscan( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1481 * with nogil: CHKERR( MPI_Iscan( * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * return request * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Iscan(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_op->ob_mpi, __pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1479, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1479 * m.for_scan(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iscan( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1482 * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) * return request # <<<<<<<<<<<<<< * * def Iexscan(self, sendbuf, recvbuf, Op op=SUM): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1472 * # Nonblocking * * def Iscan(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Inclusive Scan */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Iscan", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1484 * return request * * def Iexscan(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Inclusive Scan */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_23Iexscan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_22Iexscan[] = "Intracomm.Iexscan(self, sendbuf, recvbuf, Op op=SUM)\n\n Inclusive Scan\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_23Iexscan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iexscan (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,&__pyx_n_s_op,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)__pyx_k__87; 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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iexscan", 0, 2, 3, 1); __PYX_ERR(7, 1484, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_op); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iexscan") < 0)) __PYX_ERR(7, 1484, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; __pyx_v_op = ((struct PyMPIOpObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iexscan", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1484, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Iexscan", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(7, 1484, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_22Iexscan(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_op); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_22Iexscan(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iexscan", 0); /* "mpi4py/MPI/Comm.pyx":1488 * Inclusive Scan * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_exscan(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1489 * """ * cdef _p_msg_cco m = message_cco() * m.for_exscan(sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iexscan( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_exscan(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1489, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1490 * cdef _p_msg_cco m = message_cco() * m.for_exscan(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Iexscan( * m.sbuf, m.rbuf, m.rcount, m.rtype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1490, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1491 * m.for_exscan(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iexscan( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1493 * with nogil: CHKERR( MPI_Iexscan( * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * return request * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Iexscan(__pyx_v_m->sbuf, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_op->ob_mpi, __pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1491, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1491 * m.for_exscan(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Iexscan( # <<<<<<<<<<<<<< * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1494 * m.sbuf, m.rbuf, m.rcount, m.rtype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) * return request # <<<<<<<<<<<<<< * * # Python Communication */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1484 * return request * * def Iexscan(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Inclusive Scan */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Iexscan", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1498 * # Python Communication * # * def scan(self, sendobj, op=SUM): # <<<<<<<<<<<<<< * """Inclusive Scan""" * if op is None: op = SUM */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_25scan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_24scan[] = "Intracomm.scan(self, sendobj, op=SUM)\nInclusive Scan"; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_25scan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendobj = 0; PyObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("scan (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendobj,&__pyx_n_s_op,0}; PyObject* values[2] = {0,0}; values[1] = __pyx_k__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 (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sendobj)) != 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_op); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "scan") < 0)) __PYX_ERR(7, 1498, __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_sendobj = values[0]; __pyx_v_op = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("scan", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1498, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.scan", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_24scan(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_sendobj, __pyx_v_op); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_24scan(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; MPI_Comm __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("scan", 0); __Pyx_INCREF(__pyx_v_op); /* "mpi4py/MPI/Comm.pyx":1500 * def scan(self, sendobj, op=SUM): * """Inclusive Scan""" * if op is None: op = SUM # <<<<<<<<<<<<<< * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_scan(sendobj, op, comm) */ __pyx_t_1 = (__pyx_v_op == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_op, __pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/Comm.pyx":1501 * """Inclusive Scan""" * if op is None: op = SUM * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_scan(sendobj, op, comm) * # */ __pyx_t_4 = __pyx_v_self->__pyx_base.ob_mpi; __pyx_v_comm = __pyx_t_4; /* "mpi4py/MPI/Comm.pyx":1502 * if op is None: op = SUM * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_scan(sendobj, op, comm) # <<<<<<<<<<<<<< * # * def exscan(self, sendobj, op=SUM): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_scan(__pyx_v_sendobj, __pyx_v_op, __pyx_v_comm); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1498 * # Python Communication * # * def scan(self, sendobj, op=SUM): # <<<<<<<<<<<<<< * """Inclusive Scan""" * if op is None: op = SUM */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.scan", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_op); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1504 * return PyMPI_scan(sendobj, op, comm) * # * def exscan(self, sendobj, op=SUM): # <<<<<<<<<<<<<< * """Exclusive Scan""" * if op is None: op = SUM */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_27exscan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_26exscan[] = "Intracomm.exscan(self, sendobj, op=SUM)\nExclusive Scan"; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_27exscan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendobj = 0; PyObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("exscan (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendobj,&__pyx_n_s_op,0}; PyObject* values[2] = {0,0}; values[1] = __pyx_k__89; 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_sendobj)) != 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_op); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "exscan") < 0)) __PYX_ERR(7, 1504, __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_sendobj = values[0]; __pyx_v_op = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("exscan", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1504, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.exscan", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_26exscan(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_sendobj, __pyx_v_op); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_26exscan(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_sendobj, PyObject *__pyx_v_op) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; MPI_Comm __pyx_t_4; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("exscan", 0); __Pyx_INCREF(__pyx_v_op); /* "mpi4py/MPI/Comm.pyx":1506 * def exscan(self, sendobj, op=SUM): * """Exclusive Scan""" * if op is None: op = SUM # <<<<<<<<<<<<<< * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_exscan(sendobj, op, comm) */ __pyx_t_1 = (__pyx_v_op == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_op, __pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/Comm.pyx":1507 * """Exclusive Scan""" * if op is None: op = SUM * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_exscan(sendobj, op, comm) * */ __pyx_t_4 = __pyx_v_self->__pyx_base.ob_mpi; __pyx_v_comm = __pyx_t_4; /* "mpi4py/MPI/Comm.pyx":1508 * if op is None: op = SUM * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_exscan(sendobj, op, comm) # <<<<<<<<<<<<<< * * # Establishing Communication */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_exscan(__pyx_v_sendobj, __pyx_v_op, __pyx_v_comm); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1508, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1504 * return PyMPI_scan(sendobj, op, comm) * # * def exscan(self, sendobj, op=SUM): # <<<<<<<<<<<<<< * """Exclusive Scan""" * if op is None: op = SUM */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.exscan", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_op); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1515 * # Starting Processes * * def Spawn(self, command, args=None, int maxprocs=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, int root=0, errcodes=None): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_29Spawn(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_28Spawn[] = "Intracomm.Spawn(self, command, args=None, int maxprocs=1, Info info=INFO_NULL, int root=0, errcodes=None)\n\n Spawn instances of a single MPI application\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_29Spawn(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_command = 0; PyObject *__pyx_v_args = 0; int __pyx_v_maxprocs; struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_v_root; PyObject *__pyx_v_errcodes = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Spawn (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_command,&__pyx_n_s_args,&__pyx_n_s_maxprocs,&__pyx_n_s_info,&__pyx_n_s_root,&__pyx_n_s_errcodes,0}; PyObject* values[6] = {0,0,0,0,0,0}; values[1] = ((PyObject *)Py_None); values[3] = (PyObject *)__pyx_k__90; /* "mpi4py/MPI/Comm.pyx":1516 * * def Spawn(self, command, args=None, int maxprocs=1, * Info info=INFO_NULL, int root=0, errcodes=None): # <<<<<<<<<<<<<< * """ * Spawn instances of a single MPI application */ values[5] = ((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 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_command)) != 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_args); 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_maxprocs); 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_info); 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_root); 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_errcodes); if (value) { values[5] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Spawn") < 0)) __PYX_ERR(7, 1515, __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_command = values[0]; __pyx_v_args = values[1]; if (values[2]) { __pyx_v_maxprocs = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_maxprocs == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1515, __pyx_L3_error) } else { __pyx_v_maxprocs = ((int)1); } __pyx_v_info = ((struct PyMPIInfoObject *)values[3]); if (values[4]) { __pyx_v_root = __Pyx_PyInt_As_int(values[4]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1516, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } __pyx_v_errcodes = values[5]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Spawn", 0, 1, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1515, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Spawn", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(7, 1516, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_28Spawn(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_command, __pyx_v_args, __pyx_v_maxprocs, __pyx_v_info, __pyx_v_root, __pyx_v_errcodes); /* "mpi4py/MPI/Comm.pyx":1515 * # Starting Processes * * def Spawn(self, command, args=None, int maxprocs=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, int root=0, errcodes=None): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_28Spawn(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_command, PyObject *__pyx_v_args, int __pyx_v_maxprocs, struct PyMPIInfoObject *__pyx_v_info, int __pyx_v_root, PyObject *__pyx_v_errcodes) { char *__pyx_v_cmd; char **__pyx_v_argv; int *__pyx_v_ierrcodes; int __pyx_v_rank; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp3 = 0; struct PyMPIIntercommObject *__pyx_v_comm = 0; int __pyx_v_i; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Spawn", 0); /* "mpi4py/MPI/Comm.pyx":1520 * Spawn instances of a single MPI application * """ * cdef char *cmd = NULL # <<<<<<<<<<<<<< * cdef char **argv = MPI_ARGV_NULL * cdef int *ierrcodes = MPI_ERRCODES_IGNORE */ __pyx_v_cmd = NULL; /* "mpi4py/MPI/Comm.pyx":1521 * """ * cdef char *cmd = NULL * cdef char **argv = MPI_ARGV_NULL # <<<<<<<<<<<<<< * cdef int *ierrcodes = MPI_ERRCODES_IGNORE * # */ __pyx_v_argv = MPI_ARGV_NULL; /* "mpi4py/MPI/Comm.pyx":1522 * cdef char *cmd = NULL * cdef char **argv = MPI_ARGV_NULL * cdef int *ierrcodes = MPI_ERRCODES_IGNORE # <<<<<<<<<<<<<< * # * cdef int rank = MPI_UNDEFINED */ __pyx_v_ierrcodes = MPI_ERRCODES_IGNORE; /* "mpi4py/MPI/Comm.pyx":1524 * cdef int *ierrcodes = MPI_ERRCODES_IGNORE * # * cdef int rank = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * cdef tmp1, tmp2, tmp3 */ __pyx_v_rank = MPI_UNDEFINED; /* "mpi4py/MPI/Comm.pyx":1525 * # * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) # <<<<<<<<<<<<<< * cdef tmp1, tmp2, tmp3 * if root == rank: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1525, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1527 * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * cdef tmp1, tmp2, tmp3 * if root == rank: # <<<<<<<<<<<<<< * tmp1 = asmpistr(command, &cmd) * tmp2 = asarray_argv(args, &argv) */ __pyx_t_2 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1528 * cdef tmp1, tmp2, tmp3 * if root == rank: * tmp1 = asmpistr(command, &cmd) # <<<<<<<<<<<<<< * tmp2 = asarray_argv(args, &argv) * if errcodes is not None: */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_command, (&__pyx_v_cmd)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp1 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1529 * if root == rank: * tmp1 = asmpistr(command, &cmd) * tmp2 = asarray_argv(args, &argv) # <<<<<<<<<<<<<< * if errcodes is not None: * tmp3 = newarray(maxprocs, &ierrcodes) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asarray_argv(__pyx_v_args, (&__pyx_v_argv)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp2 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1527 * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * cdef tmp1, tmp2, tmp3 * if root == rank: # <<<<<<<<<<<<<< * tmp1 = asmpistr(command, &cmd) * tmp2 = asarray_argv(args, &argv) */ } /* "mpi4py/MPI/Comm.pyx":1530 * tmp1 = asmpistr(command, &cmd) * tmp2 = asarray_argv(args, &argv) * if errcodes is not None: # <<<<<<<<<<<<<< * tmp3 = newarray(maxprocs, &ierrcodes) * # */ __pyx_t_2 = (__pyx_v_errcodes != Py_None); __pyx_t_4 = (__pyx_t_2 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/Comm.pyx":1531 * tmp2 = asarray_argv(args, &argv) * if errcodes is not None: * tmp3 = newarray(maxprocs, &ierrcodes) # <<<<<<<<<<<<<< * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) */ __pyx_t_3 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_maxprocs, (&__pyx_v_ierrcodes)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp3 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1530 * tmp1 = asmpistr(command, &cmd) * tmp2 = asarray_argv(args, &argv) * if errcodes is not None: # <<<<<<<<<<<<<< * tmp3 = newarray(maxprocs, &ierrcodes) * # */ } /* "mpi4py/MPI/Comm.pyx":1533 * tmp3 = newarray(maxprocs, &ierrcodes) * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_spawn( * cmd, argv, maxprocs, info.ob_mpi, root, */ __pyx_t_3 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1533, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __pyx_t_5 = ((PyObject *)__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_v_comm = ((struct PyMPIIntercommObject *)__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/Comm.pyx":1534 * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_spawn( # <<<<<<<<<<<<<< * cmd, argv, maxprocs, info.ob_mpi, root, * self.ob_mpi, &comm.ob_mpi, ierrcodes) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1536 * with nogil: CHKERR( MPI_Comm_spawn( * cmd, argv, maxprocs, info.ob_mpi, root, * self.ob_mpi, &comm.ob_mpi, ierrcodes) ) # <<<<<<<<<<<<<< * # * cdef int i=0 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_spawn(__pyx_v_cmd, __pyx_v_argv, __pyx_v_maxprocs, __pyx_v_info->ob_mpi, __pyx_v_root, __pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_comm->__pyx_base.ob_mpi), __pyx_v_ierrcodes)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1534, __pyx_L6_error) } /* "mpi4py/MPI/Comm.pyx":1534 * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_spawn( # <<<<<<<<<<<<<< * cmd, argv, maxprocs, info.ob_mpi, root, * self.ob_mpi, &comm.ob_mpi, ierrcodes) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1538 * self.ob_mpi, &comm.ob_mpi, ierrcodes) ) * # * cdef int i=0 # <<<<<<<<<<<<<< * if errcodes is not None: * errcodes[:] = [ierrcodes[i] for i from 0 <= i < maxprocs] */ __pyx_v_i = 0; /* "mpi4py/MPI/Comm.pyx":1539 * # * cdef int i=0 * if errcodes is not None: # <<<<<<<<<<<<<< * errcodes[:] = [ierrcodes[i] for i from 0 <= i < maxprocs] * # */ __pyx_t_4 = (__pyx_v_errcodes != Py_None); __pyx_t_2 = (__pyx_t_4 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1540 * cdef int i=0 * if errcodes is not None: * errcodes[:] = [ierrcodes[i] for i from 0 <= i < maxprocs] # <<<<<<<<<<<<<< * # * comm_set_eh(comm.ob_mpi) */ __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __pyx_v_maxprocs; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_ierrcodes[__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 1540, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } if (__Pyx_PyObject_SetSlice(__pyx_v_errcodes, __pyx_t_5, 0, 0, NULL, NULL, &__pyx_slice__91, 0, 0, 1) < 0) __PYX_ERR(7, 1540, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/Comm.pyx":1539 * # * cdef int i=0 * if errcodes is not None: # <<<<<<<<<<<<<< * errcodes[:] = [ierrcodes[i] for i from 0 <= i < maxprocs] * # */ } /* "mpi4py/MPI/Comm.pyx":1542 * errcodes[:] = [ierrcodes[i] for i from 0 <= i < maxprocs] * # * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.ob_mpi); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1542, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1543 * # * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * def Spawn_multiple(self, command, args=None, maxprocs=None, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1515 * # Starting Processes * * def Spawn(self, command, args=None, int maxprocs=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, int root=0, errcodes=None): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Spawn", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_tmp3); __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1545 * return comm * * def Spawn_multiple(self, command, args=None, maxprocs=None, # <<<<<<<<<<<<<< * info=INFO_NULL, int root=0, errcodes=None): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_31Spawn_multiple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_30Spawn_multiple[] = "Intracomm.Spawn_multiple(self, command, args=None, maxprocs=None, info=INFO_NULL, int root=0, errcodes=None)\n\n Spawn instances of multiple MPI applications\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_31Spawn_multiple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_command = 0; PyObject *__pyx_v_args = 0; PyObject *__pyx_v_maxprocs = 0; PyObject *__pyx_v_info = 0; int __pyx_v_root; PyObject *__pyx_v_errcodes = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Spawn_multiple (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_command,&__pyx_n_s_args,&__pyx_n_s_maxprocs,&__pyx_n_s_info,&__pyx_n_s_root,&__pyx_n_s_errcodes,0}; PyObject* values[6] = {0,0,0,0,0,0}; values[1] = ((PyObject *)Py_None); values[2] = ((PyObject *)Py_None); values[3] = __pyx_k__92; /* "mpi4py/MPI/Comm.pyx":1546 * * def Spawn_multiple(self, command, args=None, maxprocs=None, * info=INFO_NULL, int root=0, errcodes=None): # <<<<<<<<<<<<<< * """ * Spawn instances of multiple MPI applications */ values[5] = ((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 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_command)) != 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_args); 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_maxprocs); 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_info); 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_root); 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_errcodes); if (value) { values[5] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Spawn_multiple") < 0)) __PYX_ERR(7, 1545, __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_command = values[0]; __pyx_v_args = values[1]; __pyx_v_maxprocs = values[2]; __pyx_v_info = values[3]; if (values[4]) { __pyx_v_root = __Pyx_PyInt_As_int(values[4]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1546, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } __pyx_v_errcodes = values[5]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Spawn_multiple", 0, 1, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1545, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Spawn_multiple", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_30Spawn_multiple(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_command, __pyx_v_args, __pyx_v_maxprocs, __pyx_v_info, __pyx_v_root, __pyx_v_errcodes); /* "mpi4py/MPI/Comm.pyx":1545 * return comm * * def Spawn_multiple(self, command, args=None, maxprocs=None, # <<<<<<<<<<<<<< * info=INFO_NULL, int root=0, errcodes=None): * """ */ /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_30Spawn_multiple(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_command, PyObject *__pyx_v_args, PyObject *__pyx_v_maxprocs, PyObject *__pyx_v_info, int __pyx_v_root, PyObject *__pyx_v_errcodes) { int __pyx_v_count; char **__pyx_v_cmds; char ***__pyx_v_argvs; MPI_Info *__pyx_v_infos; int *__pyx_v_imaxprocs; int *__pyx_v_ierrcodes; int __pyx_v_rank; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp3 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp4 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp5 = 0; int __pyx_v_i; int __pyx_v_np; struct PyMPIIntercommObject *__pyx_v_comm = 0; int __pyx_v_j; int __pyx_v_p; int __pyx_v_q; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; Py_ssize_t __pyx_t_5; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Spawn_multiple", 0); /* "mpi4py/MPI/Comm.pyx":1550 * Spawn instances of multiple MPI applications * """ * cdef int count = 0 # <<<<<<<<<<<<<< * cdef char **cmds = NULL * cdef char ***argvs = MPI_ARGVS_NULL */ __pyx_v_count = 0; /* "mpi4py/MPI/Comm.pyx":1551 * """ * cdef int count = 0 * cdef char **cmds = NULL # <<<<<<<<<<<<<< * cdef char ***argvs = MPI_ARGVS_NULL * cdef MPI_Info *infos = NULL */ __pyx_v_cmds = NULL; /* "mpi4py/MPI/Comm.pyx":1552 * cdef int count = 0 * cdef char **cmds = NULL * cdef char ***argvs = MPI_ARGVS_NULL # <<<<<<<<<<<<<< * cdef MPI_Info *infos = NULL * cdef int *imaxprocs = NULL */ __pyx_v_argvs = MPI_ARGVS_NULL; /* "mpi4py/MPI/Comm.pyx":1553 * cdef char **cmds = NULL * cdef char ***argvs = MPI_ARGVS_NULL * cdef MPI_Info *infos = NULL # <<<<<<<<<<<<<< * cdef int *imaxprocs = NULL * cdef int *ierrcodes = MPI_ERRCODES_IGNORE */ __pyx_v_infos = NULL; /* "mpi4py/MPI/Comm.pyx":1554 * cdef char ***argvs = MPI_ARGVS_NULL * cdef MPI_Info *infos = NULL * cdef int *imaxprocs = NULL # <<<<<<<<<<<<<< * cdef int *ierrcodes = MPI_ERRCODES_IGNORE * # */ __pyx_v_imaxprocs = NULL; /* "mpi4py/MPI/Comm.pyx":1555 * cdef MPI_Info *infos = NULL * cdef int *imaxprocs = NULL * cdef int *ierrcodes = MPI_ERRCODES_IGNORE # <<<<<<<<<<<<<< * # * cdef int rank = MPI_UNDEFINED */ __pyx_v_ierrcodes = MPI_ERRCODES_IGNORE; /* "mpi4py/MPI/Comm.pyx":1557 * cdef int *ierrcodes = MPI_ERRCODES_IGNORE * # * cdef int rank = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * cdef tmp1, tmp2, tmp3, tmp4, tmp5 */ __pyx_v_rank = MPI_UNDEFINED; /* "mpi4py/MPI/Comm.pyx":1558 * # * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) # <<<<<<<<<<<<<< * cdef tmp1, tmp2, tmp3, tmp4, tmp5 * if root == rank: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1558, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1560 * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * cdef tmp1, tmp2, tmp3, tmp4, tmp5 * if root == rank: # <<<<<<<<<<<<<< * tmp1 = asarray_cmds(command, &count, &cmds) * tmp2 = asarray_argvs(args, count, &argvs) */ __pyx_t_2 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1561 * cdef tmp1, tmp2, tmp3, tmp4, tmp5 * if root == rank: * tmp1 = asarray_cmds(command, &count, &cmds) # <<<<<<<<<<<<<< * tmp2 = asarray_argvs(args, count, &argvs) * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asarray_cmds(__pyx_v_command, (&__pyx_v_count), (&__pyx_v_cmds)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp1 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1562 * if root == rank: * tmp1 = asarray_cmds(command, &count, &cmds) * tmp2 = asarray_argvs(args, count, &argvs) # <<<<<<<<<<<<<< * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) * tmp4 = asarray_Info(info, count, &infos) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asarray_argvs(__pyx_v_args, __pyx_v_count, (&__pyx_v_argvs)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp2 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1563 * tmp1 = asarray_cmds(command, &count, &cmds) * tmp2 = asarray_argvs(args, count, &argvs) * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) # <<<<<<<<<<<<<< * tmp4 = asarray_Info(info, count, &infos) * cdef int i=0, np=0 */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asarray_nprocs(__pyx_v_maxprocs, __pyx_v_count, (&__pyx_v_imaxprocs)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp3 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1564 * tmp2 = asarray_argvs(args, count, &argvs) * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) * tmp4 = asarray_Info(info, count, &infos) # <<<<<<<<<<<<<< * cdef int i=0, np=0 * if errcodes is not None: */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asarray_Info(__pyx_v_info, __pyx_v_count, (&__pyx_v_infos)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp4 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1560 * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * cdef tmp1, tmp2, tmp3, tmp4, tmp5 * if root == rank: # <<<<<<<<<<<<<< * tmp1 = asarray_cmds(command, &count, &cmds) * tmp2 = asarray_argvs(args, count, &argvs) */ } /* "mpi4py/MPI/Comm.pyx":1565 * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) * tmp4 = asarray_Info(info, count, &infos) * cdef int i=0, np=0 # <<<<<<<<<<<<<< * if errcodes is not None: * if root != rank: */ __pyx_v_i = 0; __pyx_v_np = 0; /* "mpi4py/MPI/Comm.pyx":1566 * tmp4 = asarray_Info(info, count, &infos) * cdef int i=0, np=0 * if errcodes is not None: # <<<<<<<<<<<<<< * if root != rank: * count = len(maxprocs) */ __pyx_t_2 = (__pyx_v_errcodes != Py_None); __pyx_t_4 = (__pyx_t_2 != 0); if (__pyx_t_4) { /* "mpi4py/MPI/Comm.pyx":1567 * cdef int i=0, np=0 * if errcodes is not None: * if root != rank: # <<<<<<<<<<<<<< * count = len(maxprocs) * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) */ __pyx_t_4 = ((__pyx_v_root != __pyx_v_rank) != 0); if (__pyx_t_4) { /* "mpi4py/MPI/Comm.pyx":1568 * if errcodes is not None: * if root != rank: * count = len(maxprocs) # <<<<<<<<<<<<<< * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) * for i from 0 <= i < count: np += imaxprocs[i] */ __pyx_t_5 = PyObject_Length(__pyx_v_maxprocs); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(7, 1568, __pyx_L1_error) __pyx_v_count = ((int)__pyx_t_5); /* "mpi4py/MPI/Comm.pyx":1569 * if root != rank: * count = len(maxprocs) * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) # <<<<<<<<<<<<<< * for i from 0 <= i < count: np += imaxprocs[i] * tmp5 = newarray(np, &ierrcodes) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asarray_nprocs(__pyx_v_maxprocs, __pyx_v_count, (&__pyx_v_imaxprocs)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_tmp3, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1567 * cdef int i=0, np=0 * if errcodes is not None: * if root != rank: # <<<<<<<<<<<<<< * count = len(maxprocs) * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) */ } /* "mpi4py/MPI/Comm.pyx":1570 * count = len(maxprocs) * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) * for i from 0 <= i < count: np += imaxprocs[i] # <<<<<<<<<<<<<< * tmp5 = newarray(np, &ierrcodes) * # */ __pyx_t_1 = __pyx_v_count; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_v_np = (__pyx_v_np + (__pyx_v_imaxprocs[__pyx_v_i])); } /* "mpi4py/MPI/Comm.pyx":1571 * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) * for i from 0 <= i < count: np += imaxprocs[i] * tmp5 = newarray(np, &ierrcodes) # <<<<<<<<<<<<<< * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) */ __pyx_t_3 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_np, (&__pyx_v_ierrcodes)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp5 = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1566 * tmp4 = asarray_Info(info, count, &infos) * cdef int i=0, np=0 * if errcodes is not None: # <<<<<<<<<<<<<< * if root != rank: * count = len(maxprocs) */ } /* "mpi4py/MPI/Comm.pyx":1573 * tmp5 = newarray(np, &ierrcodes) * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_spawn_multiple( * count, cmds, argvs, imaxprocs, infos, root, */ __pyx_t_3 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1573, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __pyx_t_6 = ((PyObject *)__pyx_t_3); __Pyx_INCREF(__pyx_t_6); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_v_comm = ((struct PyMPIIntercommObject *)__pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/Comm.pyx":1574 * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_spawn_multiple( # <<<<<<<<<<<<<< * count, cmds, argvs, imaxprocs, infos, root, * self.ob_mpi, &comm.ob_mpi, ierrcodes) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1576 * with nogil: CHKERR( MPI_Comm_spawn_multiple( * count, cmds, argvs, imaxprocs, infos, root, * self.ob_mpi, &comm.ob_mpi, ierrcodes) ) # <<<<<<<<<<<<<< * # * cdef int j=0, p=0, q=0 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_spawn_multiple(__pyx_v_count, __pyx_v_cmds, __pyx_v_argvs, __pyx_v_imaxprocs, __pyx_v_infos, __pyx_v_root, __pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_comm->__pyx_base.ob_mpi), __pyx_v_ierrcodes)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1574, __pyx_L9_error) } /* "mpi4py/MPI/Comm.pyx":1574 * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_spawn_multiple( # <<<<<<<<<<<<<< * count, cmds, argvs, imaxprocs, infos, root, * self.ob_mpi, &comm.ob_mpi, ierrcodes) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L10; } __pyx_L9_error: { #ifdef WITH_THREAD __Pyx_FastGIL_Forget(); Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L10:; } } /* "mpi4py/MPI/Comm.pyx":1578 * self.ob_mpi, &comm.ob_mpi, ierrcodes) ) * # * cdef int j=0, p=0, q=0 # <<<<<<<<<<<<<< * if errcodes is not None: * errcodes[:] = [[] for j from 0 <= j < count] */ __pyx_v_j = 0; __pyx_v_p = 0; __pyx_v_q = 0; /* "mpi4py/MPI/Comm.pyx":1579 * # * cdef int j=0, p=0, q=0 * if errcodes is not None: # <<<<<<<<<<<<<< * errcodes[:] = [[] for j from 0 <= j < count] * for i from 0 <= i < count: */ __pyx_t_4 = (__pyx_v_errcodes != Py_None); __pyx_t_2 = (__pyx_t_4 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1580 * cdef int j=0, p=0, q=0 * if errcodes is not None: * errcodes[:] = [[] for j from 0 <= j < count] # <<<<<<<<<<<<<< * for i from 0 <= i < count: * q = p + imaxprocs[i] */ __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 1580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __pyx_v_count; for (__pyx_v_j = 0; __pyx_v_j < __pyx_t_1; __pyx_v_j++) { __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 1580, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } if (__Pyx_PyObject_SetSlice(__pyx_v_errcodes, __pyx_t_6, 0, 0, NULL, NULL, &__pyx_slice__91, 0, 0, 1) < 0) __PYX_ERR(7, 1580, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/Comm.pyx":1581 * if errcodes is not None: * errcodes[:] = [[] for j from 0 <= j < count] * for i from 0 <= i < count: # <<<<<<<<<<<<<< * q = p + imaxprocs[i] * errcodes[i][:] = [ierrcodes[j] for j from p <= j < q] */ __pyx_t_1 = __pyx_v_count; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { /* "mpi4py/MPI/Comm.pyx":1582 * errcodes[:] = [[] for j from 0 <= j < count] * for i from 0 <= i < count: * q = p + imaxprocs[i] # <<<<<<<<<<<<<< * errcodes[i][:] = [ierrcodes[j] for j from p <= j < q] * p = q */ __pyx_v_q = (__pyx_v_p + (__pyx_v_imaxprocs[__pyx_v_i])); /* "mpi4py/MPI/Comm.pyx":1583 * for i from 0 <= i < count: * q = p + imaxprocs[i] * errcodes[i][:] = [ierrcodes[j] for j from p <= j < q] # <<<<<<<<<<<<<< * p = q * # */ __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __pyx_v_q; for (__pyx_v_j = __pyx_v_p; __pyx_v_j < __pyx_t_7; __pyx_v_j++) { __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_ierrcodes[__pyx_v_j])); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 1583, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_errcodes, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetSlice(__pyx_t_3, __pyx_t_6, 0, 0, NULL, NULL, &__pyx_slice__91, 0, 0, 1) < 0) __PYX_ERR(7, 1583, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "mpi4py/MPI/Comm.pyx":1584 * q = p + imaxprocs[i] * errcodes[i][:] = [ierrcodes[j] for j from p <= j < q] * p = q # <<<<<<<<<<<<<< * # * comm_set_eh(comm.ob_mpi) */ __pyx_v_p = __pyx_v_q; } /* "mpi4py/MPI/Comm.pyx":1579 * # * cdef int j=0, p=0, q=0 * if errcodes is not None: # <<<<<<<<<<<<<< * errcodes[:] = [[] for j from 0 <= j < count] * for i from 0 <= i < count: */ } /* "mpi4py/MPI/Comm.pyx":1586 * p = q * # * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.ob_mpi); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1586, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1587 * # * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * # Server Routines */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1545 * return comm * * def Spawn_multiple(self, command, args=None, maxprocs=None, # <<<<<<<<<<<<<< * info=INFO_NULL, int root=0, errcodes=None): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Spawn_multiple", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_tmp3); __Pyx_XDECREF(__pyx_v_tmp4); __Pyx_XDECREF(__pyx_v_tmp5); __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1591 * # Server Routines * * def Accept(self, port_name, Info info=INFO_NULL, int root=0): # <<<<<<<<<<<<<< * """ * Accept a request to form a new intercommunicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_33Accept(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_32Accept[] = "Intracomm.Accept(self, port_name, Info info=INFO_NULL, int root=0)\n\n Accept a request to form a new intercommunicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_33Accept(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_port_name = 0; struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Accept (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_port_name,&__pyx_n_s_info,&__pyx_n_s_root,0}; PyObject* values[3] = {0,0,0}; values[1] = (PyObject *)__pyx_k__93; 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_port_name)) != 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_info); 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_root); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Accept") < 0)) __PYX_ERR(7, 1591, __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_port_name = values[0]; __pyx_v_info = ((struct PyMPIInfoObject *)values[1]); if (values[2]) { __pyx_v_root = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1591, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Accept", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1591, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Accept", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(7, 1591, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_32Accept(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_port_name, __pyx_v_info, __pyx_v_root); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_32Accept(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_port_name, struct PyMPIInfoObject *__pyx_v_info, int __pyx_v_root) { char *__pyx_v_cportname; int __pyx_v_rank; struct PyMPIIntercommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Accept", 0); __Pyx_INCREF(__pyx_v_port_name); /* "mpi4py/MPI/Comm.pyx":1595 * Accept a request to form a new intercommunicator * """ * cdef char *cportname = NULL # <<<<<<<<<<<<<< * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) */ __pyx_v_cportname = NULL; /* "mpi4py/MPI/Comm.pyx":1596 * """ * cdef char *cportname = NULL * cdef int rank = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: */ __pyx_v_rank = MPI_UNDEFINED; /* "mpi4py/MPI/Comm.pyx":1597 * cdef char *cportname = NULL * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) # <<<<<<<<<<<<<< * if root == rank: * port_name = asmpistr(port_name, &cportname) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1597, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1598 * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * port_name = asmpistr(port_name, &cportname) * cdef Intercomm comm = Intercomm.__new__(Intercomm) */ __pyx_t_2 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1599 * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: * port_name = asmpistr(port_name, &cportname) # <<<<<<<<<<<<<< * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_accept( */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_port_name, (&__pyx_v_cportname)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_port_name, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1598 * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * port_name = asmpistr(port_name, &cportname) * cdef Intercomm comm = Intercomm.__new__(Intercomm) */ } /* "mpi4py/MPI/Comm.pyx":1600 * if root == rank: * port_name = asmpistr(port_name, &cportname) * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_accept( * cportname, info.ob_mpi, root, */ __pyx_t_3 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1600, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __pyx_t_4 = ((PyObject *)__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_v_comm = ((struct PyMPIIntercommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":1601 * port_name = asmpistr(port_name, &cportname) * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_accept( # <<<<<<<<<<<<<< * cportname, info.ob_mpi, root, * self.ob_mpi, &comm.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1603 * with nogil: CHKERR( MPI_Comm_accept( * cportname, info.ob_mpi, root, * self.ob_mpi, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_accept(__pyx_v_cportname, __pyx_v_info->ob_mpi, __pyx_v_root, __pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_comm->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1601, __pyx_L5_error) } /* "mpi4py/MPI/Comm.pyx":1601 * port_name = asmpistr(port_name, &cportname) * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_accept( # <<<<<<<<<<<<<< * cportname, info.ob_mpi, root, * self.ob_mpi, &comm.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1604 * cportname, info.ob_mpi, root, * self.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.ob_mpi); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1604, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1605 * self.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * # Client Routines */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1591 * # Server Routines * * def Accept(self, port_name, Info info=INFO_NULL, int root=0): # <<<<<<<<<<<<<< * """ * Accept a request to form a new intercommunicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Accept", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XDECREF(__pyx_v_port_name); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1609 * # Client Routines * * def Connect(self, port_name, Info info=INFO_NULL, int root=0): # <<<<<<<<<<<<<< * """ * Make a request to form a new intercommunicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_35Connect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intracomm_34Connect[] = "Intracomm.Connect(self, port_name, Info info=INFO_NULL, int root=0)\n\n Make a request to form a new intercommunicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intracomm_35Connect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_port_name = 0; struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_v_root; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Connect (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_port_name,&__pyx_n_s_info,&__pyx_n_s_root,0}; PyObject* values[3] = {0,0,0}; values[1] = (PyObject *)__pyx_k__94; 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_port_name)) != 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_info); 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_root); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Connect") < 0)) __PYX_ERR(7, 1609, __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_port_name = values[0]; __pyx_v_info = ((struct PyMPIInfoObject *)values[1]); if (values[2]) { __pyx_v_root = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_root == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1609, __pyx_L3_error) } else { __pyx_v_root = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Connect", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1609, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Connect", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(7, 1609, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intracomm_34Connect(((struct PyMPIIntracommObject *)__pyx_v_self), __pyx_v_port_name, __pyx_v_info, __pyx_v_root); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intracomm_34Connect(struct PyMPIIntracommObject *__pyx_v_self, PyObject *__pyx_v_port_name, struct PyMPIInfoObject *__pyx_v_info, int __pyx_v_root) { char *__pyx_v_cportname; int __pyx_v_rank; struct PyMPIIntercommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Connect", 0); __Pyx_INCREF(__pyx_v_port_name); /* "mpi4py/MPI/Comm.pyx":1613 * Make a request to form a new intercommunicator * """ * cdef char *cportname = NULL # <<<<<<<<<<<<<< * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) */ __pyx_v_cportname = NULL; /* "mpi4py/MPI/Comm.pyx":1614 * """ * cdef char *cportname = NULL * cdef int rank = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: */ __pyx_v_rank = MPI_UNDEFINED; /* "mpi4py/MPI/Comm.pyx":1615 * cdef char *cportname = NULL * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) # <<<<<<<<<<<<<< * if root == rank: * port_name = asmpistr(port_name, &cportname) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1615, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1616 * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * port_name = asmpistr(port_name, &cportname) * cdef Intercomm comm = Intercomm.__new__(Intercomm) */ __pyx_t_2 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1617 * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: * port_name = asmpistr(port_name, &cportname) # <<<<<<<<<<<<<< * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_connect( */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_port_name, (&__pyx_v_cportname)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_port_name, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1616 * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * port_name = asmpistr(port_name, &cportname) * cdef Intercomm comm = Intercomm.__new__(Intercomm) */ } /* "mpi4py/MPI/Comm.pyx":1618 * if root == rank: * port_name = asmpistr(port_name, &cportname) * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_connect( * cportname, info.ob_mpi, root, */ __pyx_t_3 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1618, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __pyx_t_4 = ((PyObject *)__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_v_comm = ((struct PyMPIIntercommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":1619 * port_name = asmpistr(port_name, &cportname) * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_connect( # <<<<<<<<<<<<<< * cportname, info.ob_mpi, root, * self.ob_mpi, &comm.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1621 * with nogil: CHKERR( MPI_Comm_connect( * cportname, info.ob_mpi, root, * self.ob_mpi, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_connect(__pyx_v_cportname, __pyx_v_info->ob_mpi, __pyx_v_root, __pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_comm->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1619, __pyx_L5_error) } /* "mpi4py/MPI/Comm.pyx":1619 * port_name = asmpistr(port_name, &cportname) * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_connect( # <<<<<<<<<<<<<< * cportname, info.ob_mpi, root, * self.ob_mpi, &comm.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1622 * cportname, info.ob_mpi, root, * self.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.ob_mpi); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1622, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1623 * self.ob_mpi, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1609 * # Client Routines * * def Connect(self, port_name, Info info=INFO_NULL, int root=0): # <<<<<<<<<<<<<< * """ * Make a request to form a new intercommunicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Intracomm.Connect", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XDECREF(__pyx_v_port_name); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1632 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_8Topocomm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_8Topocomm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPICommObject *)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_comm); 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(7, 1632, __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_comm = ((struct PyMPICommObject *)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(7, 1632, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) __PYX_ERR(7, 1632, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm___cinit__(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_8Topocomm___cinit__(struct PyMPITopocommObject *__pyx_v_self, CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm) { int __pyx_v_topo; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Comm.pyx":1633 * * def __cinit__(self, Comm comm=None): * if self.ob_mpi == MPI_COMM_NULL: return # <<<<<<<<<<<<<< * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) */ __pyx_t_1 = ((__pyx_v_self->__pyx_base.__pyx_base.ob_mpi == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":1634 * def __cinit__(self, Comm comm=None): * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * if topo == MPI_UNDEFINED: raise TypeError( */ __pyx_v_topo = MPI_UNDEFINED; /* "mpi4py/MPI/Comm.pyx":1635 * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) # <<<<<<<<<<<<<< * if topo == MPI_UNDEFINED: raise TypeError( * "expecting a topology communicator") */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Topo_test(__pyx_v_self->__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_topo))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1635, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1636 * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * if topo == MPI_UNDEFINED: raise TypeError( # <<<<<<<<<<<<<< * "expecting a topology communicator") * */ __pyx_t_1 = ((__pyx_v_topo == MPI_UNDEFINED) != 0); if (unlikely(__pyx_t_1)) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__95, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(7, 1636, __pyx_L1_error) } /* "mpi4py/MPI/Comm.pyx":1632 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1641 * property degrees: * "number of incoming and outgoing neighbors" * def __get__(self): # <<<<<<<<<<<<<< * cdef object dim, rank * cdef object nneighbors */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_7degrees_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_7degrees_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_7degrees___get__(((struct PyMPITopocommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_7degrees___get__(struct PyMPITopocommObject *__pyx_v_self) { PyObject *__pyx_v_dim = 0; PyObject *__pyx_v_rank = 0; PyObject *__pyx_v_nneighbors = 0; 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1644 * cdef object dim, rank * cdef object nneighbors * if isinstance(self, Cartcomm): # <<<<<<<<<<<<<< * dim = self.Get_dim() * return (2*dim, 2*dim) */ __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Cartcomm); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1645 * cdef object nneighbors * if isinstance(self, Cartcomm): * dim = self.Get_dim() # <<<<<<<<<<<<<< * return (2*dim, 2*dim) * if isinstance(self, Graphcomm): */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_dim); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1645, __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(7, 1645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_dim = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1646 * if isinstance(self, Cartcomm): * dim = self.Get_dim() * return (2*dim, 2*dim) # <<<<<<<<<<<<<< * if isinstance(self, Graphcomm): * rank = self.Get_rank() */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyNumber_Multiply(__pyx_int_2, __pyx_v_dim); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyNumber_Multiply(__pyx_int_2, __pyx_v_dim); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1644 * cdef object dim, rank * cdef object nneighbors * if isinstance(self, Cartcomm): # <<<<<<<<<<<<<< * dim = self.Get_dim() * return (2*dim, 2*dim) */ } /* "mpi4py/MPI/Comm.pyx":1647 * dim = self.Get_dim() * return (2*dim, 2*dim) * if isinstance(self, Graphcomm): # <<<<<<<<<<<<<< * rank = self.Get_rank() * nneighbors = self.Get_neighbors_count(rank) */ __pyx_t_2 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Graphcomm); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/Comm.pyx":1648 * return (2*dim, 2*dim) * if isinstance(self, Graphcomm): * rank = self.Get_rank() # <<<<<<<<<<<<<< * nneighbors = self.Get_neighbors_count(rank) * return (nneighbors, nneighbors) */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_rank); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __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_5 = (__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_5)) __PYX_ERR(7, 1648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_rank = __pyx_t_5; __pyx_t_5 = 0; /* "mpi4py/MPI/Comm.pyx":1649 * if isinstance(self, Graphcomm): * rank = self.Get_rank() * nneighbors = self.Get_neighbors_count(rank) # <<<<<<<<<<<<<< * return (nneighbors, nneighbors) * if isinstance(self, Distgraphcomm): */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_neighbors_count); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1649, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __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_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_v_rank) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_rank); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1649, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_nneighbors = __pyx_t_5; __pyx_t_5 = 0; /* "mpi4py/MPI/Comm.pyx":1650 * rank = self.Get_rank() * nneighbors = self.Get_neighbors_count(rank) * return (nneighbors, nneighbors) # <<<<<<<<<<<<<< * if isinstance(self, Distgraphcomm): * nneighbors = self.Get_dist_neighbors_count()[:2] */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_nneighbors); __Pyx_GIVEREF(__pyx_v_nneighbors); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_nneighbors); __Pyx_INCREF(__pyx_v_nneighbors); __Pyx_GIVEREF(__pyx_v_nneighbors); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_nneighbors); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1647 * dim = self.Get_dim() * return (2*dim, 2*dim) * if isinstance(self, Graphcomm): # <<<<<<<<<<<<<< * rank = self.Get_rank() * nneighbors = self.Get_neighbors_count(rank) */ } /* "mpi4py/MPI/Comm.pyx":1651 * nneighbors = self.Get_neighbors_count(rank) * return (nneighbors, nneighbors) * if isinstance(self, Distgraphcomm): # <<<<<<<<<<<<<< * nneighbors = self.Get_dist_neighbors_count()[:2] * return nneighbors */ __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Distgraphcomm); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1652 * return (nneighbors, nneighbors) * if isinstance(self, Distgraphcomm): * nneighbors = self.Get_dist_neighbors_count()[:2] # <<<<<<<<<<<<<< * return nneighbors * raise TypeError("Not a topology communicator") */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_dist_neighbors_count); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __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_5 = (__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_5)) __PYX_ERR(7, 1652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_t_5, 0, 2, NULL, NULL, &__pyx_slice__96, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_nneighbors = __pyx_t_4; __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":1653 * if isinstance(self, Distgraphcomm): * nneighbors = self.Get_dist_neighbors_count()[:2] * return nneighbors # <<<<<<<<<<<<<< * raise TypeError("Not a topology communicator") * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_nneighbors); __pyx_r = __pyx_v_nneighbors; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1651 * nneighbors = self.Get_neighbors_count(rank) * return (nneighbors, nneighbors) * if isinstance(self, Distgraphcomm): # <<<<<<<<<<<<<< * nneighbors = self.Get_dist_neighbors_count()[:2] * return nneighbors */ } /* "mpi4py/MPI/Comm.pyx":1654 * nneighbors = self.Get_dist_neighbors_count()[:2] * return nneighbors * raise TypeError("Not a topology communicator") # <<<<<<<<<<<<<< * * property indegree: */ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__97, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1654, __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(7, 1654, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1641 * property degrees: * "number of incoming and outgoing neighbors" * def __get__(self): # <<<<<<<<<<<<<< * cdef object dim, rank * cdef object nneighbors */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.degrees.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_dim); __Pyx_XDECREF(__pyx_v_rank); __Pyx_XDECREF(__pyx_v_nneighbors); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1658 * property indegree: * "number of incoming neighbors" * def __get__(self): # <<<<<<<<<<<<<< * return self.degrees[0] * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_8indegree_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_8indegree_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_8indegree___get__(((struct PyMPITopocommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_8indegree___get__(struct PyMPITopocommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1659 * "number of incoming neighbors" * def __get__(self): * return self.degrees[0] # <<<<<<<<<<<<<< * * property outdegree: */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_degrees); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __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(7, 1659, __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; /* "mpi4py/MPI/Comm.pyx":1658 * property indegree: * "number of incoming neighbors" * def __get__(self): # <<<<<<<<<<<<<< * return self.degrees[0] * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.indegree.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1663 * property outdegree: * "number of outgoing neighbors" * def __get__(self): # <<<<<<<<<<<<<< * return self.degrees[1] * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_9outdegree_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_9outdegree_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_9outdegree___get__(((struct PyMPITopocommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_9outdegree___get__(struct PyMPITopocommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1664 * "number of outgoing neighbors" * def __get__(self): * return self.degrees[1] # <<<<<<<<<<<<<< * * property inoutedges: */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_degrees); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1664, __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; /* "mpi4py/MPI/Comm.pyx":1663 * property outdegree: * "number of outgoing neighbors" * def __get__(self): # <<<<<<<<<<<<<< * return self.degrees[1] * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.outdegree.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1668 * property inoutedges: * "incoming and outgoing neighbors" * def __get__(self): # <<<<<<<<<<<<<< * cdef object direction, source, dest, rank * cdef object neighbors */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_10inoutedges_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_10inoutedges_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_10inoutedges___get__(((struct PyMPITopocommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_10inoutedges___get__(struct PyMPITopocommObject *__pyx_v_self) { PyObject *__pyx_v_direction = 0; PyObject *__pyx_v_source = 0; PyObject *__pyx_v_dest = 0; PyObject *__pyx_v_rank = 0; PyObject *__pyx_v_neighbors = 0; 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; Py_ssize_t __pyx_t_6; PyObject *(*__pyx_t_7)(PyObject *); PyObject *__pyx_t_8 = NULL; int __pyx_t_9; PyObject *__pyx_t_10 = NULL; PyObject *(*__pyx_t_11)(PyObject *); int __pyx_t_12; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1671 * cdef object direction, source, dest, rank * cdef object neighbors * if isinstance(self, Cartcomm): # <<<<<<<<<<<<<< * neighbors = [] * for direction in range(self.Get_dim()): */ __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Cartcomm); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1672 * cdef object neighbors * if isinstance(self, Cartcomm): * neighbors = [] # <<<<<<<<<<<<<< * for direction in range(self.Get_dim()): * source, dest = self.Shift(direction, 1) */ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1672, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_neighbors = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1673 * if isinstance(self, Cartcomm): * neighbors = [] * for direction in range(self.Get_dim()): # <<<<<<<<<<<<<< * source, dest = self.Shift(direction, 1) * neighbors.append(source) */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_dim); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1673, __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(7, 1673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(7, 1673, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_6 >= 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_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(7, 1673, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_6 >= 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_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(7, 1673, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_7(__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(7, 1673, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_direction, __pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":1674 * neighbors = [] * for direction in range(self.Get_dim()): * source, dest = self.Shift(direction, 1) # <<<<<<<<<<<<<< * neighbors.append(source) * neighbors.append(dest) */ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Shift); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_8); __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_8, __pyx_v_direction, __pyx_int_1}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1674, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 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_8, __pyx_v_direction, __pyx_int_1}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1674, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(7, 1674, __pyx_L1_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_INCREF(__pyx_v_direction); __Pyx_GIVEREF(__pyx_v_direction); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_v_direction); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_int_1); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __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(7, 1674, __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_10 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_10 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_10); #else __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(7, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { Py_ssize_t index = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(7, 1674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_11 = Py_TYPE(__pyx_t_8)->tp_iternext; index = 0; __pyx_t_5 = __pyx_t_11(__pyx_t_8); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 1; __pyx_t_10 = __pyx_t_11(__pyx_t_8); if (unlikely(!__pyx_t_10)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_10); if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_8), 2) < 0) __PYX_ERR(7, 1674, __pyx_L1_error) __pyx_t_11 = NULL; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L7_unpacking_done; __pyx_L6_unpacking_failed:; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_11 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(7, 1674, __pyx_L1_error) __pyx_L7_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_source, __pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_dest, __pyx_t_10); __pyx_t_10 = 0; /* "mpi4py/MPI/Comm.pyx":1675 * for direction in range(self.Get_dim()): * source, dest = self.Shift(direction, 1) * neighbors.append(source) # <<<<<<<<<<<<<< * neighbors.append(dest) * return (neighbors, neighbors) */ __pyx_t_12 = __Pyx_PyObject_Append(__pyx_v_neighbors, __pyx_v_source); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(7, 1675, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1676 * source, dest = self.Shift(direction, 1) * neighbors.append(source) * neighbors.append(dest) # <<<<<<<<<<<<<< * return (neighbors, neighbors) * if isinstance(self, Graphcomm): */ __pyx_t_12 = __Pyx_PyObject_Append(__pyx_v_neighbors, __pyx_v_dest); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(7, 1676, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1673 * if isinstance(self, Cartcomm): * neighbors = [] * for direction in range(self.Get_dim()): # <<<<<<<<<<<<<< * source, dest = self.Shift(direction, 1) * neighbors.append(source) */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1677 * neighbors.append(source) * neighbors.append(dest) * return (neighbors, neighbors) # <<<<<<<<<<<<<< * if isinstance(self, Graphcomm): * rank = self.Get_rank() */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_neighbors); __Pyx_GIVEREF(__pyx_v_neighbors); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_neighbors); __Pyx_INCREF(__pyx_v_neighbors); __Pyx_GIVEREF(__pyx_v_neighbors); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_neighbors); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1671 * cdef object direction, source, dest, rank * cdef object neighbors * if isinstance(self, Cartcomm): # <<<<<<<<<<<<<< * neighbors = [] * for direction in range(self.Get_dim()): */ } /* "mpi4py/MPI/Comm.pyx":1678 * neighbors.append(dest) * return (neighbors, neighbors) * if isinstance(self, Graphcomm): # <<<<<<<<<<<<<< * rank = self.Get_rank() * neighbors = self.Get_neighbors(rank) */ __pyx_t_2 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Graphcomm); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/Comm.pyx":1679 * return (neighbors, neighbors) * if isinstance(self, Graphcomm): * rank = self.Get_rank() # <<<<<<<<<<<<<< * neighbors = self.Get_neighbors(rank) * return (neighbors, neighbors) */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_rank); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_rank = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1680 * if isinstance(self, Graphcomm): * rank = self.Get_rank() * neighbors = self.Get_neighbors(rank) # <<<<<<<<<<<<<< * return (neighbors, neighbors) * if isinstance(self, Distgraphcomm): */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_neighbors); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_v_rank) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_rank); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_neighbors = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1681 * rank = self.Get_rank() * neighbors = self.Get_neighbors(rank) * return (neighbors, neighbors) # <<<<<<<<<<<<<< * if isinstance(self, Distgraphcomm): * neighbors = self.Get_dist_neighbors()[:2] */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_neighbors); __Pyx_GIVEREF(__pyx_v_neighbors); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_neighbors); __Pyx_INCREF(__pyx_v_neighbors); __Pyx_GIVEREF(__pyx_v_neighbors); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_neighbors); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1678 * neighbors.append(dest) * return (neighbors, neighbors) * if isinstance(self, Graphcomm): # <<<<<<<<<<<<<< * rank = self.Get_rank() * neighbors = self.Get_neighbors(rank) */ } /* "mpi4py/MPI/Comm.pyx":1682 * neighbors = self.Get_neighbors(rank) * return (neighbors, neighbors) * if isinstance(self, Distgraphcomm): # <<<<<<<<<<<<<< * neighbors = self.Get_dist_neighbors()[:2] * return neighbors */ __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), __pyx_ptype_6mpi4py_3MPI_Distgraphcomm); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":1683 * return (neighbors, neighbors) * if isinstance(self, Distgraphcomm): * neighbors = self.Get_dist_neighbors()[:2] # <<<<<<<<<<<<<< * return neighbors * raise TypeError("Not a topology communicator") */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_dist_neighbors); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_t_3, 0, 2, NULL, NULL, &__pyx_slice__96, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_neighbors = __pyx_t_4; __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":1684 * if isinstance(self, Distgraphcomm): * neighbors = self.Get_dist_neighbors()[:2] * return neighbors # <<<<<<<<<<<<<< * raise TypeError("Not a topology communicator") * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_neighbors); __pyx_r = __pyx_v_neighbors; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1682 * neighbors = self.Get_neighbors(rank) * return (neighbors, neighbors) * if isinstance(self, Distgraphcomm): # <<<<<<<<<<<<<< * neighbors = self.Get_dist_neighbors()[:2] * return neighbors */ } /* "mpi4py/MPI/Comm.pyx":1685 * neighbors = self.Get_dist_neighbors()[:2] * return neighbors * raise TypeError("Not a topology communicator") # <<<<<<<<<<<<<< * * property inedges: */ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__97, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1685, __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(7, 1685, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1668 * property inoutedges: * "incoming and outgoing neighbors" * def __get__(self): # <<<<<<<<<<<<<< * cdef object direction, source, dest, rank * cdef object neighbors */ /* 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_8); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.inoutedges.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_direction); __Pyx_XDECREF(__pyx_v_source); __Pyx_XDECREF(__pyx_v_dest); __Pyx_XDECREF(__pyx_v_rank); __Pyx_XDECREF(__pyx_v_neighbors); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1689 * property inedges: * "incoming neighbors" * def __get__(self): # <<<<<<<<<<<<<< * return self.inoutedges[0] * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_7inedges_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_7inedges_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_7inedges___get__(((struct PyMPITopocommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_7inedges___get__(struct PyMPITopocommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1690 * "incoming neighbors" * def __get__(self): * return self.inoutedges[0] # <<<<<<<<<<<<<< * * property outedges: */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_inoutedges); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __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(7, 1690, __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; /* "mpi4py/MPI/Comm.pyx":1689 * property inedges: * "incoming neighbors" * def __get__(self): # <<<<<<<<<<<<<< * return self.inoutedges[0] * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.inedges.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1694 * property outedges: * "outgoing neighbors" * def __get__(self): # <<<<<<<<<<<<<< * return self.inoutedges[1] * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_8outedges_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_8outedges_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_8outedges___get__(((struct PyMPITopocommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_8outedges___get__(struct PyMPITopocommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1695 * "outgoing neighbors" * def __get__(self): * return self.inoutedges[1] # <<<<<<<<<<<<<< * * # Neighborhood Collectives */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_inoutedges); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1695, __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; /* "mpi4py/MPI/Comm.pyx":1694 * property outedges: * "outgoing neighbors" * def __get__(self): # <<<<<<<<<<<<<< * return self.inoutedges[1] * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.outedges.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1700 * # ------------------------ * * def Neighbor_allgather(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Neighbor Gather to All */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_3Neighbor_allgather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Topocomm_2Neighbor_allgather[] = "Topocomm.Neighbor_allgather(self, sendbuf, recvbuf)\n\n Neighbor Gather to All\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_3Neighbor_allgather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Neighbor_allgather (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Neighbor_allgather", 1, 2, 2, 1); __PYX_ERR(7, 1700, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Neighbor_allgather") < 0)) __PYX_ERR(7, 1700, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Neighbor_allgather", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1700, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Neighbor_allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_2Neighbor_allgather(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_2Neighbor_allgather(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Neighbor_allgather", 0); /* "mpi4py/MPI/Comm.pyx":1704 * Neighbor Gather to All * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_neighbor_allgather(0, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_allgather( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1704, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1705 * """ * cdef _p_msg_cco m = message_cco() * m.for_neighbor_allgather(0, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_allgather( * m.sbuf, m.scount, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_allgather(__pyx_v_m, 0, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1705, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1706 * cdef _p_msg_cco m = message_cco() * m.for_neighbor_allgather(0, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_allgather( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1709 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, * self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Neighbor_allgatherv(self, sendbuf, recvbuf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Neighbor_allgather(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1706, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1706 * cdef _p_msg_cco m = message_cco() * m.for_neighbor_allgather(0, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_allgather( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1700 * # ------------------------ * * def Neighbor_allgather(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Neighbor Gather to All */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Neighbor_allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1711 * self.ob_mpi) ) * * def Neighbor_allgatherv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Neighbor Gather to All Vector */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_5Neighbor_allgatherv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Topocomm_4Neighbor_allgatherv[] = "Topocomm.Neighbor_allgatherv(self, sendbuf, recvbuf)\n\n Neighbor Gather to All Vector\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_5Neighbor_allgatherv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Neighbor_allgatherv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Neighbor_allgatherv", 1, 2, 2, 1); __PYX_ERR(7, 1711, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Neighbor_allgatherv") < 0)) __PYX_ERR(7, 1711, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Neighbor_allgatherv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1711, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Neighbor_allgatherv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_4Neighbor_allgatherv(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_4Neighbor_allgatherv(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Neighbor_allgatherv", 0); /* "mpi4py/MPI/Comm.pyx":1715 * Neighbor Gather to All Vector * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_neighbor_allgather(1, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_allgatherv( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1716 * """ * cdef _p_msg_cco m = message_cco() * m.for_neighbor_allgather(1, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_allgatherv( * m.sbuf, m.scount, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_allgather(__pyx_v_m, 1, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1716, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1717 * cdef _p_msg_cco m = message_cco() * m.for_neighbor_allgather(1, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_allgatherv( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1720 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, * self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Neighbor_alltoall(self, sendbuf, recvbuf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Neighbor_allgatherv(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdispls, __pyx_v_m->rtype, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1717, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1717 * cdef _p_msg_cco m = message_cco() * m.for_neighbor_allgather(1, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_allgatherv( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1711 * self.ob_mpi) ) * * def Neighbor_allgatherv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Neighbor Gather to All Vector */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Neighbor_allgatherv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1722 * self.ob_mpi) ) * * def Neighbor_alltoall(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Neighbor All-to-All */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_7Neighbor_alltoall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Topocomm_6Neighbor_alltoall[] = "Topocomm.Neighbor_alltoall(self, sendbuf, recvbuf)\n\n Neighbor All-to-All\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_7Neighbor_alltoall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Neighbor_alltoall (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Neighbor_alltoall", 1, 2, 2, 1); __PYX_ERR(7, 1722, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Neighbor_alltoall") < 0)) __PYX_ERR(7, 1722, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Neighbor_alltoall", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1722, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Neighbor_alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_6Neighbor_alltoall(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_6Neighbor_alltoall(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Neighbor_alltoall", 0); /* "mpi4py/MPI/Comm.pyx":1726 * Neighbor All-to-All * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_neighbor_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_alltoall( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1727 * """ * cdef _p_msg_cco m = message_cco() * m.for_neighbor_alltoall(0, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_alltoall( * m.sbuf, m.scount, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_alltoall(__pyx_v_m, 0, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1727, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1728 * cdef _p_msg_cco m = message_cco() * m.for_neighbor_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_alltoall( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1731 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, * self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Neighbor_alltoallv(self, sendbuf, recvbuf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Neighbor_alltoall(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1728, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1728 * cdef _p_msg_cco m = message_cco() * m.for_neighbor_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_alltoall( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1722 * self.ob_mpi) ) * * def Neighbor_alltoall(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Neighbor All-to-All */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Neighbor_alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1733 * self.ob_mpi) ) * * def Neighbor_alltoallv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Neighbor All-to-All Vector */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_9Neighbor_alltoallv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Topocomm_8Neighbor_alltoallv[] = "Topocomm.Neighbor_alltoallv(self, sendbuf, recvbuf)\n\n Neighbor All-to-All Vector\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_9Neighbor_alltoallv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Neighbor_alltoallv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Neighbor_alltoallv", 1, 2, 2, 1); __PYX_ERR(7, 1733, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Neighbor_alltoallv") < 0)) __PYX_ERR(7, 1733, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Neighbor_alltoallv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1733, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Neighbor_alltoallv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_8Neighbor_alltoallv(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_8Neighbor_alltoallv(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Neighbor_alltoallv", 0); /* "mpi4py/MPI/Comm.pyx":1737 * Neighbor All-to-All Vector * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_neighbor_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_alltoallv( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1738 * """ * cdef _p_msg_cco m = message_cco() * m.for_neighbor_alltoall(1, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_alltoallv( * m.sbuf, m.scounts, m.sdispls, m.stype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_alltoall(__pyx_v_m, 1, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1738, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1739 * cdef _p_msg_cco m = message_cco() * m.for_neighbor_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_alltoallv( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1742 * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, * self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Neighbor_alltoallw(self, sendbuf, recvbuf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Neighbor_alltoallv(__pyx_v_m->sbuf, __pyx_v_m->scounts, __pyx_v_m->sdispls, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdispls, __pyx_v_m->rtype, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1739, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1739 * cdef _p_msg_cco m = message_cco() * m.for_neighbor_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_alltoallv( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1733 * self.ob_mpi) ) * * def Neighbor_alltoallv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Neighbor All-to-All Vector */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Neighbor_alltoallv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1744 * self.ob_mpi) ) * * def Neighbor_alltoallw(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Neighbor All-to-All Generalized */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_11Neighbor_alltoallw(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Topocomm_10Neighbor_alltoallw[] = "Topocomm.Neighbor_alltoallw(self, sendbuf, recvbuf)\n\n Neighbor All-to-All Generalized\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_11Neighbor_alltoallw(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Neighbor_alltoallw (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Neighbor_alltoallw", 1, 2, 2, 1); __PYX_ERR(7, 1744, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Neighbor_alltoallw") < 0)) __PYX_ERR(7, 1744, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Neighbor_alltoallw", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1744, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Neighbor_alltoallw", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_10Neighbor_alltoallw(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_10Neighbor_alltoallw(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Neighbor_alltoallw", 0); /* "mpi4py/MPI/Comm.pyx":1748 * Neighbor All-to-All Generalized * """ * cdef _p_msg_ccow m = message_ccow() # <<<<<<<<<<<<<< * m.for_neighbor_alltoallw(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_alltoallw( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_ccow()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1749 * """ * cdef _p_msg_ccow m = message_ccow() * m.for_neighbor_alltoallw(sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_alltoallw( * m.sbuf, m.scounts, m.sdisplsA, m.stypes, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_11_p_msg_ccow_for_neighbor_alltoallw(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1749, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1750 * cdef _p_msg_ccow m = message_ccow() * m.for_neighbor_alltoallw(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_alltoallw( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdisplsA, m.stypes, * m.rbuf, m.rcounts, m.rdisplsA, m.rtypes, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1753 * m.sbuf, m.scounts, m.sdisplsA, m.stypes, * m.rbuf, m.rcounts, m.rdisplsA, m.rtypes, * self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Nonblocking Neighborhood Collectives */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Neighbor_alltoallw(__pyx_v_m->sbuf, __pyx_v_m->scounts, __pyx_v_m->sdisplsA, __pyx_v_m->stypes, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdisplsA, __pyx_v_m->rtypes, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1750, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1750 * cdef _p_msg_ccow m = message_ccow() * m.for_neighbor_alltoallw(sendbuf, recvbuf, self.ob_mpi) * with nogil: CHKERR( MPI_Neighbor_alltoallw( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdisplsA, m.stypes, * m.rbuf, m.rcounts, m.rdisplsA, m.rtypes, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1744 * self.ob_mpi) ) * * def Neighbor_alltoallw(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Neighbor All-to-All Generalized */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Neighbor_alltoallw", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1758 * # ------------------------------------ * * def Ineighbor_allgather(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Neighbor Gather to All */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_13Ineighbor_allgather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Topocomm_12Ineighbor_allgather[] = "Topocomm.Ineighbor_allgather(self, sendbuf, recvbuf)\n\n Nonblocking Neighbor Gather to All\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_13Ineighbor_allgather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ineighbor_allgather (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ineighbor_allgather", 1, 2, 2, 1); __PYX_ERR(7, 1758, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ineighbor_allgather") < 0)) __PYX_ERR(7, 1758, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ineighbor_allgather", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1758, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Ineighbor_allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_12Ineighbor_allgather(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_12Ineighbor_allgather(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ineighbor_allgather", 0); /* "mpi4py/MPI/Comm.pyx":1762 * Nonblocking Neighbor Gather to All * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_neighbor_allgather(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1763 * """ * cdef _p_msg_cco m = message_cco() * m.for_neighbor_allgather(0, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_allgather( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_allgather(__pyx_v_m, 0, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1763, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1764 * cdef _p_msg_cco m = message_cco() * m.for_neighbor_allgather(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ineighbor_allgather( * m.sbuf, m.scount, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1764, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1765 * m.for_neighbor_allgather(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_allgather( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1768 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, * self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ineighbor_allgather(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1765, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1765 * m.for_neighbor_allgather(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_allgather( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1769 * m.rbuf, m.rcount, m.rtype, * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":1770 * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Ineighbor_allgatherv(self, sendbuf, recvbuf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1758 * # ------------------------------------ * * def Ineighbor_allgather(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Neighbor Gather to All */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Ineighbor_allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1772 * return request * * def Ineighbor_allgatherv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Neighbor Gather to All Vector */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_15Ineighbor_allgatherv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Topocomm_14Ineighbor_allgatherv[] = "Topocomm.Ineighbor_allgatherv(self, sendbuf, recvbuf)\n\n Nonblocking Neighbor Gather to All Vector\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_15Ineighbor_allgatherv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ineighbor_allgatherv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ineighbor_allgatherv", 1, 2, 2, 1); __PYX_ERR(7, 1772, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ineighbor_allgatherv") < 0)) __PYX_ERR(7, 1772, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ineighbor_allgatherv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1772, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Ineighbor_allgatherv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_14Ineighbor_allgatherv(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_14Ineighbor_allgatherv(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ineighbor_allgatherv", 0); /* "mpi4py/MPI/Comm.pyx":1776 * Nonblocking Neighbor Gather to All Vector * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_neighbor_allgather(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1777 * """ * cdef _p_msg_cco m = message_cco() * m.for_neighbor_allgather(1, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_allgatherv( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_allgather(__pyx_v_m, 1, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1777, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1778 * cdef _p_msg_cco m = message_cco() * m.for_neighbor_allgather(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ineighbor_allgatherv( * m.sbuf, m.scount, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1778, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1779 * m.for_neighbor_allgather(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_allgatherv( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1782 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, * self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ineighbor_allgatherv(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdispls, __pyx_v_m->rtype, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1779, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1779 * m.for_neighbor_allgather(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_allgatherv( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1783 * m.rbuf, m.rcounts, m.rdispls, m.rtype, * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":1784 * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Ineighbor_alltoall(self, sendbuf, recvbuf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1772 * return request * * def Ineighbor_allgatherv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Neighbor Gather to All Vector */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Ineighbor_allgatherv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1786 * return request * * def Ineighbor_alltoall(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Neighbor All-to-All */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_17Ineighbor_alltoall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Topocomm_16Ineighbor_alltoall[] = "Topocomm.Ineighbor_alltoall(self, sendbuf, recvbuf)\n\n Nonblocking Neighbor All-to-All\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_17Ineighbor_alltoall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ineighbor_alltoall (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ineighbor_alltoall", 1, 2, 2, 1); __PYX_ERR(7, 1786, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ineighbor_alltoall") < 0)) __PYX_ERR(7, 1786, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ineighbor_alltoall", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1786, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Ineighbor_alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_16Ineighbor_alltoall(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_16Ineighbor_alltoall(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ineighbor_alltoall", 0); /* "mpi4py/MPI/Comm.pyx":1790 * Nonblocking Neighbor All-to-All * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_neighbor_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1791 * """ * cdef _p_msg_cco m = message_cco() * m.for_neighbor_alltoall(0, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_alltoall( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_alltoall(__pyx_v_m, 0, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1791, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1792 * cdef _p_msg_cco m = message_cco() * m.for_neighbor_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ineighbor_alltoall( * m.sbuf, m.scount, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1792, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1793 * m.for_neighbor_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_alltoall( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1796 * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, * self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ineighbor_alltoall(__pyx_v_m->sbuf, __pyx_v_m->scount, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcount, __pyx_v_m->rtype, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1793, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1793 * m.for_neighbor_alltoall(0, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_alltoall( # <<<<<<<<<<<<<< * m.sbuf, m.scount, m.stype, * m.rbuf, m.rcount, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1797 * m.rbuf, m.rcount, m.rtype, * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":1798 * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Ineighbor_alltoallv(self, sendbuf, recvbuf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1786 * return request * * def Ineighbor_alltoall(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Neighbor All-to-All */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Ineighbor_alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1800 * return request * * def Ineighbor_alltoallv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Neighbor All-to-All Vector */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_19Ineighbor_alltoallv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Topocomm_18Ineighbor_alltoallv[] = "Topocomm.Ineighbor_alltoallv(self, sendbuf, recvbuf)\n\n Nonblocking Neighbor All-to-All Vector\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_19Ineighbor_alltoallv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ineighbor_alltoallv (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ineighbor_alltoallv", 1, 2, 2, 1); __PYX_ERR(7, 1800, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ineighbor_alltoallv") < 0)) __PYX_ERR(7, 1800, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ineighbor_alltoallv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1800, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Ineighbor_alltoallv", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_18Ineighbor_alltoallv(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_18Ineighbor_alltoallv(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ineighbor_alltoallv", 0); /* "mpi4py/MPI/Comm.pyx":1804 * Nonblocking Neighbor All-to-All Vector * """ * cdef _p_msg_cco m = message_cco() # <<<<<<<<<<<<<< * m.for_neighbor_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_cco()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1805 * """ * cdef _p_msg_cco m = message_cco() * m.for_neighbor_alltoall(1, sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_alltoallv( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_alltoall(__pyx_v_m, 1, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1805, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1806 * cdef _p_msg_cco m = message_cco() * m.for_neighbor_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ineighbor_alltoallv( * m.sbuf, m.scounts, m.sdispls, m.stype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1806, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1807 * m.for_neighbor_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_alltoallv( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1810 * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, * self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ineighbor_alltoallv(__pyx_v_m->sbuf, __pyx_v_m->scounts, __pyx_v_m->sdispls, __pyx_v_m->stype, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdispls, __pyx_v_m->rtype, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1807, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1807 * m.for_neighbor_alltoall(1, sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_alltoallv( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdispls, m.stype, * m.rbuf, m.rcounts, m.rdispls, m.rtype, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1811 * m.rbuf, m.rcounts, m.rdispls, m.rtype, * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":1812 * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Ineighbor_alltoallw(self, sendbuf, recvbuf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1800 * return request * * def Ineighbor_alltoallv(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Neighbor All-to-All Vector */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Ineighbor_alltoallv", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1814 * return request * * def Ineighbor_alltoallw(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Neighbor All-to-All Generalized */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_21Ineighbor_alltoallw(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Topocomm_20Ineighbor_alltoallw[] = "Topocomm.Ineighbor_alltoallw(self, sendbuf, recvbuf)\n\n Nonblocking Neighbor All-to-All Generalized\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_21Ineighbor_alltoallw(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendbuf = 0; PyObject *__pyx_v_recvbuf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Ineighbor_alltoallw (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendbuf,&__pyx_n_s_recvbuf,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_sendbuf)) != 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_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ineighbor_alltoallw", 1, 2, 2, 1); __PYX_ERR(7, 1814, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Ineighbor_alltoallw") < 0)) __PYX_ERR(7, 1814, __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_sendbuf = values[0]; __pyx_v_recvbuf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Ineighbor_alltoallw", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1814, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Ineighbor_alltoallw", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_20Ineighbor_alltoallw(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_sendbuf, __pyx_v_recvbuf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_20Ineighbor_alltoallw(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendbuf, PyObject *__pyx_v_recvbuf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Ineighbor_alltoallw", 0); /* "mpi4py/MPI/Comm.pyx":1818 * Nonblocking Neighbor All-to-All Generalized * """ * cdef _p_msg_ccow m = message_ccow() # <<<<<<<<<<<<<< * m.for_neighbor_alltoallw(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_ccow()); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1819 * """ * cdef _p_msg_ccow m = message_ccow() * m.for_neighbor_alltoallw(sendbuf, recvbuf, self.ob_mpi) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_alltoallw( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_11_p_msg_ccow_for_neighbor_alltoallw(__pyx_v_m, __pyx_v_sendbuf, __pyx_v_recvbuf, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1819, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1820 * cdef _p_msg_ccow m = message_ccow() * m.for_neighbor_alltoallw(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ineighbor_alltoallw( * m.sbuf, m.scounts, m.sdisplsA, m.stypes, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1820, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1821 * m.for_neighbor_alltoallw(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_alltoallw( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdisplsA, m.stypes, * m.rbuf, m.rcounts, m.rdisplsA, m.rtypes, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1824 * m.sbuf, m.scounts, m.sdisplsA, m.stypes, * m.rbuf, m.rcounts, m.rdisplsA, m.rtypes, * self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Ineighbor_alltoallw(__pyx_v_m->sbuf, __pyx_v_m->scounts, __pyx_v_m->sdisplsA, __pyx_v_m->stypes, __pyx_v_m->rbuf, __pyx_v_m->rcounts, __pyx_v_m->rdisplsA, __pyx_v_m->rtypes, __pyx_v_self->__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1821, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":1821 * m.for_neighbor_alltoallw(sendbuf, recvbuf, self.ob_mpi) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Ineighbor_alltoallw( # <<<<<<<<<<<<<< * m.sbuf, m.scounts, m.sdisplsA, m.stypes, * m.rbuf, m.rcounts, m.rdisplsA, m.rtypes, */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":1825 * m.rbuf, m.rcounts, m.rdisplsA, m.rtypes, * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/Comm.pyx":1826 * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * # Python Communication */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1814 * return request * * def Ineighbor_alltoallw(self, sendbuf, recvbuf): # <<<<<<<<<<<<<< * """ * Nonblocking Neighbor All-to-All Generalized */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.Ineighbor_alltoallw", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1830 * # Python Communication * # * def neighbor_allgather(self, sendobj): # <<<<<<<<<<<<<< * """Neighbor Gather to All""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_23neighbor_allgather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Topocomm_22neighbor_allgather[] = "Topocomm.neighbor_allgather(self, sendobj)\nNeighbor Gather to All"; static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_23neighbor_allgather(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendobj = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("neighbor_allgather (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendobj,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_sendobj)) != 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, "neighbor_allgather") < 0)) __PYX_ERR(7, 1830, __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_sendobj = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("neighbor_allgather", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1830, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.neighbor_allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_22neighbor_allgather(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_sendobj); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_22neighbor_allgather(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendobj) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("neighbor_allgather", 0); /* "mpi4py/MPI/Comm.pyx":1832 * def neighbor_allgather(self, sendobj): * """Neighbor Gather to All""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_neighbor_allgather(sendobj, comm) * # */ __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1833 * """Neighbor Gather to All""" * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_neighbor_allgather(sendobj, comm) # <<<<<<<<<<<<<< * # * def neighbor_alltoall(self, sendobj): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_neighbor_allgather(__pyx_v_sendobj, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1830 * # Python Communication * # * def neighbor_allgather(self, sendobj): # <<<<<<<<<<<<<< * """Neighbor Gather to All""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.neighbor_allgather", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1835 * return PyMPI_neighbor_allgather(sendobj, comm) * # * def neighbor_alltoall(self, sendobj): # <<<<<<<<<<<<<< * """Neighbor All to All Scatter/Gather""" * cdef MPI_Comm comm = self.ob_mpi */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_25neighbor_alltoall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Topocomm_24neighbor_alltoall[] = "Topocomm.neighbor_alltoall(self, sendobj)\nNeighbor All to All Scatter/Gather"; static PyObject *__pyx_pw_6mpi4py_3MPI_8Topocomm_25neighbor_alltoall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_sendobj = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("neighbor_alltoall (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sendobj,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_sendobj)) != 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, "neighbor_alltoall") < 0)) __PYX_ERR(7, 1835, __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_sendobj = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("neighbor_alltoall", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1835, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Topocomm.neighbor_alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Topocomm_24neighbor_alltoall(((struct PyMPITopocommObject *)__pyx_v_self), __pyx_v_sendobj); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Topocomm_24neighbor_alltoall(struct PyMPITopocommObject *__pyx_v_self, PyObject *__pyx_v_sendobj) { MPI_Comm __pyx_v_comm; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Comm __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("neighbor_alltoall", 0); /* "mpi4py/MPI/Comm.pyx":1837 * def neighbor_alltoall(self, sendobj): * """Neighbor All to All Scatter/Gather""" * cdef MPI_Comm comm = self.ob_mpi # <<<<<<<<<<<<<< * return PyMPI_neighbor_alltoall(sendobj, comm) * */ __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.ob_mpi; __pyx_v_comm = __pyx_t_1; /* "mpi4py/MPI/Comm.pyx":1838 * """Neighbor All to All Scatter/Gather""" * cdef MPI_Comm comm = self.ob_mpi * return PyMPI_neighbor_alltoall(sendobj, comm) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyMPI_neighbor_alltoall(__pyx_v_sendobj, __pyx_v_comm); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1835 * return PyMPI_neighbor_allgather(sendobj, comm) * # * def neighbor_alltoall(self, sendobj): # <<<<<<<<<<<<<< * """Neighbor All to All Scatter/Gather""" * cdef MPI_Comm comm = self.ob_mpi */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Topocomm.neighbor_alltoall", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1847 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_8Cartcomm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_8Cartcomm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPICommObject *)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_comm); 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(7, 1847, __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_comm = ((struct PyMPICommObject *)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(7, 1847, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) __PYX_ERR(7, 1847, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm___cinit__(((struct PyMPICartcommObject *)__pyx_v_self), __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_8Cartcomm___cinit__(struct PyMPICartcommObject *__pyx_v_self, CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm) { int __pyx_v_topo; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Comm.pyx":1848 * * def __cinit__(self, Comm comm=None): * if self.ob_mpi == MPI_COMM_NULL: return # <<<<<<<<<<<<<< * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) */ __pyx_t_1 = ((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":1849 * def __cinit__(self, Comm comm=None): * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * if topo != MPI_CART: raise TypeError( */ __pyx_v_topo = MPI_UNDEFINED; /* "mpi4py/MPI/Comm.pyx":1850 * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) # <<<<<<<<<<<<<< * if topo != MPI_CART: raise TypeError( * "expecting a Cartesian communicator") */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Topo_test(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_topo))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1850, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1851 * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * if topo != MPI_CART: raise TypeError( # <<<<<<<<<<<<<< * "expecting a Cartesian communicator") * */ __pyx_t_1 = ((__pyx_v_topo != MPI_CART) != 0); if (unlikely(__pyx_t_1)) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__98, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(7, 1851, __pyx_L1_error) } /* "mpi4py/MPI/Comm.pyx":1847 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1857 * # --------------------------- * * def Get_dim(self): # <<<<<<<<<<<<<< * """ * Return number of dimensions */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_3Get_dim(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Cartcomm_2Get_dim[] = "Cartcomm.Get_dim(self)\n\n Return number of dimensions\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_3Get_dim(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_dim (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_dim", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_dim", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm_2Get_dim(((struct PyMPICartcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_2Get_dim(struct PyMPICartcommObject *__pyx_v_self) { int __pyx_v_dim; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_dim", 0); /* "mpi4py/MPI/Comm.pyx":1861 * Return number of dimensions * """ * cdef int dim = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Cartdim_get(self.ob_mpi, &dim) ) * return dim */ __pyx_v_dim = 0; /* "mpi4py/MPI/Comm.pyx":1862 * """ * cdef int dim = 0 * CHKERR( MPI_Cartdim_get(self.ob_mpi, &dim) ) # <<<<<<<<<<<<<< * return dim * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cartdim_get(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_dim))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1862, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1863 * cdef int dim = 0 * CHKERR( MPI_Cartdim_get(self.ob_mpi, &dim) ) * return dim # <<<<<<<<<<<<<< * * property dim: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_dim); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1857 * # --------------------------- * * def Get_dim(self): # <<<<<<<<<<<<<< * """ * Return number of dimensions */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.Get_dim", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1867 * property dim: * """number of dimensions""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_dim() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_3dim_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_3dim_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm_3dim___get__(((struct PyMPICartcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_3dim___get__(struct PyMPICartcommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1868 * """number of dimensions""" * def __get__(self): * return self.Get_dim() # <<<<<<<<<<<<<< * * property ndim: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_dim); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1868, __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(7, 1868, __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; /* "mpi4py/MPI/Comm.pyx":1867 * property dim: * """number of dimensions""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_dim() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.dim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1872 * property ndim: * """number of dimensions""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_dim() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_4ndim_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_4ndim_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm_4ndim___get__(((struct PyMPICartcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_4ndim___get__(struct PyMPICartcommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1873 * """number of dimensions""" * def __get__(self): * return self.Get_dim() # <<<<<<<<<<<<<< * * def Get_topo(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_dim); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1873, __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(7, 1873, __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; /* "mpi4py/MPI/Comm.pyx":1872 * property ndim: * """number of dimensions""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_dim() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.ndim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1875 * return self.Get_dim() * * def Get_topo(self): # <<<<<<<<<<<<<< * """ * Return information on the cartesian topology */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_5Get_topo(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Cartcomm_4Get_topo[] = "Cartcomm.Get_topo(self)\n\n Return information on the cartesian topology\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_5Get_topo(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_topo (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_topo", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_topo", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm_4Get_topo(((struct PyMPICartcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_4Get_topo(struct PyMPICartcommObject *__pyx_v_self) { int __pyx_v_ndim; int *__pyx_v_idims; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; int *__pyx_v_iperiods; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; int *__pyx_v_icoords; CYTHON_UNUSED PyObject *__pyx_v_tmp3 = 0; int __pyx_v_i; PyObject *__pyx_v_dims = 0; PyObject *__pyx_v_periods = 0; PyObject *__pyx_v_coords = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_topo", 0); /* "mpi4py/MPI/Comm.pyx":1879 * Return information on the cartesian topology * """ * cdef int ndim = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * cdef int *idims = NULL */ __pyx_v_ndim = 0; /* "mpi4py/MPI/Comm.pyx":1880 * """ * cdef int ndim = 0 * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) # <<<<<<<<<<<<<< * cdef int *idims = NULL * cdef tmp1 = newarray(ndim, &idims) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cartdim_get(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_ndim))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1880, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1881 * cdef int ndim = 0 * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * cdef int *idims = NULL # <<<<<<<<<<<<<< * cdef tmp1 = newarray(ndim, &idims) * cdef int *iperiods = NULL */ __pyx_v_idims = NULL; /* "mpi4py/MPI/Comm.pyx":1882 * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * cdef int *idims = NULL * cdef tmp1 = newarray(ndim, &idims) # <<<<<<<<<<<<<< * cdef int *iperiods = NULL * cdef tmp2 = newarray(ndim, &iperiods) */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_ndim, (&__pyx_v_idims)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1883 * cdef int *idims = NULL * cdef tmp1 = newarray(ndim, &idims) * cdef int *iperiods = NULL # <<<<<<<<<<<<<< * cdef tmp2 = newarray(ndim, &iperiods) * cdef int *icoords = NULL */ __pyx_v_iperiods = NULL; /* "mpi4py/MPI/Comm.pyx":1884 * cdef tmp1 = newarray(ndim, &idims) * cdef int *iperiods = NULL * cdef tmp2 = newarray(ndim, &iperiods) # <<<<<<<<<<<<<< * cdef int *icoords = NULL * cdef tmp3 = newarray(ndim, &icoords) */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_ndim, (&__pyx_v_iperiods)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1885 * cdef int *iperiods = NULL * cdef tmp2 = newarray(ndim, &iperiods) * cdef int *icoords = NULL # <<<<<<<<<<<<<< * cdef tmp3 = newarray(ndim, &icoords) * CHKERR( MPI_Cart_get(self.ob_mpi, ndim, idims, iperiods, icoords) ) */ __pyx_v_icoords = NULL; /* "mpi4py/MPI/Comm.pyx":1886 * cdef tmp2 = newarray(ndim, &iperiods) * cdef int *icoords = NULL * cdef tmp3 = newarray(ndim, &icoords) # <<<<<<<<<<<<<< * CHKERR( MPI_Cart_get(self.ob_mpi, ndim, idims, iperiods, icoords) ) * cdef int i = 0 */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_ndim, (&__pyx_v_icoords)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1886, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp3 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1887 * cdef int *icoords = NULL * cdef tmp3 = newarray(ndim, &icoords) * CHKERR( MPI_Cart_get(self.ob_mpi, ndim, idims, iperiods, icoords) ) # <<<<<<<<<<<<<< * cdef int i = 0 * cdef object dims = [idims[i] for i from 0 <= i < ndim] */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cart_get(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, __pyx_v_ndim, __pyx_v_idims, __pyx_v_iperiods, __pyx_v_icoords)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1887, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1888 * cdef tmp3 = newarray(ndim, &icoords) * CHKERR( MPI_Cart_get(self.ob_mpi, ndim, idims, iperiods, icoords) ) * cdef int i = 0 # <<<<<<<<<<<<<< * cdef object dims = [idims[i] for i from 0 <= i < ndim] * cdef object periods = [iperiods[i] for i from 0 <= i < ndim] */ __pyx_v_i = 0; /* "mpi4py/MPI/Comm.pyx":1889 * CHKERR( MPI_Cart_get(self.ob_mpi, ndim, idims, iperiods, icoords) ) * cdef int i = 0 * cdef object dims = [idims[i] for i from 0 <= i < ndim] # <<<<<<<<<<<<<< * cdef object periods = [iperiods[i] for i from 0 <= i < ndim] * cdef object coords = [icoords[i] for i from 0 <= i < ndim] */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_ndim; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_idims[__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 1889, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_dims = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1890 * cdef int i = 0 * cdef object dims = [idims[i] for i from 0 <= i < ndim] * cdef object periods = [iperiods[i] for i from 0 <= i < ndim] # <<<<<<<<<<<<<< * cdef object coords = [icoords[i] for i from 0 <= i < ndim] * return (dims, periods, coords) */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1890, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_ndim; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_iperiods[__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1890, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 1890, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_periods = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1891 * cdef object dims = [idims[i] for i from 0 <= i < ndim] * cdef object periods = [iperiods[i] for i from 0 <= i < ndim] * cdef object coords = [icoords[i] for i from 0 <= i < ndim] # <<<<<<<<<<<<<< * return (dims, periods, coords) * */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_ndim; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_icoords[__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 1891, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_coords = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1892 * cdef object periods = [iperiods[i] for i from 0 <= i < ndim] * cdef object coords = [icoords[i] for i from 0 <= i < ndim] * return (dims, periods, coords) # <<<<<<<<<<<<<< * * property topo: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_dims); __Pyx_GIVEREF(__pyx_v_dims); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_dims); __Pyx_INCREF(__pyx_v_periods); __Pyx_GIVEREF(__pyx_v_periods); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_periods); __Pyx_INCREF(__pyx_v_coords); __Pyx_GIVEREF(__pyx_v_coords); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_coords); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1875 * return self.Get_dim() * * def Get_topo(self): # <<<<<<<<<<<<<< * """ * Return information on the cartesian topology */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.Get_topo", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_tmp3); __Pyx_XDECREF(__pyx_v_dims); __Pyx_XDECREF(__pyx_v_periods); __Pyx_XDECREF(__pyx_v_coords); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1896 * property topo: * """topology information""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_4topo_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_4topo_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm_4topo___get__(((struct PyMPICartcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_4topo___get__(struct PyMPICartcommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1897 * """topology information""" * def __get__(self): * return self.Get_topo() # <<<<<<<<<<<<<< * * property dims: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_topo); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1897, __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(7, 1897, __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; /* "mpi4py/MPI/Comm.pyx":1896 * property topo: * """topology information""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.topo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1901 * property dims: * """dimensions""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo()[0] * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_4dims_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_4dims_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm_4dims___get__(((struct PyMPICartcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_4dims___get__(struct PyMPICartcommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1902 * """dimensions""" * def __get__(self): * return self.Get_topo()[0] # <<<<<<<<<<<<<< * * property periods: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_topo); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1902, __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(7, 1902, __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(7, 1902, __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; /* "mpi4py/MPI/Comm.pyx":1901 * property dims: * """dimensions""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo()[0] * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.dims.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1906 * property periods: * """periodicity""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo()[1] * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_7periods_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_7periods_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm_7periods___get__(((struct PyMPICartcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_7periods___get__(struct PyMPICartcommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1907 * """periodicity""" * def __get__(self): * return self.Get_topo()[1] # <<<<<<<<<<<<<< * * property coords: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_topo); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1907, __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(7, 1907, __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, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1907, __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; /* "mpi4py/MPI/Comm.pyx":1906 * property periods: * """periodicity""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo()[1] * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.periods.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1911 * property coords: * """coordinates""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo()[2] * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_6coords_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_6coords_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm_6coords___get__(((struct PyMPICartcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_6coords___get__(struct PyMPICartcommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":1912 * """coordinates""" * def __get__(self): * return self.Get_topo()[2] # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_topo); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1912, __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(7, 1912, __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, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1912, __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; /* "mpi4py/MPI/Comm.pyx":1911 * property coords: * """coordinates""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo()[2] * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.coords.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1918 * # ------------------------------ * * def Get_cart_rank(self, coords): # <<<<<<<<<<<<<< * """ * Translate logical coordinates to ranks */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_7Get_cart_rank(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Cartcomm_6Get_cart_rank[] = "Cartcomm.Get_cart_rank(self, coords)\n\n Translate logical coordinates to ranks\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_7Get_cart_rank(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_coords = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_cart_rank (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_coords,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_coords)) != 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, "Get_cart_rank") < 0)) __PYX_ERR(7, 1918, __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_coords = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_cart_rank", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1918, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.Get_cart_rank", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm_6Get_cart_rank(((struct PyMPICartcommObject *)__pyx_v_self), __pyx_v_coords); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_6Get_cart_rank(struct PyMPICartcommObject *__pyx_v_self, PyObject *__pyx_v_coords) { int __pyx_v_ndim; int *__pyx_v_icoords; int __pyx_v_rank; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_cart_rank", 0); __Pyx_INCREF(__pyx_v_coords); /* "mpi4py/MPI/Comm.pyx":1922 * Translate logical coordinates to ranks * """ * cdef int ndim = 0, *icoords = NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Cartdim_get( self.ob_mpi, &ndim) ) * coords = chkarray(coords, ndim, &icoords) */ __pyx_v_ndim = 0; __pyx_v_icoords = NULL; /* "mpi4py/MPI/Comm.pyx":1923 * """ * cdef int ndim = 0, *icoords = NULL * CHKERR( MPI_Cartdim_get( self.ob_mpi, &ndim) ) # <<<<<<<<<<<<<< * coords = chkarray(coords, ndim, &icoords) * cdef int rank = MPI_PROC_NULL */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cartdim_get(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_ndim))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1923, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1924 * cdef int ndim = 0, *icoords = NULL * CHKERR( MPI_Cartdim_get( self.ob_mpi, &ndim) ) * coords = chkarray(coords, ndim, &icoords) # <<<<<<<<<<<<<< * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Cart_rank(self.ob_mpi, icoords, &rank) ) */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_coords, __pyx_v_ndim, (&__pyx_v_icoords)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_coords, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1925 * CHKERR( MPI_Cartdim_get( self.ob_mpi, &ndim) ) * coords = chkarray(coords, ndim, &icoords) * cdef int rank = MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Cart_rank(self.ob_mpi, icoords, &rank) ) * return rank */ __pyx_v_rank = MPI_PROC_NULL; /* "mpi4py/MPI/Comm.pyx":1926 * coords = chkarray(coords, ndim, &icoords) * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Cart_rank(self.ob_mpi, icoords, &rank) ) # <<<<<<<<<<<<<< * return rank * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cart_rank(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, __pyx_v_icoords, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1926, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1927 * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Cart_rank(self.ob_mpi, icoords, &rank) ) * return rank # <<<<<<<<<<<<<< * * def Get_coords(self, int rank): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_rank); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1927, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1918 * # ------------------------------ * * def Get_cart_rank(self, coords): # <<<<<<<<<<<<<< * """ * Translate logical coordinates to ranks */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.Get_cart_rank", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_coords); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1929 * return rank * * def Get_coords(self, int rank): # <<<<<<<<<<<<<< * """ * Translate ranks to logical coordinates */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_9Get_coords(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Cartcomm_8Get_coords[] = "Cartcomm.Get_coords(self, int rank)\n\n Translate ranks to logical coordinates\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_9Get_coords(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_rank; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_coords (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rank,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_rank)) != 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, "Get_coords") < 0)) __PYX_ERR(7, 1929, __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_rank = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1929, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_coords", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1929, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.Get_coords", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm_8Get_coords(((struct PyMPICartcommObject *)__pyx_v_self), __pyx_v_rank); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_8Get_coords(struct PyMPICartcommObject *__pyx_v_self, int __pyx_v_rank) { int __pyx_v_i; int __pyx_v_ndim; int *__pyx_v_icoords; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_v_coords = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_coords", 0); /* "mpi4py/MPI/Comm.pyx":1933 * Translate ranks to logical coordinates * """ * cdef int i = 0, ndim = 0, *icoords = NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * cdef tmp = newarray(ndim, &icoords) */ __pyx_v_i = 0; __pyx_v_ndim = 0; __pyx_v_icoords = NULL; /* "mpi4py/MPI/Comm.pyx":1934 * """ * cdef int i = 0, ndim = 0, *icoords = NULL * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) # <<<<<<<<<<<<<< * cdef tmp = newarray(ndim, &icoords) * CHKERR( MPI_Cart_coords(self.ob_mpi, rank, ndim, icoords) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cartdim_get(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_ndim))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1934, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1935 * cdef int i = 0, ndim = 0, *icoords = NULL * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * cdef tmp = newarray(ndim, &icoords) # <<<<<<<<<<<<<< * CHKERR( MPI_Cart_coords(self.ob_mpi, rank, ndim, icoords) ) * cdef object coords = [icoords[i] for i from 0 <= i < ndim] */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_ndim, (&__pyx_v_icoords)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1936 * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * cdef tmp = newarray(ndim, &icoords) * CHKERR( MPI_Cart_coords(self.ob_mpi, rank, ndim, icoords) ) # <<<<<<<<<<<<<< * cdef object coords = [icoords[i] for i from 0 <= i < ndim] * return coords */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cart_coords(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, __pyx_v_rank, __pyx_v_ndim, __pyx_v_icoords)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1936, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1937 * cdef tmp = newarray(ndim, &icoords) * CHKERR( MPI_Cart_coords(self.ob_mpi, rank, ndim, icoords) ) * cdef object coords = [icoords[i] for i from 0 <= i < ndim] # <<<<<<<<<<<<<< * return coords * */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_ndim; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_icoords[__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 1937, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_coords = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1938 * CHKERR( MPI_Cart_coords(self.ob_mpi, rank, ndim, icoords) ) * cdef object coords = [icoords[i] for i from 0 <= i < ndim] * return coords # <<<<<<<<<<<<<< * * # Cartesian Shift Function */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_coords); __pyx_r = __pyx_v_coords; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1929 * return rank * * def Get_coords(self, int rank): # <<<<<<<<<<<<<< * """ * Translate ranks to logical coordinates */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.Get_coords", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XDECREF(__pyx_v_coords); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1943 * # ------------------------ * * def Shift(self, int direction, int disp): # <<<<<<<<<<<<<< * """ * Return a tuple (source,dest) of process ranks */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_11Shift(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Cartcomm_10Shift[] = "Cartcomm.Shift(self, int direction, int disp)\n\n Return a tuple (source,dest) of process ranks\n for data shifting with Comm.Sendrecv()\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_11Shift(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_direction; int __pyx_v_disp; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Shift (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_direction,&__pyx_n_s_disp,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_direction)) != 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_disp)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Shift", 1, 2, 2, 1); __PYX_ERR(7, 1943, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Shift") < 0)) __PYX_ERR(7, 1943, __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_direction = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_direction == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1943, __pyx_L3_error) __pyx_v_disp = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_disp == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1943, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Shift", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1943, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.Shift", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm_10Shift(((struct PyMPICartcommObject *)__pyx_v_self), __pyx_v_direction, __pyx_v_disp); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_10Shift(struct PyMPICartcommObject *__pyx_v_self, int __pyx_v_direction, int __pyx_v_disp) { int __pyx_v_source; int __pyx_v_dest; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Shift", 0); /* "mpi4py/MPI/Comm.pyx":1948 * for data shifting with Comm.Sendrecv() * """ * cdef int source = MPI_PROC_NULL, dest = MPI_PROC_NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Cart_shift(self.ob_mpi, direction, disp, &source, &dest) ) * return (source, dest) */ __pyx_v_source = MPI_PROC_NULL; __pyx_v_dest = MPI_PROC_NULL; /* "mpi4py/MPI/Comm.pyx":1949 * """ * cdef int source = MPI_PROC_NULL, dest = MPI_PROC_NULL * CHKERR( MPI_Cart_shift(self.ob_mpi, direction, disp, &source, &dest) ) # <<<<<<<<<<<<<< * return (source, dest) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cart_shift(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, __pyx_v_direction, __pyx_v_disp, (&__pyx_v_source), (&__pyx_v_dest))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1949, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1950 * cdef int source = MPI_PROC_NULL, dest = MPI_PROC_NULL * CHKERR( MPI_Cart_shift(self.ob_mpi, direction, disp, &source, &dest) ) * return (source, dest) # <<<<<<<<<<<<<< * * # Cartesian Partition Function */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_source); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_dest); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1943 * # ------------------------ * * def Shift(self, int direction, int disp): # <<<<<<<<<<<<<< * """ * Return a tuple (source,dest) of process ranks */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.Shift", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1955 * # ---------------------------- * * def Sub(self, remain_dims): # <<<<<<<<<<<<<< * """ * Return cartesian communicators */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_13Sub(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Cartcomm_12Sub[] = "Cartcomm.Sub(self, remain_dims)\n\n Return cartesian communicators\n that form lower-dimensional subgrids\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_8Cartcomm_13Sub(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_remain_dims = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Sub (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_remain_dims,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_remain_dims)) != 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, "Sub") < 0)) __PYX_ERR(7, 1955, __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_remain_dims = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Sub", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1955, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.Sub", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_8Cartcomm_12Sub(((struct PyMPICartcommObject *)__pyx_v_self), __pyx_v_remain_dims); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Cartcomm_12Sub(struct PyMPICartcommObject *__pyx_v_self, PyObject *__pyx_v_remain_dims) { int __pyx_v_ndim; int *__pyx_v_iremdims; struct PyMPICartcommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Sub", 0); __Pyx_INCREF(__pyx_v_remain_dims); /* "mpi4py/MPI/Comm.pyx":1960 * that form lower-dimensional subgrids * """ * cdef int ndim = 0, *iremdims = NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * remain_dims = chkarray(remain_dims, ndim, &iremdims) */ __pyx_v_ndim = 0; __pyx_v_iremdims = NULL; /* "mpi4py/MPI/Comm.pyx":1961 * """ * cdef int ndim = 0, *iremdims = NULL * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) # <<<<<<<<<<<<<< * remain_dims = chkarray(remain_dims, ndim, &iremdims) * cdef Cartcomm comm = Cartcomm.__new__(Cartcomm) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cartdim_get(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_ndim))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1961, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1962 * cdef int ndim = 0, *iremdims = NULL * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * remain_dims = chkarray(remain_dims, ndim, &iremdims) # <<<<<<<<<<<<<< * cdef Cartcomm comm = Cartcomm.__new__(Cartcomm) * with nogil: CHKERR( MPI_Cart_sub(self.ob_mpi, iremdims, &comm.ob_mpi) ) */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_remain_dims, __pyx_v_ndim, (&__pyx_v_iremdims)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_remain_dims, __pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":1963 * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * remain_dims = chkarray(remain_dims, ndim, &iremdims) * cdef Cartcomm comm = Cartcomm.__new__(Cartcomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Cart_sub(self.ob_mpi, iremdims, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Cartcomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Cartcomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1963, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_comm = ((struct PyMPICartcommObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":1964 * remain_dims = chkarray(remain_dims, ndim, &iremdims) * cdef Cartcomm comm = Cartcomm.__new__(Cartcomm) * with nogil: CHKERR( MPI_Cart_sub(self.ob_mpi, iremdims, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cart_sub(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, __pyx_v_iremdims, (&__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1964, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":1965 * cdef Cartcomm comm = Cartcomm.__new__(Cartcomm) * with nogil: CHKERR( MPI_Cart_sub(self.ob_mpi, iremdims, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 1965, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1966 * with nogil: CHKERR( MPI_Cart_sub(self.ob_mpi, iremdims, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1955 * # ---------------------------- * * def Sub(self, remain_dims): # <<<<<<<<<<<<<< * """ * Return cartesian communicators */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Cartcomm.Sub", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XDECREF(__pyx_v_remain_dims); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1971 * # Cartesian Convenience Function * * def Compute_dims(int nnodes, dims): # <<<<<<<<<<<<<< * """ * Return a balanced distribution of */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_23Compute_dims(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_22Compute_dims[] = "Compute_dims(int nnodes, dims)\n\n Return a balanced distribution of\n processes per coordinate direction\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_23Compute_dims = {"Compute_dims", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_23Compute_dims, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_22Compute_dims}; static PyObject *__pyx_pw_6mpi4py_3MPI_23Compute_dims(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_nnodes; PyObject *__pyx_v_dims = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Compute_dims (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_nnodes,&__pyx_n_s_dims,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_dims)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Compute_dims", 1, 2, 2, 1); __PYX_ERR(7, 1971, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Compute_dims") < 0)) __PYX_ERR(7, 1971, __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 = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_nnodes == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1971, __pyx_L3_error) __pyx_v_dims = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Compute_dims", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1971, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Compute_dims", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_22Compute_dims(__pyx_self, __pyx_v_nnodes, __pyx_v_dims); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_22Compute_dims(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_nnodes, PyObject *__pyx_v_dims) { int __pyx_v_i; int __pyx_v_ndims; int *__pyx_v_idims; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; 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 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; int __pyx_t_8; PyObject *__pyx_t_9 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Compute_dims", 0); __Pyx_INCREF(__pyx_v_dims); /* "mpi4py/MPI/Comm.pyx":1976 * processes per coordinate direction * """ * cdef int i = 0, ndims = 0, *idims = NULL # <<<<<<<<<<<<<< * try: * ndims = len(dims) */ __pyx_v_i = 0; __pyx_v_ndims = 0; __pyx_v_idims = NULL; /* "mpi4py/MPI/Comm.pyx":1977 * """ * cdef int i = 0, ndims = 0, *idims = NULL * try: # <<<<<<<<<<<<<< * ndims = len(dims) * except: */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); __Pyx_XGOTREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); /*try:*/ { /* "mpi4py/MPI/Comm.pyx":1978 * cdef int i = 0, ndims = 0, *idims = NULL * try: * ndims = len(dims) # <<<<<<<<<<<<<< * except: * ndims = dims */ __pyx_t_4 = PyObject_Length(__pyx_v_dims); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(7, 1978, __pyx_L3_error) __pyx_v_ndims = ((int)__pyx_t_4); /* "mpi4py/MPI/Comm.pyx":1977 * """ * cdef int i = 0, ndims = 0, *idims = NULL * try: # <<<<<<<<<<<<<< * ndims = len(dims) * except: */ } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L8_try_end; __pyx_L3_error:; /* "mpi4py/MPI/Comm.pyx":1979 * try: * ndims = len(dims) * except: # <<<<<<<<<<<<<< * ndims = dims * dims = [0] * ndims */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.Compute_dims", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(7, 1979, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); /* "mpi4py/MPI/Comm.pyx":1980 * ndims = len(dims) * except: * ndims = dims # <<<<<<<<<<<<<< * dims = [0] * ndims * cdef tmp = chkarray(dims, ndims, &idims) */ __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_dims); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1980, __pyx_L5_except_error) __pyx_v_ndims = __pyx_t_8; /* "mpi4py/MPI/Comm.pyx":1981 * except: * ndims = dims * dims = [0] * ndims # <<<<<<<<<<<<<< * cdef tmp = chkarray(dims, ndims, &idims) * CHKERR( MPI_Dims_create(nnodes, ndims, idims) ) */ __pyx_t_9 = PyList_New(1 * ((__pyx_v_ndims<0) ? 0:__pyx_v_ndims)); if (unlikely(!__pyx_t_9)) __PYX_ERR(7, 1981, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_9); { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < __pyx_v_ndims; __pyx_temp++) { __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyList_SET_ITEM(__pyx_t_9, __pyx_temp, __pyx_int_0); } } __Pyx_DECREF_SET(__pyx_v_dims, __pyx_t_9); __pyx_t_9 = 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; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "mpi4py/MPI/Comm.pyx":1977 * """ * cdef int i = 0, ndims = 0, *idims = NULL * try: # <<<<<<<<<<<<<< * ndims = len(dims) * except: */ __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:; } /* "mpi4py/MPI/Comm.pyx":1982 * ndims = dims * dims = [0] * ndims * cdef tmp = chkarray(dims, ndims, &idims) # <<<<<<<<<<<<<< * CHKERR( MPI_Dims_create(nnodes, ndims, idims) ) * dims = [idims[i] for i from 0 <= i < ndims] */ __pyx_t_7 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_chkarray(__pyx_v_dims, __pyx_v_ndims, (&__pyx_v_idims)); if (unlikely(!__pyx_t_7)) __PYX_ERR(7, 1982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_v_tmp = __pyx_t_7; __pyx_t_7 = 0; /* "mpi4py/MPI/Comm.pyx":1983 * dims = [0] * ndims * cdef tmp = chkarray(dims, ndims, &idims) * CHKERR( MPI_Dims_create(nnodes, ndims, idims) ) # <<<<<<<<<<<<<< * dims = [idims[i] for i from 0 <= i < ndims] * return dims */ __pyx_t_8 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Dims_create(__pyx_v_nnodes, __pyx_v_ndims, __pyx_v_idims)); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(7, 1983, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1984 * cdef tmp = chkarray(dims, ndims, &idims) * CHKERR( MPI_Dims_create(nnodes, ndims, idims) ) * dims = [idims[i] for i from 0 <= i < ndims] # <<<<<<<<<<<<<< * return dims * */ __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(7, 1984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __pyx_v_ndims; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_8; __pyx_v_i++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_idims[__pyx_v_i])); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 1984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_6))) __PYX_ERR(7, 1984, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF_SET(__pyx_v_dims, __pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/Comm.pyx":1985 * CHKERR( MPI_Dims_create(nnodes, ndims, idims) ) * dims = [idims[i] for i from 0 <= i < ndims] * return dims # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_dims); __pyx_r = __pyx_v_dims; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":1971 * # Cartesian Convenience Function * * def Compute_dims(int nnodes, dims): # <<<<<<<<<<<<<< * """ * Return a balanced distribution of */ /* 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("mpi4py.MPI.Compute_dims", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XDECREF(__pyx_v_dims); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":1994 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_9Graphcomm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_9Graphcomm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPICommObject *)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_comm); 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(7, 1994, __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_comm = ((struct PyMPICommObject *)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(7, 1994, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) __PYX_ERR(7, 1994, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm___cinit__(((struct PyMPIGraphcommObject *)__pyx_v_self), __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_9Graphcomm___cinit__(struct PyMPIGraphcommObject *__pyx_v_self, CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm) { int __pyx_v_topo; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Comm.pyx":1995 * * def __cinit__(self, Comm comm=None): * if self.ob_mpi == MPI_COMM_NULL: return # <<<<<<<<<<<<<< * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) */ __pyx_t_1 = ((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":1996 * def __cinit__(self, Comm comm=None): * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * if topo != MPI_GRAPH: raise TypeError( */ __pyx_v_topo = MPI_UNDEFINED; /* "mpi4py/MPI/Comm.pyx":1997 * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) # <<<<<<<<<<<<<< * if topo != MPI_GRAPH: raise TypeError( * "expecting a general graph communicator") */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Topo_test(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_topo))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 1997, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1998 * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * if topo != MPI_GRAPH: raise TypeError( # <<<<<<<<<<<<<< * "expecting a general graph communicator") * */ __pyx_t_1 = ((__pyx_v_topo != MPI_GRAPH) != 0); if (unlikely(__pyx_t_1)) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__99, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(7, 1998, __pyx_L1_error) } /* "mpi4py/MPI/Comm.pyx":1994 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2004 * # ----------------------- * * def Get_dims(self): # <<<<<<<<<<<<<< * """ * Return the number of nodes and edges */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_3Get_dims(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Graphcomm_2Get_dims[] = "Graphcomm.Get_dims(self)\n\n Return the number of nodes and edges\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_3Get_dims(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_dims (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_dims", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_dims", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm_2Get_dims(((struct PyMPIGraphcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_2Get_dims(struct PyMPIGraphcommObject *__pyx_v_self) { int __pyx_v_nnodes; int __pyx_v_nedges; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_dims", 0); /* "mpi4py/MPI/Comm.pyx":2008 * Return the number of nodes and edges * """ * cdef int nnodes = 0, nedges = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Graphdims_get(self.ob_mpi, &nnodes, &nedges) ) * return (nnodes, nedges) */ __pyx_v_nnodes = 0; __pyx_v_nedges = 0; /* "mpi4py/MPI/Comm.pyx":2009 * """ * cdef int nnodes = 0, nedges = 0 * CHKERR( MPI_Graphdims_get(self.ob_mpi, &nnodes, &nedges) ) # <<<<<<<<<<<<<< * return (nnodes, nedges) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Graphdims_get(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_nnodes), (&__pyx_v_nedges))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2009, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2010 * cdef int nnodes = 0, nedges = 0 * CHKERR( MPI_Graphdims_get(self.ob_mpi, &nnodes, &nedges) ) * return (nnodes, nedges) # <<<<<<<<<<<<<< * * property dims: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_nnodes); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_nedges); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":2004 * # ----------------------- * * def Get_dims(self): # <<<<<<<<<<<<<< * """ * Return the number of nodes and edges */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.Get_dims", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2014 * property dims: * """number of nodes and edges""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_dims() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_4dims_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_4dims_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm_4dims___get__(((struct PyMPIGraphcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_4dims___get__(struct PyMPIGraphcommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":2015 * """number of nodes and edges""" * def __get__(self): * return self.Get_dims() # <<<<<<<<<<<<<< * * property nnodes: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_dims); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2015, __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(7, 2015, __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; /* "mpi4py/MPI/Comm.pyx":2014 * property dims: * """number of nodes and edges""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_dims() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.dims.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2019 * property nnodes: * """number of nodes""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_dims()[0] * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_6nnodes_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_6nnodes_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm_6nnodes___get__(((struct PyMPIGraphcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_6nnodes___get__(struct PyMPIGraphcommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":2020 * """number of nodes""" * def __get__(self): * return self.Get_dims()[0] # <<<<<<<<<<<<<< * * property nedges: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_dims); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2020, __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(7, 2020, __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(7, 2020, __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; /* "mpi4py/MPI/Comm.pyx":2019 * property nnodes: * """number of nodes""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_dims()[0] * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.nnodes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2024 * property nedges: * """number of edges""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_dims()[1] * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_6nedges_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_6nedges_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm_6nedges___get__(((struct PyMPIGraphcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_6nedges___get__(struct PyMPIGraphcommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":2025 * """number of edges""" * def __get__(self): * return self.Get_dims()[1] # <<<<<<<<<<<<<< * * def Get_topo(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_dims); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2025, __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(7, 2025, __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, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2025, __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; /* "mpi4py/MPI/Comm.pyx":2024 * property nedges: * """number of edges""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_dims()[1] * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.nedges.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2027 * return self.Get_dims()[1] * * def Get_topo(self): # <<<<<<<<<<<<<< * """ * Return index and edges */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_5Get_topo(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Graphcomm_4Get_topo[] = "Graphcomm.Get_topo(self)\n\n Return index and edges\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_5Get_topo(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_topo (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_topo", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_topo", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm_4Get_topo(((struct PyMPIGraphcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_4Get_topo(struct PyMPIGraphcommObject *__pyx_v_self) { int __pyx_v_nindex; int __pyx_v_nedges; int *__pyx_v_iindex; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; int *__pyx_v_iedges; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; int __pyx_v_i; PyObject *__pyx_v_index = 0; PyObject *__pyx_v_edges = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_topo", 0); /* "mpi4py/MPI/Comm.pyx":2031 * Return index and edges * """ * cdef int nindex = 0, nedges = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Graphdims_get( self.ob_mpi, &nindex, &nedges) ) * cdef int *iindex = NULL */ __pyx_v_nindex = 0; __pyx_v_nedges = 0; /* "mpi4py/MPI/Comm.pyx":2032 * """ * cdef int nindex = 0, nedges = 0 * CHKERR( MPI_Graphdims_get( self.ob_mpi, &nindex, &nedges) ) # <<<<<<<<<<<<<< * cdef int *iindex = NULL * cdef tmp1 = newarray(nindex, &iindex) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Graphdims_get(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_nindex), (&__pyx_v_nedges))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2032, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2033 * cdef int nindex = 0, nedges = 0 * CHKERR( MPI_Graphdims_get( self.ob_mpi, &nindex, &nedges) ) * cdef int *iindex = NULL # <<<<<<<<<<<<<< * cdef tmp1 = newarray(nindex, &iindex) * cdef int *iedges = NULL */ __pyx_v_iindex = NULL; /* "mpi4py/MPI/Comm.pyx":2034 * CHKERR( MPI_Graphdims_get( self.ob_mpi, &nindex, &nedges) ) * cdef int *iindex = NULL * cdef tmp1 = newarray(nindex, &iindex) # <<<<<<<<<<<<<< * cdef int *iedges = NULL * cdef tmp2 = newarray(nedges, &iedges) */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_nindex, (&__pyx_v_iindex)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2035 * cdef int *iindex = NULL * cdef tmp1 = newarray(nindex, &iindex) * cdef int *iedges = NULL # <<<<<<<<<<<<<< * cdef tmp2 = newarray(nedges, &iedges) * CHKERR( MPI_Graph_get(self.ob_mpi, nindex, nedges, iindex, iedges) ) */ __pyx_v_iedges = NULL; /* "mpi4py/MPI/Comm.pyx":2036 * cdef tmp1 = newarray(nindex, &iindex) * cdef int *iedges = NULL * cdef tmp2 = newarray(nedges, &iedges) # <<<<<<<<<<<<<< * CHKERR( MPI_Graph_get(self.ob_mpi, nindex, nedges, iindex, iedges) ) * cdef int i = 0 */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_nedges, (&__pyx_v_iedges)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2036, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2037 * cdef int *iedges = NULL * cdef tmp2 = newarray(nedges, &iedges) * CHKERR( MPI_Graph_get(self.ob_mpi, nindex, nedges, iindex, iedges) ) # <<<<<<<<<<<<<< * cdef int i = 0 * cdef object index = [iindex[i] for i from 0 <= i < nindex] */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Graph_get(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, __pyx_v_nindex, __pyx_v_nedges, __pyx_v_iindex, __pyx_v_iedges)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2037, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2038 * cdef tmp2 = newarray(nedges, &iedges) * CHKERR( MPI_Graph_get(self.ob_mpi, nindex, nedges, iindex, iedges) ) * cdef int i = 0 # <<<<<<<<<<<<<< * cdef object index = [iindex[i] for i from 0 <= i < nindex] * cdef object edges = [iedges[i] for i from 0 <= i < nedges] */ __pyx_v_i = 0; /* "mpi4py/MPI/Comm.pyx":2039 * CHKERR( MPI_Graph_get(self.ob_mpi, nindex, nedges, iindex, iedges) ) * cdef int i = 0 * cdef object index = [iindex[i] for i from 0 <= i < nindex] # <<<<<<<<<<<<<< * cdef object edges = [iedges[i] for i from 0 <= i < nedges] * return (index, edges) */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_nindex; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_iindex[__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 2039, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_index = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2040 * cdef int i = 0 * cdef object index = [iindex[i] for i from 0 <= i < nindex] * cdef object edges = [iedges[i] for i from 0 <= i < nedges] # <<<<<<<<<<<<<< * return (index, edges) * */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_nedges; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_iedges[__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 2040, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_edges = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2041 * cdef object index = [iindex[i] for i from 0 <= i < nindex] * cdef object edges = [iedges[i] for i from 0 <= i < nedges] * return (index, edges) # <<<<<<<<<<<<<< * * property topo: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_index); __Pyx_GIVEREF(__pyx_v_index); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_index); __Pyx_INCREF(__pyx_v_edges); __Pyx_GIVEREF(__pyx_v_edges); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_edges); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":2027 * return self.Get_dims()[1] * * def Get_topo(self): # <<<<<<<<<<<<<< * """ * Return index and edges */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.Get_topo", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_index); __Pyx_XDECREF(__pyx_v_edges); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2045 * property topo: * """topology information""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_4topo_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_4topo_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm_4topo___get__(((struct PyMPIGraphcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_4topo___get__(struct PyMPIGraphcommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":2046 * """topology information""" * def __get__(self): * return self.Get_topo() # <<<<<<<<<<<<<< * * property index: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_topo); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2046, __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(7, 2046, __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; /* "mpi4py/MPI/Comm.pyx":2045 * property topo: * """topology information""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.topo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2050 * property index: * """index""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo()[0] * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_5index_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_5index_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm_5index___get__(((struct PyMPIGraphcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_5index___get__(struct PyMPIGraphcommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":2051 * """index""" * def __get__(self): * return self.Get_topo()[0] # <<<<<<<<<<<<<< * * property edges: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_topo); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2051, __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(7, 2051, __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(7, 2051, __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; /* "mpi4py/MPI/Comm.pyx":2050 * property index: * """index""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo()[0] * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.index.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2055 * property edges: * """edges""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo()[1] * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_5edges_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_5edges_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm_5edges___get__(((struct PyMPIGraphcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_5edges___get__(struct PyMPIGraphcommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":2056 * """edges""" * def __get__(self): * return self.Get_topo()[1] # <<<<<<<<<<<<<< * * # Graph Information Functions */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_topo); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2056, __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(7, 2056, __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, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2056, __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; /* "mpi4py/MPI/Comm.pyx":2055 * property edges: * """edges""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_topo()[1] * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.edges.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2061 * # --------------------------- * * def Get_neighbors_count(self, int rank): # <<<<<<<<<<<<<< * """ * Return number of neighbors of a process */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_7Get_neighbors_count(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Graphcomm_6Get_neighbors_count[] = "Graphcomm.Get_neighbors_count(self, int rank)\n\n Return number of neighbors of a process\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_7Get_neighbors_count(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_rank; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_neighbors_count (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rank,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_rank)) != 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, "Get_neighbors_count") < 0)) __PYX_ERR(7, 2061, __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_rank = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 2061, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_neighbors_count", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 2061, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.Get_neighbors_count", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm_6Get_neighbors_count(((struct PyMPIGraphcommObject *)__pyx_v_self), __pyx_v_rank); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_6Get_neighbors_count(struct PyMPIGraphcommObject *__pyx_v_self, int __pyx_v_rank) { int __pyx_v_nneighbors; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_neighbors_count", 0); /* "mpi4py/MPI/Comm.pyx":2065 * Return number of neighbors of a process * """ * cdef int nneighbors = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Graph_neighbors_count(self.ob_mpi, rank, &nneighbors) ) * return nneighbors */ __pyx_v_nneighbors = 0; /* "mpi4py/MPI/Comm.pyx":2066 * """ * cdef int nneighbors = 0 * CHKERR( MPI_Graph_neighbors_count(self.ob_mpi, rank, &nneighbors) ) # <<<<<<<<<<<<<< * return nneighbors * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Graph_neighbors_count(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, __pyx_v_rank, (&__pyx_v_nneighbors))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2066, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2067 * cdef int nneighbors = 0 * CHKERR( MPI_Graph_neighbors_count(self.ob_mpi, rank, &nneighbors) ) * return nneighbors # <<<<<<<<<<<<<< * * property nneighbors: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_nneighbors); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":2061 * # --------------------------- * * def Get_neighbors_count(self, int rank): # <<<<<<<<<<<<<< * """ * Return number of neighbors of a process */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.Get_neighbors_count", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2071 * property nneighbors: * """number of neighbors""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int rank = self.Get_rank() * return self.Get_neighbors_count(rank) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_10nneighbors_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_10nneighbors_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm_10nneighbors___get__(((struct PyMPIGraphcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_10nneighbors___get__(struct PyMPIGraphcommObject *__pyx_v_self) { int __pyx_v_rank; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":2072 * """number of neighbors""" * def __get__(self): * cdef int rank = self.Get_rank() # <<<<<<<<<<<<<< * return self.Get_neighbors_count(rank) * */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_rank); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2072, __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(7, 2072, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 2072, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_rank = __pyx_t_4; /* "mpi4py/MPI/Comm.pyx":2073 * def __get__(self): * cdef int rank = self.Get_rank() * return self.Get_neighbors_count(rank) # <<<<<<<<<<<<<< * * def Get_neighbors(self, int rank): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_neighbors_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_rank); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_1)) __PYX_ERR(7, 2073, __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; /* "mpi4py/MPI/Comm.pyx":2071 * property nneighbors: * """number of neighbors""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int rank = self.Get_rank() * return self.Get_neighbors_count(rank) */ /* 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("mpi4py.MPI.Graphcomm.nneighbors.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2075 * return self.Get_neighbors_count(rank) * * def Get_neighbors(self, int rank): # <<<<<<<<<<<<<< * """ * Return list of neighbors of a process */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_9Get_neighbors(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Graphcomm_8Get_neighbors[] = "Graphcomm.Get_neighbors(self, int rank)\n\n Return list of neighbors of a process\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_9Get_neighbors(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_rank; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_neighbors (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rank,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_rank)) != 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, "Get_neighbors") < 0)) __PYX_ERR(7, 2075, __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_rank = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 2075, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_neighbors", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 2075, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.Get_neighbors", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm_8Get_neighbors(((struct PyMPIGraphcommObject *)__pyx_v_self), __pyx_v_rank); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_8Get_neighbors(struct PyMPIGraphcommObject *__pyx_v_self, int __pyx_v_rank) { int __pyx_v_i; int __pyx_v_nneighbors; int *__pyx_v_ineighbors; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; PyObject *__pyx_v_neighbors = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_neighbors", 0); /* "mpi4py/MPI/Comm.pyx":2079 * Return list of neighbors of a process * """ * cdef int i = 0, nneighbors = 0, *ineighbors = NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Graph_neighbors_count( * self.ob_mpi, rank, &nneighbors) ) */ __pyx_v_i = 0; __pyx_v_nneighbors = 0; __pyx_v_ineighbors = NULL; /* "mpi4py/MPI/Comm.pyx":2080 * """ * cdef int i = 0, nneighbors = 0, *ineighbors = NULL * CHKERR( MPI_Graph_neighbors_count( # <<<<<<<<<<<<<< * self.ob_mpi, rank, &nneighbors) ) * cdef tmp = newarray(nneighbors, &ineighbors) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Graph_neighbors_count(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, __pyx_v_rank, (&__pyx_v_nneighbors))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2080, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2082 * CHKERR( MPI_Graph_neighbors_count( * self.ob_mpi, rank, &nneighbors) ) * cdef tmp = newarray(nneighbors, &ineighbors) # <<<<<<<<<<<<<< * CHKERR( MPI_Graph_neighbors( * self.ob_mpi, rank, nneighbors, ineighbors) ) */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_nneighbors, (&__pyx_v_ineighbors)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2082, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2083 * self.ob_mpi, rank, &nneighbors) ) * cdef tmp = newarray(nneighbors, &ineighbors) * CHKERR( MPI_Graph_neighbors( # <<<<<<<<<<<<<< * self.ob_mpi, rank, nneighbors, ineighbors) ) * cdef object neighbors = [ineighbors[i] for i from 0 <= i < nneighbors] */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Graph_neighbors(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, __pyx_v_rank, __pyx_v_nneighbors, __pyx_v_ineighbors)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2083, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2085 * CHKERR( MPI_Graph_neighbors( * self.ob_mpi, rank, nneighbors, ineighbors) ) * cdef object neighbors = [ineighbors[i] for i from 0 <= i < nneighbors] # <<<<<<<<<<<<<< * return neighbors * */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_nneighbors; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_ineighbors[__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 2085, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_neighbors = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2086 * self.ob_mpi, rank, nneighbors, ineighbors) ) * cdef object neighbors = [ineighbors[i] for i from 0 <= i < nneighbors] * return neighbors # <<<<<<<<<<<<<< * * property neighbors: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_neighbors); __pyx_r = __pyx_v_neighbors; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":2075 * return self.Get_neighbors_count(rank) * * def Get_neighbors(self, int rank): # <<<<<<<<<<<<<< * """ * Return list of neighbors of a process */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Graphcomm.Get_neighbors", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp); __Pyx_XDECREF(__pyx_v_neighbors); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2090 * property neighbors: * """neighbors""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int rank = self.Get_rank() * return self.Get_neighbors(rank) */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_9neighbors_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9Graphcomm_9neighbors_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9Graphcomm_9neighbors___get__(((struct PyMPIGraphcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Graphcomm_9neighbors___get__(struct PyMPIGraphcommObject *__pyx_v_self) { int __pyx_v_rank; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":2091 * """neighbors""" * def __get__(self): * cdef int rank = self.Get_rank() # <<<<<<<<<<<<<< * return self.Get_neighbors(rank) * */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_rank); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2091, __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(7, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 2091, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_rank = __pyx_t_4; /* "mpi4py/MPI/Comm.pyx":2092 * def __get__(self): * cdef int rank = self.Get_rank() * return self.Get_neighbors(rank) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_neighbors); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_rank); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_1)) __PYX_ERR(7, 2092, __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; /* "mpi4py/MPI/Comm.pyx":2090 * property neighbors: * """neighbors""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int rank = self.Get_rank() * return self.Get_neighbors(rank) */ /* 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("mpi4py.MPI.Graphcomm.neighbors.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2101 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_13Distgraphcomm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_13Distgraphcomm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPICommObject *)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_comm); 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(7, 2101, __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_comm = ((struct PyMPICommObject *)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(7, 2101, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Distgraphcomm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) __PYX_ERR(7, 2101, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_13Distgraphcomm___cinit__(((struct PyMPIDistgraphcommObject *)__pyx_v_self), __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_13Distgraphcomm___cinit__(struct PyMPIDistgraphcommObject *__pyx_v_self, CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm) { int __pyx_v_topo; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Comm.pyx":2102 * * def __cinit__(self, Comm comm=None): * if self.ob_mpi == MPI_COMM_NULL: return # <<<<<<<<<<<<<< * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) */ __pyx_t_1 = ((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":2103 * def __cinit__(self, Comm comm=None): * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * if topo != MPI_DIST_GRAPH: raise TypeError( */ __pyx_v_topo = MPI_UNDEFINED; /* "mpi4py/MPI/Comm.pyx":2104 * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) # <<<<<<<<<<<<<< * if topo != MPI_DIST_GRAPH: raise TypeError( * "expecting a distributed graph communicator") */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Topo_test(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_topo))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 2104, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2105 * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * if topo != MPI_DIST_GRAPH: raise TypeError( # <<<<<<<<<<<<<< * "expecting a distributed graph communicator") * */ __pyx_t_1 = ((__pyx_v_topo != MPI_DIST_GRAPH) != 0); if (unlikely(__pyx_t_1)) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__100, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(7, 2105, __pyx_L1_error) } /* "mpi4py/MPI/Comm.pyx":2101 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_COMM_NULL: return * cdef int topo = MPI_UNDEFINED */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Distgraphcomm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2111 * # -------------------------- * * def Get_dist_neighbors_count(self): # <<<<<<<<<<<<<< * """ * Return adjacency information for a distributed graph topology */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_13Distgraphcomm_3Get_dist_neighbors_count(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_13Distgraphcomm_2Get_dist_neighbors_count[] = "Distgraphcomm.Get_dist_neighbors_count(self)\n\n Return adjacency information for a distributed graph topology\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_13Distgraphcomm_3Get_dist_neighbors_count(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_dist_neighbors_count (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_dist_neighbors_count", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_dist_neighbors_count", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_13Distgraphcomm_2Get_dist_neighbors_count(((struct PyMPIDistgraphcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_13Distgraphcomm_2Get_dist_neighbors_count(struct PyMPIDistgraphcommObject *__pyx_v_self) { int __pyx_v_indegree; int __pyx_v_outdegree; int __pyx_v_weighted; 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_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_dist_neighbors_count", 0); /* "mpi4py/MPI/Comm.pyx":2115 * Return adjacency information for a distributed graph topology * """ * cdef int indegree = 0 # <<<<<<<<<<<<<< * cdef int outdegree = 0 * cdef int weighted = 0 */ __pyx_v_indegree = 0; /* "mpi4py/MPI/Comm.pyx":2116 * """ * cdef int indegree = 0 * cdef int outdegree = 0 # <<<<<<<<<<<<<< * cdef int weighted = 0 * CHKERR( MPI_Dist_graph_neighbors_count( */ __pyx_v_outdegree = 0; /* "mpi4py/MPI/Comm.pyx":2117 * cdef int indegree = 0 * cdef int outdegree = 0 * cdef int weighted = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Dist_graph_neighbors_count( * self.ob_mpi, &indegree, &outdegree, &weighted) ) */ __pyx_v_weighted = 0; /* "mpi4py/MPI/Comm.pyx":2118 * cdef int outdegree = 0 * cdef int weighted = 0 * CHKERR( MPI_Dist_graph_neighbors_count( # <<<<<<<<<<<<<< * self.ob_mpi, &indegree, &outdegree, &weighted) ) * return (indegree, outdegree, weighted) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Dist_graph_neighbors_count(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_indegree), (&__pyx_v_outdegree), (&__pyx_v_weighted))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2118, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2120 * CHKERR( MPI_Dist_graph_neighbors_count( * self.ob_mpi, &indegree, &outdegree, &weighted) ) * return (indegree, outdegree, weighted) # <<<<<<<<<<<<<< * * def Get_dist_neighbors(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_indegree); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_outdegree); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyBool_FromLong((__pyx_v_weighted != 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 2120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 2120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":2111 * # -------------------------- * * def Get_dist_neighbors_count(self): # <<<<<<<<<<<<<< * """ * Return adjacency information for a distributed graph topology */ /* 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("mpi4py.MPI.Distgraphcomm.Get_dist_neighbors_count", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2122 * return (indegree, outdegree, weighted) * * def Get_dist_neighbors(self): # <<<<<<<<<<<<<< * """ * Return adjacency information for a distributed graph topology */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_13Distgraphcomm_5Get_dist_neighbors(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_13Distgraphcomm_4Get_dist_neighbors[] = "Distgraphcomm.Get_dist_neighbors(self)\n\n Return adjacency information for a distributed graph topology\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_13Distgraphcomm_5Get_dist_neighbors(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_dist_neighbors (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_dist_neighbors", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_dist_neighbors", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_13Distgraphcomm_4Get_dist_neighbors(((struct PyMPIDistgraphcommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_13Distgraphcomm_4Get_dist_neighbors(struct PyMPIDistgraphcommObject *__pyx_v_self) { int __pyx_v_maxindegree; int __pyx_v_maxoutdegree; int __pyx_v_weighted; int *__pyx_v_sources; int *__pyx_v_destinations; int *__pyx_v_sourceweights; int *__pyx_v_destweights; CYTHON_UNUSED PyObject *__pyx_v_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp3 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp4 = 0; int __pyx_v_i; PyObject *__pyx_v_src = 0; PyObject *__pyx_v_dst = 0; PyObject *__pyx_v_sw = 0; PyObject *__pyx_v_dw = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_dist_neighbors", 0); /* "mpi4py/MPI/Comm.pyx":2126 * Return adjacency information for a distributed graph topology * """ * cdef int maxindegree = 0, maxoutdegree = 0, weighted = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Dist_graph_neighbors_count( * self.ob_mpi, &maxindegree, &maxoutdegree, &weighted) ) */ __pyx_v_maxindegree = 0; __pyx_v_maxoutdegree = 0; __pyx_v_weighted = 0; /* "mpi4py/MPI/Comm.pyx":2127 * """ * cdef int maxindegree = 0, maxoutdegree = 0, weighted = 0 * CHKERR( MPI_Dist_graph_neighbors_count( # <<<<<<<<<<<<<< * self.ob_mpi, &maxindegree, &maxoutdegree, &weighted) ) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Dist_graph_neighbors_count(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, (&__pyx_v_maxindegree), (&__pyx_v_maxoutdegree), (&__pyx_v_weighted))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2127, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2130 * self.ob_mpi, &maxindegree, &maxoutdegree, &weighted) ) * # * cdef int *sources = NULL, *destinations = NULL # <<<<<<<<<<<<<< * cdef int *sourceweights = MPI_UNWEIGHTED * cdef int *destweights = MPI_UNWEIGHTED */ __pyx_v_sources = NULL; __pyx_v_destinations = NULL; /* "mpi4py/MPI/Comm.pyx":2131 * # * cdef int *sources = NULL, *destinations = NULL * cdef int *sourceweights = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * cdef int *destweights = MPI_UNWEIGHTED * cdef tmp1, tmp2, tmp3, tmp4 */ __pyx_v_sourceweights = MPI_UNWEIGHTED; /* "mpi4py/MPI/Comm.pyx":2132 * cdef int *sources = NULL, *destinations = NULL * cdef int *sourceweights = MPI_UNWEIGHTED * cdef int *destweights = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * cdef tmp1, tmp2, tmp3, tmp4 * tmp1 = newarray(maxindegree, &sources) */ __pyx_v_destweights = MPI_UNWEIGHTED; /* "mpi4py/MPI/Comm.pyx":2134 * cdef int *destweights = MPI_UNWEIGHTED * cdef tmp1, tmp2, tmp3, tmp4 * tmp1 = newarray(maxindegree, &sources) # <<<<<<<<<<<<<< * tmp2 = newarray(maxoutdegree, &destinations) * cdef int i = 0 */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_maxindegree, (&__pyx_v_sources)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2135 * cdef tmp1, tmp2, tmp3, tmp4 * tmp1 = newarray(maxindegree, &sources) * tmp2 = newarray(maxoutdegree, &destinations) # <<<<<<<<<<<<<< * cdef int i = 0 * if weighted: */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_maxoutdegree, (&__pyx_v_destinations)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2136 * tmp1 = newarray(maxindegree, &sources) * tmp2 = newarray(maxoutdegree, &destinations) * cdef int i = 0 # <<<<<<<<<<<<<< * if weighted: * tmp3 = newarray(maxindegree, &sourceweights) */ __pyx_v_i = 0; /* "mpi4py/MPI/Comm.pyx":2137 * tmp2 = newarray(maxoutdegree, &destinations) * cdef int i = 0 * if weighted: # <<<<<<<<<<<<<< * tmp3 = newarray(maxindegree, &sourceweights) * for i from 0 <= i < maxindegree: sourceweights[i] = 1 */ __pyx_t_3 = (__pyx_v_weighted != 0); if (__pyx_t_3) { /* "mpi4py/MPI/Comm.pyx":2138 * cdef int i = 0 * if weighted: * tmp3 = newarray(maxindegree, &sourceweights) # <<<<<<<<<<<<<< * for i from 0 <= i < maxindegree: sourceweights[i] = 1 * tmp4 = newarray(maxoutdegree, &destweights) */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_maxindegree, (&__pyx_v_sourceweights)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp3 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2139 * if weighted: * tmp3 = newarray(maxindegree, &sourceweights) * for i from 0 <= i < maxindegree: sourceweights[i] = 1 # <<<<<<<<<<<<<< * tmp4 = newarray(maxoutdegree, &destweights) * for i from 0 <= i < maxoutdegree: destweights[i] = 1 */ __pyx_t_1 = __pyx_v_maxindegree; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { (__pyx_v_sourceweights[__pyx_v_i]) = 1; } /* "mpi4py/MPI/Comm.pyx":2140 * tmp3 = newarray(maxindegree, &sourceweights) * for i from 0 <= i < maxindegree: sourceweights[i] = 1 * tmp4 = newarray(maxoutdegree, &destweights) # <<<<<<<<<<<<<< * for i from 0 <= i < maxoutdegree: destweights[i] = 1 * # */ __pyx_t_2 = __pyx_fuse_0__pyx_f_6mpi4py_3MPI_newarray(__pyx_v_maxoutdegree, (&__pyx_v_destweights)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp4 = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2141 * for i from 0 <= i < maxindegree: sourceweights[i] = 1 * tmp4 = newarray(maxoutdegree, &destweights) * for i from 0 <= i < maxoutdegree: destweights[i] = 1 # <<<<<<<<<<<<<< * # * CHKERR( MPI_Dist_graph_neighbors( */ __pyx_t_1 = __pyx_v_maxoutdegree; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { (__pyx_v_destweights[__pyx_v_i]) = 1; } /* "mpi4py/MPI/Comm.pyx":2137 * tmp2 = newarray(maxoutdegree, &destinations) * cdef int i = 0 * if weighted: # <<<<<<<<<<<<<< * tmp3 = newarray(maxindegree, &sourceweights) * for i from 0 <= i < maxindegree: sourceweights[i] = 1 */ } /* "mpi4py/MPI/Comm.pyx":2143 * for i from 0 <= i < maxoutdegree: destweights[i] = 1 * # * CHKERR( MPI_Dist_graph_neighbors( # <<<<<<<<<<<<<< * self.ob_mpi, * maxindegree, sources, sourceweights, */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Dist_graph_neighbors(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.ob_mpi, __pyx_v_maxindegree, __pyx_v_sources, __pyx_v_sourceweights, __pyx_v_maxoutdegree, __pyx_v_destinations, __pyx_v_destweights)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2143, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2148 * maxoutdegree, destinations, destweights) ) * # * cdef object src = [sources[i] for i from 0 <= i < maxindegree] # <<<<<<<<<<<<<< * cdef object dst = [destinations[i] for i from 0 <= i < maxoutdegree] * if not weighted: return (src, dst, None) */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_maxindegree; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_sources[__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 2148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(7, 2148, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_v_src = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2149 * # * cdef object src = [sources[i] for i from 0 <= i < maxindegree] * cdef object dst = [destinations[i] for i from 0 <= i < maxoutdegree] # <<<<<<<<<<<<<< * if not weighted: return (src, dst, None) * # */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_maxoutdegree; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_destinations[__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 2149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(7, 2149, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_v_dst = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2150 * cdef object src = [sources[i] for i from 0 <= i < maxindegree] * cdef object dst = [destinations[i] for i from 0 <= i < maxoutdegree] * if not weighted: return (src, dst, None) # <<<<<<<<<<<<<< * # * cdef object sw = [sourceweights[i] for i from 0 <= i < maxindegree] */ __pyx_t_3 = ((!(__pyx_v_weighted != 0)) != 0); if (__pyx_t_3) { __Pyx_XDECREF(__pyx_r); __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_src); __Pyx_GIVEREF(__pyx_v_src); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_src); __Pyx_INCREF(__pyx_v_dst); __Pyx_GIVEREF(__pyx_v_dst); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_dst); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":2152 * if not weighted: return (src, dst, None) * # * cdef object sw = [sourceweights[i] for i from 0 <= i < maxindegree] # <<<<<<<<<<<<<< * cdef object dw = [destweights[i] for i from 0 <= i < maxoutdegree] * return (src, dst, (sw, dw)) */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_maxindegree; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_sourceweights[__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 2152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(7, 2152, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_v_sw = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2153 * # * cdef object sw = [sourceweights[i] for i from 0 <= i < maxindegree] * cdef object dw = [destweights[i] for i from 0 <= i < maxoutdegree] # <<<<<<<<<<<<<< * return (src, dst, (sw, dw)) * */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_v_maxoutdegree; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_destweights[__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 2153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(7, 2153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_v_dw = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2154 * cdef object sw = [sourceweights[i] for i from 0 <= i < maxindegree] * cdef object dw = [destweights[i] for i from 0 <= i < maxoutdegree] * return (src, dst, (sw, dw)) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_sw); __Pyx_GIVEREF(__pyx_v_sw); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_sw); __Pyx_INCREF(__pyx_v_dw); __Pyx_GIVEREF(__pyx_v_dw); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_dw); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 2154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_src); __Pyx_GIVEREF(__pyx_v_src); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_src); __Pyx_INCREF(__pyx_v_dst); __Pyx_GIVEREF(__pyx_v_dst); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_dst); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":2122 * return (indegree, outdegree, weighted) * * def Get_dist_neighbors(self): # <<<<<<<<<<<<<< * """ * Return adjacency information for a distributed graph topology */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Distgraphcomm.Get_dist_neighbors", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_tmp3); __Pyx_XDECREF(__pyx_v_tmp4); __Pyx_XDECREF(__pyx_v_src); __Pyx_XDECREF(__pyx_v_dst); __Pyx_XDECREF(__pyx_v_sw); __Pyx_XDECREF(__pyx_v_dw); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2163 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_COMM_NULL: return * cdef int inter = 0 */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_9Intercomm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_9Intercomm_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPICommObject *)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_comm); 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(7, 2163, __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_comm = ((struct PyMPICommObject *)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(7, 2163, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intercomm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Comm, 1, "comm", 0))) __PYX_ERR(7, 2163, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intercomm___cinit__(((struct PyMPIIntercommObject *)__pyx_v_self), __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_9Intercomm___cinit__(struct PyMPIIntercommObject *__pyx_v_self, CYTHON_UNUSED struct PyMPICommObject *__pyx_v_comm) { int __pyx_v_inter; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Comm.pyx":2164 * * def __cinit__(self, Comm comm=None): * if self.ob_mpi == MPI_COMM_NULL: return # <<<<<<<<<<<<<< * cdef int inter = 0 * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &inter) ) */ __pyx_t_1 = ((__pyx_v_self->__pyx_base.ob_mpi == MPI_COMM_NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Comm.pyx":2165 * def __cinit__(self, Comm comm=None): * if self.ob_mpi == MPI_COMM_NULL: return * cdef int inter = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &inter) ) * if not inter: raise TypeError( */ __pyx_v_inter = 0; /* "mpi4py/MPI/Comm.pyx":2166 * if self.ob_mpi == MPI_COMM_NULL: return * cdef int inter = 0 * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &inter) ) # <<<<<<<<<<<<<< * if not inter: raise TypeError( * "expecting an intercommunicator") */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_test_inter(__pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_inter))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 2166, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2167 * cdef int inter = 0 * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &inter) ) * if not inter: raise TypeError( # <<<<<<<<<<<<<< * "expecting an intercommunicator") * */ __pyx_t_1 = ((!(__pyx_v_inter != 0)) != 0); if (unlikely(__pyx_t_1)) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__101, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(7, 2167, __pyx_L1_error) } /* "mpi4py/MPI/Comm.pyx":2163 * """ * * def __cinit__(self, Comm comm=None): # <<<<<<<<<<<<<< * if self.ob_mpi == MPI_COMM_NULL: return * cdef int inter = 0 */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Intercomm.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2173 * # --------------------------- * * def Get_remote_group(self): # <<<<<<<<<<<<<< * """ * Access the remote group associated */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intercomm_3Get_remote_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intercomm_2Get_remote_group[] = "Intercomm.Get_remote_group(self)\n\n Access the remote group associated\n with the inter-communicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intercomm_3Get_remote_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_remote_group (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_remote_group", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_remote_group", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intercomm_2Get_remote_group(((struct PyMPIIntercommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intercomm_2Get_remote_group(struct PyMPIIntercommObject *__pyx_v_self) { struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_remote_group", 0); /* "mpi4py/MPI/Comm.pyx":2178 * with the inter-communicator * """ * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_remote_group( * self.ob_mpi, &group.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2178, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2179 * """ * cdef Group group = Group.__new__(Group) * with nogil: CHKERR( MPI_Comm_remote_group( # <<<<<<<<<<<<<< * self.ob_mpi, &group.ob_mpi) ) * return group */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":2180 * cdef Group group = Group.__new__(Group) * with nogil: CHKERR( MPI_Comm_remote_group( * self.ob_mpi, &group.ob_mpi) ) # <<<<<<<<<<<<<< * return group * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_group(__pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_group->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 2179, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":2179 * """ * cdef Group group = Group.__new__(Group) * with nogil: CHKERR( MPI_Comm_remote_group( # <<<<<<<<<<<<<< * self.ob_mpi, &group.ob_mpi) ) * return group */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":2181 * with nogil: CHKERR( MPI_Comm_remote_group( * self.ob_mpi, &group.ob_mpi) ) * return group # <<<<<<<<<<<<<< * * property remote_group: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":2173 * # --------------------------- * * def Get_remote_group(self): # <<<<<<<<<<<<<< * """ * Access the remote group associated */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Intercomm.Get_remote_group", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2185 * property remote_group: * """remote group""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_remote_group() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intercomm_12remote_group_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intercomm_12remote_group_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intercomm_12remote_group___get__(((struct PyMPIIntercommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intercomm_12remote_group___get__(struct PyMPIIntercommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":2186 * """remote group""" * def __get__(self): * return self.Get_remote_group() # <<<<<<<<<<<<<< * * def Get_remote_size(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_remote_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2186, __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(7, 2186, __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; /* "mpi4py/MPI/Comm.pyx":2185 * property remote_group: * """remote group""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_remote_group() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Intercomm.remote_group.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2188 * return self.Get_remote_group() * * def Get_remote_size(self): # <<<<<<<<<<<<<< * """ * Intercommunicator remote size */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intercomm_5Get_remote_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intercomm_4Get_remote_size[] = "Intercomm.Get_remote_size(self)\n\n Intercommunicator remote size\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intercomm_5Get_remote_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_remote_size (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_remote_size", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_remote_size", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intercomm_4Get_remote_size(((struct PyMPIIntercommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intercomm_4Get_remote_size(struct PyMPIIntercommObject *__pyx_v_self) { int __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_remote_size", 0); /* "mpi4py/MPI/Comm.pyx":2192 * Intercommunicator remote size * """ * cdef int size = -1 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_remote_size(self.ob_mpi, &size) ) * return size */ __pyx_v_size = -1; /* "mpi4py/MPI/Comm.pyx":2193 * """ * cdef int size = -1 * CHKERR( MPI_Comm_remote_size(self.ob_mpi, &size) ) # <<<<<<<<<<<<<< * return size * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_size(__pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2193, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2194 * cdef int size = -1 * CHKERR( MPI_Comm_remote_size(self.ob_mpi, &size) ) * return size # <<<<<<<<<<<<<< * * property remote_size: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":2188 * return self.Get_remote_group() * * def Get_remote_size(self): # <<<<<<<<<<<<<< * """ * Intercommunicator remote size */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Intercomm.Get_remote_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2198 * property remote_size: * """number of remote processes""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_remote_size() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intercomm_11remote_size_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intercomm_11remote_size_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intercomm_11remote_size___get__(((struct PyMPIIntercommObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intercomm_11remote_size___get__(struct PyMPIIntercommObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Comm.pyx":2199 * """number of remote processes""" * def __get__(self): * return self.Get_remote_size() # <<<<<<<<<<<<<< * * # Communicator Constructors */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_remote_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2199, __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(7, 2199, __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; /* "mpi4py/MPI/Comm.pyx":2198 * property remote_size: * """number of remote processes""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_remote_size() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Intercomm.remote_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2204 * # ------------------------- * * def Merge(self, bint high=False): # <<<<<<<<<<<<<< * """ * Merge intercommunicator */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9Intercomm_7Merge(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_9Intercomm_6Merge[] = "Intercomm.Merge(self, bool high=False)\n\n Merge intercommunicator\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_9Intercomm_7Merge(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_high; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Merge (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_high,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_high); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Merge") < 0)) __PYX_ERR(7, 2204, __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_high = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_high == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 2204, __pyx_L3_error) } else { __pyx_v_high = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Merge", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 2204, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Intercomm.Merge", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9Intercomm_6Merge(((struct PyMPIIntercommObject *)__pyx_v_self), __pyx_v_high); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9Intercomm_6Merge(struct PyMPIIntercommObject *__pyx_v_self, int __pyx_v_high) { struct PyMPIIntracommObject *__pyx_v_comm = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Merge", 0); /* "mpi4py/MPI/Comm.pyx":2208 * Merge intercommunicator * """ * cdef Intracomm comm = Intracomm.__new__(Intracomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Intercomm_merge( * self.ob_mpi, high, &comm.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Intracomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intracomm), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2208, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPIIntracommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Comm.pyx":2209 * """ * cdef Intracomm comm = Intracomm.__new__(Intracomm) * with nogil: CHKERR( MPI_Intercomm_merge( # <<<<<<<<<<<<<< * self.ob_mpi, high, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Comm.pyx":2210 * cdef Intracomm comm = Intracomm.__new__(Intracomm) * with nogil: CHKERR( MPI_Intercomm_merge( * self.ob_mpi, high, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Intercomm_merge(__pyx_v_self->__pyx_base.ob_mpi, __pyx_v_high, (&__pyx_v_comm->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 2209, __pyx_L4_error) } /* "mpi4py/MPI/Comm.pyx":2209 * """ * cdef Intracomm comm = Intracomm.__new__(Intracomm) * with nogil: CHKERR( MPI_Intercomm_merge( # <<<<<<<<<<<<<< * self.ob_mpi, high, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ /*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:; } } /* "mpi4py/MPI/Comm.pyx":2211 * with nogil: CHKERR( MPI_Intercomm_merge( * self.ob_mpi, high, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) # <<<<<<<<<<<<<< * return comm * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.ob_mpi); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(7, 2211, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2212 * self.ob_mpi, high, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) * return comm # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":2204 * # ------------------------- * * def Merge(self, bint high=False): # <<<<<<<<<<<<<< * """ * Merge intercommunicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Intercomm.Merge", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_comm); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2236 * #: Upper bound of memory overhead for sending in buffered mode * * def Attach_buffer(buf): # <<<<<<<<<<<<<< * """ * Attach a user-provided buffer for */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_25Attach_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_24Attach_buffer[] = "Attach_buffer(buf)\n\n Attach a user-provided buffer for\n sending in buffered mode\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_25Attach_buffer = {"Attach_buffer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_25Attach_buffer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_24Attach_buffer}; static PyObject *__pyx_pw_6mpi4py_3MPI_25Attach_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Attach_buffer (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "Attach_buffer") < 0)) __PYX_ERR(7, 2236, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Attach_buffer", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 2236, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Attach_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_24Attach_buffer(__pyx_self, __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_24Attach_buffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buf) { void *__pyx_v_base; int __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Attach_buffer", 0); /* "mpi4py/MPI/Comm.pyx":2241 * sending in buffered mode * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef int size = 0 * attach_buffer(buf, &base, &size) */ __pyx_v_base = NULL; /* "mpi4py/MPI/Comm.pyx":2242 * """ * cdef void *base = NULL * cdef int size = 0 # <<<<<<<<<<<<<< * attach_buffer(buf, &base, &size) * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) */ __pyx_v_size = 0; /* "mpi4py/MPI/Comm.pyx":2243 * cdef void *base = NULL * cdef int size = 0 * attach_buffer(buf, &base, &size) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_attach_buffer(__pyx_v_buf, (&__pyx_v_base), (&__pyx_v_size)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2243, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2244 * cdef int size = 0 * attach_buffer(buf, &base, &size) * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) # <<<<<<<<<<<<<< * * def Detach_buffer(): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Buffer_attach(__pyx_v_base, __pyx_v_size)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2244, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":2236 * #: Upper bound of memory overhead for sending in buffered mode * * def Attach_buffer(buf): # <<<<<<<<<<<<<< * """ * Attach a user-provided buffer for */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Attach_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2246 * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) * * def Detach_buffer(): # <<<<<<<<<<<<<< * """ * Remove an existing attached buffer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_27Detach_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_26Detach_buffer[] = "Detach_buffer()\n\n Remove an existing attached buffer\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_27Detach_buffer = {"Detach_buffer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_27Detach_buffer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_26Detach_buffer}; static PyObject *__pyx_pw_6mpi4py_3MPI_27Detach_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Detach_buffer (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Detach_buffer", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Detach_buffer", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_26Detach_buffer(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_26Detach_buffer(CYTHON_UNUSED PyObject *__pyx_self) { void *__pyx_v_base; int __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Detach_buffer", 0); /* "mpi4py/MPI/Comm.pyx":2250 * Remove an existing attached buffer * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef int size = 0 * with nogil: CHKERR( MPI_Buffer_detach(&base, &size) ) */ __pyx_v_base = NULL; /* "mpi4py/MPI/Comm.pyx":2251 * """ * cdef void *base = NULL * cdef int size = 0 # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Buffer_detach(&base, &size) ) * return detach_buffer(base, size) */ __pyx_v_size = 0; /* "mpi4py/MPI/Comm.pyx":2252 * cdef void *base = NULL * cdef int size = 0 * with nogil: CHKERR( MPI_Buffer_detach(&base, &size) ) # <<<<<<<<<<<<<< * return detach_buffer(base, size) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Buffer_detach((&__pyx_v_base), (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2252, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":2253 * cdef int size = 0 * with nogil: CHKERR( MPI_Buffer_detach(&base, &size) ) * return detach_buffer(base, size) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_detach_buffer(__pyx_v_base, __pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":2246 * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) * * def Detach_buffer(): # <<<<<<<<<<<<<< * """ * Remove an existing attached buffer */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Detach_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2263 * # --------------- * * def Open_port(Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Return an address that can be used to establish */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_29Open_port(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_28Open_port[] = "Open_port(Info info=INFO_NULL)\n\n Return an address that can be used to establish\n connections between groups of MPI processes\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_29Open_port = {"Open_port", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_29Open_port, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_28Open_port}; static PyObject *__pyx_pw_6mpi4py_3MPI_29Open_port(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Open_port (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_info,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)__pyx_k__102; 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_info); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Open_port") < 0)) __PYX_ERR(7, 2263, __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_info = ((struct PyMPIInfoObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Open_port", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 2263, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Open_port", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(7, 2263, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_28Open_port(__pyx_self, __pyx_v_info); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_28Open_port(CYTHON_UNUSED PyObject *__pyx_self, struct PyMPIInfoObject *__pyx_v_info) { char __pyx_v_cportname[(MPI_MAX_PORT_NAME + 1)]; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Open_port", 0); /* "mpi4py/MPI/Comm.pyx":2269 * """ * cdef char cportname[MPI_MAX_PORT_NAME+1] * with nogil: CHKERR( MPI_Open_port(info.ob_mpi, cportname) ) # <<<<<<<<<<<<<< * cportname[MPI_MAX_PORT_NAME] = 0 # just in case * return mpistr(cportname) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Open_port(__pyx_v_info->ob_mpi, __pyx_v_cportname)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 2269, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":2270 * cdef char cportname[MPI_MAX_PORT_NAME+1] * with nogil: CHKERR( MPI_Open_port(info.ob_mpi, cportname) ) * cportname[MPI_MAX_PORT_NAME] = 0 # just in case # <<<<<<<<<<<<<< * return mpistr(cportname) * */ (__pyx_v_cportname[MPI_MAX_PORT_NAME]) = 0; /* "mpi4py/MPI/Comm.pyx":2271 * with nogil: CHKERR( MPI_Open_port(info.ob_mpi, cportname) ) * cportname[MPI_MAX_PORT_NAME] = 0 # just in case * return mpistr(cportname) # <<<<<<<<<<<<<< * * def Close_port(port_name): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mpistr(__pyx_v_cportname); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":2263 * # --------------- * * def Open_port(Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Return an address that can be used to establish */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Open_port", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2273 * return mpistr(cportname) * * def Close_port(port_name): # <<<<<<<<<<<<<< * """ * Close a port */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_31Close_port(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_30Close_port[] = "Close_port(port_name)\n\n Close a port\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_31Close_port = {"Close_port", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_31Close_port, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_30Close_port}; static PyObject *__pyx_pw_6mpi4py_3MPI_31Close_port(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_port_name = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Close_port (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_port_name,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_port_name)) != 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, "Close_port") < 0)) __PYX_ERR(7, 2273, __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_port_name = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Close_port", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 2273, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Close_port", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_30Close_port(__pyx_self, __pyx_v_port_name); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_30Close_port(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_port_name) { char *__pyx_v_cportname; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Close_port", 0); __Pyx_INCREF(__pyx_v_port_name); /* "mpi4py/MPI/Comm.pyx":2277 * Close a port * """ * cdef char *cportname = NULL # <<<<<<<<<<<<<< * port_name = asmpistr(port_name, &cportname) * with nogil: CHKERR( MPI_Close_port(cportname) ) */ __pyx_v_cportname = NULL; /* "mpi4py/MPI/Comm.pyx":2278 * """ * cdef char *cportname = NULL * port_name = asmpistr(port_name, &cportname) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Close_port(cportname) ) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_port_name, (&__pyx_v_cportname)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_port_name, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2279 * cdef char *cportname = NULL * port_name = asmpistr(port_name, &cportname) * with nogil: CHKERR( MPI_Close_port(cportname) ) # <<<<<<<<<<<<<< * * # Name Publishing */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Close_port(__pyx_v_cportname)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 2279, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":2273 * return mpistr(cportname) * * def Close_port(port_name): # <<<<<<<<<<<<<< * """ * Close a port */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Close_port", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_port_name); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2284 * # --------------- * * def Publish_name(service_name, port_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Publish a service name */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_33Publish_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_32Publish_name[] = "Publish_name(service_name, port_name, info=INFO_NULL)\n\n Publish a service name\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_33Publish_name = {"Publish_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_33Publish_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_32Publish_name}; static PyObject *__pyx_pw_6mpi4py_3MPI_33Publish_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_service_name = 0; PyObject *__pyx_v_port_name = 0; PyObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Publish_name (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_service_name,&__pyx_n_s_port_name,&__pyx_n_s_info,0}; PyObject* values[3] = {0,0,0}; values[2] = __pyx_k__103; 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_service_name)) != 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_port_name)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Publish_name", 0, 2, 3, 1); __PYX_ERR(7, 2284, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_info); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Publish_name") < 0)) __PYX_ERR(7, 2284, __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_service_name = values[0]; __pyx_v_port_name = values[1]; __pyx_v_info = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Publish_name", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 2284, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Publish_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_32Publish_name(__pyx_self, __pyx_v_service_name, __pyx_v_port_name, __pyx_v_info); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_32Publish_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_service_name, PyObject *__pyx_v_port_name, PyObject *__pyx_v_info) { char *__pyx_v_csrvcname; char *__pyx_v_cportname; MPI_Info __pyx_v_cinfo; 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; int __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Publish_name", 0); __Pyx_INCREF(__pyx_v_service_name); __Pyx_INCREF(__pyx_v_port_name); __Pyx_INCREF(__pyx_v_info); /* "mpi4py/MPI/Comm.pyx":2288 * Publish a service name * """ * if isinstance(port_name, Info): # backward compatibility # <<<<<<<<<<<<<< * port_name, info = info, port_name * cdef char *csrvcname = NULL */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_port_name, __pyx_ptype_6mpi4py_3MPI_Info); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":2289 * """ * if isinstance(port_name, Info): # backward compatibility * port_name, info = info, port_name # <<<<<<<<<<<<<< * cdef char *csrvcname = NULL * service_name = asmpistr(service_name, &csrvcname) */ __pyx_t_3 = __pyx_v_info; __pyx_t_4 = __pyx_v_port_name; __pyx_v_port_name = __pyx_t_3; __pyx_t_3 = 0; __pyx_v_info = __pyx_t_4; __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":2288 * Publish a service name * """ * if isinstance(port_name, Info): # backward compatibility # <<<<<<<<<<<<<< * port_name, info = info, port_name * cdef char *csrvcname = NULL */ } /* "mpi4py/MPI/Comm.pyx":2290 * if isinstance(port_name, Info): # backward compatibility * port_name, info = info, port_name * cdef char *csrvcname = NULL # <<<<<<<<<<<<<< * service_name = asmpistr(service_name, &csrvcname) * cdef char *cportname = NULL */ __pyx_v_csrvcname = NULL; /* "mpi4py/MPI/Comm.pyx":2291 * port_name, info = info, port_name * cdef char *csrvcname = NULL * service_name = asmpistr(service_name, &csrvcname) # <<<<<<<<<<<<<< * cdef char *cportname = NULL * port_name = asmpistr(port_name, &cportname) */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_service_name, (&__pyx_v_csrvcname)); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 2291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_service_name, __pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/Comm.pyx":2292 * cdef char *csrvcname = NULL * service_name = asmpistr(service_name, &csrvcname) * cdef char *cportname = NULL # <<<<<<<<<<<<<< * port_name = asmpistr(port_name, &cportname) * cdef MPI_Info cinfo = arg_Info(info) */ __pyx_v_cportname = NULL; /* "mpi4py/MPI/Comm.pyx":2293 * service_name = asmpistr(service_name, &csrvcname) * cdef char *cportname = NULL * port_name = asmpistr(port_name, &cportname) # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * with nogil: CHKERR( MPI_Publish_name(csrvcname, cinfo, cportname) ) */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_port_name, (&__pyx_v_cportname)); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 2293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_port_name, __pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/Comm.pyx":2294 * cdef char *cportname = NULL * port_name = asmpistr(port_name, &cportname) * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Publish_name(csrvcname, cinfo, cportname) ) * */ if (!(likely(__Pyx_TypeTest(__pyx_v_info, __pyx_ptype_6mpi4py_3MPI_Info)))) __PYX_ERR(7, 2294, __pyx_L1_error) __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(__pyx_v_info); /* "mpi4py/MPI/Comm.pyx":2295 * port_name = asmpistr(port_name, &cportname) * cdef MPI_Info cinfo = arg_Info(info) * with nogil: CHKERR( MPI_Publish_name(csrvcname, cinfo, cportname) ) # <<<<<<<<<<<<<< * * def Unpublish_name(service_name, port_name, info=INFO_NULL): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_6 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Publish_name(__pyx_v_csrvcname, __pyx_v_cinfo, __pyx_v_cportname)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(7, 2295, __pyx_L5_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":2284 * # --------------- * * def Publish_name(service_name, port_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Publish a service name */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Publish_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_service_name); __Pyx_XDECREF(__pyx_v_port_name); __Pyx_XDECREF(__pyx_v_info); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2297 * with nogil: CHKERR( MPI_Publish_name(csrvcname, cinfo, cportname) ) * * def Unpublish_name(service_name, port_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Unpublish a service name */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_35Unpublish_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_34Unpublish_name[] = "Unpublish_name(service_name, port_name, info=INFO_NULL)\n\n Unpublish a service name\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_35Unpublish_name = {"Unpublish_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_35Unpublish_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_34Unpublish_name}; static PyObject *__pyx_pw_6mpi4py_3MPI_35Unpublish_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_service_name = 0; PyObject *__pyx_v_port_name = 0; PyObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Unpublish_name (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_service_name,&__pyx_n_s_port_name,&__pyx_n_s_info,0}; PyObject* values[3] = {0,0,0}; values[2] = __pyx_k__104; 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_service_name)) != 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_port_name)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpublish_name", 0, 2, 3, 1); __PYX_ERR(7, 2297, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_info); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Unpublish_name") < 0)) __PYX_ERR(7, 2297, __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_service_name = values[0]; __pyx_v_port_name = values[1]; __pyx_v_info = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Unpublish_name", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 2297, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Unpublish_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_34Unpublish_name(__pyx_self, __pyx_v_service_name, __pyx_v_port_name, __pyx_v_info); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_34Unpublish_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_service_name, PyObject *__pyx_v_port_name, PyObject *__pyx_v_info) { char *__pyx_v_csrvcname; char *__pyx_v_cportname; MPI_Info __pyx_v_cinfo; 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; int __pyx_t_6; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Unpublish_name", 0); __Pyx_INCREF(__pyx_v_service_name); __Pyx_INCREF(__pyx_v_port_name); __Pyx_INCREF(__pyx_v_info); /* "mpi4py/MPI/Comm.pyx":2301 * Unpublish a service name * """ * if isinstance(port_name, Info): # backward compatibility # <<<<<<<<<<<<<< * port_name, info = info, port_name * cdef char *csrvcname = NULL */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_port_name, __pyx_ptype_6mpi4py_3MPI_Info); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Comm.pyx":2302 * """ * if isinstance(port_name, Info): # backward compatibility * port_name, info = info, port_name # <<<<<<<<<<<<<< * cdef char *csrvcname = NULL * service_name = asmpistr(service_name, &csrvcname) */ __pyx_t_3 = __pyx_v_info; __pyx_t_4 = __pyx_v_port_name; __pyx_v_port_name = __pyx_t_3; __pyx_t_3 = 0; __pyx_v_info = __pyx_t_4; __pyx_t_4 = 0; /* "mpi4py/MPI/Comm.pyx":2301 * Unpublish a service name * """ * if isinstance(port_name, Info): # backward compatibility # <<<<<<<<<<<<<< * port_name, info = info, port_name * cdef char *csrvcname = NULL */ } /* "mpi4py/MPI/Comm.pyx":2303 * if isinstance(port_name, Info): # backward compatibility * port_name, info = info, port_name * cdef char *csrvcname = NULL # <<<<<<<<<<<<<< * service_name = asmpistr(service_name, &csrvcname) * cdef char *cportname = NULL */ __pyx_v_csrvcname = NULL; /* "mpi4py/MPI/Comm.pyx":2304 * port_name, info = info, port_name * cdef char *csrvcname = NULL * service_name = asmpistr(service_name, &csrvcname) # <<<<<<<<<<<<<< * cdef char *cportname = NULL * port_name = asmpistr(port_name, &cportname) */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_service_name, (&__pyx_v_csrvcname)); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 2304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_service_name, __pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/Comm.pyx":2305 * cdef char *csrvcname = NULL * service_name = asmpistr(service_name, &csrvcname) * cdef char *cportname = NULL # <<<<<<<<<<<<<< * port_name = asmpistr(port_name, &cportname) * cdef MPI_Info cinfo = arg_Info(info) */ __pyx_v_cportname = NULL; /* "mpi4py/MPI/Comm.pyx":2306 * service_name = asmpistr(service_name, &csrvcname) * cdef char *cportname = NULL * port_name = asmpistr(port_name, &cportname) # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * with nogil: CHKERR( MPI_Unpublish_name(csrvcname, cinfo, cportname) ) */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_port_name, (&__pyx_v_cportname)); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_port_name, __pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/Comm.pyx":2307 * cdef char *cportname = NULL * port_name = asmpistr(port_name, &cportname) * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Unpublish_name(csrvcname, cinfo, cportname) ) * */ if (!(likely(__Pyx_TypeTest(__pyx_v_info, __pyx_ptype_6mpi4py_3MPI_Info)))) __PYX_ERR(7, 2307, __pyx_L1_error) __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(__pyx_v_info); /* "mpi4py/MPI/Comm.pyx":2308 * port_name = asmpistr(port_name, &cportname) * cdef MPI_Info cinfo = arg_Info(info) * with nogil: CHKERR( MPI_Unpublish_name(csrvcname, cinfo, cportname) ) # <<<<<<<<<<<<<< * * def Lookup_name(service_name, info=INFO_NULL): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_6 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Unpublish_name(__pyx_v_csrvcname, __pyx_v_cinfo, __pyx_v_cportname)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(7, 2308, __pyx_L5_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":2297 * with nogil: CHKERR( MPI_Publish_name(csrvcname, cinfo, cportname) ) * * def Unpublish_name(service_name, port_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Unpublish a service name */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Unpublish_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_service_name); __Pyx_XDECREF(__pyx_v_port_name); __Pyx_XDECREF(__pyx_v_info); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Comm.pyx":2310 * with nogil: CHKERR( MPI_Unpublish_name(csrvcname, cinfo, cportname) ) * * def Lookup_name(service_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Lookup a port name given a service name */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_37Lookup_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_36Lookup_name[] = "Lookup_name(service_name, info=INFO_NULL)\n\n Lookup a port name given a service name\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_37Lookup_name = {"Lookup_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_37Lookup_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_36Lookup_name}; static PyObject *__pyx_pw_6mpi4py_3MPI_37Lookup_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_service_name = 0; PyObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Lookup_name (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_service_name,&__pyx_n_s_info,0}; PyObject* values[2] = {0,0}; values[1] = __pyx_k__105; 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_service_name)) != 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_info); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Lookup_name") < 0)) __PYX_ERR(7, 2310, __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_service_name = values[0]; __pyx_v_info = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Lookup_name", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 2310, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Lookup_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_36Lookup_name(__pyx_self, __pyx_v_service_name, __pyx_v_info); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_36Lookup_name(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_service_name, PyObject *__pyx_v_info) { char *__pyx_v_csrvcname; MPI_Info __pyx_v_cinfo; char __pyx_v_cportname[(MPI_MAX_PORT_NAME + 1)]; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Lookup_name", 0); __Pyx_INCREF(__pyx_v_service_name); /* "mpi4py/MPI/Comm.pyx":2314 * Lookup a port name given a service name * """ * cdef char *csrvcname = NULL # <<<<<<<<<<<<<< * service_name = asmpistr(service_name, &csrvcname) * cdef MPI_Info cinfo = arg_Info(info) */ __pyx_v_csrvcname = NULL; /* "mpi4py/MPI/Comm.pyx":2315 * """ * cdef char *csrvcname = NULL * service_name = asmpistr(service_name, &csrvcname) # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * cdef char cportname[MPI_MAX_PORT_NAME+1] */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_service_name, (&__pyx_v_csrvcname)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_service_name, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2316 * cdef char *csrvcname = NULL * service_name = asmpistr(service_name, &csrvcname) * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * cdef char cportname[MPI_MAX_PORT_NAME+1] * with nogil: CHKERR( MPI_Lookup_name(csrvcname, cinfo, cportname) ) */ if (!(likely(__Pyx_TypeTest(__pyx_v_info, __pyx_ptype_6mpi4py_3MPI_Info)))) __PYX_ERR(7, 2316, __pyx_L1_error) __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(__pyx_v_info); /* "mpi4py/MPI/Comm.pyx":2318 * cdef MPI_Info cinfo = arg_Info(info) * cdef char cportname[MPI_MAX_PORT_NAME+1] * with nogil: CHKERR( MPI_Lookup_name(csrvcname, cinfo, cportname) ) # <<<<<<<<<<<<<< * cportname[MPI_MAX_PORT_NAME] = 0 # just in case * return mpistr(cportname) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Lookup_name(__pyx_v_csrvcname, __pyx_v_cinfo, __pyx_v_cportname)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(7, 2318, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Comm.pyx":2319 * cdef char cportname[MPI_MAX_PORT_NAME+1] * with nogil: CHKERR( MPI_Lookup_name(csrvcname, cinfo, cportname) ) * cportname[MPI_MAX_PORT_NAME] = 0 # just in case # <<<<<<<<<<<<<< * return mpistr(cportname) */ (__pyx_v_cportname[MPI_MAX_PORT_NAME]) = 0; /* "mpi4py/MPI/Comm.pyx":2320 * with nogil: CHKERR( MPI_Lookup_name(csrvcname, cinfo, cportname) ) * cportname[MPI_MAX_PORT_NAME] = 0 # just in case * return mpistr(cportname) # <<<<<<<<<<<<<< */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_f_6mpi4py_3MPI_mpistr(__pyx_v_cportname); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Comm.pyx":2310 * with nogil: CHKERR( MPI_Unpublish_name(csrvcname, cinfo, cportname) ) * * def Lookup_name(service_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Lookup a port name given a service name */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Lookup_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_service_name); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":33 * """ * * def __cinit__(self, Win win=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_WIN_NULL * if win is None: return */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_3Win_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_3Win_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIWinObject *__pyx_v_win = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_win,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIWinObject *)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_win); 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(30, 33, __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_win = ((struct PyMPIWinObject *)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(30, 33, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_win), __pyx_ptype_6mpi4py_3MPI_Win, 1, "win", 0))) __PYX_ERR(30, 33, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win___cinit__(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_win); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_3Win___cinit__(struct PyMPIWinObject *__pyx_v_self, struct PyMPIWinObject *__pyx_v_win) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; MPI_Win __pyx_t_3; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/Win.pyx":34 * * def __cinit__(self, Win win=None): * self.ob_mpi = MPI_WIN_NULL # <<<<<<<<<<<<<< * if win is None: return * self.ob_mpi = win.ob_mpi */ __pyx_v_self->ob_mpi = MPI_WIN_NULL; /* "mpi4py/MPI/Win.pyx":35 * def __cinit__(self, Win win=None): * self.ob_mpi = MPI_WIN_NULL * if win is None: return # <<<<<<<<<<<<<< * self.ob_mpi = win.ob_mpi * self.ob_mem = win.ob_mem */ __pyx_t_1 = (((PyObject *)__pyx_v_win) == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/Win.pyx":36 * self.ob_mpi = MPI_WIN_NULL * if win is None: return * self.ob_mpi = win.ob_mpi # <<<<<<<<<<<<<< * self.ob_mem = win.ob_mem * */ __pyx_t_3 = __pyx_v_win->ob_mpi; __pyx_v_self->ob_mpi = __pyx_t_3; /* "mpi4py/MPI/Win.pyx":37 * if win is None: return * self.ob_mpi = win.ob_mpi * self.ob_mem = win.ob_mem # <<<<<<<<<<<<<< * * def __dealloc__(self): */ __pyx_t_4 = __pyx_v_win->ob_mem; __Pyx_INCREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __Pyx_GOTREF(__pyx_v_self->ob_mem); __Pyx_DECREF(__pyx_v_self->ob_mem); __pyx_v_self->ob_mem = __pyx_t_4; __pyx_t_4 = 0; /* "mpi4py/MPI/Win.pyx":33 * """ * * def __cinit__(self, Win win=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_WIN_NULL * if win is None: return */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":39 * self.ob_mem = win.ob_mem * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Win(&self.ob_mpi) ) */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_3Win_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_3Win_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_3Win_2__dealloc__(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_3Win_2__dealloc__(struct PyMPIWinObject *__pyx_v_self) { __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "mpi4py/MPI/Win.pyx":40 * * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return # <<<<<<<<<<<<<< * CHKERR( del_Win(&self.ob_mpi) ) * */ __pyx_t_1 = ((!((__pyx_v_self->flags & __pyx_e_6mpi4py_3MPI_PyMPI_OWNED) != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "mpi4py/MPI/Win.pyx":41 * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Win(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * def __richcmp__(self, other, int op): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(__pyx_f_6mpi4py_3MPI_del_Win((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 41, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":39 * self.ob_mem = win.ob_mem * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_Win(&self.ob_mpi) ) */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.Win.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/Win.pyx":43 * CHKERR( del_Win(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Win): return NotImplemented * cdef Win s = self, o = other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_4__richcmp__(((struct PyMPIWinObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_op)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_4__richcmp__(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { struct PyMPIWinObject *__pyx_v_s = 0; struct PyMPIWinObject *__pyx_v_o = 0; PyObject *__pyx_v_mod = 0; PyObject *__pyx_v_cls = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "mpi4py/MPI/Win.pyx":44 * * def __richcmp__(self, other, int op): * if not isinstance(other, Win): return NotImplemented # <<<<<<<<<<<<<< * cdef Win s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_ptype_6mpi4py_3MPI_Win); __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_builtin_NotImplemented); __pyx_r = __pyx_builtin_NotImplemented; goto __pyx_L0; } /* "mpi4py/MPI/Win.pyx":45 * def __richcmp__(self, other, int op): * if not isinstance(other, Win): return NotImplemented * cdef Win s = self, o = other # <<<<<<<<<<<<<< * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) */ __pyx_t_3 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_3); __pyx_v_s = ((struct PyMPIWinObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_v_other; __Pyx_INCREF(__pyx_t_3); __pyx_v_o = ((struct PyMPIWinObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Win.pyx":46 * if not isinstance(other, Win): return NotImplemented * cdef Win s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) # <<<<<<<<<<<<<< * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ */ __pyx_t_2 = ((__pyx_v_op == Py_EQ) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi == __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Win.pyx":47 * cdef Win s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) # <<<<<<<<<<<<<< * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ */ __pyx_t_2 = ((__pyx_v_op == Py_NE) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi != __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Win.pyx":48 * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mod = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Win.pyx":49 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 49, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_cls = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/Win.pyx":50 * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) # <<<<<<<<<<<<<< * * def __bool__(self): */ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mod); __Pyx_GIVEREF(__pyx_v_mod); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mod); __Pyx_INCREF(__pyx_v_cls); __Pyx_GIVEREF(__pyx_v_cls); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cls); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_unorderable_type_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(30, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(30, 50, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":43 * CHKERR( del_Win(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, Win): return NotImplemented * cdef Win s = self, o = other */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Win.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_s); __Pyx_XDECREF((PyObject *)__pyx_v_o); __Pyx_XDECREF(__pyx_v_mod); __Pyx_XDECREF(__pyx_v_cls); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":52 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_WIN_NULL * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_3Win_7__bool__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_3Win_7__bool__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_6__bool__(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_3Win_6__bool__(struct PyMPIWinObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__", 0); /* "mpi4py/MPI/Win.pyx":53 * * def __bool__(self): * return self.ob_mpi != MPI_WIN_NULL # <<<<<<<<<<<<<< * * # Window Creation */ __pyx_r = (__pyx_v_self->ob_mpi != MPI_WIN_NULL); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":52 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_WIN_NULL * */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":59 * * @classmethod * def Create(cls, memory, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, Intracomm comm=COMM_SELF): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_9Create(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_8Create[] = "Win.Create(type cls, memory, int disp_unit=1, Info info=INFO_NULL, Intracomm comm=COMM_SELF)\n\n Create an window object for one-sided communication\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_9Create(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_memory = 0; int __pyx_v_disp_unit; struct PyMPIInfoObject *__pyx_v_info = 0; struct PyMPIIntracommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memory,&__pyx_n_s_disp_unit,&__pyx_n_s_info,&__pyx_n_s_comm,0}; PyObject* values[4] = {0,0,0,0}; values[2] = (PyObject *)__pyx_k__106; values[3] = (PyObject *)__pyx_k__107; 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_memory)) != 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_disp_unit); 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_info); 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_comm); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create") < 0)) __PYX_ERR(30, 59, __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_memory = values[0]; if (values[1]) { __pyx_v_disp_unit = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_disp_unit == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 59, __pyx_L3_error) } else { __pyx_v_disp_unit = ((int)1); } __pyx_v_info = ((struct PyMPIInfoObject *)values[2]); __pyx_v_comm = ((struct PyMPIIntracommObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 59, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Create", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(30, 60, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Intracomm, 0, "comm", 0))) __PYX_ERR(30, 60, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_8Create(((PyTypeObject*)__pyx_v_cls), __pyx_v_memory, __pyx_v_disp_unit, __pyx_v_info, __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_8Create(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_memory, int __pyx_v_disp_unit, struct PyMPIInfoObject *__pyx_v_info, struct PyMPIIntracommObject *__pyx_v_comm) { void *__pyx_v_base; MPI_Aint __pyx_v_size; struct PyMPIWinObject *__pyx_v_win = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create", 0); __Pyx_INCREF(__pyx_v_memory); /* "mpi4py/MPI/Win.pyx":64 * Create an window object for one-sided communication * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0 * if memory is __BOTTOM__: */ __pyx_v_base = NULL; /* "mpi4py/MPI/Win.pyx":65 * """ * cdef void *base = NULL * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * if memory is __BOTTOM__: * base = MPI_BOTTOM */ __pyx_v_size = 0; /* "mpi4py/MPI/Win.pyx":66 * cdef void *base = NULL * cdef MPI_Aint size = 0 * if memory is __BOTTOM__: # <<<<<<<<<<<<<< * base = MPI_BOTTOM * memory = None */ __pyx_t_1 = (__pyx_v_memory == __pyx_v_6mpi4py_3MPI___BOTTOM__); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Win.pyx":67 * cdef MPI_Aint size = 0 * if memory is __BOTTOM__: * base = MPI_BOTTOM # <<<<<<<<<<<<<< * memory = None * elif memory is not None: */ __pyx_v_base = MPI_BOTTOM; /* "mpi4py/MPI/Win.pyx":68 * if memory is __BOTTOM__: * base = MPI_BOTTOM * memory = None # <<<<<<<<<<<<<< * elif memory is not None: * memory = getbuffer_w(memory, &base, &size) */ __Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_memory, Py_None); /* "mpi4py/MPI/Win.pyx":66 * cdef void *base = NULL * cdef MPI_Aint size = 0 * if memory is __BOTTOM__: # <<<<<<<<<<<<<< * base = MPI_BOTTOM * memory = None */ goto __pyx_L3; } /* "mpi4py/MPI/Win.pyx":69 * base = MPI_BOTTOM * memory = None * elif memory is not None: # <<<<<<<<<<<<<< * memory = getbuffer_w(memory, &base, &size) * cdef Win win = Win.__new__(Win) */ __pyx_t_2 = (__pyx_v_memory != Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/Win.pyx":70 * memory = None * elif memory is not None: * memory = getbuffer_w(memory, &base, &size) # <<<<<<<<<<<<<< * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create( */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_memory, (&__pyx_v_base), (&__pyx_v_size))); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_memory, __pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Win.pyx":69 * base = MPI_BOTTOM * memory = None * elif memory is not None: # <<<<<<<<<<<<<< * memory = getbuffer_w(memory, &base, &size) * cdef Win win = Win.__new__(Win) */ } __pyx_L3:; /* "mpi4py/MPI/Win.pyx":71 * elif memory is not None: * memory = getbuffer_w(memory, &base, &size) * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_create( * base, size, disp_unit, */ __pyx_t_3 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 71, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __pyx_t_4 = ((PyObject *)__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; __pyx_v_win = ((struct PyMPIWinObject *)__pyx_t_4); __pyx_t_4 = 0; /* "mpi4py/MPI/Win.pyx":72 * memory = getbuffer_w(memory, &base, &size) * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create( # <<<<<<<<<<<<<< * base, size, disp_unit, * info.ob_mpi, comm.ob_mpi, &win.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":74 * with nogil: CHKERR( MPI_Win_create( * base, size, disp_unit, * info.ob_mpi, comm.ob_mpi, &win.ob_mpi) ) # <<<<<<<<<<<<<< * win_set_eh(win.ob_mpi) * win.ob_mem = memory */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_create(__pyx_v_base, __pyx_v_size, __pyx_v_disp_unit, __pyx_v_info->ob_mpi, __pyx_v_comm->__pyx_base.ob_mpi, (&__pyx_v_win->ob_mpi))); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(30, 72, __pyx_L5_error) } /* "mpi4py/MPI/Win.pyx":72 * memory = getbuffer_w(memory, &base, &size) * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create( # <<<<<<<<<<<<<< * base, size, disp_unit, * info.ob_mpi, comm.ob_mpi, &win.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Win.pyx":75 * base, size, disp_unit, * info.ob_mpi, comm.ob_mpi, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) # <<<<<<<<<<<<<< * win.ob_mem = memory * return win */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_win_set_eh(__pyx_v_win->ob_mpi); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(30, 75, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":76 * info.ob_mpi, comm.ob_mpi, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) * win.ob_mem = memory # <<<<<<<<<<<<<< * return win * */ __Pyx_INCREF(__pyx_v_memory); __Pyx_GIVEREF(__pyx_v_memory); __Pyx_GOTREF(__pyx_v_win->ob_mem); __Pyx_DECREF(__pyx_v_win->ob_mem); __pyx_v_win->ob_mem = __pyx_v_memory; /* "mpi4py/MPI/Win.pyx":77 * win_set_eh(win.ob_mpi) * win.ob_mem = memory * return win # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_win)); __pyx_r = ((PyObject *)__pyx_v_win); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":59 * * @classmethod * def Create(cls, memory, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, Intracomm comm=COMM_SELF): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Win.Create", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_win); __Pyx_XDECREF(__pyx_v_memory); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":80 * * @classmethod * def Allocate(cls, Aint size, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, Intracomm comm=COMM_SELF): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_11Allocate(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_10Allocate[] = "Win.Allocate(type cls, Aint size, int disp_unit=1, Info info=INFO_NULL, Intracomm comm=COMM_SELF)\n\n Create an window object for one-sided communication\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_11Allocate(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Aint __pyx_v_size; int __pyx_v_disp_unit; struct PyMPIInfoObject *__pyx_v_info = 0; struct PyMPIIntracommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Allocate (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,&__pyx_n_s_disp_unit,&__pyx_n_s_info,&__pyx_n_s_comm,0}; PyObject* values[4] = {0,0,0,0}; values[2] = (PyObject *)__pyx_k__108; values[3] = (PyObject *)__pyx_k__109; 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_size)) != 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_disp_unit); 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_info); 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_comm); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Allocate") < 0)) __PYX_ERR(30, 80, __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_size = __Pyx_PyInt_As_MPI_Aint(values[0]); if (unlikely((__pyx_v_size == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(30, 80, __pyx_L3_error) if (values[1]) { __pyx_v_disp_unit = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_disp_unit == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 80, __pyx_L3_error) } else { __pyx_v_disp_unit = ((int)1); } __pyx_v_info = ((struct PyMPIInfoObject *)values[2]); __pyx_v_comm = ((struct PyMPIIntracommObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Allocate", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 80, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Allocate", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(30, 81, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Intracomm, 0, "comm", 0))) __PYX_ERR(30, 81, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_10Allocate(((PyTypeObject*)__pyx_v_cls), __pyx_v_size, __pyx_v_disp_unit, __pyx_v_info, __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_10Allocate(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, MPI_Aint __pyx_v_size, int __pyx_v_disp_unit, struct PyMPIInfoObject *__pyx_v_info, struct PyMPIIntracommObject *__pyx_v_comm) { void *__pyx_v_base; struct PyMPIWinObject *__pyx_v_win = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Allocate", 0); /* "mpi4py/MPI/Win.pyx":85 * Create an window object for one-sided communication * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_allocate( */ __pyx_v_base = NULL; /* "mpi4py/MPI/Win.pyx":86 * """ * cdef void *base = NULL * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_allocate( * size, disp_unit, info.ob_mpi, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 86, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_win = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Win.pyx":87 * cdef void *base = NULL * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_allocate( # <<<<<<<<<<<<<< * size, disp_unit, info.ob_mpi, * comm.ob_mpi, &base, &win.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":89 * with nogil: CHKERR( MPI_Win_allocate( * size, disp_unit, info.ob_mpi, * comm.ob_mpi, &base, &win.ob_mpi) ) # <<<<<<<<<<<<<< * win_set_eh(win.ob_mpi) * return win */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_allocate(__pyx_v_size, __pyx_v_disp_unit, __pyx_v_info->ob_mpi, __pyx_v_comm->__pyx_base.ob_mpi, (&__pyx_v_base), (&__pyx_v_win->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 87, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":87 * cdef void *base = NULL * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_allocate( # <<<<<<<<<<<<<< * size, disp_unit, info.ob_mpi, * comm.ob_mpi, &base, &win.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Win.pyx":90 * size, disp_unit, info.ob_mpi, * comm.ob_mpi, &base, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) # <<<<<<<<<<<<<< * return win * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_win_set_eh(__pyx_v_win->ob_mpi); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 90, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":91 * comm.ob_mpi, &base, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) * return win # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_win)); __pyx_r = ((PyObject *)__pyx_v_win); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":80 * * @classmethod * def Allocate(cls, Aint size, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, Intracomm comm=COMM_SELF): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Win.Allocate", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_win); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":94 * * @classmethod * def Allocate_shared(cls, Aint size, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, Intracomm comm=COMM_SELF): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_13Allocate_shared(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_12Allocate_shared[] = "Win.Allocate_shared(type cls, Aint size, int disp_unit=1, Info info=INFO_NULL, Intracomm comm=COMM_SELF)\n\n Create an window object for one-sided communication\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_13Allocate_shared(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Aint __pyx_v_size; int __pyx_v_disp_unit; struct PyMPIInfoObject *__pyx_v_info = 0; struct PyMPIIntracommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Allocate_shared (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,&__pyx_n_s_disp_unit,&__pyx_n_s_info,&__pyx_n_s_comm,0}; PyObject* values[4] = {0,0,0,0}; values[2] = (PyObject *)__pyx_k__110; values[3] = (PyObject *)__pyx_k__111; 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_size)) != 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_disp_unit); 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_info); 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_comm); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Allocate_shared") < 0)) __PYX_ERR(30, 94, __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_size = __Pyx_PyInt_As_MPI_Aint(values[0]); if (unlikely((__pyx_v_size == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(30, 94, __pyx_L3_error) if (values[1]) { __pyx_v_disp_unit = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_disp_unit == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 94, __pyx_L3_error) } else { __pyx_v_disp_unit = ((int)1); } __pyx_v_info = ((struct PyMPIInfoObject *)values[2]); __pyx_v_comm = ((struct PyMPIIntracommObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Allocate_shared", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 94, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Allocate_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(30, 95, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Intracomm, 0, "comm", 0))) __PYX_ERR(30, 95, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_12Allocate_shared(((PyTypeObject*)__pyx_v_cls), __pyx_v_size, __pyx_v_disp_unit, __pyx_v_info, __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_12Allocate_shared(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, MPI_Aint __pyx_v_size, int __pyx_v_disp_unit, struct PyMPIInfoObject *__pyx_v_info, struct PyMPIIntracommObject *__pyx_v_comm) { void *__pyx_v_base; struct PyMPIWinObject *__pyx_v_win = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Allocate_shared", 0); /* "mpi4py/MPI/Win.pyx":99 * Create an window object for one-sided communication * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_allocate_shared( */ __pyx_v_base = NULL; /* "mpi4py/MPI/Win.pyx":100 * """ * cdef void *base = NULL * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_allocate_shared( * size, disp_unit, info.ob_mpi, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 100, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_win = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Win.pyx":101 * cdef void *base = NULL * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_allocate_shared( # <<<<<<<<<<<<<< * size, disp_unit, info.ob_mpi, * comm.ob_mpi, &base, &win.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":103 * with nogil: CHKERR( MPI_Win_allocate_shared( * size, disp_unit, info.ob_mpi, * comm.ob_mpi, &base, &win.ob_mpi) ) # <<<<<<<<<<<<<< * win_set_eh(win.ob_mpi) * return win */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_allocate_shared(__pyx_v_size, __pyx_v_disp_unit, __pyx_v_info->ob_mpi, __pyx_v_comm->__pyx_base.ob_mpi, (&__pyx_v_base), (&__pyx_v_win->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 101, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":101 * cdef void *base = NULL * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_allocate_shared( # <<<<<<<<<<<<<< * size, disp_unit, info.ob_mpi, * comm.ob_mpi, &base, &win.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Win.pyx":104 * size, disp_unit, info.ob_mpi, * comm.ob_mpi, &base, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) # <<<<<<<<<<<<<< * return win * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_win_set_eh(__pyx_v_win->ob_mpi); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 104, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":105 * comm.ob_mpi, &base, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) * return win # <<<<<<<<<<<<<< * * def Shared_query(self, int rank): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_win)); __pyx_r = ((PyObject *)__pyx_v_win); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":94 * * @classmethod * def Allocate_shared(cls, Aint size, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, Intracomm comm=COMM_SELF): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Win.Allocate_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_win); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":107 * return win * * def Shared_query(self, int rank): # <<<<<<<<<<<<<< * """ * Query the process-local address */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_15Shared_query(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_14Shared_query[] = "Win.Shared_query(self, int rank)\n\n Query the process-local address\n for remote memory segments\n created with `Win.Allocate_shared()`\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_15Shared_query(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_rank; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Shared_query (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rank,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_rank)) != 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, "Shared_query") < 0)) __PYX_ERR(30, 107, __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_rank = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 107, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Shared_query", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 107, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Shared_query", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_14Shared_query(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_rank); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_14Shared_query(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank) { void *__pyx_v_base; MPI_Aint __pyx_v_size; int __pyx_v_disp_unit; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Shared_query", 0); /* "mpi4py/MPI/Win.pyx":113 * created with `Win.Allocate_shared()` * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0 * cdef int disp_unit = 1 */ __pyx_v_base = NULL; /* "mpi4py/MPI/Win.pyx":114 * """ * cdef void *base = NULL * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * cdef int disp_unit = 1 * with nogil: CHKERR( MPI_Win_shared_query( */ __pyx_v_size = 0; /* "mpi4py/MPI/Win.pyx":115 * cdef void *base = NULL * cdef MPI_Aint size = 0 * cdef int disp_unit = 1 # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_shared_query( * self.ob_mpi, rank, */ __pyx_v_disp_unit = 1; /* "mpi4py/MPI/Win.pyx":116 * cdef MPI_Aint size = 0 * cdef int disp_unit = 1 * with nogil: CHKERR( MPI_Win_shared_query( # <<<<<<<<<<<<<< * self.ob_mpi, rank, * &size, &disp_unit, &base) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":118 * with nogil: CHKERR( MPI_Win_shared_query( * self.ob_mpi, rank, * &size, &disp_unit, &base) ) # <<<<<<<<<<<<<< * return (asbuffer(self, base, size, 0), disp_unit) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_shared_query(__pyx_v_self->ob_mpi, __pyx_v_rank, (&__pyx_v_size), (&__pyx_v_disp_unit), (&__pyx_v_base))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 116, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":116 * cdef MPI_Aint size = 0 * cdef int disp_unit = 1 * with nogil: CHKERR( MPI_Win_shared_query( # <<<<<<<<<<<<<< * self.ob_mpi, rank, * &size, &disp_unit, &base) ) */ /*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:; } } /* "mpi4py/MPI/Win.pyx":119 * self.ob_mpi, rank, * &size, &disp_unit, &base) ) * return (asbuffer(self, base, size, 0), disp_unit) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_asbuffer(((PyObject *)__pyx_v_self), __pyx_v_base, __pyx_v_size, 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_disp_unit); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(30, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":107 * return win * * def Shared_query(self, int rank): # <<<<<<<<<<<<<< * """ * Query the process-local address */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Win.Shared_query", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":122 * * @classmethod * def Create_dynamic(cls, Info info=INFO_NULL, Intracomm comm=COMM_SELF): # <<<<<<<<<<<<<< * """ * Create an window object for one-sided communication */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_17Create_dynamic(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_16Create_dynamic[] = "Win.Create_dynamic(type cls, Info info=INFO_NULL, Intracomm comm=COMM_SELF)\n\n Create an window object for one-sided communication\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_17Create_dynamic(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIInfoObject *__pyx_v_info = 0; struct PyMPIIntracommObject *__pyx_v_comm = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_dynamic (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_info,&__pyx_n_s_comm,0}; PyObject* values[2] = {0,0}; values[0] = (PyObject *)__pyx_k__112; values[1] = (PyObject *)__pyx_k__113; 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_info); 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_comm); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_dynamic") < 0)) __PYX_ERR(30, 122, __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_info = ((struct PyMPIInfoObject *)values[0]); __pyx_v_comm = ((struct PyMPIIntracommObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_dynamic", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 122, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Create_dynamic", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(30, 122, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Intracomm, 0, "comm", 0))) __PYX_ERR(30, 122, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_16Create_dynamic(((PyTypeObject*)__pyx_v_cls), __pyx_v_info, __pyx_v_comm); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_16Create_dynamic(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIInfoObject *__pyx_v_info, struct PyMPIIntracommObject *__pyx_v_comm) { struct PyMPIWinObject *__pyx_v_win = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_dynamic", 0); /* "mpi4py/MPI/Win.pyx":126 * Create an window object for one-sided communication * """ * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_create_dynamic( * info.ob_mpi, comm.ob_mpi, &win.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 126, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_win = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Win.pyx":127 * """ * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create_dynamic( # <<<<<<<<<<<<<< * info.ob_mpi, comm.ob_mpi, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":128 * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create_dynamic( * info.ob_mpi, comm.ob_mpi, &win.ob_mpi) ) # <<<<<<<<<<<<<< * win_set_eh(win.ob_mpi) * win.ob_mem = {} */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_create_dynamic(__pyx_v_info->ob_mpi, __pyx_v_comm->__pyx_base.ob_mpi, (&__pyx_v_win->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 127, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":127 * """ * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create_dynamic( # <<<<<<<<<<<<<< * info.ob_mpi, comm.ob_mpi, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) */ /*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:; } } /* "mpi4py/MPI/Win.pyx":129 * with nogil: CHKERR( MPI_Win_create_dynamic( * info.ob_mpi, comm.ob_mpi, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) # <<<<<<<<<<<<<< * win.ob_mem = {} * return win */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_win_set_eh(__pyx_v_win->ob_mpi); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 129, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":130 * info.ob_mpi, comm.ob_mpi, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) * win.ob_mem = {} # <<<<<<<<<<<<<< * return win * */ __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_win->ob_mem); __Pyx_DECREF(__pyx_v_win->ob_mem); __pyx_v_win->ob_mem = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Win.pyx":131 * win_set_eh(win.ob_mpi) * win.ob_mem = {} * return win # <<<<<<<<<<<<<< * * def Attach(self, memory): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_win)); __pyx_r = ((PyObject *)__pyx_v_win); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":122 * * @classmethod * def Create_dynamic(cls, Info info=INFO_NULL, Intracomm comm=COMM_SELF): # <<<<<<<<<<<<<< * """ * Create an window object for one-sided communication */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Win.Create_dynamic", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_win); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":133 * return win * * def Attach(self, memory): # <<<<<<<<<<<<<< * """ * Attach a local memory region */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_19Attach(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_18Attach[] = "Win.Attach(self, memory)\n\n Attach a local memory region\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_19Attach(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_memory = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Attach (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memory,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_memory)) != 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, "Attach") < 0)) __PYX_ERR(30, 133, __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_memory = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Attach", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 133, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Attach", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_18Attach(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_memory); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_18Attach(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_memory) { void *__pyx_v_base; MPI_Aint __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Attach", 0); __Pyx_INCREF(__pyx_v_memory); /* "mpi4py/MPI/Win.pyx":137 * Attach a local memory region * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0 * memory = getbuffer_w(memory, &base, &size) */ __pyx_v_base = NULL; /* "mpi4py/MPI/Win.pyx":138 * """ * cdef void *base = NULL * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * memory = getbuffer_w(memory, &base, &size) * with nogil: CHKERR( MPI_Win_attach(self.ob_mpi, base, size) ) */ __pyx_v_size = 0; /* "mpi4py/MPI/Win.pyx":139 * cdef void *base = NULL * cdef MPI_Aint size = 0 * memory = getbuffer_w(memory, &base, &size) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_attach(self.ob_mpi, base, size) ) * try: (self.ob_mem)[base] = memory */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_memory, (&__pyx_v_base), (&__pyx_v_size))); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_memory, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":140 * cdef MPI_Aint size = 0 * memory = getbuffer_w(memory, &base, &size) * with nogil: CHKERR( MPI_Win_attach(self.ob_mpi, base, size) ) # <<<<<<<<<<<<<< * try: (self.ob_mem)[base] = memory * except: pass */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_attach(__pyx_v_self->ob_mpi, __pyx_v_base, __pyx_v_size)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 140, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":141 * memory = getbuffer_w(memory, &base, &size) * with nogil: CHKERR( MPI_Win_attach(self.ob_mpi, base, size) ) * try: (self.ob_mem)[base] = memory # <<<<<<<<<<<<<< * except: pass * */ { __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:*/ { if (unlikely(__pyx_v_self->ob_mem == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(30, 141, __pyx_L6_error) } __pyx_t_1 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)__pyx_v_base)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 141, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyDict_SetItem(((PyObject*)__pyx_v_self->ob_mem), __pyx_t_1, __pyx_v_memory) < 0)) __PYX_ERR(30, 141, __pyx_L6_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L11_try_end; __pyx_L6_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":142 * with nogil: CHKERR( MPI_Win_attach(self.ob_mpi, base, size) ) * try: (self.ob_mem)[base] = memory * except: pass # <<<<<<<<<<<<<< * * def Detach(self, memory): */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L7_exception_handled; } __pyx_L7_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_L11_try_end:; } /* "mpi4py/MPI/Win.pyx":133 * return win * * def Attach(self, memory): # <<<<<<<<<<<<<< * """ * Attach a local memory region */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Win.Attach", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_memory); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":144 * except: pass * * def Detach(self, memory): # <<<<<<<<<<<<<< * """ * Detach a local memory region */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_21Detach(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_20Detach[] = "Win.Detach(self, memory)\n\n Detach a local memory region\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_21Detach(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_memory = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Detach (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memory,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_memory)) != 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, "Detach") < 0)) __PYX_ERR(30, 144, __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_memory = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Detach", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 144, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Detach", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_20Detach(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_memory); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_20Detach(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_memory) { void *__pyx_v_base; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Detach", 0); __Pyx_INCREF(__pyx_v_memory); /* "mpi4py/MPI/Win.pyx":148 * Detach a local memory region * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * memory = getbuffer_w(memory, &base, NULL) * with nogil: CHKERR( MPI_Win_detach(self.ob_mpi, base) ) */ __pyx_v_base = NULL; /* "mpi4py/MPI/Win.pyx":149 * """ * cdef void *base = NULL * memory = getbuffer_w(memory, &base, NULL) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_detach(self.ob_mpi, base) ) * try: del (self.ob_mem)[base] */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_memory, (&__pyx_v_base), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_memory, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":150 * cdef void *base = NULL * memory = getbuffer_w(memory, &base, NULL) * with nogil: CHKERR( MPI_Win_detach(self.ob_mpi, base) ) # <<<<<<<<<<<<<< * try: del (self.ob_mem)[base] * except: pass */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_detach(__pyx_v_self->ob_mpi, __pyx_v_base)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 150, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":151 * memory = getbuffer_w(memory, &base, NULL) * with nogil: CHKERR( MPI_Win_detach(self.ob_mpi, base) ) * try: del (self.ob_mem)[base] # <<<<<<<<<<<<<< * except: pass * */ { __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:*/ { if (unlikely(__pyx_v_self->ob_mem == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(30, 151, __pyx_L6_error) } __pyx_t_1 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)__pyx_v_base)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 151, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyDict_DelItem(((PyObject*)__pyx_v_self->ob_mem), __pyx_t_1) < 0)) __PYX_ERR(30, 151, __pyx_L6_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L11_try_end; __pyx_L6_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":152 * with nogil: CHKERR( MPI_Win_detach(self.ob_mpi, base) ) * try: del (self.ob_mem)[base] * except: pass # <<<<<<<<<<<<<< * * def Free(self): */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L7_exception_handled; } __pyx_L7_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_L11_try_end:; } /* "mpi4py/MPI/Win.pyx":144 * except: pass * * def Detach(self, memory): # <<<<<<<<<<<<<< * """ * Detach a local memory region */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Win.Detach", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_memory); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":154 * except: pass * * def Free(self): # <<<<<<<<<<<<<< * """ * Free a window */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_23Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_22Free[] = "Win.Free(self)\n\n Free a window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_23Free(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Free", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Free", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_22Free(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_22Free(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Free", 0); /* "mpi4py/MPI/Win.pyx":158 * Free a window * """ * with nogil: CHKERR( MPI_Win_free(&self.ob_mpi) ) # <<<<<<<<<<<<<< * self.ob_mem = None * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_free((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 158, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":159 * """ * with nogil: CHKERR( MPI_Win_free(&self.ob_mpi) ) * self.ob_mem = None # <<<<<<<<<<<<<< * * # Window Info */ __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->ob_mem); __Pyx_DECREF(__pyx_v_self->ob_mem); __pyx_v_self->ob_mem = Py_None; /* "mpi4py/MPI/Win.pyx":154 * except: pass * * def Free(self): # <<<<<<<<<<<<<< * """ * Free a window */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Free", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":164 * # ----------- * * def Set_info(self, Info info): # <<<<<<<<<<<<<< * """ * Set new values for the hints */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_25Set_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_24Set_info[] = "Win.Set_info(self, Info info)\n\n Set new values for the hints\n associated with a window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_25Set_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_info (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_info,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_info)) != 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, "Set_info") < 0)) __PYX_ERR(30, 164, __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_info = ((struct PyMPIInfoObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_info", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 164, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Set_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(30, 164, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_24Set_info(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_info); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_24Set_info(struct PyMPIWinObject *__pyx_v_self, struct PyMPIInfoObject *__pyx_v_info) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_info", 0); /* "mpi4py/MPI/Win.pyx":169 * associated with a window * """ * with nogil: CHKERR( MPI_Win_set_info(self.ob_mpi, info.ob_mpi) ) # <<<<<<<<<<<<<< * * def Get_info(self): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_set_info(__pyx_v_self->ob_mpi, __pyx_v_info->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 169, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":164 * # ----------- * * def Set_info(self, Info info): # <<<<<<<<<<<<<< * """ * Set new values for the hints */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Set_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":171 * with nogil: CHKERR( MPI_Win_set_info(self.ob_mpi, info.ob_mpi) ) * * def Get_info(self): # <<<<<<<<<<<<<< * """ * Return the hints for a windows */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_27Get_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_26Get_info[] = "Win.Get_info(self)\n\n Return the hints for a windows\n that are currently in use\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_27Get_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_info (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_info", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_info", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_26Get_info(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_26Get_info(struct PyMPIWinObject *__pyx_v_self) { struct PyMPIInfoObject *__pyx_v_info = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_info", 0); /* "mpi4py/MPI/Win.pyx":176 * that are currently in use * """ * cdef Info info = Info.__new__(Info) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_get_info( self.ob_mpi, &info.ob_mpi) ) * return info */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 176, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Win.pyx":177 * """ * cdef Info info = Info.__new__(Info) * with nogil: CHKERR( MPI_Win_get_info( self.ob_mpi, &info.ob_mpi) ) # <<<<<<<<<<<<<< * return info * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_info(__pyx_v_self->ob_mpi, (&__pyx_v_info->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 177, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":178 * cdef Info info = Info.__new__(Info) * with nogil: CHKERR( MPI_Win_get_info( self.ob_mpi, &info.ob_mpi) ) * return info # <<<<<<<<<<<<<< * * property info: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_info)); __pyx_r = ((PyObject *)__pyx_v_info); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":171 * with nogil: CHKERR( MPI_Win_set_info(self.ob_mpi, info.ob_mpi) ) * * def Get_info(self): # <<<<<<<<<<<<<< * """ * Return the hints for a windows */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Win.Get_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_info); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":182 * property info: * """window info""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_info() * def __set__(self, info): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_4info_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_4info_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_4info___get__(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_4info___get__(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Win.pyx":183 * """window info""" * def __get__(self): * return self.Get_info() # <<<<<<<<<<<<<< * def __set__(self, info): * self.Set_info(info) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 183, __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(30, 183, __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; /* "mpi4py/MPI/Win.pyx":182 * property info: * """window info""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_info() * def __set__(self, info): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Win.info.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":184 * def __get__(self): * return self.Get_info() * def __set__(self, info): # <<<<<<<<<<<<<< * self.Set_info(info) * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_3Win_4info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_info); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_3Win_4info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_info) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_4info_2__set__(((struct PyMPIWinObject *)__pyx_v_self), ((PyObject *)__pyx_v_info)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_3Win_4info_2__set__(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_info) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 0); /* "mpi4py/MPI/Win.pyx":185 * return self.Get_info() * def __set__(self, info): * self.Set_info(info) # <<<<<<<<<<<<<< * * # Window Group */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 185, __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_v_info) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_info); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":184 * def __get__(self): * return self.Get_info() * def __set__(self, info): # <<<<<<<<<<<<<< * self.Set_info(info) * */ /* 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("mpi4py.MPI.Win.info.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":190 * # ------------- * * def Get_group(self): # <<<<<<<<<<<<<< * """ * Return a duplicate of the group of the */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_29Get_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_28Get_group[] = "Win.Get_group(self)\n\n Return a duplicate of the group of the\n communicator used to create the window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_29Get_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_group (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_group", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_group", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_28Get_group(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_28Get_group(struct PyMPIWinObject *__pyx_v_self) { struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_group", 0); /* "mpi4py/MPI/Win.pyx":195 * communicator used to create the window * """ * cdef Group group = Group() # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_get_group(self.ob_mpi, &group.ob_mpi) ) * return group */ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":196 * """ * cdef Group group = Group() * with nogil: CHKERR( MPI_Win_get_group(self.ob_mpi, &group.ob_mpi) ) # <<<<<<<<<<<<<< * return group * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_group(__pyx_v_self->ob_mpi, (&__pyx_v_group->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 196, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":197 * cdef Group group = Group() * with nogil: CHKERR( MPI_Win_get_group(self.ob_mpi, &group.ob_mpi) ) * return group # <<<<<<<<<<<<<< * * property group: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":190 * # ------------- * * def Get_group(self): # <<<<<<<<<<<<<< * """ * Return a duplicate of the group of the */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Win.Get_group", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":201 * property group: * """window group""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_group() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_5group_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_5group_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_5group___get__(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_5group___get__(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Win.pyx":202 * """window group""" * def __get__(self): * return self.Get_group() # <<<<<<<<<<<<<< * * # Window Attributes */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 202, __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(30, 202, __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; /* "mpi4py/MPI/Win.pyx":201 * property group: * """window group""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_group() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Win.group.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":207 * # ----------------- * * def Get_attr(self, int keyval): # <<<<<<<<<<<<<< * """ * Retrieve attribute value by key */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_31Get_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_30Get_attr[] = "Win.Get_attr(self, int keyval)\n\n Retrieve attribute value by key\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_31Get_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_keyval; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_attr (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_keyval,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_keyval)) != 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, "Get_attr") < 0)) __PYX_ERR(30, 207, __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_keyval = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_keyval == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 207, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_attr", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 207, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Get_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_30Get_attr(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_keyval); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_30Get_attr(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_keyval) { void *__pyx_v_attrval; int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_attr", 0); /* "mpi4py/MPI/Win.pyx":211 * Retrieve attribute value by key * """ * cdef void *attrval = NULL # <<<<<<<<<<<<<< * cdef int flag = 0 * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) */ __pyx_v_attrval = NULL; /* "mpi4py/MPI/Win.pyx":212 * """ * cdef void *attrval = NULL * cdef int flag = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) * if flag == 0: return None */ __pyx_v_flag = 0; /* "mpi4py/MPI/Win.pyx":213 * cdef void *attrval = NULL * cdef int flag = 0 * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) # <<<<<<<<<<<<<< * if flag == 0: return None * if attrval == NULL: return 0 */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval, (&__pyx_v_attrval), (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 213, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":214 * cdef int flag = 0 * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) * if flag == 0: return None # <<<<<<<<<<<<<< * if attrval == NULL: return 0 * # MPI-2 predefined attribute keyvals */ __pyx_t_2 = ((__pyx_v_flag == 0) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "mpi4py/MPI/Win.pyx":215 * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) * if flag == 0: return None * if attrval == NULL: return 0 # <<<<<<<<<<<<<< * # MPI-2 predefined attribute keyvals * if keyval == MPI_WIN_BASE: */ __pyx_t_2 = ((__pyx_v_attrval == NULL) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_int_0); __pyx_r = __pyx_int_0; goto __pyx_L0; } /* "mpi4py/MPI/Win.pyx":217 * if attrval == NULL: return 0 * # MPI-2 predefined attribute keyvals * if keyval == MPI_WIN_BASE: # <<<<<<<<<<<<<< * return attrval * elif keyval == MPI_WIN_SIZE: */ __pyx_t_2 = ((__pyx_v_keyval == MPI_WIN_BASE) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Win.pyx":218 * # MPI-2 predefined attribute keyvals * if keyval == MPI_WIN_BASE: * return attrval # <<<<<<<<<<<<<< * elif keyval == MPI_WIN_SIZE: * return (attrval)[0] */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)__pyx_v_attrval)); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":217 * if attrval == NULL: return 0 * # MPI-2 predefined attribute keyvals * if keyval == MPI_WIN_BASE: # <<<<<<<<<<<<<< * return attrval * elif keyval == MPI_WIN_SIZE: */ } /* "mpi4py/MPI/Win.pyx":219 * if keyval == MPI_WIN_BASE: * return attrval * elif keyval == MPI_WIN_SIZE: # <<<<<<<<<<<<<< * return (attrval)[0] * elif keyval == MPI_WIN_DISP_UNIT: */ __pyx_t_2 = ((__pyx_v_keyval == MPI_WIN_SIZE) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Win.pyx":220 * return attrval * elif keyval == MPI_WIN_SIZE: * return (attrval)[0] # <<<<<<<<<<<<<< * elif keyval == MPI_WIN_DISP_UNIT: * return (attrval)[0] */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_From_MPI_Aint((((MPI_Aint *)__pyx_v_attrval)[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":219 * if keyval == MPI_WIN_BASE: * return attrval * elif keyval == MPI_WIN_SIZE: # <<<<<<<<<<<<<< * return (attrval)[0] * elif keyval == MPI_WIN_DISP_UNIT: */ } /* "mpi4py/MPI/Win.pyx":221 * elif keyval == MPI_WIN_SIZE: * return (attrval)[0] * elif keyval == MPI_WIN_DISP_UNIT: # <<<<<<<<<<<<<< * return (attrval)[0] * # MPI-3 predefined attribute keyvals */ __pyx_t_2 = ((__pyx_v_keyval == MPI_WIN_DISP_UNIT) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Win.pyx":222 * return (attrval)[0] * elif keyval == MPI_WIN_DISP_UNIT: * return (attrval)[0] # <<<<<<<<<<<<<< * # MPI-3 predefined attribute keyvals * elif keyval == MPI_WIN_CREATE_FLAVOR: */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_From_int((((int *)__pyx_v_attrval)[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":221 * elif keyval == MPI_WIN_SIZE: * return (attrval)[0] * elif keyval == MPI_WIN_DISP_UNIT: # <<<<<<<<<<<<<< * return (attrval)[0] * # MPI-3 predefined attribute keyvals */ } /* "mpi4py/MPI/Win.pyx":224 * return (attrval)[0] * # MPI-3 predefined attribute keyvals * elif keyval == MPI_WIN_CREATE_FLAVOR: # <<<<<<<<<<<<<< * return (attrval)[0] * elif keyval == MPI_WIN_MODEL: */ __pyx_t_2 = ((__pyx_v_keyval == MPI_WIN_CREATE_FLAVOR) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Win.pyx":225 * # MPI-3 predefined attribute keyvals * elif keyval == MPI_WIN_CREATE_FLAVOR: * return (attrval)[0] # <<<<<<<<<<<<<< * elif keyval == MPI_WIN_MODEL: * return (attrval)[0] */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_From_int((((int *)__pyx_v_attrval)[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":224 * return (attrval)[0] * # MPI-3 predefined attribute keyvals * elif keyval == MPI_WIN_CREATE_FLAVOR: # <<<<<<<<<<<<<< * return (attrval)[0] * elif keyval == MPI_WIN_MODEL: */ } /* "mpi4py/MPI/Win.pyx":226 * elif keyval == MPI_WIN_CREATE_FLAVOR: * return (attrval)[0] * elif keyval == MPI_WIN_MODEL: # <<<<<<<<<<<<<< * return (attrval)[0] * # user-defined attribute keyval */ __pyx_t_2 = ((__pyx_v_keyval == MPI_WIN_MODEL) != 0); if (__pyx_t_2) { /* "mpi4py/MPI/Win.pyx":227 * return (attrval)[0] * elif keyval == MPI_WIN_MODEL: * return (attrval)[0] # <<<<<<<<<<<<<< * # user-defined attribute keyval * return PyMPI_attr_get(self.ob_mpi, keyval, attrval) */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_From_int((((int *)__pyx_v_attrval)[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":226 * elif keyval == MPI_WIN_CREATE_FLAVOR: * return (attrval)[0] * elif keyval == MPI_WIN_MODEL: # <<<<<<<<<<<<<< * return (attrval)[0] * # user-defined attribute keyval */ } /* "mpi4py/MPI/Win.pyx":229 * return (attrval)[0] * # user-defined attribute keyval * return PyMPI_attr_get(self.ob_mpi, keyval, attrval) # <<<<<<<<<<<<<< * * def Set_attr(self, int keyval, object attrval): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_get(__pyx_v_self->ob_mpi, __pyx_v_keyval, __pyx_v_attrval); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":207 * # ----------------- * * def Get_attr(self, int keyval): # <<<<<<<<<<<<<< * """ * Retrieve attribute value by key */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Win.Get_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":231 * return PyMPI_attr_get(self.ob_mpi, keyval, attrval) * * def Set_attr(self, int keyval, object attrval): # <<<<<<<<<<<<<< * """ * Store attribute value associated with a key */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_33Set_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_32Set_attr[] = "Win.Set_attr(self, int keyval, attrval)\n\n Store attribute value associated with a key\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_33Set_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_keyval; PyObject *__pyx_v_attrval = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_attr (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_keyval,&__pyx_n_s_attrval,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_keyval)) != 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_attrval)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Set_attr", 1, 2, 2, 1); __PYX_ERR(30, 231, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Set_attr") < 0)) __PYX_ERR(30, 231, __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_keyval = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_keyval == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 231, __pyx_L3_error) __pyx_v_attrval = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_attr", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 231, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Set_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_32Set_attr(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_keyval, __pyx_v_attrval); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_32Set_attr(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_keyval, PyObject *__pyx_v_attrval) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_attr", 0); /* "mpi4py/MPI/Win.pyx":235 * Store attribute value associated with a key * """ * PyMPI_attr_set(self.ob_mpi, keyval, attrval) # <<<<<<<<<<<<<< * * def Delete_attr(self, int keyval): */ __pyx_t_1 = __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_set(__pyx_v_self->ob_mpi, __pyx_v_keyval, __pyx_v_attrval); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 235, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":231 * return PyMPI_attr_get(self.ob_mpi, keyval, attrval) * * def Set_attr(self, int keyval, object attrval): # <<<<<<<<<<<<<< * """ * Store attribute value associated with a key */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Set_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":237 * PyMPI_attr_set(self.ob_mpi, keyval, attrval) * * def Delete_attr(self, int keyval): # <<<<<<<<<<<<<< * """ * Delete attribute value associated with a key */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_35Delete_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_34Delete_attr[] = "Win.Delete_attr(self, int keyval)\n\n Delete attribute value associated with a key\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_35Delete_attr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_keyval; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Delete_attr (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_keyval,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_keyval)) != 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, "Delete_attr") < 0)) __PYX_ERR(30, 237, __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_keyval = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_keyval == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 237, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Delete_attr", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 237, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Delete_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_34Delete_attr(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_keyval); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_34Delete_attr(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_keyval) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Delete_attr", 0); /* "mpi4py/MPI/Win.pyx":241 * Delete attribute value associated with a key * """ * CHKERR( MPI_Win_delete_attr(self.ob_mpi, keyval) ) # <<<<<<<<<<<<<< * * @classmethod */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_delete_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 241, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":237 * PyMPI_attr_set(self.ob_mpi, keyval, attrval) * * def Delete_attr(self, int keyval): # <<<<<<<<<<<<<< * """ * Delete attribute value associated with a key */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Delete_attr", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":244 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None, nopython=False): # <<<<<<<<<<<<<< * """ * Create a new attribute key for windows */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_37Create_keyval(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_36Create_keyval[] = "Win.Create_keyval(type cls, copy_fn=None, delete_fn=None, nopython=False)\n\n Create a new attribute key for windows\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_37Create_keyval(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_copy_fn = 0; PyObject *__pyx_v_delete_fn = 0; PyObject *__pyx_v_nopython = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_keyval (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_copy_fn,&__pyx_n_s_delete_fn,&__pyx_n_s_nopython,0}; PyObject* values[3] = {0,0,0}; values[0] = ((PyObject *)Py_None); values[1] = ((PyObject *)Py_None); 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 (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_copy_fn); 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_delete_fn); 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_nopython); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Create_keyval") < 0)) __PYX_ERR(30, 244, __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_copy_fn = values[0]; __pyx_v_delete_fn = values[1]; __pyx_v_nopython = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_keyval", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 244, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Create_keyval", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_36Create_keyval(((PyTypeObject*)__pyx_v_cls), __pyx_v_copy_fn, __pyx_v_delete_fn, __pyx_v_nopython); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_36Create_keyval(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_copy_fn, PyObject *__pyx_v_delete_fn, PyObject *__pyx_v_nopython) { PyObject *__pyx_v_state = 0; int __pyx_v_keyval; MPI_Win_copy_attr_function *__pyx_v__copy; MPI_Win_delete_attr_function *__pyx_v__del; void *__pyx_v_extra_state; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Create_keyval", 0); /* "mpi4py/MPI/Win.pyx":248 * Create a new attribute key for windows * """ * cdef object state = _p_keyval(copy_fn, delete_fn, nopython) # <<<<<<<<<<<<<< * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Win_copy_attr_function *_copy = PyMPI_attr_copy_fn */ __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_copy_fn); __Pyx_GIVEREF(__pyx_v_copy_fn); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_copy_fn); __Pyx_INCREF(__pyx_v_delete_fn); __Pyx_GIVEREF(__pyx_v_delete_fn); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_delete_fn); __Pyx_INCREF(__pyx_v_nopython); __Pyx_GIVEREF(__pyx_v_nopython); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_nopython); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6mpi4py_3MPI__p_keyval), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_state = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/Win.pyx":249 * """ * cdef object state = _p_keyval(copy_fn, delete_fn, nopython) * cdef int keyval = MPI_KEYVAL_INVALID # <<<<<<<<<<<<<< * cdef MPI_Win_copy_attr_function *_copy = PyMPI_attr_copy_fn * cdef MPI_Win_delete_attr_function *_del = PyMPI_attr_delete_fn */ __pyx_v_keyval = MPI_KEYVAL_INVALID; /* "mpi4py/MPI/Win.pyx":250 * cdef object state = _p_keyval(copy_fn, delete_fn, nopython) * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Win_copy_attr_function *_copy = PyMPI_attr_copy_fn # <<<<<<<<<<<<<< * cdef MPI_Win_delete_attr_function *_del = PyMPI_attr_delete_fn * cdef void *extra_state = state */ __pyx_v__copy = __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_copy_fn; /* "mpi4py/MPI/Win.pyx":251 * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Win_copy_attr_function *_copy = PyMPI_attr_copy_fn * cdef MPI_Win_delete_attr_function *_del = PyMPI_attr_delete_fn # <<<<<<<<<<<<<< * cdef void *extra_state = state * CHKERR( MPI_Win_create_keyval(_copy, _del, &keyval, extra_state) ) */ __pyx_v__del = __pyx_fuse_2__pyx_f_6mpi4py_3MPI_PyMPI_attr_delete_fn; /* "mpi4py/MPI/Win.pyx":252 * cdef MPI_Win_copy_attr_function *_copy = PyMPI_attr_copy_fn * cdef MPI_Win_delete_attr_function *_del = PyMPI_attr_delete_fn * cdef void *extra_state = state # <<<<<<<<<<<<<< * CHKERR( MPI_Win_create_keyval(_copy, _del, &keyval, extra_state) ) * win_keyval[keyval] = state */ __pyx_v_extra_state = ((void *)__pyx_v_state); /* "mpi4py/MPI/Win.pyx":253 * cdef MPI_Win_delete_attr_function *_del = PyMPI_attr_delete_fn * cdef void *extra_state = state * CHKERR( MPI_Win_create_keyval(_copy, _del, &keyval, extra_state) ) # <<<<<<<<<<<<<< * win_keyval[keyval] = state * return keyval */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_create_keyval(__pyx_v__copy, __pyx_v__del, (&__pyx_v_keyval), __pyx_v_extra_state)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 253, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":254 * cdef void *extra_state = state * CHKERR( MPI_Win_create_keyval(_copy, _del, &keyval, extra_state) ) * win_keyval[keyval] = state # <<<<<<<<<<<<<< * return keyval * */ if (unlikely(__pyx_v_6mpi4py_3MPI_win_keyval == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(30, 254, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_6mpi4py_3MPI_win_keyval, __pyx_t_2, __pyx_v_state) < 0)) __PYX_ERR(30, 254, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Win.pyx":255 * CHKERR( MPI_Win_create_keyval(_copy, _del, &keyval, extra_state) ) * win_keyval[keyval] = state * return keyval # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":244 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None, nopython=False): # <<<<<<<<<<<<<< * """ * Create a new attribute key for windows */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Win.Create_keyval", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_state); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":258 * * @classmethod * def Free_keyval(cls, int keyval): # <<<<<<<<<<<<<< * """ * Free and attribute key for windows */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_39Free_keyval(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_38Free_keyval[] = "Win.Free_keyval(type cls, int keyval)\n\n Free and attribute key for windows\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_39Free_keyval(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_keyval; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free_keyval (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_keyval,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_keyval)) != 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, "Free_keyval") < 0)) __PYX_ERR(30, 258, __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_keyval = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_keyval == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 258, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Free_keyval", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 258, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Free_keyval", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_38Free_keyval(((PyTypeObject*)__pyx_v_cls), __pyx_v_keyval); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_38Free_keyval(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, int __pyx_v_keyval) { int __pyx_v_keyval_save; 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_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Free_keyval", 0); /* "mpi4py/MPI/Win.pyx":262 * Free and attribute key for windows * """ * cdef int keyval_save = keyval # <<<<<<<<<<<<<< * CHKERR( MPI_Win_free_keyval(&keyval) ) * try: del win_keyval[keyval_save] */ __pyx_v_keyval_save = __pyx_v_keyval; /* "mpi4py/MPI/Win.pyx":263 * """ * cdef int keyval_save = keyval * CHKERR( MPI_Win_free_keyval(&keyval) ) # <<<<<<<<<<<<<< * try: del win_keyval[keyval_save] * except KeyError: pass */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_free_keyval((&__pyx_v_keyval))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 263, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":264 * cdef int keyval_save = keyval * CHKERR( MPI_Win_free_keyval(&keyval) ) * try: del win_keyval[keyval_save] # <<<<<<<<<<<<<< * except KeyError: pass * return keyval */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_2); __Pyx_XGOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { if (unlikely(__pyx_v_6mpi4py_3MPI_win_keyval == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(30, 264, __pyx_L3_error) } __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_keyval_save); if (unlikely(!__pyx_t_5)) __PYX_ERR(30, 264, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_DelItem(__pyx_v_6mpi4py_3MPI_win_keyval, __pyx_t_5) < 0)) __PYX_ERR(30, 264, __pyx_L3_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 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; goto __pyx_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /* "mpi4py/MPI/Win.pyx":265 * CHKERR( MPI_Win_free_keyval(&keyval) ) * try: del win_keyval[keyval_save] * except KeyError: pass # <<<<<<<<<<<<<< * return keyval * */ __pyx_t_1 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); if (__pyx_t_1) { __Pyx_ErrRestore(0,0,0); goto __pyx_L4_exception_handled; } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "mpi4py/MPI/Win.pyx":264 * cdef int keyval_save = keyval * CHKERR( MPI_Win_free_keyval(&keyval) ) * try: del win_keyval[keyval_save] # <<<<<<<<<<<<<< * except KeyError: pass * return keyval */ __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); goto __pyx_L1_error; __pyx_L4_exception_handled:; __Pyx_XGIVEREF(__pyx_t_2); __Pyx_XGIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); __pyx_L8_try_end:; } /* "mpi4py/MPI/Win.pyx":266 * try: del win_keyval[keyval_save] * except KeyError: pass * return keyval # <<<<<<<<<<<<<< * * property attrs: */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_5)) __PYX_ERR(30, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":258 * * @classmethod * def Free_keyval(cls, int keyval): # <<<<<<<<<<<<<< * """ * Free and attribute key for windows */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Win.Free_keyval", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":270 * property attrs: * "window attributes" * def __get__(self): # <<<<<<<<<<<<<< * cdef void *base = NULL * cdef MPI_Aint size = 0 */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_5attrs_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_5attrs_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_5attrs___get__(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_5attrs___get__(struct PyMPIWinObject *__pyx_v_self) { void *__pyx_v_base; MPI_Aint __pyx_v_size; int __pyx_v_disp_unit; 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_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Win.pyx":271 * "window attributes" * def __get__(self): * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0 * cdef int disp_unit = 1 */ __pyx_v_base = NULL; /* "mpi4py/MPI/Win.pyx":272 * def __get__(self): * cdef void *base = NULL * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * cdef int disp_unit = 1 * win_get_base(self.ob_mpi, &base) */ __pyx_v_size = 0; /* "mpi4py/MPI/Win.pyx":273 * cdef void *base = NULL * cdef MPI_Aint size = 0 * cdef int disp_unit = 1 # <<<<<<<<<<<<<< * win_get_base(self.ob_mpi, &base) * win_get_size(self.ob_mpi, &size) */ __pyx_v_disp_unit = 1; /* "mpi4py/MPI/Win.pyx":274 * cdef MPI_Aint size = 0 * cdef int disp_unit = 1 * win_get_base(self.ob_mpi, &base) # <<<<<<<<<<<<<< * win_get_size(self.ob_mpi, &size) * win_get_unit(self.ob_mpi, &disp_unit) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_win_get_base(__pyx_v_self->ob_mpi, (&__pyx_v_base)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 274, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":275 * cdef int disp_unit = 1 * win_get_base(self.ob_mpi, &base) * win_get_size(self.ob_mpi, &size) # <<<<<<<<<<<<<< * win_get_unit(self.ob_mpi, &disp_unit) * return (base, size, disp_unit) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_win_get_size(__pyx_v_self->ob_mpi, (&__pyx_v_size)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 275, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":276 * win_get_base(self.ob_mpi, &base) * win_get_size(self.ob_mpi, &size) * win_get_unit(self.ob_mpi, &disp_unit) # <<<<<<<<<<<<<< * return (base, size, disp_unit) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_win_get_unit(__pyx_v_self->ob_mpi, (&__pyx_v_disp_unit)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 276, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":277 * win_get_size(self.ob_mpi, &size) * win_get_unit(self.ob_mpi, &disp_unit) * return (base, size, disp_unit) # <<<<<<<<<<<<<< * * property flavor: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)__pyx_v_base)); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_disp_unit); if (unlikely(!__pyx_t_4)) __PYX_ERR(30, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(30, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":270 * property attrs: * "window attributes" * def __get__(self): # <<<<<<<<<<<<<< * cdef void *base = NULL * cdef MPI_Aint size = 0 */ /* 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("mpi4py.MPI.Win.attrs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":281 * property flavor: * """window create flavor""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int keyval = MPI_WIN_CREATE_FLAVOR * cdef int *attrval = NULL */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_6flavor_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_6flavor_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_6flavor___get__(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_6flavor___get__(struct PyMPIWinObject *__pyx_v_self) { int __pyx_v_keyval; int *__pyx_v_attrval; int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Win.pyx":282 * """window create flavor""" * def __get__(self): * cdef int keyval = MPI_WIN_CREATE_FLAVOR # <<<<<<<<<<<<<< * cdef int *attrval = NULL * cdef int flag = 0 */ __pyx_v_keyval = MPI_WIN_CREATE_FLAVOR; /* "mpi4py/MPI/Win.pyx":283 * def __get__(self): * cdef int keyval = MPI_WIN_CREATE_FLAVOR * cdef int *attrval = NULL # <<<<<<<<<<<<<< * cdef int flag = 0 * if keyval != MPI_KEYVAL_INVALID: */ __pyx_v_attrval = NULL; /* "mpi4py/MPI/Win.pyx":284 * cdef int keyval = MPI_WIN_CREATE_FLAVOR * cdef int *attrval = NULL * cdef int flag = 0 # <<<<<<<<<<<<<< * if keyval != MPI_KEYVAL_INVALID: * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, */ __pyx_v_flag = 0; /* "mpi4py/MPI/Win.pyx":285 * cdef int *attrval = NULL * cdef int flag = 0 * if keyval != MPI_KEYVAL_INVALID: # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, * &attrval, &flag) ) */ __pyx_t_1 = ((__pyx_v_keyval != MPI_KEYVAL_INVALID) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/Win.pyx":286 * cdef int flag = 0 * if keyval != MPI_KEYVAL_INVALID: * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, # <<<<<<<<<<<<<< * &attrval, &flag) ) * if flag and attrval != NULL: return attrval[0] */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval, ((void *)(&__pyx_v_attrval)), (&__pyx_v_flag))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 286, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":288 * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, * &attrval, &flag) ) * if flag and attrval != NULL: return attrval[0] # <<<<<<<<<<<<<< * return MPI_WIN_FLAVOR_CREATE * */ __pyx_t_3 = (__pyx_v_flag != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L5_bool_binop_done; } __pyx_t_3 = ((__pyx_v_attrval != NULL) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_attrval[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(30, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Win.pyx":285 * cdef int *attrval = NULL * cdef int flag = 0 * if keyval != MPI_KEYVAL_INVALID: # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, * &attrval, &flag) ) */ } /* "mpi4py/MPI/Win.pyx":289 * &attrval, &flag) ) * if flag and attrval != NULL: return attrval[0] * return MPI_WIN_FLAVOR_CREATE # <<<<<<<<<<<<<< * * property model: */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_PyInt_From_int(MPI_WIN_FLAVOR_CREATE); if (unlikely(!__pyx_t_4)) __PYX_ERR(30, 289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":281 * property flavor: * """window create flavor""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int keyval = MPI_WIN_CREATE_FLAVOR * cdef int *attrval = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Win.flavor.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":293 * property model: * """window memory model""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int keyval = MPI_WIN_MODEL * cdef int *attrval = NULL */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_5model_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_5model_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_5model___get__(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_5model___get__(struct PyMPIWinObject *__pyx_v_self) { int __pyx_v_keyval; int *__pyx_v_attrval; int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Win.pyx":294 * """window memory model""" * def __get__(self): * cdef int keyval = MPI_WIN_MODEL # <<<<<<<<<<<<<< * cdef int *attrval = NULL * cdef int flag = 0 */ __pyx_v_keyval = MPI_WIN_MODEL; /* "mpi4py/MPI/Win.pyx":295 * def __get__(self): * cdef int keyval = MPI_WIN_MODEL * cdef int *attrval = NULL # <<<<<<<<<<<<<< * cdef int flag = 0 * if keyval != MPI_KEYVAL_INVALID: */ __pyx_v_attrval = NULL; /* "mpi4py/MPI/Win.pyx":296 * cdef int keyval = MPI_WIN_MODEL * cdef int *attrval = NULL * cdef int flag = 0 # <<<<<<<<<<<<<< * if keyval != MPI_KEYVAL_INVALID: * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, */ __pyx_v_flag = 0; /* "mpi4py/MPI/Win.pyx":297 * cdef int *attrval = NULL * cdef int flag = 0 * if keyval != MPI_KEYVAL_INVALID: # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, * &attrval, &flag) ) */ __pyx_t_1 = ((__pyx_v_keyval != MPI_KEYVAL_INVALID) != 0); if (__pyx_t_1) { /* "mpi4py/MPI/Win.pyx":298 * cdef int flag = 0 * if keyval != MPI_KEYVAL_INVALID: * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, # <<<<<<<<<<<<<< * &attrval, &flag) ) * if flag and attrval != NULL: return attrval[0] */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval, ((void *)(&__pyx_v_attrval)), (&__pyx_v_flag))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 298, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":300 * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, * &attrval, &flag) ) * if flag and attrval != NULL: return attrval[0] # <<<<<<<<<<<<<< * return MPI_WIN_SEPARATE * */ __pyx_t_3 = (__pyx_v_flag != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L5_bool_binop_done; } __pyx_t_3 = ((__pyx_v_attrval != NULL) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_attrval[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(30, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; } /* "mpi4py/MPI/Win.pyx":297 * cdef int *attrval = NULL * cdef int flag = 0 * if keyval != MPI_KEYVAL_INVALID: # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, * &attrval, &flag) ) */ } /* "mpi4py/MPI/Win.pyx":301 * &attrval, &flag) ) * if flag and attrval != NULL: return attrval[0] * return MPI_WIN_SEPARATE # <<<<<<<<<<<<<< * * def tomemory(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_PyInt_From_int(MPI_WIN_SEPARATE); if (unlikely(!__pyx_t_4)) __PYX_ERR(30, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":293 * property model: * """window memory model""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int keyval = MPI_WIN_MODEL * cdef int *attrval = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Win.model.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":303 * return MPI_WIN_SEPARATE * * def tomemory(self): # <<<<<<<<<<<<<< * """ * Return window memory buffer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_41tomemory(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_40tomemory[] = "Win.tomemory(self)\n\n Return window memory buffer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_41tomemory(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("tomemory (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("tomemory", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "tomemory", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_40tomemory(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_40tomemory(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("tomemory", 0); /* "mpi4py/MPI/Win.pyx":307 * Return window memory buffer * """ * return getbuffer(self, 0, 1) # <<<<<<<<<<<<<< * * # buffer interface (PEP 3118) */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer(((PyObject *)__pyx_v_self), 0, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":303 * return MPI_WIN_SEPARATE * * def tomemory(self): # <<<<<<<<<<<<<< * """ * Return window memory buffer */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Win.tomemory", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":311 * # buffer interface (PEP 3118) * * def __getbuffer__(self, Py_buffer *view, int flags): # <<<<<<<<<<<<<< * if view.obj == Py_None: Py_CLEAR(view.obj) * cdef void *base = NULL */ /* Python wrapper */ static CYTHON_UNUSED int __pyx_pw_6mpi4py_3MPI_3Win_43__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_view, int __pyx_v_flags); /*proto*/ static CYTHON_UNUSED int __pyx_pw_6mpi4py_3MPI_3Win_43__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_view, int __pyx_v_flags) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_42__getbuffer__(((struct PyMPIWinObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_view), ((int)__pyx_v_flags)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_3Win_42__getbuffer__(struct PyMPIWinObject *__pyx_v_self, Py_buffer *__pyx_v_view, int __pyx_v_flags) { void *__pyx_v_base; MPI_Aint __pyx_v_size; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; if (__pyx_v_view == NULL) { PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete"); return -1; } __Pyx_RefNannySetupContext("__getbuffer__", 0); __pyx_v_view->obj = NULL; /* "mpi4py/MPI/Win.pyx":312 * * def __getbuffer__(self, Py_buffer *view, int flags): * if view.obj == Py_None: Py_CLEAR(view.obj) # <<<<<<<<<<<<<< * cdef void *base = NULL * cdef MPI_Aint size = 0 */ __pyx_t_1 = ((__pyx_v_view->obj == Py_None) != 0); if (__pyx_t_1) { Py_CLEAR(__pyx_v_view->obj); } /* "mpi4py/MPI/Win.pyx":313 * def __getbuffer__(self, Py_buffer *view, int flags): * if view.obj == Py_None: Py_CLEAR(view.obj) * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0 * win_get_base(self.ob_mpi, &base) */ __pyx_v_base = NULL; /* "mpi4py/MPI/Win.pyx":314 * if view.obj == Py_None: Py_CLEAR(view.obj) * cdef void *base = NULL * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * win_get_base(self.ob_mpi, &base) * win_get_size(self.ob_mpi, &size) */ __pyx_v_size = 0; /* "mpi4py/MPI/Win.pyx":315 * cdef void *base = NULL * cdef MPI_Aint size = 0 * win_get_base(self.ob_mpi, &base) # <<<<<<<<<<<<<< * win_get_size(self.ob_mpi, &size) * PyBuffer_FillInfo(view, self, base, size, 0, flags) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_win_get_base(__pyx_v_self->ob_mpi, (&__pyx_v_base)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 315, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":316 * cdef MPI_Aint size = 0 * win_get_base(self.ob_mpi, &base) * win_get_size(self.ob_mpi, &size) # <<<<<<<<<<<<<< * PyBuffer_FillInfo(view, self, base, size, 0, flags) * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_win_get_size(__pyx_v_self->ob_mpi, (&__pyx_v_size)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 316, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":317 * win_get_base(self.ob_mpi, &base) * win_get_size(self.ob_mpi, &size) * PyBuffer_FillInfo(view, self, base, size, 0, flags) # <<<<<<<<<<<<<< * * # buffer interface (legacy) */ __pyx_t_2 = PyBuffer_FillInfo(__pyx_v_view, ((PyObject *)__pyx_v_self), __pyx_v_base, __pyx_v_size, 0, __pyx_v_flags); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 317, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":311 * # buffer interface (PEP 3118) * * def __getbuffer__(self, Py_buffer *view, int flags): # <<<<<<<<<<<<<< * if view.obj == Py_None: Py_CLEAR(view.obj) * cdef void *base = NULL */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; Py_CLEAR(__pyx_v_view->obj); goto __pyx_L2; __pyx_L0:; __pyx_L2:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":321 * # buffer interface (legacy) * * def __getsegcount__(self, Py_ssize_t *lenp): # <<<<<<<<<<<<<< * if lenp == NULL: return 1 * cdef MPI_Aint size = 0 */ /* Python wrapper */ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pw_6mpi4py_3MPI_3Win_45__getsegcount__(PyObject *__pyx_v_self, Py_ssize_t *__pyx_v_lenp); /*proto*/ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_3Win_45__getsegcount__(PyObject *__pyx_v_self, Py_ssize_t *__pyx_v_lenp) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getsegcount__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_44__getsegcount__(((struct PyMPIWinObject *)__pyx_v_self), ((Py_ssize_t *)__pyx_v_lenp)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_3Win_44__getsegcount__(struct PyMPIWinObject *__pyx_v_self, Py_ssize_t *__pyx_v_lenp) { MPI_Aint __pyx_v_size; Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__getsegcount__", 0); /* "mpi4py/MPI/Win.pyx":322 * * def __getsegcount__(self, Py_ssize_t *lenp): * if lenp == NULL: return 1 # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0 * win_get_size(self.ob_mpi, &size) */ __pyx_t_1 = ((__pyx_v_lenp == NULL) != 0); if (__pyx_t_1) { __pyx_r = 1; goto __pyx_L0; } /* "mpi4py/MPI/Win.pyx":323 * def __getsegcount__(self, Py_ssize_t *lenp): * if lenp == NULL: return 1 * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * win_get_size(self.ob_mpi, &size) * lenp[0] = size */ __pyx_v_size = 0; /* "mpi4py/MPI/Win.pyx":324 * if lenp == NULL: return 1 * cdef MPI_Aint size = 0 * win_get_size(self.ob_mpi, &size) # <<<<<<<<<<<<<< * lenp[0] = size * return 1 */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_win_get_size(__pyx_v_self->ob_mpi, (&__pyx_v_size)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 324, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":325 * cdef MPI_Aint size = 0 * win_get_size(self.ob_mpi, &size) * lenp[0] = size # <<<<<<<<<<<<<< * return 1 * */ (__pyx_v_lenp[0]) = ((Py_ssize_t)__pyx_v_size); /* "mpi4py/MPI/Win.pyx":326 * win_get_size(self.ob_mpi, &size) * lenp[0] = size * return 1 # <<<<<<<<<<<<<< * * def __getreadbuffer__(self, Py_ssize_t idx, void **bufp): */ __pyx_r = 1; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":321 * # buffer interface (legacy) * * def __getsegcount__(self, Py_ssize_t *lenp): # <<<<<<<<<<<<<< * if lenp == NULL: return 1 * cdef MPI_Aint size = 0 */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.__getsegcount__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ /* "mpi4py/MPI/Win.pyx":328 * return 1 * * def __getreadbuffer__(self, Py_ssize_t idx, void **bufp): # <<<<<<<<<<<<<< * if idx != 0: * raise SystemError("accessing non-existent buffer segment") */ /* Python wrapper */ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pw_6mpi4py_3MPI_3Win_47__getreadbuffer__(PyObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_bufp); /*proto*/ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_3Win_47__getreadbuffer__(PyObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_bufp) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getreadbuffer__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_46__getreadbuffer__(((struct PyMPIWinObject *)__pyx_v_self), ((Py_ssize_t)__pyx_v_idx), ((void **)__pyx_v_bufp)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_3Win_46__getreadbuffer__(struct PyMPIWinObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_bufp) { MPI_Aint __pyx_v_size; Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__getreadbuffer__", 0); /* "mpi4py/MPI/Win.pyx":329 * * def __getreadbuffer__(self, Py_ssize_t idx, void **bufp): * if idx != 0: # <<<<<<<<<<<<<< * raise SystemError("accessing non-existent buffer segment") * cdef MPI_Aint size = 0 */ __pyx_t_1 = ((__pyx_v_idx != 0) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/Win.pyx":330 * def __getreadbuffer__(self, Py_ssize_t idx, void **bufp): * if idx != 0: * raise SystemError("accessing non-existent buffer segment") # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0 * win_get_base(self.ob_mpi, bufp) */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_SystemError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 330, __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(30, 330, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":329 * * def __getreadbuffer__(self, Py_ssize_t idx, void **bufp): * if idx != 0: # <<<<<<<<<<<<<< * raise SystemError("accessing non-existent buffer segment") * cdef MPI_Aint size = 0 */ } /* "mpi4py/MPI/Win.pyx":331 * if idx != 0: * raise SystemError("accessing non-existent buffer segment") * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * win_get_base(self.ob_mpi, bufp) * win_get_size(self.ob_mpi, &size) */ __pyx_v_size = 0; /* "mpi4py/MPI/Win.pyx":332 * raise SystemError("accessing non-existent buffer segment") * cdef MPI_Aint size = 0 * win_get_base(self.ob_mpi, bufp) # <<<<<<<<<<<<<< * win_get_size(self.ob_mpi, &size) * return size */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_win_get_base(__pyx_v_self->ob_mpi, __pyx_v_bufp); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 332, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":333 * cdef MPI_Aint size = 0 * win_get_base(self.ob_mpi, bufp) * win_get_size(self.ob_mpi, &size) # <<<<<<<<<<<<<< * return size * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_win_get_size(__pyx_v_self->ob_mpi, (&__pyx_v_size)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 333, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":334 * win_get_base(self.ob_mpi, bufp) * win_get_size(self.ob_mpi, &size) * return size # <<<<<<<<<<<<<< * * def __getwritebuffer__(self, Py_ssize_t idx, void **bufp): */ __pyx_r = ((Py_ssize_t)__pyx_v_size); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":328 * return 1 * * def __getreadbuffer__(self, Py_ssize_t idx, void **bufp): # <<<<<<<<<<<<<< * if idx != 0: * raise SystemError("accessing non-existent buffer segment") */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Win.__getreadbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ /* "mpi4py/MPI/Win.pyx":336 * return size * * def __getwritebuffer__(self, Py_ssize_t idx, void **bufp): # <<<<<<<<<<<<<< * if idx != 0: * raise SystemError("accessing non-existent buffer segment") */ /* Python wrapper */ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pw_6mpi4py_3MPI_3Win_49__getwritebuffer__(PyObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_bufp); /*proto*/ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_3Win_49__getwritebuffer__(PyObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_bufp) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getwritebuffer__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_48__getwritebuffer__(((struct PyMPIWinObject *)__pyx_v_self), ((Py_ssize_t)__pyx_v_idx), ((void **)__pyx_v_bufp)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_3Win_48__getwritebuffer__(struct PyMPIWinObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_bufp) { MPI_Aint __pyx_v_size; Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__getwritebuffer__", 0); /* "mpi4py/MPI/Win.pyx":337 * * def __getwritebuffer__(self, Py_ssize_t idx, void **bufp): * if idx != 0: # <<<<<<<<<<<<<< * raise SystemError("accessing non-existent buffer segment") * cdef MPI_Aint size = 0 */ __pyx_t_1 = ((__pyx_v_idx != 0) != 0); if (unlikely(__pyx_t_1)) { /* "mpi4py/MPI/Win.pyx":338 * def __getwritebuffer__(self, Py_ssize_t idx, void **bufp): * if idx != 0: * raise SystemError("accessing non-existent buffer segment") # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0 * win_get_base(self.ob_mpi, bufp) */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_SystemError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(30, 338, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":337 * * def __getwritebuffer__(self, Py_ssize_t idx, void **bufp): * if idx != 0: # <<<<<<<<<<<<<< * raise SystemError("accessing non-existent buffer segment") * cdef MPI_Aint size = 0 */ } /* "mpi4py/MPI/Win.pyx":339 * if idx != 0: * raise SystemError("accessing non-existent buffer segment") * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * win_get_base(self.ob_mpi, bufp) * win_get_size(self.ob_mpi, &size) */ __pyx_v_size = 0; /* "mpi4py/MPI/Win.pyx":340 * raise SystemError("accessing non-existent buffer segment") * cdef MPI_Aint size = 0 * win_get_base(self.ob_mpi, bufp) # <<<<<<<<<<<<<< * win_get_size(self.ob_mpi, &size) * return size */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_win_get_base(__pyx_v_self->ob_mpi, __pyx_v_bufp); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 340, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":341 * cdef MPI_Aint size = 0 * win_get_base(self.ob_mpi, bufp) * win_get_size(self.ob_mpi, &size) # <<<<<<<<<<<<<< * return size * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_win_get_size(__pyx_v_self->ob_mpi, (&__pyx_v_size)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 341, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":342 * win_get_base(self.ob_mpi, bufp) * win_get_size(self.ob_mpi, &size) * return size # <<<<<<<<<<<<<< * * # Communication Operations */ __pyx_r = ((Py_ssize_t)__pyx_v_size); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":336 * return size * * def __getwritebuffer__(self, Py_ssize_t idx, void **bufp): # <<<<<<<<<<<<<< * if idx != 0: * raise SystemError("accessing non-existent buffer segment") */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Win.__getwritebuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ /* "mpi4py/MPI/Win.pyx":347 * # ------------------------ * * def Put(self, origin, int target_rank, target=None): # <<<<<<<<<<<<<< * """ * Put data into a memory window on a remote process. */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_51Put(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_50Put[] = "Win.Put(self, origin, int target_rank, target=None)\n\n Put data into a memory window on a remote process.\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_51Put(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_origin = 0; int __pyx_v_target_rank; PyObject *__pyx_v_target = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Put (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_origin,&__pyx_n_s_target_rank,&__pyx_n_s_target,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_origin)) != 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_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Put", 0, 2, 3, 1); __PYX_ERR(30, 347, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Put") < 0)) __PYX_ERR(30, 347, __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_origin = values[0]; __pyx_v_target_rank = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_target_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 347, __pyx_L3_error) __pyx_v_target = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Put", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 347, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Put", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_50Put(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_50Put(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_target_rank, PyObject *__pyx_v_target) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_msg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Put", 0); /* "mpi4py/MPI/Win.pyx":351 * Put data into a memory window on a remote process. * """ * cdef _p_msg_rma msg = message_rma() # <<<<<<<<<<<<<< * msg.for_put(origin, target_rank, target) * with nogil: CHKERR( MPI_Put( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_rma()); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":352 * """ * cdef _p_msg_rma msg = message_rma() * msg.for_put(origin, target_rank, target) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Put( * msg.oaddr, msg.ocount, msg.otype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_put(__pyx_v_msg, __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 352, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":353 * cdef _p_msg_rma msg = message_rma() * msg.for_put(origin, target_rank, target) * with nogil: CHKERR( MPI_Put( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * target_rank, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":357 * target_rank, * msg.tdisp, msg.tcount, msg.ttype, * self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Get(self, origin, int target_rank, target=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Put(__pyx_v_msg->oaddr, __pyx_v_msg->ocount, __pyx_v_msg->otype, __pyx_v_target_rank, __pyx_v_msg->tdisp, __pyx_v_msg->tcount, __pyx_v_msg->ttype, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 353, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":353 * cdef _p_msg_rma msg = message_rma() * msg.for_put(origin, target_rank, target) * with nogil: CHKERR( MPI_Put( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * target_rank, */ /*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:; } } /* "mpi4py/MPI/Win.pyx":347 * # ------------------------ * * def Put(self, origin, int target_rank, target=None): # <<<<<<<<<<<<<< * """ * Put data into a memory window on a remote process. */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Win.Put", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":359 * self.ob_mpi) ) * * def Get(self, origin, int target_rank, target=None): # <<<<<<<<<<<<<< * """ * Get data from a memory window on a remote process. */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_53Get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_52Get[] = "Win.Get(self, origin, int target_rank, target=None)\n\n Get data from a memory window on a remote process.\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_53Get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_origin = 0; int __pyx_v_target_rank; PyObject *__pyx_v_target = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_origin,&__pyx_n_s_target_rank,&__pyx_n_s_target,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_origin)) != 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_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Get", 0, 2, 3, 1); __PYX_ERR(30, 359, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Get") < 0)) __PYX_ERR(30, 359, __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_origin = values[0]; __pyx_v_target_rank = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_target_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 359, __pyx_L3_error) __pyx_v_target = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 359, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_52Get(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_52Get(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_target_rank, PyObject *__pyx_v_target) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_msg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get", 0); /* "mpi4py/MPI/Win.pyx":363 * Get data from a memory window on a remote process. * """ * cdef _p_msg_rma msg = message_rma() # <<<<<<<<<<<<<< * msg.for_get(origin, target_rank, target) * with nogil: CHKERR( MPI_Get( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_rma()); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":364 * """ * cdef _p_msg_rma msg = message_rma() * msg.for_get(origin, target_rank, target) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Get( * msg.oaddr, msg.ocount, msg.otype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_get(__pyx_v_msg, __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 364, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":365 * cdef _p_msg_rma msg = message_rma() * msg.for_get(origin, target_rank, target) * with nogil: CHKERR( MPI_Get( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * target_rank, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":369 * target_rank, * msg.tdisp, msg.tcount, msg.ttype, * self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Accumulate(self, origin, int target_rank, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get(__pyx_v_msg->oaddr, __pyx_v_msg->ocount, __pyx_v_msg->otype, __pyx_v_target_rank, __pyx_v_msg->tdisp, __pyx_v_msg->tcount, __pyx_v_msg->ttype, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 365, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":365 * cdef _p_msg_rma msg = message_rma() * msg.for_get(origin, target_rank, target) * with nogil: CHKERR( MPI_Get( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * target_rank, */ /*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:; } } /* "mpi4py/MPI/Win.pyx":359 * self.ob_mpi) ) * * def Get(self, origin, int target_rank, target=None): # <<<<<<<<<<<<<< * """ * Get data from a memory window on a remote process. */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Win.Get", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":371 * self.ob_mpi) ) * * def Accumulate(self, origin, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op=SUM): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_55Accumulate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_54Accumulate[] = "Win.Accumulate(self, origin, int target_rank, target=None, Op op=SUM)\n\n Accumulate data into the target process\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_55Accumulate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_origin = 0; int __pyx_v_target_rank; PyObject *__pyx_v_target = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Accumulate (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_origin,&__pyx_n_s_target_rank,&__pyx_n_s_target,&__pyx_n_s_op,0}; PyObject* values[4] = {0,0,0,0}; /* "mpi4py/MPI/Win.pyx":372 * * def Accumulate(self, origin, int target_rank, * target=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Accumulate data into the target process */ values[2] = ((PyObject *)Py_None); values[3] = (PyObject *)__pyx_k__114; 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_origin)) != 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_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Accumulate", 0, 2, 4, 1); __PYX_ERR(30, 371, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target); 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_op); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Accumulate") < 0)) __PYX_ERR(30, 371, __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_origin = values[0]; __pyx_v_target_rank = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_target_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 371, __pyx_L3_error) __pyx_v_target = values[2]; __pyx_v_op = ((struct PyMPIOpObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Accumulate", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 371, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Accumulate", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(30, 372, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_54Accumulate(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target, __pyx_v_op); /* "mpi4py/MPI/Win.pyx":371 * self.ob_mpi) ) * * def Accumulate(self, origin, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op=SUM): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_54Accumulate(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_target_rank, PyObject *__pyx_v_target, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_msg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Accumulate", 0); /* "mpi4py/MPI/Win.pyx":376 * Accumulate data into the target process * """ * cdef _p_msg_rma msg = message_rma() # <<<<<<<<<<<<<< * msg.for_acc(origin, target_rank, target) * with nogil: CHKERR( MPI_Accumulate( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_rma()); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":377 * """ * cdef _p_msg_rma msg = message_rma() * msg.for_acc(origin, target_rank, target) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Accumulate( * msg.oaddr, msg.ocount, msg.otype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_acc(__pyx_v_msg, __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 377, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":378 * cdef _p_msg_rma msg = message_rma() * msg.for_acc(origin, target_rank, target) * with nogil: CHKERR( MPI_Accumulate( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * target_rank, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":382 * target_rank, * msg.tdisp, msg.tcount, msg.ttype, * op.ob_mpi, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Get_accumulate(self, origin, result, int target_rank, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Accumulate(__pyx_v_msg->oaddr, __pyx_v_msg->ocount, __pyx_v_msg->otype, __pyx_v_target_rank, __pyx_v_msg->tdisp, __pyx_v_msg->tcount, __pyx_v_msg->ttype, __pyx_v_op->ob_mpi, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 378, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":378 * cdef _p_msg_rma msg = message_rma() * msg.for_acc(origin, target_rank, target) * with nogil: CHKERR( MPI_Accumulate( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * target_rank, */ /*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:; } } /* "mpi4py/MPI/Win.pyx":371 * self.ob_mpi) ) * * def Accumulate(self, origin, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op=SUM): * """ */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Win.Accumulate", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":384 * op.ob_mpi, self.ob_mpi) ) * * def Get_accumulate(self, origin, result, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op=SUM): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_57Get_accumulate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_56Get_accumulate[] = "Win.Get_accumulate(self, origin, result, int target_rank, target=None, Op op=SUM)\n\n Fetch-and-accumulate data into the target process\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_57Get_accumulate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_origin = 0; PyObject *__pyx_v_result = 0; int __pyx_v_target_rank; PyObject *__pyx_v_target = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_accumulate (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_origin,&__pyx_n_s_result,&__pyx_n_s_target_rank,&__pyx_n_s_target,&__pyx_n_s_op,0}; PyObject* values[5] = {0,0,0,0,0}; /* "mpi4py/MPI/Win.pyx":385 * * def Get_accumulate(self, origin, result, int target_rank, * target=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Fetch-and-accumulate data into the target process */ values[3] = ((PyObject *)Py_None); values[4] = (PyObject *)__pyx_k__115; 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_origin)) != 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_result)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Get_accumulate", 0, 3, 5, 1); __PYX_ERR(30, 384, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Get_accumulate", 0, 3, 5, 2); __PYX_ERR(30, 384, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target); 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_op); if (value) { values[4] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Get_accumulate") < 0)) __PYX_ERR(30, 384, __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_origin = values[0]; __pyx_v_result = values[1]; __pyx_v_target_rank = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_target_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 384, __pyx_L3_error) __pyx_v_target = values[3]; __pyx_v_op = ((struct PyMPIOpObject *)values[4]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_accumulate", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 384, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Get_accumulate", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(30, 385, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_56Get_accumulate(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_result, __pyx_v_target_rank, __pyx_v_target, __pyx_v_op); /* "mpi4py/MPI/Win.pyx":384 * op.ob_mpi, self.ob_mpi) ) * * def Get_accumulate(self, origin, result, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op=SUM): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_56Get_accumulate(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_result, int __pyx_v_target_rank, PyObject *__pyx_v_target, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_msg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_accumulate", 0); /* "mpi4py/MPI/Win.pyx":389 * Fetch-and-accumulate data into the target process * """ * cdef _p_msg_rma msg = message_rma() # <<<<<<<<<<<<<< * msg.for_get_acc(origin, result, target_rank, target) * with nogil: CHKERR( MPI_Get_accumulate( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_rma()); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":390 * """ * cdef _p_msg_rma msg = message_rma() * msg.for_get_acc(origin, result, target_rank, target) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Get_accumulate( * msg.oaddr, msg.ocount, msg.otype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_get_acc(__pyx_v_msg, __pyx_v_origin, __pyx_v_result, __pyx_v_target_rank, __pyx_v_target); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 390, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":391 * cdef _p_msg_rma msg = message_rma() * msg.for_get_acc(origin, result, target_rank, target) * with nogil: CHKERR( MPI_Get_accumulate( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * msg.raddr, msg.rcount, msg.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":396 * target_rank, * msg.tdisp, msg.tcount, msg.ttype, * op.ob_mpi, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Fetch_and_op(self, origin, result,int target_rank, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_accumulate(__pyx_v_msg->oaddr, __pyx_v_msg->ocount, __pyx_v_msg->otype, __pyx_v_msg->raddr, __pyx_v_msg->rcount, __pyx_v_msg->rtype, __pyx_v_target_rank, __pyx_v_msg->tdisp, __pyx_v_msg->tcount, __pyx_v_msg->ttype, __pyx_v_op->ob_mpi, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 391, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":391 * cdef _p_msg_rma msg = message_rma() * msg.for_get_acc(origin, result, target_rank, target) * with nogil: CHKERR( MPI_Get_accumulate( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * msg.raddr, msg.rcount, msg.rtype, */ /*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:; } } /* "mpi4py/MPI/Win.pyx":384 * op.ob_mpi, self.ob_mpi) ) * * def Get_accumulate(self, origin, result, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op=SUM): * """ */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Win.Get_accumulate", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":398 * op.ob_mpi, self.ob_mpi) ) * * def Fetch_and_op(self, origin, result,int target_rank, # <<<<<<<<<<<<<< * Aint target_disp=0, Op op=SUM): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_59Fetch_and_op(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_58Fetch_and_op[] = "Win.Fetch_and_op(self, origin, result, int target_rank, Aint target_disp=0, Op op=SUM)\n\n Perform one-sided read-modify-write\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_59Fetch_and_op(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_origin = 0; PyObject *__pyx_v_result = 0; int __pyx_v_target_rank; MPI_Aint __pyx_v_target_disp; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Fetch_and_op (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_origin,&__pyx_n_s_result,&__pyx_n_s_target_rank,&__pyx_n_s_target_disp,&__pyx_n_s_op,0}; PyObject* values[5] = {0,0,0,0,0}; values[4] = (PyObject *)__pyx_k__116; 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_origin)) != 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_result)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Fetch_and_op", 0, 3, 5, 1); __PYX_ERR(30, 398, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Fetch_and_op", 0, 3, 5, 2); __PYX_ERR(30, 398, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target_disp); 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_op); if (value) { values[4] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Fetch_and_op") < 0)) __PYX_ERR(30, 398, __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_origin = values[0]; __pyx_v_result = values[1]; __pyx_v_target_rank = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_target_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 398, __pyx_L3_error) if (values[3]) { __pyx_v_target_disp = __Pyx_PyInt_As_MPI_Aint(values[3]); if (unlikely((__pyx_v_target_disp == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(30, 399, __pyx_L3_error) } else { __pyx_v_target_disp = ((MPI_Aint)0); } __pyx_v_op = ((struct PyMPIOpObject *)values[4]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Fetch_and_op", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 398, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Fetch_and_op", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(30, 399, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_58Fetch_and_op(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_result, __pyx_v_target_rank, __pyx_v_target_disp, __pyx_v_op); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_58Fetch_and_op(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_result, int __pyx_v_target_rank, MPI_Aint __pyx_v_target_disp, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_msg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Fetch_and_op", 0); /* "mpi4py/MPI/Win.pyx":403 * Perform one-sided read-modify-write * """ * cdef _p_msg_rma msg = message_rma() # <<<<<<<<<<<<<< * msg.for_fetch_op(origin, result, target_rank, target_disp) * with nogil: CHKERR( MPI_Fetch_and_op( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_rma()); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":404 * """ * cdef _p_msg_rma msg = message_rma() * msg.for_fetch_op(origin, result, target_rank, target_disp) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Fetch_and_op( * msg.oaddr, msg.raddr, msg.ttype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_fetch_op(__pyx_v_msg, __pyx_v_origin, __pyx_v_result, __pyx_v_target_rank, __pyx_v_target_disp); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 404, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":405 * cdef _p_msg_rma msg = message_rma() * msg.for_fetch_op(origin, result, target_rank, target_disp) * with nogil: CHKERR( MPI_Fetch_and_op( # <<<<<<<<<<<<<< * msg.oaddr, msg.raddr, msg.ttype, * target_rank, target_disp, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":408 * msg.oaddr, msg.raddr, msg.ttype, * target_rank, target_disp, * op.ob_mpi, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Compare_and_swap(self, origin, compare, result, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Fetch_and_op(__pyx_v_msg->oaddr, __pyx_v_msg->raddr, __pyx_v_msg->ttype, __pyx_v_target_rank, __pyx_v_target_disp, __pyx_v_op->ob_mpi, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 405, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":405 * cdef _p_msg_rma msg = message_rma() * msg.for_fetch_op(origin, result, target_rank, target_disp) * with nogil: CHKERR( MPI_Fetch_and_op( # <<<<<<<<<<<<<< * msg.oaddr, msg.raddr, msg.ttype, * target_rank, target_disp, */ /*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:; } } /* "mpi4py/MPI/Win.pyx":398 * op.ob_mpi, self.ob_mpi) ) * * def Fetch_and_op(self, origin, result,int target_rank, # <<<<<<<<<<<<<< * Aint target_disp=0, Op op=SUM): * """ */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Win.Fetch_and_op", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":410 * op.ob_mpi, self.ob_mpi) ) * * def Compare_and_swap(self, origin, compare, result, # <<<<<<<<<<<<<< * int target_rank, Aint target_disp=0): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_61Compare_and_swap(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_60Compare_and_swap[] = "Win.Compare_and_swap(self, origin, compare, result, int target_rank, Aint target_disp=0)\n\n Perform one-sided atomic compare-and-swap\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_61Compare_and_swap(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_origin = 0; PyObject *__pyx_v_compare = 0; PyObject *__pyx_v_result = 0; int __pyx_v_target_rank; MPI_Aint __pyx_v_target_disp; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Compare_and_swap (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_origin,&__pyx_n_s_compare,&__pyx_n_s_result,&__pyx_n_s_target_rank,&__pyx_n_s_target_disp,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_origin)) != 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_compare)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Compare_and_swap", 0, 4, 5, 1); __PYX_ERR(30, 410, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_result)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Compare_and_swap", 0, 4, 5, 2); __PYX_ERR(30, 410, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Compare_and_swap", 0, 4, 5, 3); __PYX_ERR(30, 410, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target_disp); if (value) { values[4] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Compare_and_swap") < 0)) __PYX_ERR(30, 410, __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_origin = values[0]; __pyx_v_compare = values[1]; __pyx_v_result = values[2]; __pyx_v_target_rank = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_target_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 411, __pyx_L3_error) if (values[4]) { __pyx_v_target_disp = __Pyx_PyInt_As_MPI_Aint(values[4]); if (unlikely((__pyx_v_target_disp == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(30, 411, __pyx_L3_error) } else { __pyx_v_target_disp = ((MPI_Aint)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Compare_and_swap", 0, 4, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 410, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Compare_and_swap", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_60Compare_and_swap(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_compare, __pyx_v_result, __pyx_v_target_rank, __pyx_v_target_disp); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_60Compare_and_swap(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_compare, PyObject *__pyx_v_result, int __pyx_v_target_rank, MPI_Aint __pyx_v_target_disp) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_msg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Compare_and_swap", 0); /* "mpi4py/MPI/Win.pyx":415 * Perform one-sided atomic compare-and-swap * """ * cdef _p_msg_rma msg = message_rma() # <<<<<<<<<<<<<< * msg.for_cmp_swap(origin, compare, result, target_rank, target_disp) * with nogil: CHKERR( MPI_Compare_and_swap( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_rma()); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":416 * """ * cdef _p_msg_rma msg = message_rma() * msg.for_cmp_swap(origin, compare, result, target_rank, target_disp) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Compare_and_swap( * msg.oaddr, msg.caddr, msg.raddr, msg.ttype, */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_cmp_swap(__pyx_v_msg, __pyx_v_origin, __pyx_v_compare, __pyx_v_result, __pyx_v_target_rank, __pyx_v_target_disp); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 416, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":417 * cdef _p_msg_rma msg = message_rma() * msg.for_cmp_swap(origin, compare, result, target_rank, target_disp) * with nogil: CHKERR( MPI_Compare_and_swap( # <<<<<<<<<<<<<< * msg.oaddr, msg.caddr, msg.raddr, msg.ttype, * target_rank, target_disp, self.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":419 * with nogil: CHKERR( MPI_Compare_and_swap( * msg.oaddr, msg.caddr, msg.raddr, msg.ttype, * target_rank, target_disp, self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Request-based RMA Communication Operations */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Compare_and_swap(__pyx_v_msg->oaddr, __pyx_v_msg->caddr, __pyx_v_msg->raddr, __pyx_v_msg->ttype, __pyx_v_target_rank, __pyx_v_target_disp, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 417, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":417 * cdef _p_msg_rma msg = message_rma() * msg.for_cmp_swap(origin, compare, result, target_rank, target_disp) * with nogil: CHKERR( MPI_Compare_and_swap( # <<<<<<<<<<<<<< * msg.oaddr, msg.caddr, msg.raddr, msg.ttype, * target_rank, target_disp, self.ob_mpi) ) */ /*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:; } } /* "mpi4py/MPI/Win.pyx":410 * op.ob_mpi, self.ob_mpi) ) * * def Compare_and_swap(self, origin, compare, result, # <<<<<<<<<<<<<< * int target_rank, Aint target_disp=0): * """ */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Win.Compare_and_swap", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":424 * # ------------------------------------------ * * def Rput(self, origin, int target_rank, target=None): # <<<<<<<<<<<<<< * """ * Put data into a memory window on a remote process. */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_63Rput(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_62Rput[] = "Win.Rput(self, origin, int target_rank, target=None)\n\n Put data into a memory window on a remote process.\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_63Rput(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_origin = 0; int __pyx_v_target_rank; PyObject *__pyx_v_target = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Rput (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_origin,&__pyx_n_s_target_rank,&__pyx_n_s_target,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_origin)) != 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_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Rput", 0, 2, 3, 1); __PYX_ERR(30, 424, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Rput") < 0)) __PYX_ERR(30, 424, __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_origin = values[0]; __pyx_v_target_rank = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_target_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 424, __pyx_L3_error) __pyx_v_target = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Rput", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 424, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Rput", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_62Rput(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_62Rput(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_target_rank, PyObject *__pyx_v_target) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_msg = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Rput", 0); /* "mpi4py/MPI/Win.pyx":428 * Put data into a memory window on a remote process. * """ * cdef _p_msg_rma msg = message_rma() # <<<<<<<<<<<<<< * msg.for_put(origin, target_rank, target) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_rma()); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":429 * """ * cdef _p_msg_rma msg = message_rma() * msg.for_put(origin, target_rank, target) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Rput( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_put(__pyx_v_msg, __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 429, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":430 * cdef _p_msg_rma msg = message_rma() * msg.for_put(origin, target_rank, target) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Rput( * msg.oaddr, msg.ocount, msg.otype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 430, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Win.pyx":431 * msg.for_put(origin, target_rank, target) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Rput( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * target_rank, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":435 * target_rank, * msg.tdisp, msg.tcount, msg.ttype, * self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = msg * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Rput(__pyx_v_msg->oaddr, __pyx_v_msg->ocount, __pyx_v_msg->otype, __pyx_v_target_rank, __pyx_v_msg->tdisp, __pyx_v_msg->tcount, __pyx_v_msg->ttype, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 431, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":431 * msg.for_put(origin, target_rank, target) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Rput( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * target_rank, */ /*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:; } } /* "mpi4py/MPI/Win.pyx":436 * msg.tdisp, msg.tcount, msg.ttype, * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = msg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_msg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_msg)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_msg); /* "mpi4py/MPI/Win.pyx":437 * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = msg * return request # <<<<<<<<<<<<<< * * def Rget(self, origin, int target_rank, target=None): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":424 * # ------------------------------------------ * * def Rput(self, origin, int target_rank, target=None): # <<<<<<<<<<<<<< * """ * Put data into a memory window on a remote process. */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Win.Rput", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":439 * return request * * def Rget(self, origin, int target_rank, target=None): # <<<<<<<<<<<<<< * """ * Get data from a memory window on a remote process. */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_65Rget(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_64Rget[] = "Win.Rget(self, origin, int target_rank, target=None)\n\n Get data from a memory window on a remote process.\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_65Rget(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_origin = 0; int __pyx_v_target_rank; PyObject *__pyx_v_target = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Rget (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_origin,&__pyx_n_s_target_rank,&__pyx_n_s_target,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_origin)) != 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_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Rget", 0, 2, 3, 1); __PYX_ERR(30, 439, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Rget") < 0)) __PYX_ERR(30, 439, __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_origin = values[0]; __pyx_v_target_rank = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_target_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 439, __pyx_L3_error) __pyx_v_target = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Rget", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 439, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Rget", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_64Rget(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_64Rget(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_target_rank, PyObject *__pyx_v_target) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_msg = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Rget", 0); /* "mpi4py/MPI/Win.pyx":443 * Get data from a memory window on a remote process. * """ * cdef _p_msg_rma msg = message_rma() # <<<<<<<<<<<<<< * msg.for_get(origin, target_rank, target) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_rma()); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":444 * """ * cdef _p_msg_rma msg = message_rma() * msg.for_get(origin, target_rank, target) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Rget( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_get(__pyx_v_msg, __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 444, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":445 * cdef _p_msg_rma msg = message_rma() * msg.for_get(origin, target_rank, target) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Rget( * msg.oaddr, msg.ocount, msg.otype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 445, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Win.pyx":446 * msg.for_get(origin, target_rank, target) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Rget( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * target_rank, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":450 * target_rank, * msg.tdisp, msg.tcount, msg.ttype, * self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = msg * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Rget(__pyx_v_msg->oaddr, __pyx_v_msg->ocount, __pyx_v_msg->otype, __pyx_v_target_rank, __pyx_v_msg->tdisp, __pyx_v_msg->tcount, __pyx_v_msg->ttype, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 446, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":446 * msg.for_get(origin, target_rank, target) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Rget( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * target_rank, */ /*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:; } } /* "mpi4py/MPI/Win.pyx":451 * msg.tdisp, msg.tcount, msg.ttype, * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = msg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_msg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_msg)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_msg); /* "mpi4py/MPI/Win.pyx":452 * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = msg * return request # <<<<<<<<<<<<<< * * def Raccumulate(self, origin, int target_rank, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":439 * return request * * def Rget(self, origin, int target_rank, target=None): # <<<<<<<<<<<<<< * """ * Get data from a memory window on a remote process. */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Win.Rget", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":454 * return request * * def Raccumulate(self, origin, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op=SUM): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_67Raccumulate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_66Raccumulate[] = "Win.Raccumulate(self, origin, int target_rank, target=None, Op op=SUM)\n\n Fetch-and-accumulate data into the target process\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_67Raccumulate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_origin = 0; int __pyx_v_target_rank; PyObject *__pyx_v_target = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Raccumulate (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_origin,&__pyx_n_s_target_rank,&__pyx_n_s_target,&__pyx_n_s_op,0}; PyObject* values[4] = {0,0,0,0}; /* "mpi4py/MPI/Win.pyx":455 * * def Raccumulate(self, origin, int target_rank, * target=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Fetch-and-accumulate data into the target process */ values[2] = ((PyObject *)Py_None); values[3] = (PyObject *)__pyx_k__117; 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_origin)) != 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_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Raccumulate", 0, 2, 4, 1); __PYX_ERR(30, 454, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target); 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_op); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Raccumulate") < 0)) __PYX_ERR(30, 454, __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_origin = values[0]; __pyx_v_target_rank = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_target_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 454, __pyx_L3_error) __pyx_v_target = values[2]; __pyx_v_op = ((struct PyMPIOpObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Raccumulate", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 454, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Raccumulate", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(30, 455, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_66Raccumulate(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target, __pyx_v_op); /* "mpi4py/MPI/Win.pyx":454 * return request * * def Raccumulate(self, origin, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op=SUM): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_66Raccumulate(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, int __pyx_v_target_rank, PyObject *__pyx_v_target, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_msg = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Raccumulate", 0); /* "mpi4py/MPI/Win.pyx":459 * Fetch-and-accumulate data into the target process * """ * cdef _p_msg_rma msg = message_rma() # <<<<<<<<<<<<<< * msg.for_acc(origin, target_rank, target) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_rma()); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":460 * """ * cdef _p_msg_rma msg = message_rma() * msg.for_acc(origin, target_rank, target) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Raccumulate( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_acc(__pyx_v_msg, __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 460, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":461 * cdef _p_msg_rma msg = message_rma() * msg.for_acc(origin, target_rank, target) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Raccumulate( * msg.oaddr, msg.ocount, msg.otype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 461, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Win.pyx":462 * msg.for_acc(origin, target_rank, target) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Raccumulate( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * target_rank, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":466 * target_rank, * msg.tdisp, msg.tcount, msg.ttype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = msg * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Raccumulate(__pyx_v_msg->oaddr, __pyx_v_msg->ocount, __pyx_v_msg->otype, __pyx_v_target_rank, __pyx_v_msg->tdisp, __pyx_v_msg->tcount, __pyx_v_msg->ttype, __pyx_v_op->ob_mpi, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 462, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":462 * msg.for_acc(origin, target_rank, target) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Raccumulate( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * target_rank, */ /*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:; } } /* "mpi4py/MPI/Win.pyx":467 * msg.tdisp, msg.tcount, msg.ttype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = msg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_msg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_msg)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_msg); /* "mpi4py/MPI/Win.pyx":468 * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = msg * return request # <<<<<<<<<<<<<< * * def Rget_accumulate(self, origin, result, int target_rank, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":454 * return request * * def Raccumulate(self, origin, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op=SUM): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Win.Raccumulate", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":470 * return request * * def Rget_accumulate(self, origin, result, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op=SUM): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_69Rget_accumulate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_68Rget_accumulate[] = "Win.Rget_accumulate(self, origin, result, int target_rank, target=None, Op op=SUM)\n\n Accumulate data into the target process\n using remote memory access.\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_69Rget_accumulate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_origin = 0; PyObject *__pyx_v_result = 0; int __pyx_v_target_rank; PyObject *__pyx_v_target = 0; struct PyMPIOpObject *__pyx_v_op = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Rget_accumulate (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_origin,&__pyx_n_s_result,&__pyx_n_s_target_rank,&__pyx_n_s_target,&__pyx_n_s_op,0}; PyObject* values[5] = {0,0,0,0,0}; /* "mpi4py/MPI/Win.pyx":471 * * def Rget_accumulate(self, origin, result, int target_rank, * target=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Accumulate data into the target process */ values[3] = ((PyObject *)Py_None); values[4] = (PyObject *)__pyx_k__118; 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_origin)) != 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_result)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Rget_accumulate", 0, 3, 5, 1); __PYX_ERR(30, 470, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Rget_accumulate", 0, 3, 5, 2); __PYX_ERR(30, 470, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target); 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_op); if (value) { values[4] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Rget_accumulate") < 0)) __PYX_ERR(30, 470, __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_origin = values[0]; __pyx_v_result = values[1]; __pyx_v_target_rank = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_target_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 470, __pyx_L3_error) __pyx_v_target = values[3]; __pyx_v_op = ((struct PyMPIOpObject *)values[4]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Rget_accumulate", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 470, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Rget_accumulate", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_op), __pyx_ptype_6mpi4py_3MPI_Op, 0, "op", 0))) __PYX_ERR(30, 471, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_68Rget_accumulate(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_result, __pyx_v_target_rank, __pyx_v_target, __pyx_v_op); /* "mpi4py/MPI/Win.pyx":470 * return request * * def Rget_accumulate(self, origin, result, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op=SUM): * """ */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_68Rget_accumulate(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_origin, PyObject *__pyx_v_result, int __pyx_v_target_rank, PyObject *__pyx_v_target, struct PyMPIOpObject *__pyx_v_op) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *__pyx_v_msg = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Rget_accumulate", 0); /* "mpi4py/MPI/Win.pyx":476 * using remote memory access. * """ * cdef _p_msg_rma msg = message_rma() # <<<<<<<<<<<<<< * msg.for_get_acc(origin, result, target_rank, target) * cdef Request request = Request.__new__(Request) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_rma()); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":477 * """ * cdef _p_msg_rma msg = message_rma() * msg.for_get_acc(origin, result, target_rank, target) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Rget_accumulate( */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_get_acc(__pyx_v_msg, __pyx_v_origin, __pyx_v_result, __pyx_v_target_rank, __pyx_v_target); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 477, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":478 * cdef _p_msg_rma msg = message_rma() * msg.for_get_acc(origin, result, target_rank, target) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Rget_accumulate( * msg.oaddr, msg.ocount, msg.otype, */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 478, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_3 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Win.pyx":479 * msg.for_get_acc(origin, result, target_rank, target) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Rget_accumulate( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * msg.raddr, msg.rcount, msg.rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":484 * target_rank, * msg.tdisp, msg.tcount, msg.ttype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = msg * return request */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Rget_accumulate(__pyx_v_msg->oaddr, __pyx_v_msg->ocount, __pyx_v_msg->otype, __pyx_v_msg->raddr, __pyx_v_msg->rcount, __pyx_v_msg->rtype, __pyx_v_target_rank, __pyx_v_msg->tdisp, __pyx_v_msg->tcount, __pyx_v_msg->ttype, __pyx_v_op->ob_mpi, __pyx_v_self->ob_mpi, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 479, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":479 * msg.for_get_acc(origin, result, target_rank, target) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_Rget_accumulate( # <<<<<<<<<<<<<< * msg.oaddr, msg.ocount, msg.otype, * msg.raddr, msg.rcount, msg.rtype, */ /*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:; } } /* "mpi4py/MPI/Win.pyx":485 * msg.tdisp, msg.tcount, msg.ttype, * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = msg # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_msg)); __Pyx_GIVEREF(((PyObject *)__pyx_v_msg)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_msg); /* "mpi4py/MPI/Win.pyx":486 * op.ob_mpi, self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = msg * return request # <<<<<<<<<<<<<< * * # Synchronization Calls */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":470 * return request * * def Rget_accumulate(self, origin, result, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op=SUM): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Win.Rget_accumulate", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_msg); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":494 * # ----- * * def Fence(self, int assertion=0): # <<<<<<<<<<<<<< * """ * Perform an MPI fence synchronization on a window */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_71Fence(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_70Fence[] = "Win.Fence(self, int assertion=0)\n\n Perform an MPI fence synchronization on a window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_71Fence(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_assertion; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Fence (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_assertion,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_assertion); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Fence") < 0)) __PYX_ERR(30, 494, __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_assertion = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_assertion == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 494, __pyx_L3_error) } else { __pyx_v_assertion = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Fence", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 494, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Fence", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_70Fence(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_assertion); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_70Fence(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_assertion) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Fence", 0); /* "mpi4py/MPI/Win.pyx":498 * Perform an MPI fence synchronization on a window * """ * with nogil: CHKERR( MPI_Win_fence(assertion, self.ob_mpi) ) # <<<<<<<<<<<<<< * * # General Active Target Synchronization */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_fence(__pyx_v_assertion, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 498, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":494 * # ----- * * def Fence(self, int assertion=0): # <<<<<<<<<<<<<< * """ * Perform an MPI fence synchronization on a window */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Fence", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":503 * # ------------------------------------- * * def Start(self, Group group, int assertion=0): # <<<<<<<<<<<<<< * """ * Start an RMA access epoch for MPI */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_73Start(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_72Start[] = "Win.Start(self, Group group, int assertion=0)\n\n Start an RMA access epoch for MPI\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_73Start(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIGroupObject *__pyx_v_group = 0; int __pyx_v_assertion; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Start (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_assertion,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_group)) != 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_assertion); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Start") < 0)) __PYX_ERR(30, 503, __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_group = ((struct PyMPIGroupObject *)values[0]); if (values[1]) { __pyx_v_assertion = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_assertion == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 503, __pyx_L3_error) } else { __pyx_v_assertion = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Start", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 503, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Start", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group", 0))) __PYX_ERR(30, 503, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_72Start(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_group, __pyx_v_assertion); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_72Start(struct PyMPIWinObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group, int __pyx_v_assertion) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Start", 0); /* "mpi4py/MPI/Win.pyx":507 * Start an RMA access epoch for MPI * """ * with nogil: CHKERR( MPI_Win_start( # <<<<<<<<<<<<<< * group.ob_mpi, assertion, self.ob_mpi) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":508 * """ * with nogil: CHKERR( MPI_Win_start( * group.ob_mpi, assertion, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Complete(self): */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_start(__pyx_v_group->ob_mpi, __pyx_v_assertion, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 507, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":507 * Start an RMA access epoch for MPI * """ * with nogil: CHKERR( MPI_Win_start( # <<<<<<<<<<<<<< * group.ob_mpi, assertion, self.ob_mpi) ) * */ /*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:; } } /* "mpi4py/MPI/Win.pyx":503 * # ------------------------------------- * * def Start(self, Group group, int assertion=0): # <<<<<<<<<<<<<< * """ * Start an RMA access epoch for MPI */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Start", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":510 * group.ob_mpi, assertion, self.ob_mpi) ) * * def Complete(self): # <<<<<<<<<<<<<< * """ * Completes an RMA operations begun after an `Win.Start()` */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_75Complete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_74Complete[] = "Win.Complete(self)\n\n Completes an RMA operations begun after an `Win.Start()`\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_75Complete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Complete (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Complete", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Complete", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_74Complete(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_74Complete(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Complete", 0); /* "mpi4py/MPI/Win.pyx":514 * Completes an RMA operations begun after an `Win.Start()` * """ * with nogil: CHKERR( MPI_Win_complete(self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Post(self, Group group, int assertion=0): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_complete(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 514, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":510 * group.ob_mpi, assertion, self.ob_mpi) ) * * def Complete(self): # <<<<<<<<<<<<<< * """ * Completes an RMA operations begun after an `Win.Start()` */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Complete", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":516 * with nogil: CHKERR( MPI_Win_complete(self.ob_mpi) ) * * def Post(self, Group group, int assertion=0): # <<<<<<<<<<<<<< * """ * Start an RMA exposure epoch */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_77Post(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_76Post[] = "Win.Post(self, Group group, int assertion=0)\n\n Start an RMA exposure epoch\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_77Post(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIGroupObject *__pyx_v_group = 0; int __pyx_v_assertion; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Post (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_group,&__pyx_n_s_assertion,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_group)) != 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_assertion); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Post") < 0)) __PYX_ERR(30, 516, __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_group = ((struct PyMPIGroupObject *)values[0]); if (values[1]) { __pyx_v_assertion = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_assertion == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 516, __pyx_L3_error) } else { __pyx_v_assertion = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Post", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 516, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Post", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group", 0))) __PYX_ERR(30, 516, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_76Post(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_group, __pyx_v_assertion); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_76Post(struct PyMPIWinObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group, int __pyx_v_assertion) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Post", 0); /* "mpi4py/MPI/Win.pyx":520 * Start an RMA exposure epoch * """ * with nogil: CHKERR( MPI_Win_post( # <<<<<<<<<<<<<< * group.ob_mpi, assertion, self.ob_mpi) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":521 * """ * with nogil: CHKERR( MPI_Win_post( * group.ob_mpi, assertion, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Wait(self): */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_post(__pyx_v_group->ob_mpi, __pyx_v_assertion, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 520, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":520 * Start an RMA exposure epoch * """ * with nogil: CHKERR( MPI_Win_post( # <<<<<<<<<<<<<< * group.ob_mpi, assertion, self.ob_mpi) ) * */ /*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:; } } /* "mpi4py/MPI/Win.pyx":516 * with nogil: CHKERR( MPI_Win_complete(self.ob_mpi) ) * * def Post(self, Group group, int assertion=0): # <<<<<<<<<<<<<< * """ * Start an RMA exposure epoch */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Post", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":523 * group.ob_mpi, assertion, self.ob_mpi) ) * * def Wait(self): # <<<<<<<<<<<<<< * """ * Complete an RMA exposure epoch begun with `Win.Post()` */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_79Wait(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_78Wait[] = "Win.Wait(self)\n\n Complete an RMA exposure epoch begun with `Win.Post()`\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_79Wait(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Wait (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Wait", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Wait", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_78Wait(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_78Wait(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Wait", 0); /* "mpi4py/MPI/Win.pyx":527 * Complete an RMA exposure epoch begun with `Win.Post()` * """ * with nogil: CHKERR( MPI_Win_wait(self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Test(self): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_wait(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 527, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":523 * group.ob_mpi, assertion, self.ob_mpi) ) * * def Wait(self): # <<<<<<<<<<<<<< * """ * Complete an RMA exposure epoch begun with `Win.Post()` */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Wait", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":529 * with nogil: CHKERR( MPI_Win_wait(self.ob_mpi) ) * * def Test(self): # <<<<<<<<<<<<<< * """ * Test whether an RMA exposure epoch has completed */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_81Test(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_80Test[] = "Win.Test(self)\n\n Test whether an RMA exposure epoch has completed\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_81Test(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Test (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Test", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Test", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_80Test(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_80Test(struct PyMPIWinObject *__pyx_v_self) { int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Test", 0); /* "mpi4py/MPI/Win.pyx":533 * Test whether an RMA exposure epoch has completed * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_test(self.ob_mpi, &flag) ) * return flag */ __pyx_v_flag = 0; /* "mpi4py/MPI/Win.pyx":534 * """ * cdef int flag = 0 * with nogil: CHKERR( MPI_Win_test(self.ob_mpi, &flag) ) # <<<<<<<<<<<<<< * return flag * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_test(__pyx_v_self->ob_mpi, (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 534, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":535 * cdef int flag = 0 * with nogil: CHKERR( MPI_Win_test(self.ob_mpi, &flag) ) * return flag # <<<<<<<<<<<<<< * * # Lock */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":529 * with nogil: CHKERR( MPI_Win_wait(self.ob_mpi) ) * * def Test(self): # <<<<<<<<<<<<<< * """ * Test whether an RMA exposure epoch has completed */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Win.Test", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":540 * # ---- * * def Lock(self, int rank, int lock_type=LOCK_EXCLUSIVE, int assertion=0): # <<<<<<<<<<<<<< * """ * Begin an RMA access epoch at the target process */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_83Lock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_82Lock[] = "Win.Lock(self, int rank, int lock_type=LOCK_EXCLUSIVE, int assertion=0)\n\n Begin an RMA access epoch at the target process\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_83Lock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_rank; int __pyx_v_lock_type; int __pyx_v_assertion; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Lock (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rank,&__pyx_n_s_lock_type,&__pyx_n_s_assertion,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_rank)) != 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_lock_type); 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_assertion); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Lock") < 0)) __PYX_ERR(30, 540, __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_rank = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 540, __pyx_L3_error) if (values[1]) { __pyx_v_lock_type = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_lock_type == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 540, __pyx_L3_error) } else { __pyx_v_lock_type = __pyx_k__119; } if (values[2]) { __pyx_v_assertion = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_assertion == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 540, __pyx_L3_error) } else { __pyx_v_assertion = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Lock", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 540, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Lock", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_82Lock(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_rank, __pyx_v_lock_type, __pyx_v_assertion); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_82Lock(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank, int __pyx_v_lock_type, int __pyx_v_assertion) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Lock", 0); /* "mpi4py/MPI/Win.pyx":544 * Begin an RMA access epoch at the target process * """ * with nogil: CHKERR( MPI_Win_lock( # <<<<<<<<<<<<<< * lock_type, rank, assertion, self.ob_mpi) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/Win.pyx":545 * """ * with nogil: CHKERR( MPI_Win_lock( * lock_type, rank, assertion, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Unlock(self, int rank): */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_lock(__pyx_v_lock_type, __pyx_v_rank, __pyx_v_assertion, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 544, __pyx_L4_error) } /* "mpi4py/MPI/Win.pyx":544 * Begin an RMA access epoch at the target process * """ * with nogil: CHKERR( MPI_Win_lock( # <<<<<<<<<<<<<< * lock_type, rank, assertion, self.ob_mpi) ) * */ /*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:; } } /* "mpi4py/MPI/Win.pyx":540 * # ---- * * def Lock(self, int rank, int lock_type=LOCK_EXCLUSIVE, int assertion=0): # <<<<<<<<<<<<<< * """ * Begin an RMA access epoch at the target process */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Lock", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":547 * lock_type, rank, assertion, self.ob_mpi) ) * * def Unlock(self, int rank): # <<<<<<<<<<<<<< * """ * Complete an RMA access epoch at the target process */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_85Unlock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_84Unlock[] = "Win.Unlock(self, int rank)\n\n Complete an RMA access epoch at the target process\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_85Unlock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_rank; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Unlock (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rank,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_rank)) != 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, "Unlock") < 0)) __PYX_ERR(30, 547, __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_rank = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 547, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Unlock", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 547, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Unlock", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_84Unlock(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_rank); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_84Unlock(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Unlock", 0); /* "mpi4py/MPI/Win.pyx":551 * Complete an RMA access epoch at the target process * """ * with nogil: CHKERR( MPI_Win_unlock(rank, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Lock_all(self, int assertion=0): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_unlock(__pyx_v_rank, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 551, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":547 * lock_type, rank, assertion, self.ob_mpi) ) * * def Unlock(self, int rank): # <<<<<<<<<<<<<< * """ * Complete an RMA access epoch at the target process */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Unlock", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":553 * with nogil: CHKERR( MPI_Win_unlock(rank, self.ob_mpi) ) * * def Lock_all(self, int assertion=0): # <<<<<<<<<<<<<< * """ * Begin an RMA access epoch at all processes */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_87Lock_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_86Lock_all[] = "Win.Lock_all(self, int assertion=0)\n\n Begin an RMA access epoch at all processes\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_87Lock_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_assertion; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Lock_all (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_assertion,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_assertion); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Lock_all") < 0)) __PYX_ERR(30, 553, __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_assertion = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_assertion == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 553, __pyx_L3_error) } else { __pyx_v_assertion = ((int)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Lock_all", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 553, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Lock_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_86Lock_all(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_assertion); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_86Lock_all(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_assertion) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Lock_all", 0); /* "mpi4py/MPI/Win.pyx":557 * Begin an RMA access epoch at all processes * """ * with nogil: CHKERR( MPI_Win_lock_all(assertion, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Unlock_all(self): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_lock_all(__pyx_v_assertion, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 557, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":553 * with nogil: CHKERR( MPI_Win_unlock(rank, self.ob_mpi) ) * * def Lock_all(self, int assertion=0): # <<<<<<<<<<<<<< * """ * Begin an RMA access epoch at all processes */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Lock_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":559 * with nogil: CHKERR( MPI_Win_lock_all(assertion, self.ob_mpi) ) * * def Unlock_all(self): # <<<<<<<<<<<<<< * """ * Complete an RMA access epoch at all processes */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_89Unlock_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_88Unlock_all[] = "Win.Unlock_all(self)\n\n Complete an RMA access epoch at all processes\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_89Unlock_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Unlock_all (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Unlock_all", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Unlock_all", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_88Unlock_all(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_88Unlock_all(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Unlock_all", 0); /* "mpi4py/MPI/Win.pyx":563 * Complete an RMA access epoch at all processes * """ * with nogil: CHKERR( MPI_Win_unlock_all(self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Flush and Sync */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_unlock_all(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 563, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":559 * with nogil: CHKERR( MPI_Win_lock_all(assertion, self.ob_mpi) ) * * def Unlock_all(self): # <<<<<<<<<<<<<< * """ * Complete an RMA access epoch at all processes */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Unlock_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":568 * # -------------- * * def Flush(self, int rank): # <<<<<<<<<<<<<< * """ * Complete all outstanding RMA operations at the given target */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_91Flush(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_90Flush[] = "Win.Flush(self, int rank)\n\n Complete all outstanding RMA operations at the given target\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_91Flush(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_rank; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Flush (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rank,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_rank)) != 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, "Flush") < 0)) __PYX_ERR(30, 568, __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_rank = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 568, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Flush", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 568, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Flush", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_90Flush(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_rank); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_90Flush(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Flush", 0); /* "mpi4py/MPI/Win.pyx":572 * Complete all outstanding RMA operations at the given target * """ * with nogil: CHKERR( MPI_Win_flush(rank, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Flush_all(self): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_flush(__pyx_v_rank, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 572, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":568 * # -------------- * * def Flush(self, int rank): # <<<<<<<<<<<<<< * """ * Complete all outstanding RMA operations at the given target */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Flush", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":574 * with nogil: CHKERR( MPI_Win_flush(rank, self.ob_mpi) ) * * def Flush_all(self): # <<<<<<<<<<<<<< * """ * Complete all outstanding RMA operations at all targets */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_93Flush_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_92Flush_all[] = "Win.Flush_all(self)\n\n Complete all outstanding RMA operations at all targets\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_93Flush_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Flush_all (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Flush_all", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Flush_all", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_92Flush_all(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_92Flush_all(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Flush_all", 0); /* "mpi4py/MPI/Win.pyx":578 * Complete all outstanding RMA operations at all targets * """ * with nogil: CHKERR( MPI_Win_flush_all(self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Flush_local(self, int rank): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_flush_all(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 578, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":574 * with nogil: CHKERR( MPI_Win_flush(rank, self.ob_mpi) ) * * def Flush_all(self): # <<<<<<<<<<<<<< * """ * Complete all outstanding RMA operations at all targets */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Flush_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":580 * with nogil: CHKERR( MPI_Win_flush_all(self.ob_mpi) ) * * def Flush_local(self, int rank): # <<<<<<<<<<<<<< * """ * Complete locally all outstanding RMA operations at the given target */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_95Flush_local(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_94Flush_local[] = "Win.Flush_local(self, int rank)\n\n Complete locally all outstanding RMA operations at the given target\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_95Flush_local(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_rank; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Flush_local (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rank,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_rank)) != 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, "Flush_local") < 0)) __PYX_ERR(30, 580, __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_rank = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 580, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Flush_local", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 580, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Flush_local", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_94Flush_local(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_rank); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_94Flush_local(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Flush_local", 0); /* "mpi4py/MPI/Win.pyx":584 * Complete locally all outstanding RMA operations at the given target * """ * with nogil: CHKERR( MPI_Win_flush_local(rank, self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Flush_local_all(self): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_flush_local(__pyx_v_rank, __pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 584, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":580 * with nogil: CHKERR( MPI_Win_flush_all(self.ob_mpi) ) * * def Flush_local(self, int rank): # <<<<<<<<<<<<<< * """ * Complete locally all outstanding RMA operations at the given target */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Flush_local", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":586 * with nogil: CHKERR( MPI_Win_flush_local(rank, self.ob_mpi) ) * * def Flush_local_all(self): # <<<<<<<<<<<<<< * """ * Complete locally all outstanding RMA opera- tions at all targets */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_97Flush_local_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_96Flush_local_all[] = "Win.Flush_local_all(self)\n\n Complete locally all outstanding RMA opera- tions at all targets\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_97Flush_local_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Flush_local_all (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Flush_local_all", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Flush_local_all", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_96Flush_local_all(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_96Flush_local_all(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Flush_local_all", 0); /* "mpi4py/MPI/Win.pyx":590 * Complete locally all outstanding RMA opera- tions at all targets * """ * with nogil: CHKERR( MPI_Win_flush_local_all(self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Sync(self): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_flush_local_all(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 590, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":586 * with nogil: CHKERR( MPI_Win_flush_local(rank, self.ob_mpi) ) * * def Flush_local_all(self): # <<<<<<<<<<<<<< * """ * Complete locally all outstanding RMA opera- tions at all targets */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Flush_local_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":592 * with nogil: CHKERR( MPI_Win_flush_local_all(self.ob_mpi) ) * * def Sync(self): # <<<<<<<<<<<<<< * """ * Synchronize public and private copies of the given window */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_99Sync(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_98Sync[] = "Win.Sync(self)\n\n Synchronize public and private copies of the given window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_99Sync(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Sync (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Sync", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Sync", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_98Sync(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_98Sync(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Sync", 0); /* "mpi4py/MPI/Win.pyx":596 * Synchronize public and private copies of the given window * """ * with nogil: CHKERR( MPI_Win_sync(self.ob_mpi) ) # <<<<<<<<<<<<<< * * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_sync(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 596, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/Win.pyx":592 * with nogil: CHKERR( MPI_Win_flush_local_all(self.ob_mpi) ) * * def Sync(self): # <<<<<<<<<<<<<< * """ * Synchronize public and private copies of the given window */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Sync", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":602 * # -------------- * * def Get_errhandler(self): # <<<<<<<<<<<<<< * """ * Get the error handler for a window */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_101Get_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_100Get_errhandler[] = "Win.Get_errhandler(self)\n\n Get the error handler for a window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_101Get_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_errhandler (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_errhandler", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_errhandler", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_100Get_errhandler(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_100Get_errhandler(struct PyMPIWinObject *__pyx_v_self) { struct PyMPIErrhandlerObject *__pyx_v_errhandler = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_errhandler", 0); /* "mpi4py/MPI/Win.pyx":606 * Get the error handler for a window * """ * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_errhandler(self.ob_mpi, &errhandler.ob_mpi) ) * return errhandler */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Errhandler(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 606, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_errhandler = ((struct PyMPIErrhandlerObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Win.pyx":607 * """ * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) * CHKERR( MPI_Win_get_errhandler(self.ob_mpi, &errhandler.ob_mpi) ) # <<<<<<<<<<<<<< * return errhandler * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_errhandler(__pyx_v_self->ob_mpi, (&__pyx_v_errhandler->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(30, 607, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":608 * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) * CHKERR( MPI_Win_get_errhandler(self.ob_mpi, &errhandler.ob_mpi) ) * return errhandler # <<<<<<<<<<<<<< * * def Set_errhandler(self, Errhandler errhandler): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_errhandler)); __pyx_r = ((PyObject *)__pyx_v_errhandler); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":602 * # -------------- * * def Get_errhandler(self): # <<<<<<<<<<<<<< * """ * Get the error handler for a window */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Win.Get_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_errhandler); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":610 * return errhandler * * def Set_errhandler(self, Errhandler errhandler): # <<<<<<<<<<<<<< * """ * Set the error handler for a window */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_103Set_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_102Set_errhandler[] = "Win.Set_errhandler(self, Errhandler errhandler)\n\n Set the error handler for a window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_103Set_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIErrhandlerObject *__pyx_v_errhandler = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_errhandler (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_errhandler,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_errhandler)) != 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, "Set_errhandler") < 0)) __PYX_ERR(30, 610, __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_errhandler = ((struct PyMPIErrhandlerObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_errhandler", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 610, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Set_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_errhandler), __pyx_ptype_6mpi4py_3MPI_Errhandler, 0, "errhandler", 0))) __PYX_ERR(30, 610, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_102Set_errhandler(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_errhandler); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_102Set_errhandler(struct PyMPIWinObject *__pyx_v_self, struct PyMPIErrhandlerObject *__pyx_v_errhandler) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_errhandler", 0); /* "mpi4py/MPI/Win.pyx":614 * Set the error handler for a window * """ * CHKERR( MPI_Win_set_errhandler(self.ob_mpi, errhandler.ob_mpi) ) # <<<<<<<<<<<<<< * * def Call_errhandler(self, int errorcode): */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_set_errhandler(__pyx_v_self->ob_mpi, __pyx_v_errhandler->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 614, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":610 * return errhandler * * def Set_errhandler(self, Errhandler errhandler): # <<<<<<<<<<<<<< * """ * Set the error handler for a window */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Set_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":616 * CHKERR( MPI_Win_set_errhandler(self.ob_mpi, errhandler.ob_mpi) ) * * def Call_errhandler(self, int errorcode): # <<<<<<<<<<<<<< * """ * Call the error handler installed on a window */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_105Call_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_104Call_errhandler[] = "Win.Call_errhandler(self, int errorcode)\n\n Call the error handler installed on a window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_105Call_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorcode; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Call_errhandler (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_errorcode,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_errorcode)) != 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, "Call_errhandler") < 0)) __PYX_ERR(30, 616, __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_errorcode = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_errorcode == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 616, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Call_errhandler", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 616, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Call_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_104Call_errhandler(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_errorcode); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_104Call_errhandler(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_errorcode) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Call_errhandler", 0); /* "mpi4py/MPI/Win.pyx":620 * Call the error handler installed on a window * """ * CHKERR( MPI_Win_call_errhandler(self.ob_mpi, errorcode) ) # <<<<<<<<<<<<<< * * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_call_errhandler(__pyx_v_self->ob_mpi, __pyx_v_errorcode)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 620, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":616 * CHKERR( MPI_Win_set_errhandler(self.ob_mpi, errhandler.ob_mpi) ) * * def Call_errhandler(self, int errorcode): # <<<<<<<<<<<<<< * """ * Call the error handler installed on a window */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Call_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":626 * # -------------- * * def Get_name(self): # <<<<<<<<<<<<<< * """ * Get the print name associated with the window */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_107Get_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_106Get_name[] = "Win.Get_name(self)\n\n Get the print name associated with the window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_107Get_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_name (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_name", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_name", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_106Get_name(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_106Get_name(struct PyMPIWinObject *__pyx_v_self) { char __pyx_v_name[(MPI_MAX_OBJECT_NAME + 1)]; int __pyx_v_nlen; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_name", 0); /* "mpi4py/MPI/Win.pyx":631 * """ * cdef char name[MPI_MAX_OBJECT_NAME+1] * cdef int nlen = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_name(self.ob_mpi, name, &nlen) ) * return tompistr(name, nlen) */ __pyx_v_nlen = 0; /* "mpi4py/MPI/Win.pyx":632 * cdef char name[MPI_MAX_OBJECT_NAME+1] * cdef int nlen = 0 * CHKERR( MPI_Win_get_name(self.ob_mpi, name, &nlen) ) # <<<<<<<<<<<<<< * return tompistr(name, nlen) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_name(__pyx_v_self->ob_mpi, __pyx_v_name, (&__pyx_v_nlen))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(30, 632, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":633 * cdef int nlen = 0 * CHKERR( MPI_Win_get_name(self.ob_mpi, name, &nlen) ) * return tompistr(name, nlen) # <<<<<<<<<<<<<< * * def Set_name(self, name): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_tompistr(__pyx_v_name, __pyx_v_nlen); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":626 * # -------------- * * def Get_name(self): # <<<<<<<<<<<<<< * """ * Get the print name associated with the window */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Win.Get_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":635 * return tompistr(name, nlen) * * def Set_name(self, name): # <<<<<<<<<<<<<< * """ * Set the print name associated with the window */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_109Set_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_108Set_name[] = "Win.Set_name(self, name)\n\n Set the print name associated with the window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_109Set_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_name = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_name (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name_2,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_name_2)) != 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, "Set_name") < 0)) __PYX_ERR(30, 635, __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_name = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_name", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 635, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.Set_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_108Set_name(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_name); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_108Set_name(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_name) { char *__pyx_v_cname; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_name", 0); __Pyx_INCREF(__pyx_v_name); /* "mpi4py/MPI/Win.pyx":639 * Set the print name associated with the window * """ * cdef char *cname = NULL # <<<<<<<<<<<<<< * name = asmpistr(name, &cname) * CHKERR( MPI_Win_set_name(self.ob_mpi, cname) ) */ __pyx_v_cname = NULL; /* "mpi4py/MPI/Win.pyx":640 * """ * cdef char *cname = NULL * name = asmpistr(name, &cname) # <<<<<<<<<<<<<< * CHKERR( MPI_Win_set_name(self.ob_mpi, cname) ) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_name, (&__pyx_v_cname)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":641 * cdef char *cname = NULL * name = asmpistr(name, &cname) * CHKERR( MPI_Win_set_name(self.ob_mpi, cname) ) # <<<<<<<<<<<<<< * * property name: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_set_name(__pyx_v_self->ob_mpi, __pyx_v_cname)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(30, 641, __pyx_L1_error) /* "mpi4py/MPI/Win.pyx":635 * return tompistr(name, nlen) * * def Set_name(self, name): # <<<<<<<<<<<<<< * """ * Set the print name associated with the window */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Win.Set_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_name); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":645 * property name: * """window name""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_name() * def __set__(self, value): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_4name_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_4name_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_4name___get__(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_4name___get__(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/Win.pyx":646 * """window name""" * def __get__(self): * return self.Get_name() # <<<<<<<<<<<<<< * def __set__(self, value): * self.Set_name(value) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 646, __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(30, 646, __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; /* "mpi4py/MPI/Win.pyx":645 * property name: * """window name""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_name() * def __set__(self, value): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Win.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":647 * def __get__(self): * return self.Get_name() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_name(value) * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_3Win_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_3Win_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_4name_2__set__(((struct PyMPIWinObject *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_3Win_4name_2__set__(struct PyMPIWinObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 0); /* "mpi4py/MPI/Win.pyx":648 * return self.Get_name() * def __set__(self, value): * self.Set_name(value) # <<<<<<<<<<<<<< * * # Fortran Handle */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 648, __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_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":647 * def __get__(self): * return self.Get_name() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_name(value) * */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.Win.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":653 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_111py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_110py2f[] = "Win.py2f(self)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_111py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("py2f (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("py2f", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "py2f", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_110py2f(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_110py2f(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("py2f", 0); /* "mpi4py/MPI/Win.pyx":656 * """ * """ * return MPI_Win_c2f(self.ob_mpi) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Fint(MPI_Win_c2f(__pyx_v_self->ob_mpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":653 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Win.py2f", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/Win.pyx":659 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_113f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_112f2py[] = "Win.f2py(type cls, arg)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_113f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("f2py (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "f2py") < 0)) __PYX_ERR(30, 659, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("f2py", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 659, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Win.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_112f2py(((PyTypeObject*)__pyx_v_cls), __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_112f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg) { struct PyMPIWinObject *__pyx_v_win = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; MPI_Fint __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("f2py", 0); /* "mpi4py/MPI/Win.pyx":662 * """ * """ * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * win.ob_mpi = MPI_Win_f2c(arg) * return win */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 662, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_win = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/Win.pyx":663 * """ * cdef Win win = Win.__new__(Win) * win.ob_mpi = MPI_Win_f2c(arg) # <<<<<<<<<<<<<< * return win * */ __pyx_t_3 = __Pyx_PyInt_As_MPI_Fint(__pyx_v_arg); if (unlikely((__pyx_t_3 == ((MPI_Fint)-1)) && PyErr_Occurred())) __PYX_ERR(30, 663, __pyx_L1_error) __pyx_v_win->ob_mpi = MPI_Win_f2c(__pyx_t_3); /* "mpi4py/MPI/Win.pyx":664 * cdef Win win = Win.__new__(Win) * win.ob_mpi = MPI_Win_f2c(arg) * return win # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_win)); __pyx_r = ((PyObject *)__pyx_v_win); goto __pyx_L0; /* "mpi4py/MPI/Win.pyx":659 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Win.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_win); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":57 * """ * * def __cinit__(self, File file=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_FILE_NULL * if file is None: return */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4File_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4File_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIFileObject *__pyx_v_file = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_file,0}; PyObject* values[1] = {0}; values[0] = (PyObject *)((struct PyMPIFileObject *)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_file); 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(31, 57, __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_file = ((struct PyMPIFileObject *)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(31, 57, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_file), __pyx_ptype_6mpi4py_3MPI_File, 1, "file", 0))) __PYX_ERR(31, 57, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File___cinit__(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_file); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4File___cinit__(struct PyMPIFileObject *__pyx_v_self, struct PyMPIFileObject *__pyx_v_file) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; MPI_File __pyx_t_3; __Pyx_RefNannySetupContext("__cinit__", 0); /* "mpi4py/MPI/File.pyx":58 * * def __cinit__(self, File file=None): * self.ob_mpi = MPI_FILE_NULL # <<<<<<<<<<<<<< * if file is None: return * self.ob_mpi = file.ob_mpi */ __pyx_v_self->ob_mpi = MPI_FILE_NULL; /* "mpi4py/MPI/File.pyx":59 * def __cinit__(self, File file=None): * self.ob_mpi = MPI_FILE_NULL * if file is None: return # <<<<<<<<<<<<<< * self.ob_mpi = file.ob_mpi * */ __pyx_t_1 = (((PyObject *)__pyx_v_file) == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "mpi4py/MPI/File.pyx":60 * self.ob_mpi = MPI_FILE_NULL * if file is None: return * self.ob_mpi = file.ob_mpi # <<<<<<<<<<<<<< * * def __dealloc__(self): */ __pyx_t_3 = __pyx_v_file->ob_mpi; __pyx_v_self->ob_mpi = __pyx_t_3; /* "mpi4py/MPI/File.pyx":57 * """ * * def __cinit__(self, File file=None): # <<<<<<<<<<<<<< * self.ob_mpi = MPI_FILE_NULL * if file is None: return */ /* function exit code */ __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":62 * self.ob_mpi = file.ob_mpi * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_File(&self.ob_mpi) ) */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_4File_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_4File_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_4File_2__dealloc__(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_4File_2__dealloc__(struct PyMPIFileObject *__pyx_v_self) { __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "mpi4py/MPI/File.pyx":63 * * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return # <<<<<<<<<<<<<< * CHKERR( del_File(&self.ob_mpi) ) * */ __pyx_t_1 = ((!((__pyx_v_self->flags & __pyx_e_6mpi4py_3MPI_PyMPI_OWNED) != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "mpi4py/MPI/File.pyx":64 * def __dealloc__(self): * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_File(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * def __richcmp__(self, other, int op): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(__pyx_f_6mpi4py_3MPI_del_File((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 64, __pyx_L1_error) /* "mpi4py/MPI/File.pyx":62 * self.ob_mpi = file.ob_mpi * * def __dealloc__(self): # <<<<<<<<<<<<<< * if not (self.flags & PyMPI_OWNED): return * CHKERR( del_File(&self.ob_mpi) ) */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_WriteUnraisable("mpi4py.MPI.File.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "mpi4py/MPI/File.pyx":66 * CHKERR( del_File(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, File): return NotImplemented * cdef File s = self, o = other */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_4__richcmp__(((struct PyMPIFileObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_op)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_4__richcmp__(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) { struct PyMPIFileObject *__pyx_v_s = 0; struct PyMPIFileObject *__pyx_v_o = 0; PyObject *__pyx_v_mod = 0; PyObject *__pyx_v_cls = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "mpi4py/MPI/File.pyx":67 * * def __richcmp__(self, other, int op): * if not isinstance(other, File): return NotImplemented # <<<<<<<<<<<<<< * cdef File s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_ptype_6mpi4py_3MPI_File); __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_builtin_NotImplemented); __pyx_r = __pyx_builtin_NotImplemented; goto __pyx_L0; } /* "mpi4py/MPI/File.pyx":68 * def __richcmp__(self, other, int op): * if not isinstance(other, File): return NotImplemented * cdef File s = self, o = other # <<<<<<<<<<<<<< * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) */ __pyx_t_3 = ((PyObject *)__pyx_v_self); __Pyx_INCREF(__pyx_t_3); __pyx_v_s = ((struct PyMPIFileObject *)__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_v_other; __Pyx_INCREF(__pyx_t_3); __pyx_v_o = ((struct PyMPIFileObject *)__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":69 * if not isinstance(other, File): return NotImplemented * cdef File s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) # <<<<<<<<<<<<<< * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ */ __pyx_t_2 = ((__pyx_v_op == Py_EQ) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi == __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/File.pyx":70 * cdef File s = self, o = other * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) # <<<<<<<<<<<<<< * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ */ __pyx_t_2 = ((__pyx_v_op == Py_NE) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_s->ob_mpi != __pyx_v_o->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/File.pyx":71 * if op == Py_EQ: return (s.ob_mpi == o.ob_mpi) * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_mod = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":72 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_cls = __pyx_t_3; __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":73 * cdef mod = type(self).__module__ * cdef cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) # <<<<<<<<<<<<<< * * def __bool__(self): */ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mod); __Pyx_GIVEREF(__pyx_v_mod); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mod); __Pyx_INCREF(__pyx_v_cls); __Pyx_GIVEREF(__pyx_v_cls); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cls); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_unorderable_type_s_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(31, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(31, 73, __pyx_L1_error) /* "mpi4py/MPI/File.pyx":66 * CHKERR( del_File(&self.ob_mpi) ) * * def __richcmp__(self, other, int op): # <<<<<<<<<<<<<< * if not isinstance(other, File): return NotImplemented * cdef File s = self, o = other */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.File.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_s); __Pyx_XDECREF((PyObject *)__pyx_v_o); __Pyx_XDECREF(__pyx_v_mod); __Pyx_XDECREF(__pyx_v_cls); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":75 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_FILE_NULL * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4File_7__bool__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4File_7__bool__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_6__bool__(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4File_6__bool__(struct PyMPIFileObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__bool__", 0); /* "mpi4py/MPI/File.pyx":76 * * def __bool__(self): * return self.ob_mpi != MPI_FILE_NULL # <<<<<<<<<<<<<< * * # File Manipulation */ __pyx_r = (__pyx_v_self->ob_mpi != MPI_FILE_NULL); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":75 * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * * def __bool__(self): # <<<<<<<<<<<<<< * return self.ob_mpi != MPI_FILE_NULL * */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":82 * * @classmethod * def Open(cls, Intracomm comm, filename, # <<<<<<<<<<<<<< * int amode=MODE_RDONLY, Info info=INFO_NULL): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_9Open(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_8Open[] = "File.Open(type cls, Intracomm comm, filename, int amode=MODE_RDONLY, Info info=INFO_NULL)\n\n Open a file\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_9Open(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIIntracommObject *__pyx_v_comm = 0; PyObject *__pyx_v_filename = 0; int __pyx_v_amode; struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Open (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_comm,&__pyx_n_s_filename,&__pyx_n_s_amode,&__pyx_n_s_info,0}; PyObject* values[4] = {0,0,0,0}; values[3] = (PyObject *)__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 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_comm)) != 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_filename)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Open", 0, 2, 4, 1); __PYX_ERR(31, 82, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_amode); 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_info); if (value) { values[3] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Open") < 0)) __PYX_ERR(31, 82, __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_comm = ((struct PyMPIIntracommObject *)values[0]); __pyx_v_filename = values[1]; if (values[2]) { __pyx_v_amode = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_amode == (int)-1) && PyErr_Occurred())) __PYX_ERR(31, 83, __pyx_L3_error) } else { __pyx_v_amode = __pyx_k__121; } __pyx_v_info = ((struct PyMPIInfoObject *)values[3]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Open", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 82, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Open", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Intracomm, 0, "comm", 0))) __PYX_ERR(31, 82, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(31, 83, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_8Open(((PyTypeObject*)__pyx_v_cls), __pyx_v_comm, __pyx_v_filename, __pyx_v_amode, __pyx_v_info); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_8Open(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, struct PyMPIIntracommObject *__pyx_v_comm, PyObject *__pyx_v_filename, int __pyx_v_amode, struct PyMPIInfoObject *__pyx_v_info) { char *__pyx_v_cfilename; struct PyMPIFileObject *__pyx_v_file = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Open", 0); __Pyx_INCREF(__pyx_v_filename); /* "mpi4py/MPI/File.pyx":87 * Open a file * """ * cdef char *cfilename = NULL # <<<<<<<<<<<<<< * filename = asmpistr(filename, &cfilename) * cdef File file = File.__new__(File) */ __pyx_v_cfilename = NULL; /* "mpi4py/MPI/File.pyx":88 * """ * cdef char *cfilename = NULL * filename = asmpistr(filename, &cfilename) # <<<<<<<<<<<<<< * cdef File file = File.__new__(File) * with nogil: CHKERR( MPI_File_open( */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_filename, (&__pyx_v_cfilename)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_filename, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":89 * cdef char *cfilename = NULL * filename = asmpistr(filename, &cfilename) * cdef File file = File.__new__(File) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_open( * comm.ob_mpi, cfilename, amode, info.ob_mpi, &file.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_File(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_File), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 89, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_file = ((struct PyMPIFileObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":90 * filename = asmpistr(filename, &cfilename) * cdef File file = File.__new__(File) * with nogil: CHKERR( MPI_File_open( # <<<<<<<<<<<<<< * comm.ob_mpi, cfilename, amode, info.ob_mpi, &file.ob_mpi) ) * file_set_eh(file.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":91 * cdef File file = File.__new__(File) * with nogil: CHKERR( MPI_File_open( * comm.ob_mpi, cfilename, amode, info.ob_mpi, &file.ob_mpi) ) # <<<<<<<<<<<<<< * file_set_eh(file.ob_mpi) * return file */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_open(__pyx_v_comm->__pyx_base.ob_mpi, __pyx_v_cfilename, __pyx_v_amode, __pyx_v_info->ob_mpi, (&__pyx_v_file->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 90, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":90 * filename = asmpistr(filename, &cfilename) * cdef File file = File.__new__(File) * with nogil: CHKERR( MPI_File_open( # <<<<<<<<<<<<<< * comm.ob_mpi, cfilename, amode, info.ob_mpi, &file.ob_mpi) ) * file_set_eh(file.ob_mpi) */ /*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:; } } /* "mpi4py/MPI/File.pyx":92 * with nogil: CHKERR( MPI_File_open( * comm.ob_mpi, cfilename, amode, info.ob_mpi, &file.ob_mpi) ) * file_set_eh(file.ob_mpi) # <<<<<<<<<<<<<< * return file * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_file_set_eh(__pyx_v_file->ob_mpi); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 92, __pyx_L1_error) /* "mpi4py/MPI/File.pyx":93 * comm.ob_mpi, cfilename, amode, info.ob_mpi, &file.ob_mpi) ) * file_set_eh(file.ob_mpi) * return file # <<<<<<<<<<<<<< * * def Close(self): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_file)); __pyx_r = ((PyObject *)__pyx_v_file); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":82 * * @classmethod * def Open(cls, Intracomm comm, filename, # <<<<<<<<<<<<<< * int amode=MODE_RDONLY, Info info=INFO_NULL): * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Open", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_file); __Pyx_XDECREF(__pyx_v_filename); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":95 * return file * * def Close(self): # <<<<<<<<<<<<<< * """ * Close a file */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_11Close(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_10Close[] = "File.Close(self)\n\n Close a file\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_11Close(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Close (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Close", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Close", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_10Close(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_10Close(struct PyMPIFileObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Close", 0); /* "mpi4py/MPI/File.pyx":99 * Close a file * """ * with nogil: CHKERR( MPI_File_close(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * @classmethod */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_close((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 99, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":95 * return file * * def Close(self): # <<<<<<<<<<<<<< * """ * Close a file */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Close", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":102 * * @classmethod * def Delete(cls, filename, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Delete a file */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_13Delete(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_12Delete[] = "File.Delete(type cls, filename, Info info=INFO_NULL)\n\n Delete a file\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_13Delete(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_filename = 0; struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Delete (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_info,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)__pyx_k__122; 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_filename)) != 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_info); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Delete") < 0)) __PYX_ERR(31, 102, __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_filename = values[0]; __pyx_v_info = ((struct PyMPIInfoObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Delete", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 102, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Delete", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(31, 102, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_12Delete(((PyTypeObject*)__pyx_v_cls), __pyx_v_filename, __pyx_v_info); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_12Delete(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_filename, struct PyMPIInfoObject *__pyx_v_info) { char *__pyx_v_cfilename; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Delete", 0); __Pyx_INCREF(__pyx_v_filename); /* "mpi4py/MPI/File.pyx":106 * Delete a file * """ * cdef char *cfilename = NULL # <<<<<<<<<<<<<< * filename = asmpistr(filename, &cfilename) * with nogil: CHKERR( MPI_File_delete(cfilename, info.ob_mpi) ) */ __pyx_v_cfilename = NULL; /* "mpi4py/MPI/File.pyx":107 * """ * cdef char *cfilename = NULL * filename = asmpistr(filename, &cfilename) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_delete(cfilename, info.ob_mpi) ) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_filename, (&__pyx_v_cfilename)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_filename, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":108 * cdef char *cfilename = NULL * filename = asmpistr(filename, &cfilename) * with nogil: CHKERR( MPI_File_delete(cfilename, info.ob_mpi) ) # <<<<<<<<<<<<<< * * def Set_size(self, Offset size): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_delete(__pyx_v_cfilename, __pyx_v_info->ob_mpi)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 108, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":102 * * @classmethod * def Delete(cls, filename, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Delete a file */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Delete", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_filename); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":110 * with nogil: CHKERR( MPI_File_delete(cfilename, info.ob_mpi) ) * * def Set_size(self, Offset size): # <<<<<<<<<<<<<< * """ * Sets the file size */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_15Set_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_14Set_size[] = "File.Set_size(self, Offset size)\n\n Sets the file size\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_15Set_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_size; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_size (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,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_size)) != 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, "Set_size") < 0)) __PYX_ERR(31, 110, __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_size = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_size == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 110, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_size", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 110, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Set_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_14Set_size(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_size); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_14Set_size(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_size) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_size", 0); /* "mpi4py/MPI/File.pyx":114 * Sets the file size * """ * with nogil: CHKERR( MPI_File_set_size(self.ob_mpi, size) ) # <<<<<<<<<<<<<< * * def Preallocate(self, Offset size): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_set_size(__pyx_v_self->ob_mpi, __pyx_v_size)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 114, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":110 * with nogil: CHKERR( MPI_File_delete(cfilename, info.ob_mpi) ) * * def Set_size(self, Offset size): # <<<<<<<<<<<<<< * """ * Sets the file size */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Set_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":116 * with nogil: CHKERR( MPI_File_set_size(self.ob_mpi, size) ) * * def Preallocate(self, Offset size): # <<<<<<<<<<<<<< * """ * Preallocate storage space for a file */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_17Preallocate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_16Preallocate[] = "File.Preallocate(self, Offset size)\n\n Preallocate storage space for a file\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_17Preallocate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_size; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Preallocate (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,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_size)) != 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, "Preallocate") < 0)) __PYX_ERR(31, 116, __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_size = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_size == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 116, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Preallocate", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 116, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Preallocate", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_16Preallocate(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_size); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_16Preallocate(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_size) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Preallocate", 0); /* "mpi4py/MPI/File.pyx":120 * Preallocate storage space for a file * """ * with nogil: CHKERR( MPI_File_preallocate(self.ob_mpi, size) ) # <<<<<<<<<<<<<< * * def Get_size(self): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_preallocate(__pyx_v_self->ob_mpi, __pyx_v_size)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 120, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":116 * with nogil: CHKERR( MPI_File_set_size(self.ob_mpi, size) ) * * def Preallocate(self, Offset size): # <<<<<<<<<<<<<< * """ * Preallocate storage space for a file */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Preallocate", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":122 * with nogil: CHKERR( MPI_File_preallocate(self.ob_mpi, size) ) * * def Get_size(self): # <<<<<<<<<<<<<< * """ * Return the file size */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_19Get_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_18Get_size[] = "File.Get_size(self)\n\n Return the file size\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_19Get_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_size (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_size", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_size", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_18Get_size(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_18Get_size(struct PyMPIFileObject *__pyx_v_self) { MPI_Offset __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_size", 0); /* "mpi4py/MPI/File.pyx":126 * Return the file size * """ * cdef MPI_Offset size = 0 # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_get_size(self.ob_mpi, &size) ) * return size */ __pyx_v_size = 0; /* "mpi4py/MPI/File.pyx":127 * """ * cdef MPI_Offset size = 0 * with nogil: CHKERR( MPI_File_get_size(self.ob_mpi, &size) ) # <<<<<<<<<<<<<< * return size * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_get_size(__pyx_v_self->ob_mpi, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 127, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":128 * cdef MPI_Offset size = 0 * with nogil: CHKERR( MPI_File_get_size(self.ob_mpi, &size) ) * return size # <<<<<<<<<<<<<< * * property size: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Offset(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/File.pyx":122 * with nogil: CHKERR( MPI_File_preallocate(self.ob_mpi, size) ) * * def Get_size(self): # <<<<<<<<<<<<<< * """ * Return the file size */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Get_size", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":132 * property size: * """file size""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_size() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_4size_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_4size_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_4size___get__(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_4size___get__(struct PyMPIFileObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/File.pyx":133 * """file size""" * def __get__(self): * return self.Get_size() # <<<<<<<<<<<<<< * * def Get_amode(self): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 133, __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(31, 133, __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; /* "mpi4py/MPI/File.pyx":132 * property size: * """file size""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_size() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.File.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":135 * return self.Get_size() * * def Get_amode(self): # <<<<<<<<<<<<<< * """ * Return the file access mode */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_21Get_amode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_20Get_amode[] = "File.Get_amode(self)\n\n Return the file access mode\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_21Get_amode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_amode (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_amode", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_amode", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_20Get_amode(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_20Get_amode(struct PyMPIFileObject *__pyx_v_self) { int __pyx_v_amode; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_amode", 0); /* "mpi4py/MPI/File.pyx":139 * Return the file access mode * """ * cdef int amode = 0 # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_get_amode(self.ob_mpi, &amode) ) * return amode */ __pyx_v_amode = 0; /* "mpi4py/MPI/File.pyx":140 * """ * cdef int amode = 0 * with nogil: CHKERR( MPI_File_get_amode(self.ob_mpi, &amode) ) # <<<<<<<<<<<<<< * return amode * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_get_amode(__pyx_v_self->ob_mpi, (&__pyx_v_amode))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 140, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":141 * cdef int amode = 0 * with nogil: CHKERR( MPI_File_get_amode(self.ob_mpi, &amode) ) * return amode # <<<<<<<<<<<<<< * * property amode: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_amode); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/File.pyx":135 * return self.Get_size() * * def Get_amode(self): # <<<<<<<<<<<<<< * """ * Return the file access mode */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Get_amode", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":145 * property amode: * """file access mode""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_amode() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_5amode_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_5amode_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_5amode___get__(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_5amode___get__(struct PyMPIFileObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/File.pyx":146 * """file access mode""" * def __get__(self): * return self.Get_amode() # <<<<<<<<<<<<<< * * # File Group */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_amode); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 146, __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(31, 146, __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; /* "mpi4py/MPI/File.pyx":145 * property amode: * """file access mode""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_amode() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.File.amode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":151 * # ---------- * * def Get_group(self): # <<<<<<<<<<<<<< * """ * Return the group of processes */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_23Get_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_22Get_group[] = "File.Get_group(self)\n\n Return the group of processes\n that opened the file\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_23Get_group(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_group (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_group", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_group", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_22Get_group(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_22Get_group(struct PyMPIFileObject *__pyx_v_self) { struct PyMPIGroupObject *__pyx_v_group = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_group", 0); /* "mpi4py/MPI/File.pyx":156 * that opened the file * """ * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_get_group(self.ob_mpi, &group.ob_mpi) ) * return group */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 156, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":157 * """ * cdef Group group = Group.__new__(Group) * with nogil: CHKERR( MPI_File_get_group(self.ob_mpi, &group.ob_mpi) ) # <<<<<<<<<<<<<< * return group * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_get_group(__pyx_v_self->ob_mpi, (&__pyx_v_group->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 157, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":158 * cdef Group group = Group.__new__(Group) * with nogil: CHKERR( MPI_File_get_group(self.ob_mpi, &group.ob_mpi) ) * return group # <<<<<<<<<<<<<< * * property group: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_group)); __pyx_r = ((PyObject *)__pyx_v_group); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":151 * # ---------- * * def Get_group(self): # <<<<<<<<<<<<<< * """ * Return the group of processes */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Get_group", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_group); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":162 * property group: * """file group""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_group() * */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_5group_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_5group_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_5group___get__(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_5group___get__(struct PyMPIFileObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/File.pyx":163 * """file group""" * def __get__(self): * return self.Get_group() # <<<<<<<<<<<<<< * * # File Info */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 163, __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(31, 163, __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; /* "mpi4py/MPI/File.pyx":162 * property group: * """file group""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_group() * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.File.group.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":168 * # --------- * * def Set_info(self, Info info): # <<<<<<<<<<<<<< * """ * Set new values for the hints */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_25Set_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_24Set_info[] = "File.Set_info(self, Info info)\n\n Set new values for the hints\n associated with a file\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_25Set_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_info (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_info,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_info)) != 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, "Set_info") < 0)) __PYX_ERR(31, 168, __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_info = ((struct PyMPIInfoObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_info", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 168, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Set_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(31, 168, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_24Set_info(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_info); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_24Set_info(struct PyMPIFileObject *__pyx_v_self, struct PyMPIInfoObject *__pyx_v_info) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_info", 0); /* "mpi4py/MPI/File.pyx":173 * associated with a file * """ * with nogil: CHKERR( MPI_File_set_info(self.ob_mpi, info.ob_mpi) ) # <<<<<<<<<<<<<< * * def Get_info(self): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_set_info(__pyx_v_self->ob_mpi, __pyx_v_info->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 173, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":168 * # --------- * * def Set_info(self, Info info): # <<<<<<<<<<<<<< * """ * Set new values for the hints */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Set_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":175 * with nogil: CHKERR( MPI_File_set_info(self.ob_mpi, info.ob_mpi) ) * * def Get_info(self): # <<<<<<<<<<<<<< * """ * Return the hints for a file that */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_27Get_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_26Get_info[] = "File.Get_info(self)\n\n Return the hints for a file that\n that are currently in use\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_27Get_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_info (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_info", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_info", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_26Get_info(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_26Get_info(struct PyMPIFileObject *__pyx_v_self) { struct PyMPIInfoObject *__pyx_v_info = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_info", 0); /* "mpi4py/MPI/File.pyx":180 * that are currently in use * """ * cdef Info info = Info.__new__(Info) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_get_info(self.ob_mpi, &info.ob_mpi) ) * return info */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 180, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":181 * """ * cdef Info info = Info.__new__(Info) * with nogil: CHKERR( MPI_File_get_info(self.ob_mpi, &info.ob_mpi) ) # <<<<<<<<<<<<<< * return info * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_get_info(__pyx_v_self->ob_mpi, (&__pyx_v_info->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 181, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":182 * cdef Info info = Info.__new__(Info) * with nogil: CHKERR( MPI_File_get_info(self.ob_mpi, &info.ob_mpi) ) * return info # <<<<<<<<<<<<<< * * property info: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_info)); __pyx_r = ((PyObject *)__pyx_v_info); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":175 * with nogil: CHKERR( MPI_File_set_info(self.ob_mpi, info.ob_mpi) ) * * def Get_info(self): # <<<<<<<<<<<<<< * """ * Return the hints for a file that */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Get_info", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_info); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":186 * property info: * """file info""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_info() * def __set__(self, info): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_4info_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_4info_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_4info___get__(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_4info___get__(struct PyMPIFileObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/File.pyx":187 * """file info""" * def __get__(self): * return self.Get_info() # <<<<<<<<<<<<<< * def __set__(self, info): * self.Set_info(info) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 187, __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(31, 187, __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; /* "mpi4py/MPI/File.pyx":186 * property info: * """file info""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_info() * def __set__(self, info): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.File.info.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":188 * def __get__(self): * return self.Get_info() * def __set__(self, info): # <<<<<<<<<<<<<< * self.Set_info(info) * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4File_4info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_info); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4File_4info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_info) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_4info_2__set__(((struct PyMPIFileObject *)__pyx_v_self), ((PyObject *)__pyx_v_info)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4File_4info_2__set__(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_info) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 0); /* "mpi4py/MPI/File.pyx":189 * return self.Get_info() * def __set__(self, info): * self.Set_info(info) # <<<<<<<<<<<<<< * * # File Views */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 189, __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_v_info) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_info); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":188 * def __get__(self): * return self.Get_info() * def __set__(self, info): # <<<<<<<<<<<<<< * self.Set_info(info) * */ /* 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("mpi4py.MPI.File.info.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":194 * # ---------- * * def Set_view(self, Offset disp=0, # <<<<<<<<<<<<<< * Datatype etype=None, Datatype filetype=None, * object datarep=None, Info info=INFO_NULL): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_29Set_view(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_28Set_view[] = "File.Set_view(self, Offset disp=0, Datatype etype=None, Datatype filetype=None, datarep=None, Info info=INFO_NULL)\n\n Set the file view\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_29Set_view(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_disp; struct PyMPIDatatypeObject *__pyx_v_etype = 0; struct PyMPIDatatypeObject *__pyx_v_filetype = 0; PyObject *__pyx_v_datarep = 0; struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_view (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_disp,&__pyx_n_s_etype,&__pyx_n_s_filetype,&__pyx_n_s_datarep,&__pyx_n_s_info,0}; PyObject* values[5] = {0,0,0,0,0}; /* "mpi4py/MPI/File.pyx":195 * * def Set_view(self, Offset disp=0, * Datatype etype=None, Datatype filetype=None, # <<<<<<<<<<<<<< * object datarep=None, Info info=INFO_NULL): * """ */ values[1] = (PyObject *)((struct PyMPIDatatypeObject *)Py_None); values[2] = (PyObject *)((struct PyMPIDatatypeObject *)Py_None); /* "mpi4py/MPI/File.pyx":196 * def Set_view(self, Offset disp=0, * Datatype etype=None, Datatype filetype=None, * object datarep=None, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Set the file view */ values[3] = ((PyObject *)Py_None); values[4] = (PyObject *)__pyx_k__123; 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 (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_disp); 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_etype); 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_filetype); 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_datarep); 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_info); if (value) { values[4] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Set_view") < 0)) __PYX_ERR(31, 194, __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); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } } if (values[0]) { __pyx_v_disp = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_disp == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 194, __pyx_L3_error) } else { __pyx_v_disp = ((MPI_Offset)0); } __pyx_v_etype = ((struct PyMPIDatatypeObject *)values[1]); __pyx_v_filetype = ((struct PyMPIDatatypeObject *)values[2]); __pyx_v_datarep = values[3]; __pyx_v_info = ((struct PyMPIInfoObject *)values[4]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_view", 0, 0, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 194, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Set_view", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_etype), __pyx_ptype_6mpi4py_3MPI_Datatype, 1, "etype", 0))) __PYX_ERR(31, 195, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_filetype), __pyx_ptype_6mpi4py_3MPI_Datatype, 1, "filetype", 0))) __PYX_ERR(31, 195, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(31, 196, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_28Set_view(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_disp, __pyx_v_etype, __pyx_v_filetype, __pyx_v_datarep, __pyx_v_info); /* "mpi4py/MPI/File.pyx":194 * # ---------- * * def Set_view(self, Offset disp=0, # <<<<<<<<<<<<<< * Datatype etype=None, Datatype filetype=None, * object datarep=None, Info info=INFO_NULL): */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_28Set_view(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_disp, struct PyMPIDatatypeObject *__pyx_v_etype, struct PyMPIDatatypeObject *__pyx_v_filetype, PyObject *__pyx_v_datarep, struct PyMPIInfoObject *__pyx_v_info) { char *__pyx_v_cdatarep; MPI_Datatype __pyx_v_cetype; MPI_Datatype __pyx_v_cftype; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; MPI_Datatype __pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_view", 0); __Pyx_INCREF(__pyx_v_datarep); /* "mpi4py/MPI/File.pyx":200 * Set the file view * """ * cdef char *cdatarep = b"native" # <<<<<<<<<<<<<< * if datarep is not None: datarep = asmpistr(datarep, &cdatarep) * cdef MPI_Datatype cetype = MPI_BYTE */ __pyx_v_cdatarep = ((char *)"native"); /* "mpi4py/MPI/File.pyx":201 * """ * cdef char *cdatarep = b"native" * if datarep is not None: datarep = asmpistr(datarep, &cdatarep) # <<<<<<<<<<<<<< * cdef MPI_Datatype cetype = MPI_BYTE * if etype is not None: cetype = etype.ob_mpi */ __pyx_t_1 = (__pyx_v_datarep != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_datarep, (&__pyx_v_cdatarep)); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_datarep, __pyx_t_3); __pyx_t_3 = 0; } /* "mpi4py/MPI/File.pyx":202 * cdef char *cdatarep = b"native" * if datarep is not None: datarep = asmpistr(datarep, &cdatarep) * cdef MPI_Datatype cetype = MPI_BYTE # <<<<<<<<<<<<<< * if etype is not None: cetype = etype.ob_mpi * cdef MPI_Datatype cftype = cetype */ __pyx_v_cetype = MPI_BYTE; /* "mpi4py/MPI/File.pyx":203 * if datarep is not None: datarep = asmpistr(datarep, &cdatarep) * cdef MPI_Datatype cetype = MPI_BYTE * if etype is not None: cetype = etype.ob_mpi # <<<<<<<<<<<<<< * cdef MPI_Datatype cftype = cetype * if filetype is not None: cftype = filetype.ob_mpi */ __pyx_t_2 = (((PyObject *)__pyx_v_etype) != Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { __pyx_t_4 = __pyx_v_etype->ob_mpi; __pyx_v_cetype = __pyx_t_4; } /* "mpi4py/MPI/File.pyx":204 * cdef MPI_Datatype cetype = MPI_BYTE * if etype is not None: cetype = etype.ob_mpi * cdef MPI_Datatype cftype = cetype # <<<<<<<<<<<<<< * if filetype is not None: cftype = filetype.ob_mpi * with nogil: CHKERR( MPI_File_set_view( */ __pyx_v_cftype = __pyx_v_cetype; /* "mpi4py/MPI/File.pyx":205 * if etype is not None: cetype = etype.ob_mpi * cdef MPI_Datatype cftype = cetype * if filetype is not None: cftype = filetype.ob_mpi # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_set_view( * self.ob_mpi, disp, cetype, cftype, cdatarep, info.ob_mpi) ) */ __pyx_t_1 = (((PyObject *)__pyx_v_filetype) != Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_t_4 = __pyx_v_filetype->ob_mpi; __pyx_v_cftype = __pyx_t_4; } /* "mpi4py/MPI/File.pyx":206 * cdef MPI_Datatype cftype = cetype * if filetype is not None: cftype = filetype.ob_mpi * with nogil: CHKERR( MPI_File_set_view( # <<<<<<<<<<<<<< * self.ob_mpi, disp, cetype, cftype, cdatarep, info.ob_mpi) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":207 * if filetype is not None: cftype = filetype.ob_mpi * with nogil: CHKERR( MPI_File_set_view( * self.ob_mpi, disp, cetype, cftype, cdatarep, info.ob_mpi) ) # <<<<<<<<<<<<<< * * def Get_view(self): */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_set_view(__pyx_v_self->ob_mpi, __pyx_v_disp, __pyx_v_cetype, __pyx_v_cftype, __pyx_v_cdatarep, __pyx_v_info->ob_mpi)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(31, 206, __pyx_L7_error) } /* "mpi4py/MPI/File.pyx":206 * cdef MPI_Datatype cftype = cetype * if filetype is not None: cftype = filetype.ob_mpi * with nogil: CHKERR( MPI_File_set_view( # <<<<<<<<<<<<<< * self.ob_mpi, disp, cetype, cftype, cdatarep, info.ob_mpi) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":194 * # ---------- * * def Set_view(self, Offset disp=0, # <<<<<<<<<<<<<< * Datatype etype=None, Datatype filetype=None, * object datarep=None, Info info=INFO_NULL): */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.File.Set_view", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_datarep); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":209 * self.ob_mpi, disp, cetype, cftype, cdatarep, info.ob_mpi) ) * * def Get_view(self): # <<<<<<<<<<<<<< * """ * Return the file view */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_31Get_view(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_30Get_view[] = "File.Get_view(self)\n\n Return the file view\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_31Get_view(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_view (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_view", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_view", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_30Get_view(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_30Get_view(struct PyMPIFileObject *__pyx_v_self) { MPI_Offset __pyx_v_disp; struct PyMPIDatatypeObject *__pyx_v_etype = 0; struct PyMPIDatatypeObject *__pyx_v_ftype = 0; char __pyx_v_cdatarep[(MPI_MAX_DATAREP_STRING + 1)]; PyObject *__pyx_v_datarep = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_view", 0); /* "mpi4py/MPI/File.pyx":213 * Return the file view * """ * cdef MPI_Offset disp = 0 # <<<<<<<<<<<<<< * cdef Datatype etype = Datatype.__new__(Datatype) * cdef Datatype ftype = Datatype.__new__(Datatype) */ __pyx_v_disp = 0; /* "mpi4py/MPI/File.pyx":214 * """ * cdef MPI_Offset disp = 0 * cdef Datatype etype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * cdef Datatype ftype = Datatype.__new__(Datatype) * cdef char cdatarep[MPI_MAX_DATAREP_STRING+1] */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 214, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_etype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":215 * cdef MPI_Offset disp = 0 * cdef Datatype etype = Datatype.__new__(Datatype) * cdef Datatype ftype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * cdef char cdatarep[MPI_MAX_DATAREP_STRING+1] * with nogil: CHKERR( MPI_File_get_view( */ __pyx_t_2 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 215, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_1 = ((PyObject *)__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; __pyx_v_ftype = ((struct PyMPIDatatypeObject *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":217 * cdef Datatype ftype = Datatype.__new__(Datatype) * cdef char cdatarep[MPI_MAX_DATAREP_STRING+1] * with nogil: CHKERR( MPI_File_get_view( # <<<<<<<<<<<<<< * self.ob_mpi, &disp, &etype.ob_mpi, &ftype.ob_mpi, cdatarep) ) * #if builtin_Datatype(etype.ob_mpi): etype.flags = 0 */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":218 * cdef char cdatarep[MPI_MAX_DATAREP_STRING+1] * with nogil: CHKERR( MPI_File_get_view( * self.ob_mpi, &disp, &etype.ob_mpi, &ftype.ob_mpi, cdatarep) ) # <<<<<<<<<<<<<< * #if builtin_Datatype(etype.ob_mpi): etype.flags = 0 * #if builtin_Datatype(ftype.ob_mpi): ftype.flags = 0 */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_get_view(__pyx_v_self->ob_mpi, (&__pyx_v_disp), (&__pyx_v_etype->ob_mpi), (&__pyx_v_ftype->ob_mpi), __pyx_v_cdatarep)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 217, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":217 * cdef Datatype ftype = Datatype.__new__(Datatype) * cdef char cdatarep[MPI_MAX_DATAREP_STRING+1] * with nogil: CHKERR( MPI_File_get_view( # <<<<<<<<<<<<<< * self.ob_mpi, &disp, &etype.ob_mpi, &ftype.ob_mpi, cdatarep) ) * #if builtin_Datatype(etype.ob_mpi): etype.flags = 0 */ /*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:; } } /* "mpi4py/MPI/File.pyx":221 * #if builtin_Datatype(etype.ob_mpi): etype.flags = 0 * #if builtin_Datatype(ftype.ob_mpi): ftype.flags = 0 * cdatarep[MPI_MAX_DATAREP_STRING] = 0 # just in case # <<<<<<<<<<<<<< * cdef object datarep = mpistr(cdatarep) * return (disp, etype, ftype, datarep) */ (__pyx_v_cdatarep[MPI_MAX_DATAREP_STRING]) = 0; /* "mpi4py/MPI/File.pyx":222 * #if builtin_Datatype(ftype.ob_mpi): ftype.flags = 0 * cdatarep[MPI_MAX_DATAREP_STRING] = 0 # just in case * cdef object datarep = mpistr(cdatarep) # <<<<<<<<<<<<<< * return (disp, etype, ftype, datarep) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_mpistr(__pyx_v_cdatarep); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_datarep = __pyx_t_1; __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":223 * cdatarep[MPI_MAX_DATAREP_STRING] = 0 # just in case * cdef object datarep = mpistr(cdatarep) * return (disp, etype, ftype, datarep) # <<<<<<<<<<<<<< * * # Data Access */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Offset(__pyx_v_disp); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_etype)); __Pyx_GIVEREF(((PyObject *)__pyx_v_etype)); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_etype)); __Pyx_INCREF(((PyObject *)__pyx_v_ftype)); __Pyx_GIVEREF(((PyObject *)__pyx_v_ftype)); PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_v_ftype)); __Pyx_INCREF(__pyx_v_datarep); __Pyx_GIVEREF(__pyx_v_datarep); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_datarep); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/File.pyx":209 * self.ob_mpi, disp, cetype, cftype, cdatarep, info.ob_mpi) ) * * def Get_view(self): # <<<<<<<<<<<<<< * """ * Return the file view */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Get_view", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_etype); __Pyx_XDECREF((PyObject *)__pyx_v_ftype); __Pyx_XDECREF(__pyx_v_datarep); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":231 * # --------------------------------- * * def Read_at(self, Offset offset, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Read using explicit offset */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_33Read_at(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_32Read_at[] = "File.Read_at(self, Offset offset, buf, Status status=None)\n\n Read using explicit offset\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_33Read_at(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_at (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)((struct PyMPIStatusObject *)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_offset)) != 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_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Read_at", 0, 2, 3, 1); __PYX_ERR(31, 231, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_status); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Read_at") < 0)) __PYX_ERR(31, 231, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 231, __pyx_L3_error) __pyx_v_buf = values[1]; __pyx_v_status = ((struct PyMPIStatusObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Read_at", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 231, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Read_at", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 231, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_32Read_at(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset, __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_32Read_at(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Read_at", 0); /* "mpi4py/MPI/File.pyx":235 * Read using explicit offset * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_at( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":236 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_read_at( * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":237 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_at( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":238 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_at( * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) # <<<<<<<<<<<<<< * * def Read_at_all(self, Offset offset, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_read_at(__pyx_v_self->ob_mpi, __pyx_v_offset, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 237, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":237 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_at( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":231 * # --------------------------------- * * def Read_at(self, Offset offset, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Read using explicit offset */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Read_at", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":240 * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * * def Read_at_all(self, Offset offset, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Collective read using explicit offset */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_35Read_at_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_34Read_at_all[] = "File.Read_at_all(self, Offset offset, buf, Status status=None)\n\n Collective read using explicit offset\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_35Read_at_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_at_all (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)((struct PyMPIStatusObject *)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_offset)) != 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_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Read_at_all", 0, 2, 3, 1); __PYX_ERR(31, 240, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_status); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Read_at_all") < 0)) __PYX_ERR(31, 240, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 240, __pyx_L3_error) __pyx_v_buf = values[1]; __pyx_v_status = ((struct PyMPIStatusObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Read_at_all", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 240, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Read_at_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 240, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_34Read_at_all(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset, __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_34Read_at_all(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Read_at_all", 0); /* "mpi4py/MPI/File.pyx":244 * Collective read using explicit offset * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_at_all( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":245 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_read_at_all( * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":246 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_at_all( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":247 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_at_all( * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) # <<<<<<<<<<<<<< * * def Write_at(self, Offset offset, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_read_at_all(__pyx_v_self->ob_mpi, __pyx_v_offset, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 246, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":246 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_at_all( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":240 * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * * def Read_at_all(self, Offset offset, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Collective read using explicit offset */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Read_at_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":249 * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * * def Write_at(self, Offset offset, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Write using explicit offset */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_37Write_at(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_36Write_at[] = "File.Write_at(self, Offset offset, buf, Status status=None)\n\n Write using explicit offset\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_37Write_at(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Write_at (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)((struct PyMPIStatusObject *)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_offset)) != 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_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Write_at", 0, 2, 3, 1); __PYX_ERR(31, 249, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_status); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Write_at") < 0)) __PYX_ERR(31, 249, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 249, __pyx_L3_error) __pyx_v_buf = values[1]; __pyx_v_status = ((struct PyMPIStatusObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Write_at", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 249, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Write_at", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 249, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_36Write_at(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset, __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_36Write_at(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Write_at", 0); /* "mpi4py/MPI/File.pyx":253 * Write using explicit offset * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_at( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":254 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_write_at( * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":255 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_at( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":256 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_at( * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) # <<<<<<<<<<<<<< * * def Write_at_all(self, Offset offset, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_write_at(__pyx_v_self->ob_mpi, __pyx_v_offset, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 255, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":255 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_at( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":249 * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * * def Write_at(self, Offset offset, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Write using explicit offset */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Write_at", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":258 * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * * def Write_at_all(self, Offset offset, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Collective write using explicit offset */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_39Write_at_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_38Write_at_all[] = "File.Write_at_all(self, Offset offset, buf, Status status=None)\n\n Collective write using explicit offset\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_39Write_at_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Write_at_all (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[3] = {0,0,0}; values[2] = (PyObject *)((struct PyMPIStatusObject *)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_offset)) != 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_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Write_at_all", 0, 2, 3, 1); __PYX_ERR(31, 258, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_status); if (value) { values[2] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Write_at_all") < 0)) __PYX_ERR(31, 258, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 258, __pyx_L3_error) __pyx_v_buf = values[1]; __pyx_v_status = ((struct PyMPIStatusObject *)values[2]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Write_at_all", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 258, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Write_at_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 258, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_38Write_at_all(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset, __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_38Write_at_all(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Write_at_all", 0); /* "mpi4py/MPI/File.pyx":262 * Collective write using explicit offset * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_at_all( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":263 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_write_at_all( * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":264 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_at_all( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":265 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_at_all( * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) # <<<<<<<<<<<<<< * * def Iread_at(self, Offset offset, buf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_write_at_all(__pyx_v_self->ob_mpi, __pyx_v_offset, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 264, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":264 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_at_all( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":258 * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * * def Write_at_all(self, Offset offset, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Collective write using explicit offset */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Write_at_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":267 * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * * def Iread_at(self, Offset offset, buf): # <<<<<<<<<<<<<< * """ * Nonblocking read using explicit offset */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_41Iread_at(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_40Iread_at[] = "File.Iread_at(self, Offset offset, buf)\n\n Nonblocking read using explicit offset\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_41Iread_at(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iread_at (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_buf,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_offset)) != 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_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iread_at", 1, 2, 2, 1); __PYX_ERR(31, 267, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iread_at") < 0)) __PYX_ERR(31, 267, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 267, __pyx_L3_error) __pyx_v_buf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iread_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 267, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Iread_at", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_40Iread_at(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset, __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_40Iread_at(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iread_at", 0); /* "mpi4py/MPI/File.pyx":271 * Nonblocking read using explicit offset * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_at( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":272 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_iread_at( * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 272, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":273 * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_at( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":274 * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_at( * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_iread_at(__pyx_v_self->ob_mpi, __pyx_v_offset, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 273, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":273 * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_at( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ /*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:; } } /* "mpi4py/MPI/File.pyx":275 * with nogil: CHKERR( MPI_File_iread_at( * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/File.pyx":276 * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Iread_at_all(self, Offset offset, buf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":267 * self.ob_mpi, offset, m.buf, m.count, m.dtype, statusp) ) * * def Iread_at(self, Offset offset, buf): # <<<<<<<<<<<<<< * """ * Nonblocking read using explicit offset */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Iread_at", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":278 * return request * * def Iread_at_all(self, Offset offset, buf): # <<<<<<<<<<<<<< * """ * Nonblocking collective read using explicit offset */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_43Iread_at_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_42Iread_at_all[] = "File.Iread_at_all(self, Offset offset, buf)\n\n Nonblocking collective read using explicit offset\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_43Iread_at_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iread_at_all (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_buf,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_offset)) != 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_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iread_at_all", 1, 2, 2, 1); __PYX_ERR(31, 278, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iread_at_all") < 0)) __PYX_ERR(31, 278, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 278, __pyx_L3_error) __pyx_v_buf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iread_at_all", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 278, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Iread_at_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_42Iread_at_all(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset, __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_42Iread_at_all(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iread_at_all", 0); /* "mpi4py/MPI/File.pyx":282 * Nonblocking collective read using explicit offset * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_at_all( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":283 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_iread_at_all( * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 283, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":284 * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_at_all( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":285 * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_at_all( * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_iread_at_all(__pyx_v_self->ob_mpi, __pyx_v_offset, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 284, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":284 * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_at_all( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ /*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:; } } /* "mpi4py/MPI/File.pyx":286 * with nogil: CHKERR( MPI_File_iread_at_all( * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/File.pyx":287 * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Iwrite_at(self, Offset offset, buf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":278 * return request * * def Iread_at_all(self, Offset offset, buf): # <<<<<<<<<<<<<< * """ * Nonblocking collective read using explicit offset */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Iread_at_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":289 * return request * * def Iwrite_at(self, Offset offset, buf): # <<<<<<<<<<<<<< * """ * Nonblocking write using explicit offset */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_45Iwrite_at(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_44Iwrite_at[] = "File.Iwrite_at(self, Offset offset, buf)\n\n Nonblocking write using explicit offset\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_45Iwrite_at(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iwrite_at (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_buf,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_offset)) != 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_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iwrite_at", 1, 2, 2, 1); __PYX_ERR(31, 289, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iwrite_at") < 0)) __PYX_ERR(31, 289, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 289, __pyx_L3_error) __pyx_v_buf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iwrite_at", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 289, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Iwrite_at", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_44Iwrite_at(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset, __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_44Iwrite_at(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iwrite_at", 0); /* "mpi4py/MPI/File.pyx":293 * Nonblocking write using explicit offset * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_at( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":294 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_iwrite_at( * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 294, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":295 * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_at( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":296 * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_at( * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_iwrite_at(__pyx_v_self->ob_mpi, __pyx_v_offset, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 295, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":295 * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_at( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ /*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:; } } /* "mpi4py/MPI/File.pyx":297 * with nogil: CHKERR( MPI_File_iwrite_at( * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/File.pyx":298 * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Iwrite_at_all(self, Offset offset, buf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":289 * return request * * def Iwrite_at(self, Offset offset, buf): # <<<<<<<<<<<<<< * """ * Nonblocking write using explicit offset */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Iwrite_at", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":300 * return request * * def Iwrite_at_all(self, Offset offset, buf): # <<<<<<<<<<<<<< * """ * Nonblocking collective write using explicit offset */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_47Iwrite_at_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_46Iwrite_at_all[] = "File.Iwrite_at_all(self, Offset offset, buf)\n\n Nonblocking collective write using explicit offset\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_47Iwrite_at_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iwrite_at_all (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_buf,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_offset)) != 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_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iwrite_at_all", 1, 2, 2, 1); __PYX_ERR(31, 300, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Iwrite_at_all") < 0)) __PYX_ERR(31, 300, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 300, __pyx_L3_error) __pyx_v_buf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iwrite_at_all", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 300, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Iwrite_at_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_46Iwrite_at_all(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset, __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_46Iwrite_at_all(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iwrite_at_all", 0); /* "mpi4py/MPI/File.pyx":304 * Nonblocking collective write using explicit offset * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_at_all( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":305 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_iwrite_at_all( * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 305, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":306 * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_at_all( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":307 * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_at_all( * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_iwrite_at_all(__pyx_v_self->ob_mpi, __pyx_v_offset, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 306, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":306 * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_at_all( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ /*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:; } } /* "mpi4py/MPI/File.pyx":308 * with nogil: CHKERR( MPI_File_iwrite_at_all( * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/File.pyx":309 * self.ob_mpi, offset, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * # Data Access with Individual File Pointers */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":300 * return request * * def Iwrite_at_all(self, Offset offset, buf): # <<<<<<<<<<<<<< * """ * Nonblocking collective write using explicit offset */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Iwrite_at_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":314 * # ----------------------------------------- * * def Read(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Read using individual file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_49Read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_48Read[] = "File.Read(self, buf, Status status=None)\n\n Read using individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_49Read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Read") < 0)) __PYX_ERR(31, 314, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Read", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 314, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Read", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 314, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_48Read(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_48Read(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Read", 0); /* "mpi4py/MPI/File.pyx":318 * Read using individual file pointer * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 318, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":319 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_read( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":320 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":321 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) # <<<<<<<<<<<<<< * * def Read_all(self, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_read(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 320, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":320 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":314 * # ----------------------------------------- * * def Read(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Read using individual file pointer */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Read", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":323 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Read_all(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Collective read using individual file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_51Read_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_50Read_all[] = "File.Read_all(self, buf, Status status=None)\n\n Collective read using individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_51Read_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_all (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Read_all") < 0)) __PYX_ERR(31, 323, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Read_all", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 323, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 323, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_50Read_all(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_50Read_all(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Read_all", 0); /* "mpi4py/MPI/File.pyx":327 * Collective read using individual file pointer * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_all( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":328 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_read_all( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":329 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_all( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":330 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_all( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) # <<<<<<<<<<<<<< * * def Write(self, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_read_all(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 329, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":329 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_all( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":323 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Read_all(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Collective read using individual file pointer */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":332 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Write(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Write using individual file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_53Write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_52Write[] = "File.Write(self, buf, Status status=None)\n\n Write using individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_53Write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Write (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Write") < 0)) __PYX_ERR(31, 332, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Write", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 332, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Write", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 332, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_52Write(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_52Write(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Write", 0); /* "mpi4py/MPI/File.pyx":336 * Write using individual file pointer * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":337 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_write( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":338 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":339 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) # <<<<<<<<<<<<<< * * def Write_all(self, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_write(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 338, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":338 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":332 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Write(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Write using individual file pointer */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Write", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":341 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Write_all(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Collective write using individual file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_55Write_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_54Write_all[] = "File.Write_all(self, buf, Status status=None)\n\n Collective write using individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_55Write_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Write_all (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Write_all") < 0)) __PYX_ERR(31, 341, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Write_all", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 341, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Write_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 341, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_54Write_all(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_54Write_all(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Write_all", 0); /* "mpi4py/MPI/File.pyx":345 * Collective write using individual file pointer * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_all( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":346 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_write_all( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":347 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_all( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":348 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_all( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) # <<<<<<<<<<<<<< * * def Iread(self, buf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_write_all(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 347, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":347 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_all( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":341 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Write_all(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Collective write using individual file pointer */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Write_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":350 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Iread(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking read using individual file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_57Iread(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_56Iread[] = "File.Iread(self, buf)\n\n Nonblocking read using individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_57Iread(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iread (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "Iread") < 0)) __PYX_ERR(31, 350, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iread", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 350, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Iread", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_56Iread(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_56Iread(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iread", 0); /* "mpi4py/MPI/File.pyx":354 * Nonblocking read using individual file pointer * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 354, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":355 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_iread( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 355, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":356 * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":357 * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_iread(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 356, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":356 * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ /*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:; } } /* "mpi4py/MPI/File.pyx":358 * with nogil: CHKERR( MPI_File_iread( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/File.pyx":359 * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Iread_all(self, buf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":350 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Iread(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking read using individual file pointer */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Iread", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":361 * return request * * def Iread_all(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking collective read using individual file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_59Iread_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_58Iread_all[] = "File.Iread_all(self, buf)\n\n Nonblocking collective read using individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_59Iread_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iread_all (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "Iread_all") < 0)) __PYX_ERR(31, 361, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iread_all", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 361, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Iread_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_58Iread_all(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_58Iread_all(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iread_all", 0); /* "mpi4py/MPI/File.pyx":365 * Nonblocking collective read using individual file pointer * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_all( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 365, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":366 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_iread_all( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 366, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":367 * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_all( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":368 * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_all( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_iread_all(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 367, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":367 * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_all( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ /*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:; } } /* "mpi4py/MPI/File.pyx":369 * with nogil: CHKERR( MPI_File_iread_all( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/File.pyx":370 * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Iwrite(self, buf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":361 * return request * * def Iread_all(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking collective read using individual file pointer */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Iread_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":372 * return request * * def Iwrite(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking write using individual file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_61Iwrite(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_60Iwrite[] = "File.Iwrite(self, buf)\n\n Nonblocking write using individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_61Iwrite(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iwrite (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "Iwrite") < 0)) __PYX_ERR(31, 372, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iwrite", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 372, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Iwrite", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_60Iwrite(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_60Iwrite(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iwrite", 0); /* "mpi4py/MPI/File.pyx":376 * Nonblocking write using individual file pointer * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":377 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_iwrite( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 377, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":378 * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":379 * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_iwrite(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 378, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":378 * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ /*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:; } } /* "mpi4py/MPI/File.pyx":380 * with nogil: CHKERR( MPI_File_iwrite( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/File.pyx":381 * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Iwrite_all(self, buf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":372 * return request * * def Iwrite(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking write using individual file pointer */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Iwrite", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":383 * return request * * def Iwrite_all(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking collective write using individual file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_63Iwrite_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_62Iwrite_all[] = "File.Iwrite_all(self, buf)\n\n Nonblocking collective write using individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_63Iwrite_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iwrite_all (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "Iwrite_all") < 0)) __PYX_ERR(31, 383, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iwrite_all", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 383, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Iwrite_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_62Iwrite_all(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_62Iwrite_all(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iwrite_all", 0); /* "mpi4py/MPI/File.pyx":387 * Nonblocking collective write using individual file pointer * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_all( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":388 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_iwrite_all( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 388, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":389 * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_all( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":390 * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_all( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_iwrite_all(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 389, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":389 * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_all( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ /*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:; } } /* "mpi4py/MPI/File.pyx":391 * with nogil: CHKERR( MPI_File_iwrite_all( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/File.pyx":392 * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Seek(self, Offset offset, int whence=SEEK_SET): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":383 * return request * * def Iwrite_all(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking collective write using individual file pointer */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Iwrite_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":394 * return request * * def Seek(self, Offset offset, int whence=SEEK_SET): # <<<<<<<<<<<<<< * """ * Update the individual file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_65Seek(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_64Seek[] = "File.Seek(self, Offset offset, int whence=SEEK_SET)\n\n Update the individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_65Seek(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; int __pyx_v_whence; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Seek (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_whence,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_offset)) != 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_whence); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Seek") < 0)) __PYX_ERR(31, 394, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 394, __pyx_L3_error) if (values[1]) { __pyx_v_whence = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_whence == (int)-1) && PyErr_Occurred())) __PYX_ERR(31, 394, __pyx_L3_error) } else { __pyx_v_whence = __pyx_k__124; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Seek", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 394, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Seek", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_64Seek(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset, __pyx_v_whence); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_64Seek(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, int __pyx_v_whence) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Seek", 0); /* "mpi4py/MPI/File.pyx":398 * Update the individual file pointer * """ * with nogil: CHKERR( MPI_File_seek(self.ob_mpi, offset, whence) ) # <<<<<<<<<<<<<< * * def Get_position(self): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_seek(__pyx_v_self->ob_mpi, __pyx_v_offset, __pyx_v_whence)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 398, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":394 * return request * * def Seek(self, Offset offset, int whence=SEEK_SET): # <<<<<<<<<<<<<< * """ * Update the individual file pointer */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Seek", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":400 * with nogil: CHKERR( MPI_File_seek(self.ob_mpi, offset, whence) ) * * def Get_position(self): # <<<<<<<<<<<<<< * """ * Return the current position of the individual file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_67Get_position(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_66Get_position[] = "File.Get_position(self)\n\n Return the current position of the individual file pointer\n in etype units relative to the current view\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_67Get_position(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_position (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_position", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_position", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_66Get_position(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_66Get_position(struct PyMPIFileObject *__pyx_v_self) { MPI_Offset __pyx_v_offset; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_position", 0); /* "mpi4py/MPI/File.pyx":405 * in etype units relative to the current view * """ * cdef MPI_Offset offset = 0 # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_get_position(self.ob_mpi, &offset) ) * return offset */ __pyx_v_offset = 0; /* "mpi4py/MPI/File.pyx":406 * """ * cdef MPI_Offset offset = 0 * with nogil: CHKERR( MPI_File_get_position(self.ob_mpi, &offset) ) # <<<<<<<<<<<<<< * return offset * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_get_position(__pyx_v_self->ob_mpi, (&__pyx_v_offset))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 406, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":407 * cdef MPI_Offset offset = 0 * with nogil: CHKERR( MPI_File_get_position(self.ob_mpi, &offset) ) * return offset # <<<<<<<<<<<<<< * * def Get_byte_offset(self, Offset offset): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Offset(__pyx_v_offset); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/File.pyx":400 * with nogil: CHKERR( MPI_File_seek(self.ob_mpi, offset, whence) ) * * def Get_position(self): # <<<<<<<<<<<<<< * """ * Return the current position of the individual file pointer */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Get_position", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":409 * return offset * * def Get_byte_offset(self, Offset offset): # <<<<<<<<<<<<<< * """ * Returns the absolute byte position in the file corresponding */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_69Get_byte_offset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_68Get_byte_offset[] = "File.Get_byte_offset(self, Offset offset)\n\n Returns the absolute byte position in the file corresponding\n to 'offset' etypes relative to the current view\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_69Get_byte_offset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_byte_offset (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,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_offset)) != 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, "Get_byte_offset") < 0)) __PYX_ERR(31, 409, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 409, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_byte_offset", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 409, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Get_byte_offset", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_68Get_byte_offset(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_68Get_byte_offset(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset) { MPI_Offset __pyx_v_disp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_byte_offset", 0); /* "mpi4py/MPI/File.pyx":414 * to 'offset' etypes relative to the current view * """ * cdef MPI_Offset disp = 0 # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_get_byte_offset( * self.ob_mpi, offset, &disp) ) */ __pyx_v_disp = 0; /* "mpi4py/MPI/File.pyx":415 * """ * cdef MPI_Offset disp = 0 * with nogil: CHKERR( MPI_File_get_byte_offset( # <<<<<<<<<<<<<< * self.ob_mpi, offset, &disp) ) * return disp */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":416 * cdef MPI_Offset disp = 0 * with nogil: CHKERR( MPI_File_get_byte_offset( * self.ob_mpi, offset, &disp) ) # <<<<<<<<<<<<<< * return disp * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_get_byte_offset(__pyx_v_self->ob_mpi, __pyx_v_offset, (&__pyx_v_disp))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 415, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":415 * """ * cdef MPI_Offset disp = 0 * with nogil: CHKERR( MPI_File_get_byte_offset( # <<<<<<<<<<<<<< * self.ob_mpi, offset, &disp) ) * return disp */ /*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:; } } /* "mpi4py/MPI/File.pyx":417 * with nogil: CHKERR( MPI_File_get_byte_offset( * self.ob_mpi, offset, &disp) ) * return disp # <<<<<<<<<<<<<< * * # Data Access with Shared File Pointers */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Offset(__pyx_v_disp); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/File.pyx":409 * return offset * * def Get_byte_offset(self, Offset offset): # <<<<<<<<<<<<<< * """ * Returns the absolute byte position in the file corresponding */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Get_byte_offset", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":422 * # ------------------------------------- * * def Read_shared(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Read using shared file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_71Read_shared(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_70Read_shared[] = "File.Read_shared(self, buf, Status status=None)\n\n Read using shared file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_71Read_shared(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_shared (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Read_shared") < 0)) __PYX_ERR(31, 422, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Read_shared", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 422, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Read_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 422, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_70Read_shared(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_70Read_shared(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Read_shared", 0); /* "mpi4py/MPI/File.pyx":426 * Read using shared file pointer * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_shared( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":427 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_read_shared( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":428 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_shared( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":429 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_shared( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) # <<<<<<<<<<<<<< * * def Write_shared(self, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_read_shared(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 428, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":428 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_shared( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":422 * # ------------------------------------- * * def Read_shared(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Read using shared file pointer */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Read_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":431 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Write_shared(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Write using shared file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_73Write_shared(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_72Write_shared[] = "File.Write_shared(self, buf, Status status=None)\n\n Write using shared file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_73Write_shared(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Write_shared (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Write_shared") < 0)) __PYX_ERR(31, 431, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Write_shared", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 431, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Write_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 431, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_72Write_shared(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_72Write_shared(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Write_shared", 0); /* "mpi4py/MPI/File.pyx":435 * Write using shared file pointer * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_shared( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":436 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_write_shared( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":437 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_shared( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":438 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_shared( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) # <<<<<<<<<<<<<< * * def Iread_shared(self, buf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_write_shared(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 437, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":437 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_shared( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":431 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Write_shared(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Write using shared file pointer */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Write_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":440 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Iread_shared(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking read using shared file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_75Iread_shared(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_74Iread_shared[] = "File.Iread_shared(self, buf)\n\n Nonblocking read using shared file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_75Iread_shared(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iread_shared (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "Iread_shared") < 0)) __PYX_ERR(31, 440, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iread_shared", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 440, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Iread_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_74Iread_shared(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_74Iread_shared(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iread_shared", 0); /* "mpi4py/MPI/File.pyx":444 * Nonblocking read using shared file pointer * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_shared( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":445 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_iread_shared( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 445, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":446 * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_shared( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":447 * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_shared( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_iread_shared(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 446, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":446 * cdef _p_msg_io m = message_io_read(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iread_shared( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ /*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:; } } /* "mpi4py/MPI/File.pyx":448 * with nogil: CHKERR( MPI_File_iread_shared( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/File.pyx":449 * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Iwrite_shared(self, buf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":440 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Iread_shared(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking read using shared file pointer */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Iread_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":451 * return request * * def Iwrite_shared(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking write using shared file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_77Iwrite_shared(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_76Iwrite_shared[] = "File.Iwrite_shared(self, buf)\n\n Nonblocking write using shared file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_77Iwrite_shared(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Iwrite_shared (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "Iwrite_shared") < 0)) __PYX_ERR(31, 451, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Iwrite_shared", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 451, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Iwrite_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_76Iwrite_shared(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_76Iwrite_shared(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; struct PyMPIRequestObject *__pyx_v_request = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Iwrite_shared", 0); /* "mpi4py/MPI/File.pyx":455 * Nonblocking write using shared file pointer * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_shared( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":456 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_iwrite_shared( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 456, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":457 * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_shared( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":458 * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_shared( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) # <<<<<<<<<<<<<< * request.ob_buf = m * return request */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_iwrite_shared(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, (&__pyx_v_request->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 457, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":457 * cdef _p_msg_io m = message_io_write(buf) * cdef Request request = Request.__new__(Request) * with nogil: CHKERR( MPI_File_iwrite_shared( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m */ /*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:; } } /* "mpi4py/MPI/File.pyx":459 * with nogil: CHKERR( MPI_File_iwrite_shared( * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m # <<<<<<<<<<<<<< * return request * */ __Pyx_INCREF(((PyObject *)__pyx_v_m)); __Pyx_GIVEREF(((PyObject *)__pyx_v_m)); __Pyx_GOTREF(__pyx_v_request->ob_buf); __Pyx_DECREF(__pyx_v_request->ob_buf); __pyx_v_request->ob_buf = ((PyObject *)__pyx_v_m); /* "mpi4py/MPI/File.pyx":460 * self.ob_mpi, m.buf, m.count, m.dtype, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Read_ordered(self, buf, Status status=None): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":451 * return request * * def Iwrite_shared(self, buf): # <<<<<<<<<<<<<< * """ * Nonblocking write using shared file pointer */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Iwrite_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XDECREF((PyObject *)__pyx_v_request); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":462 * return request * * def Read_ordered(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Collective read using shared file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_79Read_ordered(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_78Read_ordered[] = "File.Read_ordered(self, buf, Status status=None)\n\n Collective read using shared file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_79Read_ordered(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_ordered (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Read_ordered") < 0)) __PYX_ERR(31, 462, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Read_ordered", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 462, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Read_ordered", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 462, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_78Read_ordered(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_78Read_ordered(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Read_ordered", 0); /* "mpi4py/MPI/File.pyx":466 * Collective read using shared file pointer * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_ordered( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":467 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_read_ordered( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":468 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_ordered( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":469 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_ordered( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) # <<<<<<<<<<<<<< * * def Write_ordered(self, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_read_ordered(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 468, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":468 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_ordered( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":462 * return request * * def Read_ordered(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Collective read using shared file pointer */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Read_ordered", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":471 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Write_ordered(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Collective write using shared file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_81Write_ordered(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_80Write_ordered[] = "File.Write_ordered(self, buf, Status status=None)\n\n Collective write using shared file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_81Write_ordered(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Write_ordered (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Write_ordered") < 0)) __PYX_ERR(31, 471, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Write_ordered", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 471, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Write_ordered", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 471, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_80Write_ordered(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_80Write_ordered(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Write_ordered", 0); /* "mpi4py/MPI/File.pyx":475 * Collective write using shared file pointer * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_ordered( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":476 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_write_ordered( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":477 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_ordered( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":478 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_ordered( * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) # <<<<<<<<<<<<<< * * def Seek_shared(self, Offset offset, int whence=SEEK_SET): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_write_ordered(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 477, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":477 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_ordered( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":471 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Write_ordered(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Collective write using shared file pointer */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Write_ordered", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":480 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Seek_shared(self, Offset offset, int whence=SEEK_SET): # <<<<<<<<<<<<<< * """ * Update the shared file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_83Seek_shared(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_82Seek_shared[] = "File.Seek_shared(self, Offset offset, int whence=SEEK_SET)\n\n Update the shared file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_83Seek_shared(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; int __pyx_v_whence; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Seek_shared (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_whence,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_offset)) != 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_whence); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Seek_shared") < 0)) __PYX_ERR(31, 480, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 480, __pyx_L3_error) if (values[1]) { __pyx_v_whence = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_whence == (int)-1) && PyErr_Occurred())) __PYX_ERR(31, 480, __pyx_L3_error) } else { __pyx_v_whence = __pyx_k__125; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Seek_shared", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 480, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Seek_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_82Seek_shared(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset, __pyx_v_whence); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_82Seek_shared(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, int __pyx_v_whence) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Seek_shared", 0); /* "mpi4py/MPI/File.pyx":484 * Update the shared file pointer * """ * with nogil: CHKERR( MPI_File_seek_shared( # <<<<<<<<<<<<<< * self.ob_mpi, offset, whence) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":485 * """ * with nogil: CHKERR( MPI_File_seek_shared( * self.ob_mpi, offset, whence) ) # <<<<<<<<<<<<<< * * def Get_position_shared(self): */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_seek_shared(__pyx_v_self->ob_mpi, __pyx_v_offset, __pyx_v_whence)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 484, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":484 * Update the shared file pointer * """ * with nogil: CHKERR( MPI_File_seek_shared( # <<<<<<<<<<<<<< * self.ob_mpi, offset, whence) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":480 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Seek_shared(self, Offset offset, int whence=SEEK_SET): # <<<<<<<<<<<<<< * """ * Update the shared file pointer */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Seek_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":487 * self.ob_mpi, offset, whence) ) * * def Get_position_shared(self): # <<<<<<<<<<<<<< * """ * Return the current position of the shared file pointer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_85Get_position_shared(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_84Get_position_shared[] = "File.Get_position_shared(self)\n\n Return the current position of the shared file pointer\n in etype units relative to the current view\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_85Get_position_shared(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_position_shared (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_position_shared", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_position_shared", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_84Get_position_shared(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_84Get_position_shared(struct PyMPIFileObject *__pyx_v_self) { MPI_Offset __pyx_v_offset; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_position_shared", 0); /* "mpi4py/MPI/File.pyx":492 * in etype units relative to the current view * """ * cdef MPI_Offset offset = 0 # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_get_position_shared( * self.ob_mpi, &offset) ) */ __pyx_v_offset = 0; /* "mpi4py/MPI/File.pyx":493 * """ * cdef MPI_Offset offset = 0 * with nogil: CHKERR( MPI_File_get_position_shared( # <<<<<<<<<<<<<< * self.ob_mpi, &offset) ) * return offset */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":494 * cdef MPI_Offset offset = 0 * with nogil: CHKERR( MPI_File_get_position_shared( * self.ob_mpi, &offset) ) # <<<<<<<<<<<<<< * return offset * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_get_position_shared(__pyx_v_self->ob_mpi, (&__pyx_v_offset))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 493, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":493 * """ * cdef MPI_Offset offset = 0 * with nogil: CHKERR( MPI_File_get_position_shared( # <<<<<<<<<<<<<< * self.ob_mpi, &offset) ) * return offset */ /*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:; } } /* "mpi4py/MPI/File.pyx":495 * with nogil: CHKERR( MPI_File_get_position_shared( * self.ob_mpi, &offset) ) * return offset # <<<<<<<<<<<<<< * * # Split Collective Data Access Routines */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Offset(__pyx_v_offset); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/File.pyx":487 * self.ob_mpi, offset, whence) ) * * def Get_position_shared(self): # <<<<<<<<<<<<<< * """ * Return the current position of the shared file pointer */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Get_position_shared", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":502 * # explicit offset * * def Read_at_all_begin(self, Offset offset, buf): # <<<<<<<<<<<<<< * """ * Start a split collective read using explict offset */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_87Read_at_all_begin(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_86Read_at_all_begin[] = "File.Read_at_all_begin(self, Offset offset, buf)\n\n Start a split collective read using explict offset\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_87Read_at_all_begin(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_at_all_begin (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_buf,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_offset)) != 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_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Read_at_all_begin", 1, 2, 2, 1); __PYX_ERR(31, 502, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Read_at_all_begin") < 0)) __PYX_ERR(31, 502, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 502, __pyx_L3_error) __pyx_v_buf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Read_at_all_begin", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 502, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Read_at_all_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_86Read_at_all_begin(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset, __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_86Read_at_all_begin(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Read_at_all_begin", 0); /* "mpi4py/MPI/File.pyx":506 * Start a split collective read using explict offset * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_read_at_all_begin( * self.ob_mpi, offset, m.buf, m.count, m.dtype) ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":507 * """ * cdef _p_msg_io m = message_io_read(buf) * with nogil: CHKERR( MPI_File_read_at_all_begin( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":508 * cdef _p_msg_io m = message_io_read(buf) * with nogil: CHKERR( MPI_File_read_at_all_begin( * self.ob_mpi, offset, m.buf, m.count, m.dtype) ) # <<<<<<<<<<<<<< * * def Read_at_all_end(self, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_read_at_all_begin(__pyx_v_self->ob_mpi, __pyx_v_offset, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 507, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":507 * """ * cdef _p_msg_io m = message_io_read(buf) * with nogil: CHKERR( MPI_File_read_at_all_begin( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":502 * # explicit offset * * def Read_at_all_begin(self, Offset offset, buf): # <<<<<<<<<<<<<< * """ * Start a split collective read using explict offset */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Read_at_all_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":510 * self.ob_mpi, offset, m.buf, m.count, m.dtype) ) * * def Read_at_all_end(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Complete a split collective read using explict offset */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_89Read_at_all_end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_88Read_at_all_end[] = "File.Read_at_all_end(self, buf, Status status=None)\n\n Complete a split collective read using explict offset\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_89Read_at_all_end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_at_all_end (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Read_at_all_end") < 0)) __PYX_ERR(31, 510, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Read_at_all_end", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 510, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Read_at_all_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 510, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_88Read_at_all_end(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_88Read_at_all_end(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Read_at_all_end", 0); /* "mpi4py/MPI/File.pyx":514 * Complete a split collective read using explict offset * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_at_all_end( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":515 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_read_at_all_end( * self.ob_mpi, m.buf, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":516 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_at_all_end( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":517 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_at_all_end( * self.ob_mpi, m.buf, statusp) ) # <<<<<<<<<<<<<< * * def Write_at_all_begin(self, Offset offset, buf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_read_at_all_end(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 516, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":516 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_at_all_end( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":510 * self.ob_mpi, offset, m.buf, m.count, m.dtype) ) * * def Read_at_all_end(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Complete a split collective read using explict offset */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Read_at_all_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":519 * self.ob_mpi, m.buf, statusp) ) * * def Write_at_all_begin(self, Offset offset, buf): # <<<<<<<<<<<<<< * """ * Start a split collective write using explict offset */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_91Write_at_all_begin(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_90Write_at_all_begin[] = "File.Write_at_all_begin(self, Offset offset, buf)\n\n Start a split collective write using explict offset\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_91Write_at_all_begin(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Offset __pyx_v_offset; PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Write_at_all_begin (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_buf,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_offset)) != 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_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Write_at_all_begin", 1, 2, 2, 1); __PYX_ERR(31, 519, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Write_at_all_begin") < 0)) __PYX_ERR(31, 519, __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_offset = __Pyx_PyInt_As_MPI_Offset(values[0]); if (unlikely((__pyx_v_offset == ((MPI_Offset)-1)) && PyErr_Occurred())) __PYX_ERR(31, 519, __pyx_L3_error) __pyx_v_buf = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Write_at_all_begin", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 519, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Write_at_all_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_90Write_at_all_begin(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_offset, __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_90Write_at_all_begin(struct PyMPIFileObject *__pyx_v_self, MPI_Offset __pyx_v_offset, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Write_at_all_begin", 0); /* "mpi4py/MPI/File.pyx":523 * Start a split collective write using explict offset * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_write_at_all_begin( * self.ob_mpi, offset, m.buf, m.count, m.dtype) ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":524 * """ * cdef _p_msg_io m = message_io_write(buf) * with nogil: CHKERR( MPI_File_write_at_all_begin( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":525 * cdef _p_msg_io m = message_io_write(buf) * with nogil: CHKERR( MPI_File_write_at_all_begin( * self.ob_mpi, offset, m.buf, m.count, m.dtype) ) # <<<<<<<<<<<<<< * * def Write_at_all_end(self, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_write_at_all_begin(__pyx_v_self->ob_mpi, __pyx_v_offset, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 524, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":524 * """ * cdef _p_msg_io m = message_io_write(buf) * with nogil: CHKERR( MPI_File_write_at_all_begin( # <<<<<<<<<<<<<< * self.ob_mpi, offset, m.buf, m.count, m.dtype) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":519 * self.ob_mpi, m.buf, statusp) ) * * def Write_at_all_begin(self, Offset offset, buf): # <<<<<<<<<<<<<< * """ * Start a split collective write using explict offset */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Write_at_all_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":527 * self.ob_mpi, offset, m.buf, m.count, m.dtype) ) * * def Write_at_all_end(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Complete a split collective write using explict offset */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_93Write_at_all_end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_92Write_at_all_end[] = "File.Write_at_all_end(self, buf, Status status=None)\n\n Complete a split collective write using explict offset\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_93Write_at_all_end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Write_at_all_end (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Write_at_all_end") < 0)) __PYX_ERR(31, 527, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Write_at_all_end", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 527, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Write_at_all_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 527, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_92Write_at_all_end(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_92Write_at_all_end(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Write_at_all_end", 0); /* "mpi4py/MPI/File.pyx":531 * Complete a split collective write using explict offset * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_at_all_end( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":532 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_write_at_all_end( * self.ob_mpi, m.buf, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":533 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_at_all_end( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":534 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_at_all_end( * self.ob_mpi, m.buf, statusp) ) # <<<<<<<<<<<<<< * * # individual file pointer */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_write_at_all_end(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 533, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":533 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_at_all_end( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":527 * self.ob_mpi, offset, m.buf, m.count, m.dtype) ) * * def Write_at_all_end(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Complete a split collective write using explict offset */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Write_at_all_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":538 * # individual file pointer * * def Read_all_begin(self, buf): # <<<<<<<<<<<<<< * """ * Start a split collective read */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_95Read_all_begin(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_94Read_all_begin[] = "File.Read_all_begin(self, buf)\n\n Start a split collective read\n using individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_95Read_all_begin(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_all_begin (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "Read_all_begin") < 0)) __PYX_ERR(31, 538, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Read_all_begin", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 538, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Read_all_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_94Read_all_begin(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_94Read_all_begin(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Read_all_begin", 0); /* "mpi4py/MPI/File.pyx":543 * using individual file pointer * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_read_all_begin( * self.ob_mpi, m.buf, m.count, m.dtype) ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":544 * """ * cdef _p_msg_io m = message_io_read(buf) * with nogil: CHKERR( MPI_File_read_all_begin( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":545 * cdef _p_msg_io m = message_io_read(buf) * with nogil: CHKERR( MPI_File_read_all_begin( * self.ob_mpi, m.buf, m.count, m.dtype) ) # <<<<<<<<<<<<<< * * def Read_all_end(self, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_read_all_begin(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 544, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":544 * """ * cdef _p_msg_io m = message_io_read(buf) * with nogil: CHKERR( MPI_File_read_all_begin( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":538 * # individual file pointer * * def Read_all_begin(self, buf): # <<<<<<<<<<<<<< * """ * Start a split collective read */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Read_all_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":547 * self.ob_mpi, m.buf, m.count, m.dtype) ) * * def Read_all_end(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Complete a split collective read */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_97Read_all_end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_96Read_all_end[] = "File.Read_all_end(self, buf, Status status=None)\n\n Complete a split collective read\n using individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_97Read_all_end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_all_end (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Read_all_end") < 0)) __PYX_ERR(31, 547, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Read_all_end", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 547, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Read_all_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 547, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_96Read_all_end(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_96Read_all_end(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Read_all_end", 0); /* "mpi4py/MPI/File.pyx":552 * using individual file pointer * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_all_end( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":553 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_read_all_end( * self.ob_mpi, m.buf, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":554 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_all_end( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":555 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_all_end( * self.ob_mpi, m.buf, statusp) ) # <<<<<<<<<<<<<< * * def Write_all_begin(self, buf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_read_all_end(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 554, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":554 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_all_end( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":547 * self.ob_mpi, m.buf, m.count, m.dtype) ) * * def Read_all_end(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Complete a split collective read */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Read_all_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":557 * self.ob_mpi, m.buf, statusp) ) * * def Write_all_begin(self, buf): # <<<<<<<<<<<<<< * """ * Start a split collective write */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_99Write_all_begin(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_98Write_all_begin[] = "File.Write_all_begin(self, buf)\n\n Start a split collective write\n using individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_99Write_all_begin(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Write_all_begin (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "Write_all_begin") < 0)) __PYX_ERR(31, 557, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Write_all_begin", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 557, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Write_all_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_98Write_all_begin(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_98Write_all_begin(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Write_all_begin", 0); /* "mpi4py/MPI/File.pyx":562 * using individual file pointer * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_write_all_begin( * self.ob_mpi, m.buf, m.count, m.dtype) ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":563 * """ * cdef _p_msg_io m = message_io_write(buf) * with nogil: CHKERR( MPI_File_write_all_begin( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":564 * cdef _p_msg_io m = message_io_write(buf) * with nogil: CHKERR( MPI_File_write_all_begin( * self.ob_mpi, m.buf, m.count, m.dtype) ) # <<<<<<<<<<<<<< * * def Write_all_end(self, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_write_all_begin(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 563, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":563 * """ * cdef _p_msg_io m = message_io_write(buf) * with nogil: CHKERR( MPI_File_write_all_begin( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":557 * self.ob_mpi, m.buf, statusp) ) * * def Write_all_begin(self, buf): # <<<<<<<<<<<<<< * """ * Start a split collective write */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Write_all_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":566 * self.ob_mpi, m.buf, m.count, m.dtype) ) * * def Write_all_end(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Complete a split collective write */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_101Write_all_end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_100Write_all_end[] = "File.Write_all_end(self, buf, Status status=None)\n\n Complete a split collective write\n using individual file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_101Write_all_end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Write_all_end (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Write_all_end") < 0)) __PYX_ERR(31, 566, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Write_all_end", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 566, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Write_all_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 566, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_100Write_all_end(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_100Write_all_end(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Write_all_end", 0); /* "mpi4py/MPI/File.pyx":571 * using individual file pointer * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_all_end( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":572 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_write_all_end( * self.ob_mpi, m.buf, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":573 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_all_end( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":574 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_all_end( * self.ob_mpi, m.buf, statusp) ) # <<<<<<<<<<<<<< * * # shared file pointer */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_write_all_end(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 573, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":573 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_all_end( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":566 * self.ob_mpi, m.buf, m.count, m.dtype) ) * * def Write_all_end(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Complete a split collective write */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Write_all_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":578 * # shared file pointer * * def Read_ordered_begin(self, buf): # <<<<<<<<<<<<<< * """ * Start a split collective read */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_103Read_ordered_begin(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_102Read_ordered_begin[] = "File.Read_ordered_begin(self, buf)\n\n Start a split collective read\n using shared file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_103Read_ordered_begin(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_ordered_begin (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "Read_ordered_begin") < 0)) __PYX_ERR(31, 578, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Read_ordered_begin", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 578, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Read_ordered_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_102Read_ordered_begin(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_102Read_ordered_begin(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Read_ordered_begin", 0); /* "mpi4py/MPI/File.pyx":583 * using shared file pointer * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_read_ordered_begin( * self.ob_mpi, m.buf, m.count, m.dtype) ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":584 * """ * cdef _p_msg_io m = message_io_read(buf) * with nogil: CHKERR( MPI_File_read_ordered_begin( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":585 * cdef _p_msg_io m = message_io_read(buf) * with nogil: CHKERR( MPI_File_read_ordered_begin( * self.ob_mpi, m.buf, m.count, m.dtype) ) # <<<<<<<<<<<<<< * * def Read_ordered_end(self, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_read_ordered_begin(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 584, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":584 * """ * cdef _p_msg_io m = message_io_read(buf) * with nogil: CHKERR( MPI_File_read_ordered_begin( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":578 * # shared file pointer * * def Read_ordered_begin(self, buf): # <<<<<<<<<<<<<< * """ * Start a split collective read */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Read_ordered_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":587 * self.ob_mpi, m.buf, m.count, m.dtype) ) * * def Read_ordered_end(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Complete a split collective read */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_105Read_ordered_end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_104Read_ordered_end[] = "File.Read_ordered_end(self, buf, Status status=None)\n\n Complete a split collective read\n using shared file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_105Read_ordered_end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Read_ordered_end (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Read_ordered_end") < 0)) __PYX_ERR(31, 587, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Read_ordered_end", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 587, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Read_ordered_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 587, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_104Read_ordered_end(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_104Read_ordered_end(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Read_ordered_end", 0); /* "mpi4py/MPI/File.pyx":592 * using shared file pointer * """ * cdef _p_msg_io m = message_io_read(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_ordered_end( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_read(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":593 * """ * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_read_ordered_end( * self.ob_mpi, m.buf, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":594 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_ordered_end( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":595 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_ordered_end( * self.ob_mpi, m.buf, statusp) ) # <<<<<<<<<<<<<< * * def Write_ordered_begin(self, buf): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_read_ordered_end(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 594, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":594 * cdef _p_msg_io m = message_io_read(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_read_ordered_end( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":587 * self.ob_mpi, m.buf, m.count, m.dtype) ) * * def Read_ordered_end(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Complete a split collective read */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Read_ordered_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":597 * self.ob_mpi, m.buf, statusp) ) * * def Write_ordered_begin(self, buf): # <<<<<<<<<<<<<< * """ * Start a split collective write using */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_107Write_ordered_begin(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_106Write_ordered_begin[] = "File.Write_ordered_begin(self, buf)\n\n Start a split collective write using\n shared file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_107Write_ordered_begin(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Write_ordered_begin (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,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_buf)) != 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, "Write_ordered_begin") < 0)) __PYX_ERR(31, 597, __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_buf = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Write_ordered_begin", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 597, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Write_ordered_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_106Write_ordered_begin(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_106Write_ordered_begin(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Write_ordered_begin", 0); /* "mpi4py/MPI/File.pyx":602 * shared file pointer * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_write_ordered_begin( * self.ob_mpi, m.buf, m.count, m.dtype) ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":603 * """ * cdef _p_msg_io m = message_io_write(buf) * with nogil: CHKERR( MPI_File_write_ordered_begin( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":604 * cdef _p_msg_io m = message_io_write(buf) * with nogil: CHKERR( MPI_File_write_ordered_begin( * self.ob_mpi, m.buf, m.count, m.dtype) ) # <<<<<<<<<<<<<< * * def Write_ordered_end(self, buf, Status status=None): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_write_ordered_begin(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_m->count, __pyx_v_m->dtype)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 603, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":603 * """ * cdef _p_msg_io m = message_io_write(buf) * with nogil: CHKERR( MPI_File_write_ordered_begin( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, m.count, m.dtype) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":597 * self.ob_mpi, m.buf, statusp) ) * * def Write_ordered_begin(self, buf): # <<<<<<<<<<<<<< * """ * Start a split collective write using */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Write_ordered_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":606 * self.ob_mpi, m.buf, m.count, m.dtype) ) * * def Write_ordered_end(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Complete a split collective write */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_109Write_ordered_end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_108Write_ordered_end[] = "File.Write_ordered_end(self, buf, Status status=None)\n\n Complete a split collective write\n using shared file pointer\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_109Write_ordered_end(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; struct PyMPIStatusObject *__pyx_v_status = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Write_ordered_end (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf,&__pyx_n_s_status,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)((struct PyMPIStatusObject *)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_buf)) != 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_status); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Write_ordered_end") < 0)) __PYX_ERR(31, 606, __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_buf = values[0]; __pyx_v_status = ((struct PyMPIStatusObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Write_ordered_end", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 606, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Write_ordered_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(31, 606, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_108Write_ordered_end(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_buf, __pyx_v_status); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_108Write_ordered_end(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_buf, struct PyMPIStatusObject *__pyx_v_status) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *__pyx_v_m = 0; MPI_Status *__pyx_v_statusp; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Write_ordered_end", 0); /* "mpi4py/MPI/File.pyx":611 * using shared file pointer * """ * cdef _p_msg_io m = message_io_write(buf) # <<<<<<<<<<<<<< * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_ordered_end( */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_message_io_write(__pyx_v_buf)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":612 * """ * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_write_ordered_end( * self.ob_mpi, m.buf, statusp) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "mpi4py/MPI/File.pyx":613 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_ordered_end( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, statusp) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":614 * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_ordered_end( * self.ob_mpi, m.buf, statusp) ) # <<<<<<<<<<<<<< * * # File Interoperability */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_write_ordered_end(__pyx_v_self->ob_mpi, __pyx_v_m->buf, __pyx_v_statusp)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(31, 613, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":613 * cdef _p_msg_io m = message_io_write(buf) * cdef MPI_Status *statusp = arg_Status(status) * with nogil: CHKERR( MPI_File_write_ordered_end( # <<<<<<<<<<<<<< * self.ob_mpi, m.buf, statusp) ) * */ /*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:; } } /* "mpi4py/MPI/File.pyx":606 * self.ob_mpi, m.buf, m.count, m.dtype) ) * * def Write_ordered_end(self, buf, Status status=None): # <<<<<<<<<<<<<< * """ * Complete a split collective write */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.Write_ordered_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":619 * # --------------------- * * def Get_type_extent(self, Datatype datatype): # <<<<<<<<<<<<<< * """ * Return the extent of datatype in the file */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_111Get_type_extent(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_110Get_type_extent[] = "File.Get_type_extent(self, Datatype datatype)\n\n Return the extent of datatype in the file\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_111Get_type_extent(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIDatatypeObject *__pyx_v_datatype = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_type_extent (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_datatype,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_datatype)) != 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, "Get_type_extent") < 0)) __PYX_ERR(31, 619, __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_datatype = ((struct PyMPIDatatypeObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Get_type_extent", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 619, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Get_type_extent", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_datatype), __pyx_ptype_6mpi4py_3MPI_Datatype, 0, "datatype", 0))) __PYX_ERR(31, 619, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_110Get_type_extent(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_datatype); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_110Get_type_extent(struct PyMPIFileObject *__pyx_v_self, struct PyMPIDatatypeObject *__pyx_v_datatype) { MPI_Aint __pyx_v_extent; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_type_extent", 0); /* "mpi4py/MPI/File.pyx":623 * Return the extent of datatype in the file * """ * cdef MPI_Aint extent = 0 # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_get_type_extent( * self.ob_mpi, datatype.ob_mpi, &extent) ) */ __pyx_v_extent = 0; /* "mpi4py/MPI/File.pyx":624 * """ * cdef MPI_Aint extent = 0 * with nogil: CHKERR( MPI_File_get_type_extent( # <<<<<<<<<<<<<< * self.ob_mpi, datatype.ob_mpi, &extent) ) * return extent */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { /* "mpi4py/MPI/File.pyx":625 * cdef MPI_Aint extent = 0 * with nogil: CHKERR( MPI_File_get_type_extent( * self.ob_mpi, datatype.ob_mpi, &extent) ) # <<<<<<<<<<<<<< * return extent * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_get_type_extent(__pyx_v_self->ob_mpi, __pyx_v_datatype->ob_mpi, (&__pyx_v_extent))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 624, __pyx_L4_error) } /* "mpi4py/MPI/File.pyx":624 * """ * cdef MPI_Aint extent = 0 * with nogil: CHKERR( MPI_File_get_type_extent( # <<<<<<<<<<<<<< * self.ob_mpi, datatype.ob_mpi, &extent) ) * return extent */ /*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:; } } /* "mpi4py/MPI/File.pyx":626 * with nogil: CHKERR( MPI_File_get_type_extent( * self.ob_mpi, datatype.ob_mpi, &extent) ) * return extent # <<<<<<<<<<<<<< * * # Consistency and Semantics */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_extent); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/File.pyx":619 * # --------------------- * * def Get_type_extent(self, Datatype datatype): # <<<<<<<<<<<<<< * """ * Return the extent of datatype in the file */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Get_type_extent", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":631 * # ------------------------- * * def Set_atomicity(self, bint flag): # <<<<<<<<<<<<<< * """ * Set the atomicity mode */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_113Set_atomicity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_112Set_atomicity[] = "File.Set_atomicity(self, bool flag)\n\n Set the atomicity mode\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_113Set_atomicity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_flag; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_atomicity (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_flag,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_flag)) != 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, "Set_atomicity") < 0)) __PYX_ERR(31, 631, __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_flag = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_flag == (int)-1) && PyErr_Occurred())) __PYX_ERR(31, 631, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_atomicity", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 631, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Set_atomicity", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_112Set_atomicity(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_flag); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_112Set_atomicity(struct PyMPIFileObject *__pyx_v_self, int __pyx_v_flag) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_atomicity", 0); /* "mpi4py/MPI/File.pyx":635 * Set the atomicity mode * """ * with nogil: CHKERR( MPI_File_set_atomicity(self.ob_mpi, flag) ) # <<<<<<<<<<<<<< * * def Get_atomicity(self): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_set_atomicity(__pyx_v_self->ob_mpi, __pyx_v_flag)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 635, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":631 * # ------------------------- * * def Set_atomicity(self, bint flag): # <<<<<<<<<<<<<< * """ * Set the atomicity mode */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Set_atomicity", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":637 * with nogil: CHKERR( MPI_File_set_atomicity(self.ob_mpi, flag) ) * * def Get_atomicity(self): # <<<<<<<<<<<<<< * """ * Return the atomicity mode */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_115Get_atomicity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_114Get_atomicity[] = "File.Get_atomicity(self)\n\n Return the atomicity mode\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_115Get_atomicity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_atomicity (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_atomicity", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_atomicity", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_114Get_atomicity(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_114Get_atomicity(struct PyMPIFileObject *__pyx_v_self) { int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_atomicity", 0); /* "mpi4py/MPI/File.pyx":641 * Return the atomicity mode * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_get_atomicity(self.ob_mpi, &flag) ) * return flag */ __pyx_v_flag = 0; /* "mpi4py/MPI/File.pyx":642 * """ * cdef int flag = 0 * with nogil: CHKERR( MPI_File_get_atomicity(self.ob_mpi, &flag) ) # <<<<<<<<<<<<<< * return flag * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_get_atomicity(__pyx_v_self->ob_mpi, (&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 642, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":643 * cdef int flag = 0 * with nogil: CHKERR( MPI_File_get_atomicity(self.ob_mpi, &flag) ) * return flag # <<<<<<<<<<<<<< * * property atomicity: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/File.pyx":637 * with nogil: CHKERR( MPI_File_set_atomicity(self.ob_mpi, flag) ) * * def Get_atomicity(self): # <<<<<<<<<<<<<< * """ * Return the atomicity mode */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Get_atomicity", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":647 * property atomicity: * """atomicity""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_atomicity() * def __set__(self, value): */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_9atomicity_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_9atomicity_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_9atomicity___get__(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_9atomicity___get__(struct PyMPIFileObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__get__", 0); /* "mpi4py/MPI/File.pyx":648 * """atomicity""" * def __get__(self): * return self.Get_atomicity() # <<<<<<<<<<<<<< * def __set__(self, value): * self.Set_atomicity(value) */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_atomicity); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 648, __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(31, 648, __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; /* "mpi4py/MPI/File.pyx":647 * property atomicity: * """atomicity""" * def __get__(self): # <<<<<<<<<<<<<< * return self.Get_atomicity() * def __set__(self, value): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.File.atomicity.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":649 * def __get__(self): * return self.Get_atomicity() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_atomicity(value) * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_4File_9atomicity_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_4File_9atomicity_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_9atomicity_2__set__(((struct PyMPIFileObject *)__pyx_v_self), ((PyObject *)__pyx_v_value)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_4File_9atomicity_2__set__(struct PyMPIFileObject *__pyx_v_self, PyObject *__pyx_v_value) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__set__", 0); /* "mpi4py/MPI/File.pyx":650 * return self.Get_atomicity() * def __set__(self, value): * self.Set_atomicity(value) # <<<<<<<<<<<<<< * * def Sync(self): */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set_atomicity); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 650, __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_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":649 * def __get__(self): * return self.Get_atomicity() * def __set__(self, value): # <<<<<<<<<<<<<< * self.Set_atomicity(value) * */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.File.atomicity.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":652 * self.Set_atomicity(value) * * def Sync(self): # <<<<<<<<<<<<<< * """ * Causes all previous writes to be */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_117Sync(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_116Sync[] = "File.Sync(self)\n\n Causes all previous writes to be\n transferred to the storage device\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_117Sync(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Sync (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Sync", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Sync", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_116Sync(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_116Sync(struct PyMPIFileObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Sync", 0); /* "mpi4py/MPI/File.pyx":657 * transferred to the storage device * """ * with nogil: CHKERR( MPI_File_sync(self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Error Handling */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS __Pyx_FastGIL_Remember(); #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_sync(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 657, __pyx_L4_error) } /*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:; } } /* "mpi4py/MPI/File.pyx":652 * self.Set_atomicity(value) * * def Sync(self): # <<<<<<<<<<<<<< * """ * Causes all previous writes to be */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Sync", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":662 * # -------------- * * def Get_errhandler(self): # <<<<<<<<<<<<<< * """ * Get the error handler for a file */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_119Get_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_118Get_errhandler[] = "File.Get_errhandler(self)\n\n Get the error handler for a file\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_119Get_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_errhandler (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_errhandler", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_errhandler", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_118Get_errhandler(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_118Get_errhandler(struct PyMPIFileObject *__pyx_v_self) { struct PyMPIErrhandlerObject *__pyx_v_errhandler = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_errhandler", 0); /* "mpi4py/MPI/File.pyx":666 * Get the error handler for a file * """ * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) # <<<<<<<<<<<<<< * CHKERR( MPI_File_get_errhandler(self.ob_mpi, &errhandler.ob_mpi) ) * return errhandler */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_Errhandler(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 666, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_errhandler = ((struct PyMPIErrhandlerObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":667 * """ * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) * CHKERR( MPI_File_get_errhandler(self.ob_mpi, &errhandler.ob_mpi) ) # <<<<<<<<<<<<<< * return errhandler * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_get_errhandler(__pyx_v_self->ob_mpi, (&__pyx_v_errhandler->ob_mpi))); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(31, 667, __pyx_L1_error) /* "mpi4py/MPI/File.pyx":668 * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) * CHKERR( MPI_File_get_errhandler(self.ob_mpi, &errhandler.ob_mpi) ) * return errhandler # <<<<<<<<<<<<<< * * def Set_errhandler(self, Errhandler errhandler): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_errhandler)); __pyx_r = ((PyObject *)__pyx_v_errhandler); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":662 * # -------------- * * def Get_errhandler(self): # <<<<<<<<<<<<<< * """ * Get the error handler for a file */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.Get_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_errhandler); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":670 * return errhandler * * def Set_errhandler(self, Errhandler errhandler): # <<<<<<<<<<<<<< * """ * Set the error handler for a file */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_121Set_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_120Set_errhandler[] = "File.Set_errhandler(self, Errhandler errhandler)\n\n Set the error handler for a file\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_121Set_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIErrhandlerObject *__pyx_v_errhandler = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Set_errhandler (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_errhandler,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_errhandler)) != 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, "Set_errhandler") < 0)) __PYX_ERR(31, 670, __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_errhandler = ((struct PyMPIErrhandlerObject *)values[0]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Set_errhandler", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 670, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Set_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_errhandler), __pyx_ptype_6mpi4py_3MPI_Errhandler, 0, "errhandler", 0))) __PYX_ERR(31, 670, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_120Set_errhandler(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_errhandler); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_120Set_errhandler(struct PyMPIFileObject *__pyx_v_self, struct PyMPIErrhandlerObject *__pyx_v_errhandler) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Set_errhandler", 0); /* "mpi4py/MPI/File.pyx":674 * Set the error handler for a file * """ * CHKERR( MPI_File_set_errhandler(self.ob_mpi, errhandler.ob_mpi) ) # <<<<<<<<<<<<<< * * def Call_errhandler(self, int errorcode): */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_set_errhandler(__pyx_v_self->ob_mpi, __pyx_v_errhandler->ob_mpi)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 674, __pyx_L1_error) /* "mpi4py/MPI/File.pyx":670 * return errhandler * * def Set_errhandler(self, Errhandler errhandler): # <<<<<<<<<<<<<< * """ * Set the error handler for a file */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Set_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":676 * CHKERR( MPI_File_set_errhandler(self.ob_mpi, errhandler.ob_mpi) ) * * def Call_errhandler(self, int errorcode): # <<<<<<<<<<<<<< * """ * Call the error handler installed on a file */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_123Call_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_122Call_errhandler[] = "File.Call_errhandler(self, int errorcode)\n\n Call the error handler installed on a file\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_123Call_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorcode; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Call_errhandler (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_errorcode,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_errorcode)) != 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, "Call_errhandler") < 0)) __PYX_ERR(31, 676, __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_errorcode = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_errorcode == (int)-1) && PyErr_Occurred())) __PYX_ERR(31, 676, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Call_errhandler", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 676, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Call_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_122Call_errhandler(((struct PyMPIFileObject *)__pyx_v_self), __pyx_v_errorcode); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_122Call_errhandler(struct PyMPIFileObject *__pyx_v_self, int __pyx_v_errorcode) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Call_errhandler", 0); /* "mpi4py/MPI/File.pyx":680 * Call the error handler installed on a file * """ * CHKERR( MPI_File_call_errhandler(self.ob_mpi, errorcode) ) # <<<<<<<<<<<<<< * * # Fortran Handle */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_call_errhandler(__pyx_v_self->ob_mpi, __pyx_v_errorcode)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(31, 680, __pyx_L1_error) /* "mpi4py/MPI/File.pyx":676 * CHKERR( MPI_File_set_errhandler(self.ob_mpi, errhandler.ob_mpi) ) * * def Call_errhandler(self, int errorcode): # <<<<<<<<<<<<<< * """ * Call the error handler installed on a file */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.File.Call_errhandler", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":685 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_125py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_124py2f[] = "File.py2f(self)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_125py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("py2f (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("py2f", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "py2f", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_124py2f(((struct PyMPIFileObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_124py2f(struct PyMPIFileObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("py2f", 0); /* "mpi4py/MPI/File.pyx":688 * """ * """ * return MPI_File_c2f(self.ob_mpi) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Fint(MPI_File_c2f(__pyx_v_self->ob_mpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/File.pyx":685 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.File.py2f", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":691 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4File_127f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4File_126f2py[] = "File.f2py(type cls, arg)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_4File_127f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("f2py (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "f2py") < 0)) __PYX_ERR(31, 691, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("f2py", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 691, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.File.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_4File_126f2py(((PyTypeObject*)__pyx_v_cls), __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4File_126f2py(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_arg) { struct PyMPIFileObject *__pyx_v_file = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; MPI_Fint __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("f2py", 0); /* "mpi4py/MPI/File.pyx":694 * """ * """ * cdef File file = File.__new__(File) # <<<<<<<<<<<<<< * file.ob_mpi = MPI_File_f2c(arg) * return file */ __pyx_t_1 = ((PyObject *)__pyx_tp_new_6mpi4py_3MPI_File(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_File), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 694, __pyx_L1_error) __Pyx_GOTREF(((PyObject *)__pyx_t_1)); __pyx_t_2 = ((PyObject *)__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; __pyx_v_file = ((struct PyMPIFileObject *)__pyx_t_2); __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":695 * """ * cdef File file = File.__new__(File) * file.ob_mpi = MPI_File_f2c(arg) # <<<<<<<<<<<<<< * return file * */ __pyx_t_3 = __Pyx_PyInt_As_MPI_Fint(__pyx_v_arg); if (unlikely((__pyx_t_3 == ((MPI_Fint)-1)) && PyErr_Occurred())) __PYX_ERR(31, 695, __pyx_L1_error) __pyx_v_file->ob_mpi = MPI_File_f2c(__pyx_t_3); /* "mpi4py/MPI/File.pyx":696 * cdef File file = File.__new__(File) * file.ob_mpi = MPI_File_f2c(arg) * return file # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_file)); __pyx_r = ((PyObject *)__pyx_v_file); goto __pyx_L0; /* "mpi4py/MPI/File.pyx":691 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.File.f2py", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_file); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/File.pyx":712 * # --------------------------------- * * def Register_datarep(datarep, read_fn, write_fn, extent_fn): # <<<<<<<<<<<<<< * """ * Register user-defined data representations */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_39Register_datarep(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_38Register_datarep[] = "Register_datarep(datarep, read_fn, write_fn, extent_fn)\n\n Register user-defined data representations\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_39Register_datarep = {"Register_datarep", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_39Register_datarep, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_38Register_datarep}; static PyObject *__pyx_pw_6mpi4py_3MPI_39Register_datarep(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_datarep = 0; PyObject *__pyx_v_read_fn = 0; PyObject *__pyx_v_write_fn = 0; PyObject *__pyx_v_extent_fn = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Register_datarep (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_datarep,&__pyx_n_s_read_fn,&__pyx_n_s_write_fn,&__pyx_n_s_extent_fn,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_datarep)) != 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_read_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Register_datarep", 1, 4, 4, 1); __PYX_ERR(31, 712, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_write_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Register_datarep", 1, 4, 4, 2); __PYX_ERR(31, 712, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_extent_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Register_datarep", 1, 4, 4, 3); __PYX_ERR(31, 712, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Register_datarep") < 0)) __PYX_ERR(31, 712, __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_datarep = values[0]; __pyx_v_read_fn = values[1]; __pyx_v_write_fn = values[2]; __pyx_v_extent_fn = values[3]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Register_datarep", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(31, 712, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Register_datarep", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_38Register_datarep(__pyx_self, __pyx_v_datarep, __pyx_v_read_fn, __pyx_v_write_fn, __pyx_v_extent_fn); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_38Register_datarep(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_datarep, PyObject *__pyx_v_read_fn, PyObject *__pyx_v_write_fn, PyObject *__pyx_v_extent_fn) { char *__pyx_v_cdatarep; PyObject *__pyx_v_state = 0; MPI_Datarep_conversion_function *__pyx_v_rd; MPI_Datarep_conversion_function *__pyx_v_wr; MPI_Datarep_extent_function *__pyx_v_ex; void *__pyx_v_xs; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Register_datarep", 0); __Pyx_INCREF(__pyx_v_datarep); /* "mpi4py/MPI/File.pyx":716 * Register user-defined data representations * """ * cdef char *cdatarep = NULL # <<<<<<<<<<<<<< * datarep = asmpistr(datarep, &cdatarep) * cdef object state = _p_datarep(read_fn, write_fn, extent_fn) */ __pyx_v_cdatarep = NULL; /* "mpi4py/MPI/File.pyx":717 * """ * cdef char *cdatarep = NULL * datarep = asmpistr(datarep, &cdatarep) # <<<<<<<<<<<<<< * cdef object state = _p_datarep(read_fn, write_fn, extent_fn) * cdef MPI_Datarep_conversion_function *rd = MPI_CONVERSION_FN_NULL */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_datarep, (&__pyx_v_cdatarep)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_datarep, __pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":718 * cdef char *cdatarep = NULL * datarep = asmpistr(datarep, &cdatarep) * cdef object state = _p_datarep(read_fn, write_fn, extent_fn) # <<<<<<<<<<<<<< * cdef MPI_Datarep_conversion_function *rd = MPI_CONVERSION_FN_NULL * cdef MPI_Datarep_conversion_function *wr = MPI_CONVERSION_FN_NULL */ __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_read_fn); __Pyx_GIVEREF(__pyx_v_read_fn); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_read_fn); __Pyx_INCREF(__pyx_v_write_fn); __Pyx_GIVEREF(__pyx_v_write_fn); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_write_fn); __Pyx_INCREF(__pyx_v_extent_fn); __Pyx_GIVEREF(__pyx_v_extent_fn); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_extent_fn); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6mpi4py_3MPI__p_datarep), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(31, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_state = __pyx_t_2; __pyx_t_2 = 0; /* "mpi4py/MPI/File.pyx":719 * datarep = asmpistr(datarep, &cdatarep) * cdef object state = _p_datarep(read_fn, write_fn, extent_fn) * cdef MPI_Datarep_conversion_function *rd = MPI_CONVERSION_FN_NULL # <<<<<<<<<<<<<< * cdef MPI_Datarep_conversion_function *wr = MPI_CONVERSION_FN_NULL * cdef MPI_Datarep_extent_function *ex = datarep_extent_fn */ __pyx_v_rd = MPI_CONVERSION_FN_NULL; /* "mpi4py/MPI/File.pyx":720 * cdef object state = _p_datarep(read_fn, write_fn, extent_fn) * cdef MPI_Datarep_conversion_function *rd = MPI_CONVERSION_FN_NULL * cdef MPI_Datarep_conversion_function *wr = MPI_CONVERSION_FN_NULL # <<<<<<<<<<<<<< * cdef MPI_Datarep_extent_function *ex = datarep_extent_fn * cdef void* xs = state */ __pyx_v_wr = MPI_CONVERSION_FN_NULL; /* "mpi4py/MPI/File.pyx":721 * cdef MPI_Datarep_conversion_function *rd = MPI_CONVERSION_FN_NULL * cdef MPI_Datarep_conversion_function *wr = MPI_CONVERSION_FN_NULL * cdef MPI_Datarep_extent_function *ex = datarep_extent_fn # <<<<<<<<<<<<<< * cdef void* xs = state * if read_fn is not None: rd = datarep_read_fn */ __pyx_v_ex = __pyx_f_6mpi4py_3MPI_datarep_extent_fn; /* "mpi4py/MPI/File.pyx":722 * cdef MPI_Datarep_conversion_function *wr = MPI_CONVERSION_FN_NULL * cdef MPI_Datarep_extent_function *ex = datarep_extent_fn * cdef void* xs = state # <<<<<<<<<<<<<< * if read_fn is not None: rd = datarep_read_fn * if write_fn is not None: wr = datarep_write_fn */ __pyx_v_xs = ((void *)__pyx_v_state); /* "mpi4py/MPI/File.pyx":723 * cdef MPI_Datarep_extent_function *ex = datarep_extent_fn * cdef void* xs = state * if read_fn is not None: rd = datarep_read_fn # <<<<<<<<<<<<<< * if write_fn is not None: wr = datarep_write_fn * CHKERR ( MPI_Register_datarep(cdatarep, rd, wr, ex, xs) ) */ __pyx_t_3 = (__pyx_v_read_fn != Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { __pyx_v_rd = __pyx_f_6mpi4py_3MPI_datarep_read_fn; } /* "mpi4py/MPI/File.pyx":724 * cdef void* xs = state * if read_fn is not None: rd = datarep_read_fn * if write_fn is not None: wr = datarep_write_fn # <<<<<<<<<<<<<< * CHKERR ( MPI_Register_datarep(cdatarep, rd, wr, ex, xs) ) * datarep_registry[datarep] = state */ __pyx_t_4 = (__pyx_v_write_fn != Py_None); __pyx_t_3 = (__pyx_t_4 != 0); if (__pyx_t_3) { __pyx_v_wr = __pyx_f_6mpi4py_3MPI_datarep_write_fn; } /* "mpi4py/MPI/File.pyx":725 * if read_fn is not None: rd = datarep_read_fn * if write_fn is not None: wr = datarep_write_fn * CHKERR ( MPI_Register_datarep(cdatarep, rd, wr, ex, xs) ) # <<<<<<<<<<<<<< * datarep_registry[datarep] = state */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Register_datarep(__pyx_v_cdatarep, __pyx_v_rd, __pyx_v_wr, __pyx_v_ex, __pyx_v_xs)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(31, 725, __pyx_L1_error) /* "mpi4py/MPI/File.pyx":726 * if write_fn is not None: wr = datarep_write_fn * CHKERR ( MPI_Register_datarep(cdatarep, rd, wr, ex, xs) ) * datarep_registry[datarep] = state # <<<<<<<<<<<<<< */ if (unlikely(__pyx_v_6mpi4py_3MPI_datarep_registry == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(31, 726, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_6mpi4py_3MPI_datarep_registry, __pyx_v_datarep, __pyx_v_state) < 0)) __PYX_ERR(31, 726, __pyx_L1_error) /* "mpi4py/MPI/File.pyx":712 * # --------------------------------- * * def Register_datarep(datarep, read_fn, write_fn, extent_fn): # <<<<<<<<<<<<<< * """ * Register user-defined data representations */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Register_datarep", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_state); __Pyx_XDECREF(__pyx_v_datarep); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":90 * # ----------------- * * def Alloc_mem(Aint size, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Allocate memory for message passing and RMA */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_41Alloc_mem(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_40Alloc_mem[] = "Alloc_mem(Aint size, Info info=INFO_NULL)\n\n Allocate memory for message passing and RMA\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_41Alloc_mem = {"Alloc_mem", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_41Alloc_mem, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_40Alloc_mem}; static PyObject *__pyx_pw_6mpi4py_3MPI_41Alloc_mem(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Aint __pyx_v_size; struct PyMPIInfoObject *__pyx_v_info = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Alloc_mem (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,&__pyx_n_s_info,0}; PyObject* values[2] = {0,0}; values[1] = (PyObject *)__pyx_k__126; 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_size)) != 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_info); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Alloc_mem") < 0)) __PYX_ERR(8, 90, __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_size = __Pyx_PyInt_As_MPI_Aint(values[0]); if (unlikely((__pyx_v_size == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(8, 90, __pyx_L3_error) __pyx_v_info = ((struct PyMPIInfoObject *)values[1]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Alloc_mem", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(8, 90, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Alloc_mem", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 0, "info", 0))) __PYX_ERR(8, 90, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_40Alloc_mem(__pyx_self, __pyx_v_size, __pyx_v_info); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_40Alloc_mem(CYTHON_UNUSED PyObject *__pyx_self, MPI_Aint __pyx_v_size, struct PyMPIInfoObject *__pyx_v_info) { void *__pyx_v_base; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Alloc_mem", 0); /* "mpi4py/MPI/MPI.pyx":94 * Allocate memory for message passing and RMA * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Alloc_mem(size, info.ob_mpi, &base) ) * return tomemory(base, size) */ __pyx_v_base = NULL; /* "mpi4py/MPI/MPI.pyx":95 * """ * cdef void *base = NULL * CHKERR( MPI_Alloc_mem(size, info.ob_mpi, &base) ) # <<<<<<<<<<<<<< * return tomemory(base, size) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Alloc_mem(__pyx_v_size, __pyx_v_info->ob_mpi, (&__pyx_v_base))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 95, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":96 * cdef void *base = NULL * CHKERR( MPI_Alloc_mem(size, info.ob_mpi, &base) ) * return tomemory(base, size) # <<<<<<<<<<<<<< * * def Free_mem(mem): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_base, __pyx_v_size)); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":90 * # ----------------- * * def Alloc_mem(Aint size, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Allocate memory for message passing and RMA */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Alloc_mem", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":98 * return tomemory(base, size) * * def Free_mem(mem): # <<<<<<<<<<<<<< * """ * Free memory allocated with `Alloc_mem()` */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_43Free_mem(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_42Free_mem[] = "Free_mem(mem)\n\n Free memory allocated with `Alloc_mem()`\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_43Free_mem = {"Free_mem", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_43Free_mem, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_42Free_mem}; static PyObject *__pyx_pw_6mpi4py_3MPI_43Free_mem(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_mem = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free_mem (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mem,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_mem)) != 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, "Free_mem") < 0)) __PYX_ERR(8, 98, __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_mem = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Free_mem", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(8, 98, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Free_mem", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_42Free_mem(__pyx_self, __pyx_v_mem); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_42Free_mem(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mem) { void *__pyx_v_base; struct __pyx_obj_6mpi4py_3MPI_memory *__pyx_v_m = 0; 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Free_mem", 0); /* "mpi4py/MPI/MPI.pyx":102 * Free memory allocated with `Alloc_mem()` * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef memory m = asmemory(mem, &base, NULL) * CHKERR( MPI_Free_mem(base) ) */ __pyx_v_base = NULL; /* "mpi4py/MPI/MPI.pyx":103 * """ * cdef void *base = NULL * cdef memory m = asmemory(mem, &base, NULL) # <<<<<<<<<<<<<< * CHKERR( MPI_Free_mem(base) ) * m.release() */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_asmemory(__pyx_v_mem, (&__pyx_v_base), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI_memory *)__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":104 * cdef void *base = NULL * cdef memory m = asmemory(mem, &base, NULL) * CHKERR( MPI_Free_mem(base) ) # <<<<<<<<<<<<<< * m.release() * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Free_mem(__pyx_v_base)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(8, 104, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":105 * cdef memory m = asmemory(mem, &base, NULL) * CHKERR( MPI_Free_mem(base) ) * m.release() # <<<<<<<<<<<<<< * * # Initialization and Exit */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_m), __pyx_n_s_release); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(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_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":98 * return tomemory(base, size) * * def Free_mem(mem): # <<<<<<<<<<<<<< * """ * Free memory allocated with `Alloc_mem()` */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Free_mem", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_m); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":110 * # ----------------------- * * def Init(): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_45Init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_44Init[] = "Init()\n\n Initialize the MPI execution environment\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_45Init = {"Init", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_45Init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_44Init}; static PyObject *__pyx_pw_6mpi4py_3MPI_45Init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Init (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Init", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Init", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_44Init(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_44Init(CYTHON_UNUSED PyObject *__pyx_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Init", 0); /* "mpi4py/MPI/MPI.pyx":114 * Initialize the MPI execution environment * """ * CHKERR( MPI_Init(NULL, NULL) ) # <<<<<<<<<<<<<< * initialize() * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Init(NULL, NULL)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 114, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":115 * """ * CHKERR( MPI_Init(NULL, NULL) ) * initialize() # <<<<<<<<<<<<<< * * def Finalize(): */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_initialize(); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 115, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":110 * # ----------------------- * * def Init(): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Init", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":117 * initialize() * * def Finalize(): # <<<<<<<<<<<<<< * """ * Terminate the MPI execution environment */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_47Finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_46Finalize[] = "Finalize()\n\n Terminate the MPI execution environment\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_47Finalize = {"Finalize", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_47Finalize, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_46Finalize}; static PyObject *__pyx_pw_6mpi4py_3MPI_47Finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Finalize (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Finalize", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Finalize", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_46Finalize(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_46Finalize(CYTHON_UNUSED PyObject *__pyx_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Finalize", 0); /* "mpi4py/MPI/MPI.pyx":121 * Terminate the MPI execution environment * """ * finalize() # <<<<<<<<<<<<<< * CHKERR( MPI_Finalize() ) * */ __pyx_f_6mpi4py_3MPI_finalize(); /* "mpi4py/MPI/MPI.pyx":122 * """ * finalize() * CHKERR( MPI_Finalize() ) # <<<<<<<<<<<<<< * * # Levels of MPI threading support */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Finalize()); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 122, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":117 * initialize() * * def Finalize(): # <<<<<<<<<<<<<< * """ * Terminate the MPI execution environment */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Finalize", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":139 * #: Multiple threads may call MPI * * def Init_thread(int required=THREAD_MULTIPLE): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_49Init_thread(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_48Init_thread[] = "Init_thread(int required=THREAD_MULTIPLE)\n\n Initialize the MPI execution environment\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_49Init_thread = {"Init_thread", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_49Init_thread, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_48Init_thread}; static PyObject *__pyx_pw_6mpi4py_3MPI_49Init_thread(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_required; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Init_thread (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_required,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_required); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Init_thread") < 0)) __PYX_ERR(8, 139, __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_required = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_required == (int)-1) && PyErr_Occurred())) __PYX_ERR(8, 139, __pyx_L3_error) } else { __pyx_v_required = __pyx_k__127; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Init_thread", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(8, 139, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Init_thread", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_48Init_thread(__pyx_self, __pyx_v_required); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_48Init_thread(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_required) { int __pyx_v_provided; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Init_thread", 0); /* "mpi4py/MPI/MPI.pyx":143 * Initialize the MPI execution environment * """ * cdef int provided = MPI_THREAD_SINGLE # <<<<<<<<<<<<<< * CHKERR( MPI_Init_thread(NULL, NULL, required, &provided) ) * initialize() */ __pyx_v_provided = MPI_THREAD_SINGLE; /* "mpi4py/MPI/MPI.pyx":144 * """ * cdef int provided = MPI_THREAD_SINGLE * CHKERR( MPI_Init_thread(NULL, NULL, required, &provided) ) # <<<<<<<<<<<<<< * initialize() * return provided */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Init_thread(NULL, NULL, __pyx_v_required, (&__pyx_v_provided))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 144, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":145 * cdef int provided = MPI_THREAD_SINGLE * CHKERR( MPI_Init_thread(NULL, NULL, required, &provided) ) * initialize() # <<<<<<<<<<<<<< * return provided * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_initialize(); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 145, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":146 * CHKERR( MPI_Init_thread(NULL, NULL, required, &provided) ) * initialize() * return provided # <<<<<<<<<<<<<< * * def Query_thread(): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_provided); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":139 * #: Multiple threads may call MPI * * def Init_thread(int required=THREAD_MULTIPLE): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Init_thread", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":148 * return provided * * def Query_thread(): # <<<<<<<<<<<<<< * """ * Return the level of thread support */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_51Query_thread(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_50Query_thread[] = "Query_thread()\n\n Return the level of thread support\n provided by the MPI library\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_51Query_thread = {"Query_thread", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_51Query_thread, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_50Query_thread}; static PyObject *__pyx_pw_6mpi4py_3MPI_51Query_thread(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Query_thread (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Query_thread", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Query_thread", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_50Query_thread(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_50Query_thread(CYTHON_UNUSED PyObject *__pyx_self) { int __pyx_v_provided; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Query_thread", 0); /* "mpi4py/MPI/MPI.pyx":153 * provided by the MPI library * """ * cdef int provided = MPI_THREAD_SINGLE # <<<<<<<<<<<<<< * CHKERR( MPI_Query_thread(&provided) ) * return provided */ __pyx_v_provided = MPI_THREAD_SINGLE; /* "mpi4py/MPI/MPI.pyx":154 * """ * cdef int provided = MPI_THREAD_SINGLE * CHKERR( MPI_Query_thread(&provided) ) # <<<<<<<<<<<<<< * return provided * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Query_thread((&__pyx_v_provided))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 154, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":155 * cdef int provided = MPI_THREAD_SINGLE * CHKERR( MPI_Query_thread(&provided) ) * return provided # <<<<<<<<<<<<<< * * def Is_thread_main(): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_provided); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":148 * return provided * * def Query_thread(): # <<<<<<<<<<<<<< * """ * Return the level of thread support */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Query_thread", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":157 * return provided * * def Is_thread_main(): # <<<<<<<<<<<<<< * """ * Indicate whether this thread called */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_53Is_thread_main(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_52Is_thread_main[] = "Is_thread_main()\n\n Indicate whether this thread called\n ``Init`` or ``Init_thread``\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_53Is_thread_main = {"Is_thread_main", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_53Is_thread_main, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_52Is_thread_main}; static PyObject *__pyx_pw_6mpi4py_3MPI_53Is_thread_main(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Is_thread_main (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Is_thread_main", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Is_thread_main", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_52Is_thread_main(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_52Is_thread_main(CYTHON_UNUSED PyObject *__pyx_self) { int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Is_thread_main", 0); /* "mpi4py/MPI/MPI.pyx":162 * ``Init`` or ``Init_thread`` * """ * cdef int flag = 1 # <<<<<<<<<<<<<< * CHKERR( MPI_Is_thread_main(&flag) ) * return flag */ __pyx_v_flag = 1; /* "mpi4py/MPI/MPI.pyx":163 * """ * cdef int flag = 1 * CHKERR( MPI_Is_thread_main(&flag) ) # <<<<<<<<<<<<<< * return flag * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Is_thread_main((&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 163, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":164 * cdef int flag = 1 * CHKERR( MPI_Is_thread_main(&flag) ) * return flag # <<<<<<<<<<<<<< * * def Is_initialized(): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":157 * return provided * * def Is_thread_main(): # <<<<<<<<<<<<<< * """ * Indicate whether this thread called */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Is_thread_main", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":166 * return flag * * def Is_initialized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Init`` has been called */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_55Is_initialized(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_54Is_initialized[] = "Is_initialized()\n\n Indicates whether ``Init`` has been called\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_55Is_initialized = {"Is_initialized", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_55Is_initialized, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_54Is_initialized}; static PyObject *__pyx_pw_6mpi4py_3MPI_55Is_initialized(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Is_initialized (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Is_initialized", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Is_initialized", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_54Is_initialized(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_54Is_initialized(CYTHON_UNUSED PyObject *__pyx_self) { int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Is_initialized", 0); /* "mpi4py/MPI/MPI.pyx":170 * Indicates whether ``Init`` has been called * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Initialized(&flag) ) * return flag */ __pyx_v_flag = 0; /* "mpi4py/MPI/MPI.pyx":171 * """ * cdef int flag = 0 * CHKERR( MPI_Initialized(&flag) ) # <<<<<<<<<<<<<< * return flag * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Initialized((&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 171, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":172 * cdef int flag = 0 * CHKERR( MPI_Initialized(&flag) ) * return flag # <<<<<<<<<<<<<< * * def Is_finalized(): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":166 * return flag * * def Is_initialized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Init`` has been called */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Is_initialized", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":174 * return flag * * def Is_finalized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Finalize`` has completed */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_57Is_finalized(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_56Is_finalized[] = "Is_finalized()\n\n Indicates whether ``Finalize`` has completed\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_57Is_finalized = {"Is_finalized", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_57Is_finalized, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_56Is_finalized}; static PyObject *__pyx_pw_6mpi4py_3MPI_57Is_finalized(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Is_finalized (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Is_finalized", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Is_finalized", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_56Is_finalized(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_56Is_finalized(CYTHON_UNUSED PyObject *__pyx_self) { int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Is_finalized", 0); /* "mpi4py/MPI/MPI.pyx":178 * Indicates whether ``Finalize`` has completed * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Finalized(&flag) ) * return flag */ __pyx_v_flag = 0; /* "mpi4py/MPI/MPI.pyx":179 * """ * cdef int flag = 0 * CHKERR( MPI_Finalized(&flag) ) # <<<<<<<<<<<<<< * return flag * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Finalized((&__pyx_v_flag))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 179, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":180 * cdef int flag = 0 * CHKERR( MPI_Finalized(&flag) ) * return flag # <<<<<<<<<<<<<< * * # Implementation Information */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_flag != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":174 * return flag * * def Is_finalized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Finalize`` has completed */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Is_finalized", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":191 * SUBVERSION = MPI_SUBVERSION * * def Get_version(): # <<<<<<<<<<<<<< * """ * Obtain the version number of the MPI standard supported */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_59Get_version(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_58Get_version[] = "Get_version()\n\n Obtain the version number of the MPI standard supported\n by the implementation as a tuple ``(version, subversion)``\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_59Get_version = {"Get_version", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_59Get_version, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_58Get_version}; static PyObject *__pyx_pw_6mpi4py_3MPI_59Get_version(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_version (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_version", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_version", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_58Get_version(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_58Get_version(CYTHON_UNUSED PyObject *__pyx_self) { int __pyx_v_version; int __pyx_v_subversion; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_version", 0); /* "mpi4py/MPI/MPI.pyx":196 * by the implementation as a tuple ``(version, subversion)`` * """ * cdef int version = 1 # <<<<<<<<<<<<<< * cdef int subversion = 0 * CHKERR( MPI_Get_version(&version, &subversion) ) */ __pyx_v_version = 1; /* "mpi4py/MPI/MPI.pyx":197 * """ * cdef int version = 1 * cdef int subversion = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Get_version(&version, &subversion) ) * return (version, subversion) */ __pyx_v_subversion = 0; /* "mpi4py/MPI/MPI.pyx":198 * cdef int version = 1 * cdef int subversion = 0 * CHKERR( MPI_Get_version(&version, &subversion) ) # <<<<<<<<<<<<<< * return (version, subversion) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_version((&__pyx_v_version), (&__pyx_v_subversion))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 198, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":199 * cdef int subversion = 0 * CHKERR( MPI_Get_version(&version, &subversion) ) * return (version, subversion) # <<<<<<<<<<<<<< * * def Get_library_version(): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_version); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_subversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":191 * SUBVERSION = MPI_SUBVERSION * * def Get_version(): # <<<<<<<<<<<<<< * """ * Obtain the version number of the MPI standard supported */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Get_version", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":201 * return (version, subversion) * * def Get_library_version(): # <<<<<<<<<<<<<< * """ * Obtain the version string of the MPI library */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_61Get_library_version(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_60Get_library_version[] = "Get_library_version()\n\n Obtain the version string of the MPI library\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_61Get_library_version = {"Get_library_version", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_61Get_library_version, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_60Get_library_version}; static PyObject *__pyx_pw_6mpi4py_3MPI_61Get_library_version(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_library_version (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_library_version", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_library_version", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_60Get_library_version(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_60Get_library_version(CYTHON_UNUSED PyObject *__pyx_self) { char __pyx_v_name[(MPI_MAX_LIBRARY_VERSION_STRING + 1)]; int __pyx_v_nlen; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_library_version", 0); /* "mpi4py/MPI/MPI.pyx":206 * """ * cdef char name[MPI_MAX_LIBRARY_VERSION_STRING+1] * cdef int nlen = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Get_library_version(name, &nlen) ) * return tompistr(name, nlen) */ __pyx_v_nlen = 0; /* "mpi4py/MPI/MPI.pyx":207 * cdef char name[MPI_MAX_LIBRARY_VERSION_STRING+1] * cdef int nlen = 0 * CHKERR( MPI_Get_library_version(name, &nlen) ) # <<<<<<<<<<<<<< * return tompistr(name, nlen) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_library_version(__pyx_v_name, (&__pyx_v_nlen))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 207, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":208 * cdef int nlen = 0 * CHKERR( MPI_Get_library_version(name, &nlen) ) * return tompistr(name, nlen) # <<<<<<<<<<<<<< * * # Environmental Inquires */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_tompistr(__pyx_v_name, __pyx_v_nlen); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":201 * return (version, subversion) * * def Get_library_version(): # <<<<<<<<<<<<<< * """ * Obtain the version string of the MPI library */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Get_library_version", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":213 * # ---------------------- * * def Get_processor_name(): # <<<<<<<<<<<<<< * """ * Obtain the name of the calling processor */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_63Get_processor_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_62Get_processor_name[] = "Get_processor_name()\n\n Obtain the name of the calling processor\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_63Get_processor_name = {"Get_processor_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_63Get_processor_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_62Get_processor_name}; static PyObject *__pyx_pw_6mpi4py_3MPI_63Get_processor_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Get_processor_name (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Get_processor_name", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Get_processor_name", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_62Get_processor_name(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_62Get_processor_name(CYTHON_UNUSED PyObject *__pyx_self) { char __pyx_v_name[(MPI_MAX_PROCESSOR_NAME + 1)]; int __pyx_v_nlen; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Get_processor_name", 0); /* "mpi4py/MPI/MPI.pyx":218 * """ * cdef char name[MPI_MAX_PROCESSOR_NAME+1] * cdef int nlen = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Get_processor_name(name, &nlen) ) * return tompistr(name, nlen) */ __pyx_v_nlen = 0; /* "mpi4py/MPI/MPI.pyx":219 * cdef char name[MPI_MAX_PROCESSOR_NAME+1] * cdef int nlen = 0 * CHKERR( MPI_Get_processor_name(name, &nlen) ) # <<<<<<<<<<<<<< * return tompistr(name, nlen) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_processor_name(__pyx_v_name, (&__pyx_v_nlen))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 219, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":220 * cdef int nlen = 0 * CHKERR( MPI_Get_processor_name(name, &nlen) ) * return tompistr(name, nlen) # <<<<<<<<<<<<<< * * # Timers and Synchronization */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_tompistr(__pyx_v_name, __pyx_v_nlen); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":213 * # ---------------------- * * def Get_processor_name(): # <<<<<<<<<<<<<< * """ * Obtain the name of the calling processor */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Get_processor_name", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":225 * # -------------------------- * * def Wtime(): # <<<<<<<<<<<<<< * """ * Return an elapsed time on the calling processor */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_65Wtime(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_64Wtime[] = "Wtime()\n\n Return an elapsed time on the calling processor\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_65Wtime = {"Wtime", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_65Wtime, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_64Wtime}; static PyObject *__pyx_pw_6mpi4py_3MPI_65Wtime(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Wtime (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Wtime", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Wtime", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_64Wtime(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_64Wtime(CYTHON_UNUSED PyObject *__pyx_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Wtime", 0); /* "mpi4py/MPI/MPI.pyx":229 * Return an elapsed time on the calling processor * """ * return MPI_Wtime() # <<<<<<<<<<<<<< * * def Wtick(): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(MPI_Wtime()); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":225 * # -------------------------- * * def Wtime(): # <<<<<<<<<<<<<< * """ * Return an elapsed time on the calling processor */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Wtime", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":231 * return MPI_Wtime() * * def Wtick(): # <<<<<<<<<<<<<< * """ * Return the resolution of ``Wtime`` */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_67Wtick(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_66Wtick[] = "Wtick()\n\n Return the resolution of ``Wtime``\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_67Wtick = {"Wtick", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_67Wtick, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_66Wtick}; static PyObject *__pyx_pw_6mpi4py_3MPI_67Wtick(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Wtick (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("Wtick", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Wtick", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_66Wtick(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_66Wtick(CYTHON_UNUSED PyObject *__pyx_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Wtick", 0); /* "mpi4py/MPI/MPI.pyx":235 * Return the resolution of ``Wtime`` * """ * return MPI_Wtick() # <<<<<<<<<<<<<< * * # Control of Profiling */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(MPI_Wtick()); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":231 * return MPI_Wtime() * * def Wtick(): # <<<<<<<<<<<<<< * """ * Return the resolution of ``Wtime`` */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Wtick", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":240 * # -------------------- * * def Pcontrol(int level): # <<<<<<<<<<<<<< * """ * Control profiling */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_69Pcontrol(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_68Pcontrol[] = "Pcontrol(int level)\n\n Control profiling\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_69Pcontrol = {"Pcontrol", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_69Pcontrol, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_68Pcontrol}; static PyObject *__pyx_pw_6mpi4py_3MPI_69Pcontrol(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_level; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Pcontrol (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_level,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_level)) != 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, "Pcontrol") < 0)) __PYX_ERR(8, 240, __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_level = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) __PYX_ERR(8, 240, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Pcontrol", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(8, 240, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI.Pcontrol", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_68Pcontrol(__pyx_self, __pyx_v_level); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_68Pcontrol(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_level) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("Pcontrol", 0); /* "mpi4py/MPI/MPI.pyx":244 * Control profiling * """ * if level < 0 or level > 2: CHKERR( MPI_ERR_ARG ) # <<<<<<<<<<<<<< * CHKERR( MPI_Pcontrol(level) ) * */ __pyx_t_2 = ((__pyx_v_level < 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L4_bool_binop_done; } __pyx_t_2 = ((__pyx_v_level > 2) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_ERR_ARG); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(8, 244, __pyx_L1_error) } /* "mpi4py/MPI/MPI.pyx":245 * """ * if level < 0 or level > 2: CHKERR( MPI_ERR_ARG ) * CHKERR( MPI_Pcontrol(level) ) # <<<<<<<<<<<<<< * * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Pcontrol(__pyx_v_level)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(8, 245, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":240 * # -------------------- * * def Pcontrol(int level): # <<<<<<<<<<<<<< * """ * Control profiling */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.Pcontrol", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":268 * int PyMPI_Get_vendor(const char**,int*,int*,int*) nogil * * def get_vendor(): # <<<<<<<<<<<<<< * """ * Infomation about the underlying MPI implementation */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_71get_vendor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_70get_vendor[] = "get_vendor()\n\n Infomation about the underlying MPI implementation\n\n :Returns:\n - a string with the name of the MPI implementation\n - an integer 3-tuple version ``(major, minor, micro)``\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_71get_vendor = {"get_vendor", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_71get_vendor, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_70get_vendor}; static PyObject *__pyx_pw_6mpi4py_3MPI_71get_vendor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("get_vendor (wrapper)", 0); if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { __Pyx_RaiseArgtupleInvalid("get_vendor", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "get_vendor", 0))) return NULL; __pyx_r = __pyx_pf_6mpi4py_3MPI_70get_vendor(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_70get_vendor(CYTHON_UNUSED PyObject *__pyx_self) { char const *__pyx_v_name; int __pyx_v_major; int __pyx_v_minor; int __pyx_v_micro; 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_vendor", 0); /* "mpi4py/MPI/MPI.pyx":276 * - an integer 3-tuple version ``(major, minor, micro)`` * """ * cdef const char *name=NULL # <<<<<<<<<<<<<< * cdef int major=0, minor=0, micro=0 * CHKERR( PyMPI_Get_vendor(&name, &major, &minor, µ) ) */ __pyx_v_name = NULL; /* "mpi4py/MPI/MPI.pyx":277 * """ * cdef const char *name=NULL * cdef int major=0, minor=0, micro=0 # <<<<<<<<<<<<<< * CHKERR( PyMPI_Get_vendor(&name, &major, &minor, µ) ) * return (mpistr(name), (major, minor, micro)) */ __pyx_v_major = 0; __pyx_v_minor = 0; __pyx_v_micro = 0; /* "mpi4py/MPI/MPI.pyx":278 * cdef const char *name=NULL * cdef int major=0, minor=0, micro=0 * CHKERR( PyMPI_Get_vendor(&name, &major, &minor, µ) ) # <<<<<<<<<<<<<< * return (mpistr(name), (major, minor, micro)) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(PyMPI_Get_vendor((&__pyx_v_name), (&__pyx_v_major), (&__pyx_v_minor), (&__pyx_v_micro))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 278, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":279 * cdef int major=0, minor=0, micro=0 * CHKERR( PyMPI_Get_vendor(&name, &major, &minor, µ) ) * return (mpistr(name), (major, minor, micro)) # <<<<<<<<<<<<<< * * # -------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mpistr(__pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_major); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_minor); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_micro); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(8, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); __pyx_t_2 = 0; __pyx_t_6 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":268 * int PyMPI_Get_vendor(const char**,int*,int*,int*) nogil * * def get_vendor(): # <<<<<<<<<<<<<< * """ * Infomation about the underlying MPI implementation */ /* 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_AddTraceback("mpi4py.MPI.get_vendor", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":287 * ctypedef size_t Py_uintptr_t * * cdef inline int _mpi_type(object arg, type cls) except -1: # <<<<<<<<<<<<<< * if isinstance(arg, type): * if issubclass(arg, cls): return 1 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI__mpi_type(PyObject *__pyx_v_arg, PyTypeObject *__pyx_v_cls) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_mpi_type", 0); /* "mpi4py/MPI/MPI.pyx":288 * * cdef inline int _mpi_type(object arg, type cls) except -1: * if isinstance(arg, type): # <<<<<<<<<<<<<< * if issubclass(arg, cls): return 1 * else: */ __pyx_t_1 = PyType_Check(__pyx_v_arg); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/MPI.pyx":289 * cdef inline int _mpi_type(object arg, type cls) except -1: * if isinstance(arg, type): * if issubclass(arg, cls): return 1 # <<<<<<<<<<<<<< * else: * if isinstance(arg, cls): return 1 */ __pyx_t_2 = PyObject_IsSubclass(__pyx_v_arg, ((PyObject *)__pyx_v_cls)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(8, 289, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { __pyx_r = 1; goto __pyx_L0; } /* "mpi4py/MPI/MPI.pyx":288 * * cdef inline int _mpi_type(object arg, type cls) except -1: * if isinstance(arg, type): # <<<<<<<<<<<<<< * if issubclass(arg, cls): return 1 * else: */ goto __pyx_L3; } /* "mpi4py/MPI/MPI.pyx":291 * if issubclass(arg, cls): return 1 * else: * if isinstance(arg, cls): return 1 # <<<<<<<<<<<<<< * return 0 * */ /*else*/ { __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_v_cls); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __pyx_r = 1; goto __pyx_L0; } } __pyx_L3:; /* "mpi4py/MPI/MPI.pyx":292 * else: * if isinstance(arg, cls): return 1 * return 0 # <<<<<<<<<<<<<< * * def _sizeof(arg): */ __pyx_r = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":287 * ctypedef size_t Py_uintptr_t * * cdef inline int _mpi_type(object arg, type cls) except -1: # <<<<<<<<<<<<<< * if isinstance(arg, type): * if issubclass(arg, cls): return 1 */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI._mpi_type", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":294 * return 0 * * def _sizeof(arg): # <<<<<<<<<<<<<< * """ * Size in bytes of the underlying MPI handle */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_73_sizeof(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_72_sizeof[] = "_sizeof(arg)\n\n Size in bytes of the underlying MPI handle\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_73_sizeof = {"_sizeof", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_73_sizeof, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_72_sizeof}; static PyObject *__pyx_pw_6mpi4py_3MPI_73_sizeof(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_sizeof (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "_sizeof") < 0)) __PYX_ERR(8, 294, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_sizeof", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(8, 294, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI._sizeof", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_72_sizeof(__pyx_self, __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_72_sizeof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arg) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_sizeof", 0); /* "mpi4py/MPI/MPI.pyx":298 * Size in bytes of the underlying MPI handle * """ * if _mpi_type(arg, Status): return sizeof(MPI_Status) # <<<<<<<<<<<<<< * if _mpi_type(arg, Datatype): return sizeof(MPI_Datatype) * if _mpi_type(arg, Request): return sizeof(MPI_Request) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__mpi_type(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Status); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 298, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(MPI_Status))); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/MPI.pyx":299 * """ * if _mpi_type(arg, Status): return sizeof(MPI_Status) * if _mpi_type(arg, Datatype): return sizeof(MPI_Datatype) # <<<<<<<<<<<<<< * if _mpi_type(arg, Request): return sizeof(MPI_Request) * if _mpi_type(arg, Message): return sizeof(MPI_Message) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__mpi_type(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Datatype); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 299, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(MPI_Datatype))); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/MPI.pyx":300 * if _mpi_type(arg, Status): return sizeof(MPI_Status) * if _mpi_type(arg, Datatype): return sizeof(MPI_Datatype) * if _mpi_type(arg, Request): return sizeof(MPI_Request) # <<<<<<<<<<<<<< * if _mpi_type(arg, Message): return sizeof(MPI_Message) * if _mpi_type(arg, Op): return sizeof(MPI_Op) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__mpi_type(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Request); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 300, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(MPI_Request))); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/MPI.pyx":301 * if _mpi_type(arg, Datatype): return sizeof(MPI_Datatype) * if _mpi_type(arg, Request): return sizeof(MPI_Request) * if _mpi_type(arg, Message): return sizeof(MPI_Message) # <<<<<<<<<<<<<< * if _mpi_type(arg, Op): return sizeof(MPI_Op) * if _mpi_type(arg, Group): return sizeof(MPI_Group) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__mpi_type(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Message); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 301, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(MPI_Message))); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/MPI.pyx":302 * if _mpi_type(arg, Request): return sizeof(MPI_Request) * if _mpi_type(arg, Message): return sizeof(MPI_Message) * if _mpi_type(arg, Op): return sizeof(MPI_Op) # <<<<<<<<<<<<<< * if _mpi_type(arg, Group): return sizeof(MPI_Group) * if _mpi_type(arg, Info): return sizeof(MPI_Info) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__mpi_type(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Op); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 302, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(MPI_Op))); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/MPI.pyx":303 * if _mpi_type(arg, Message): return sizeof(MPI_Message) * if _mpi_type(arg, Op): return sizeof(MPI_Op) * if _mpi_type(arg, Group): return sizeof(MPI_Group) # <<<<<<<<<<<<<< * if _mpi_type(arg, Info): return sizeof(MPI_Info) * if _mpi_type(arg, Errhandler): return sizeof(MPI_Errhandler) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__mpi_type(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Group); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 303, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(MPI_Group))); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/MPI.pyx":304 * if _mpi_type(arg, Op): return sizeof(MPI_Op) * if _mpi_type(arg, Group): return sizeof(MPI_Group) * if _mpi_type(arg, Info): return sizeof(MPI_Info) # <<<<<<<<<<<<<< * if _mpi_type(arg, Errhandler): return sizeof(MPI_Errhandler) * if _mpi_type(arg, Comm): return sizeof(MPI_Comm) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__mpi_type(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Info); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 304, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(MPI_Info))); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/MPI.pyx":305 * if _mpi_type(arg, Group): return sizeof(MPI_Group) * if _mpi_type(arg, Info): return sizeof(MPI_Info) * if _mpi_type(arg, Errhandler): return sizeof(MPI_Errhandler) # <<<<<<<<<<<<<< * if _mpi_type(arg, Comm): return sizeof(MPI_Comm) * if _mpi_type(arg, Win): return sizeof(MPI_Win) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__mpi_type(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Errhandler); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 305, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(MPI_Errhandler))); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/MPI.pyx":306 * if _mpi_type(arg, Info): return sizeof(MPI_Info) * if _mpi_type(arg, Errhandler): return sizeof(MPI_Errhandler) * if _mpi_type(arg, Comm): return sizeof(MPI_Comm) # <<<<<<<<<<<<<< * if _mpi_type(arg, Win): return sizeof(MPI_Win) * if _mpi_type(arg, File): return sizeof(MPI_File) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__mpi_type(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Comm); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 306, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(MPI_Comm))); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/MPI.pyx":307 * if _mpi_type(arg, Errhandler): return sizeof(MPI_Errhandler) * if _mpi_type(arg, Comm): return sizeof(MPI_Comm) * if _mpi_type(arg, Win): return sizeof(MPI_Win) # <<<<<<<<<<<<<< * if _mpi_type(arg, File): return sizeof(MPI_File) * raise TypeError("expecting an MPI type or instance") */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__mpi_type(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Win); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 307, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(MPI_Win))); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/MPI.pyx":308 * if _mpi_type(arg, Comm): return sizeof(MPI_Comm) * if _mpi_type(arg, Win): return sizeof(MPI_Win) * if _mpi_type(arg, File): return sizeof(MPI_File) # <<<<<<<<<<<<<< * raise TypeError("expecting an MPI type or instance") * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI__mpi_type(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_File); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(8, 308, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(MPI_File))); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "mpi4py/MPI/MPI.pyx":309 * if _mpi_type(arg, Win): return sizeof(MPI_Win) * if _mpi_type(arg, File): return sizeof(MPI_File) * raise TypeError("expecting an MPI type or instance") # <<<<<<<<<<<<<< * * def _addressof(arg): */ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__128, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(8, 309, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":294 * return 0 * * def _sizeof(arg): # <<<<<<<<<<<<<< * """ * Size in bytes of the underlying MPI handle */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI._sizeof", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":311 * raise TypeError("expecting an MPI type or instance") * * def _addressof(arg): # <<<<<<<<<<<<<< * """ * Memory address of the underlying MPI handle */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_75_addressof(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_74_addressof[] = "_addressof(arg)\n\n Memory address of the underlying MPI handle\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_75_addressof = {"_addressof", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_75_addressof, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_74_addressof}; static PyObject *__pyx_pw_6mpi4py_3MPI_75_addressof(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_addressof (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "_addressof") < 0)) __PYX_ERR(8, 311, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_addressof", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(8, 311, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI._addressof", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_74_addressof(__pyx_self, __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_74_addressof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arg) { void *__pyx_v_ptr; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_addressof", 0); /* "mpi4py/MPI/MPI.pyx":315 * Memory address of the underlying MPI handle * """ * cdef void *ptr = NULL # <<<<<<<<<<<<<< * if isinstance(arg, Status): * ptr = &(arg).ob_mpi */ __pyx_v_ptr = NULL; /* "mpi4py/MPI/MPI.pyx":316 * """ * cdef void *ptr = NULL * if isinstance(arg, Status): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Datatype): */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Status); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/MPI.pyx":317 * cdef void *ptr = NULL * if isinstance(arg, Status): * ptr = &(arg).ob_mpi # <<<<<<<<<<<<<< * elif isinstance(arg, Datatype): * ptr = &(arg).ob_mpi */ __pyx_v_ptr = ((void *)(&((struct PyMPIStatusObject *)__pyx_v_arg)->ob_mpi)); /* "mpi4py/MPI/MPI.pyx":316 * """ * cdef void *ptr = NULL * if isinstance(arg, Status): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Datatype): */ goto __pyx_L3; } /* "mpi4py/MPI/MPI.pyx":318 * if isinstance(arg, Status): * ptr = &(arg).ob_mpi * elif isinstance(arg, Datatype): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Request): */ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Datatype); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/MPI.pyx":319 * ptr = &(arg).ob_mpi * elif isinstance(arg, Datatype): * ptr = &(arg).ob_mpi # <<<<<<<<<<<<<< * elif isinstance(arg, Request): * ptr = &(arg).ob_mpi */ __pyx_v_ptr = ((void *)(&((struct PyMPIDatatypeObject *)__pyx_v_arg)->ob_mpi)); /* "mpi4py/MPI/MPI.pyx":318 * if isinstance(arg, Status): * ptr = &(arg).ob_mpi * elif isinstance(arg, Datatype): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Request): */ goto __pyx_L3; } /* "mpi4py/MPI/MPI.pyx":320 * elif isinstance(arg, Datatype): * ptr = &(arg).ob_mpi * elif isinstance(arg, Request): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Message): */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Request); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/MPI.pyx":321 * ptr = &(arg).ob_mpi * elif isinstance(arg, Request): * ptr = &(arg).ob_mpi # <<<<<<<<<<<<<< * elif isinstance(arg, Message): * ptr = &(arg).ob_mpi */ __pyx_v_ptr = ((void *)(&((struct PyMPIRequestObject *)__pyx_v_arg)->ob_mpi)); /* "mpi4py/MPI/MPI.pyx":320 * elif isinstance(arg, Datatype): * ptr = &(arg).ob_mpi * elif isinstance(arg, Request): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Message): */ goto __pyx_L3; } /* "mpi4py/MPI/MPI.pyx":322 * elif isinstance(arg, Request): * ptr = &(arg).ob_mpi * elif isinstance(arg, Message): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Op): */ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Message); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/MPI.pyx":323 * ptr = &(arg).ob_mpi * elif isinstance(arg, Message): * ptr = &(arg).ob_mpi # <<<<<<<<<<<<<< * elif isinstance(arg, Op): * ptr = &(arg).ob_mpi */ __pyx_v_ptr = ((void *)(&((struct PyMPIMessageObject *)__pyx_v_arg)->ob_mpi)); /* "mpi4py/MPI/MPI.pyx":322 * elif isinstance(arg, Request): * ptr = &(arg).ob_mpi * elif isinstance(arg, Message): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Op): */ goto __pyx_L3; } /* "mpi4py/MPI/MPI.pyx":324 * elif isinstance(arg, Message): * ptr = &(arg).ob_mpi * elif isinstance(arg, Op): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Group): */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Op); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/MPI.pyx":325 * ptr = &(arg).ob_mpi * elif isinstance(arg, Op): * ptr = &(arg).ob_mpi # <<<<<<<<<<<<<< * elif isinstance(arg, Group): * ptr = &(arg).ob_mpi */ __pyx_v_ptr = ((void *)(&((struct PyMPIOpObject *)__pyx_v_arg)->ob_mpi)); /* "mpi4py/MPI/MPI.pyx":324 * elif isinstance(arg, Message): * ptr = &(arg).ob_mpi * elif isinstance(arg, Op): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Group): */ goto __pyx_L3; } /* "mpi4py/MPI/MPI.pyx":326 * elif isinstance(arg, Op): * ptr = &(arg).ob_mpi * elif isinstance(arg, Group): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Info): */ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Group); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/MPI.pyx":327 * ptr = &(arg).ob_mpi * elif isinstance(arg, Group): * ptr = &(arg).ob_mpi # <<<<<<<<<<<<<< * elif isinstance(arg, Info): * ptr = &(arg).ob_mpi */ __pyx_v_ptr = ((void *)(&((struct PyMPIGroupObject *)__pyx_v_arg)->ob_mpi)); /* "mpi4py/MPI/MPI.pyx":326 * elif isinstance(arg, Op): * ptr = &(arg).ob_mpi * elif isinstance(arg, Group): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Info): */ goto __pyx_L3; } /* "mpi4py/MPI/MPI.pyx":328 * elif isinstance(arg, Group): * ptr = &(arg).ob_mpi * elif isinstance(arg, Info): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Errhandler): */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Info); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/MPI.pyx":329 * ptr = &(arg).ob_mpi * elif isinstance(arg, Info): * ptr = &(arg).ob_mpi # <<<<<<<<<<<<<< * elif isinstance(arg, Errhandler): * ptr = &(arg).ob_mpi */ __pyx_v_ptr = ((void *)(&((struct PyMPIInfoObject *)__pyx_v_arg)->ob_mpi)); /* "mpi4py/MPI/MPI.pyx":328 * elif isinstance(arg, Group): * ptr = &(arg).ob_mpi * elif isinstance(arg, Info): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Errhandler): */ goto __pyx_L3; } /* "mpi4py/MPI/MPI.pyx":330 * elif isinstance(arg, Info): * ptr = &(arg).ob_mpi * elif isinstance(arg, Errhandler): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Comm): */ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Errhandler); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/MPI.pyx":331 * ptr = &(arg).ob_mpi * elif isinstance(arg, Errhandler): * ptr = &(arg).ob_mpi # <<<<<<<<<<<<<< * elif isinstance(arg, Comm): * ptr = &(arg).ob_mpi */ __pyx_v_ptr = ((void *)(&((struct PyMPIErrhandlerObject *)__pyx_v_arg)->ob_mpi)); /* "mpi4py/MPI/MPI.pyx":330 * elif isinstance(arg, Info): * ptr = &(arg).ob_mpi * elif isinstance(arg, Errhandler): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Comm): */ goto __pyx_L3; } /* "mpi4py/MPI/MPI.pyx":332 * elif isinstance(arg, Errhandler): * ptr = &(arg).ob_mpi * elif isinstance(arg, Comm): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Win): */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Comm); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/MPI.pyx":333 * ptr = &(arg).ob_mpi * elif isinstance(arg, Comm): * ptr = &(arg).ob_mpi # <<<<<<<<<<<<<< * elif isinstance(arg, Win): * ptr = &(arg).ob_mpi */ __pyx_v_ptr = ((void *)(&((struct PyMPICommObject *)__pyx_v_arg)->ob_mpi)); /* "mpi4py/MPI/MPI.pyx":332 * elif isinstance(arg, Errhandler): * ptr = &(arg).ob_mpi * elif isinstance(arg, Comm): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Win): */ goto __pyx_L3; } /* "mpi4py/MPI/MPI.pyx":334 * elif isinstance(arg, Comm): * ptr = &(arg).ob_mpi * elif isinstance(arg, Win): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, File): */ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Win); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/MPI.pyx":335 * ptr = &(arg).ob_mpi * elif isinstance(arg, Win): * ptr = &(arg).ob_mpi # <<<<<<<<<<<<<< * elif isinstance(arg, File): * ptr = &(arg).ob_mpi */ __pyx_v_ptr = ((void *)(&((struct PyMPIWinObject *)__pyx_v_arg)->ob_mpi)); /* "mpi4py/MPI/MPI.pyx":334 * elif isinstance(arg, Comm): * ptr = &(arg).ob_mpi * elif isinstance(arg, Win): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, File): */ goto __pyx_L3; } /* "mpi4py/MPI/MPI.pyx":336 * elif isinstance(arg, Win): * ptr = &(arg).ob_mpi * elif isinstance(arg, File): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * else: */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_File); __pyx_t_2 = (__pyx_t_1 != 0); if (likely(__pyx_t_2)) { /* "mpi4py/MPI/MPI.pyx":337 * ptr = &(arg).ob_mpi * elif isinstance(arg, File): * ptr = &(arg).ob_mpi # <<<<<<<<<<<<<< * else: * raise TypeError("expecting an MPI instance") */ __pyx_v_ptr = ((void *)(&((struct PyMPIFileObject *)__pyx_v_arg)->ob_mpi)); /* "mpi4py/MPI/MPI.pyx":336 * elif isinstance(arg, Win): * ptr = &(arg).ob_mpi * elif isinstance(arg, File): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * else: */ goto __pyx_L3; } /* "mpi4py/MPI/MPI.pyx":339 * ptr = &(arg).ob_mpi * else: * raise TypeError("expecting an MPI instance") # <<<<<<<<<<<<<< * return PyLong_FromVoidPtr(ptr) * */ /*else*/ { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__129, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(8, 339, __pyx_L1_error) } __pyx_L3:; /* "mpi4py/MPI/MPI.pyx":340 * else: * raise TypeError("expecting an MPI instance") * return PyLong_FromVoidPtr(ptr) # <<<<<<<<<<<<<< * * def _handleof(arg): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyLong_FromVoidPtr(__pyx_v_ptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":311 * raise TypeError("expecting an MPI type or instance") * * def _addressof(arg): # <<<<<<<<<<<<<< * """ * Memory address of the underlying MPI handle */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI._addressof", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "mpi4py/MPI/MPI.pyx":342 * return PyLong_FromVoidPtr(ptr) * * def _handleof(arg): # <<<<<<<<<<<<<< * """ * Unsigned integer value with the underlying MPI handle */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_77_handleof(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_76_handleof[] = "_handleof(arg)\n\n Unsigned integer value with the underlying MPI handle\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_77_handleof = {"_handleof", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_77_handleof, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_76_handleof}; static PyObject *__pyx_pw_6mpi4py_3MPI_77_handleof(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_handleof (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,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_arg)) != 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, "_handleof") < 0)) __PYX_ERR(8, 342, __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_arg = values[0]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_handleof", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(8, 342, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI._handleof", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_76_handleof(__pyx_self, __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_76_handleof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arg) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_handleof", 0); /* "mpi4py/MPI/MPI.pyx":346 * Unsigned integer value with the underlying MPI handle * """ * if isinstance(arg, Status): # <<<<<<<<<<<<<< * raise NotImplementedError * elif isinstance(arg, Datatype): */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Status); __pyx_t_2 = (__pyx_t_1 != 0); if (unlikely(__pyx_t_2)) { /* "mpi4py/MPI/MPI.pyx":347 * """ * if isinstance(arg, Status): * raise NotImplementedError # <<<<<<<<<<<<<< * elif isinstance(arg, Datatype): * return ((arg).ob_mpi) */ __Pyx_Raise(__pyx_builtin_NotImplementedError, 0, 0, 0); __PYX_ERR(8, 347, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":346 * Unsigned integer value with the underlying MPI handle * """ * if isinstance(arg, Status): # <<<<<<<<<<<<<< * raise NotImplementedError * elif isinstance(arg, Datatype): */ } /* "mpi4py/MPI/MPI.pyx":348 * if isinstance(arg, Status): * raise NotImplementedError * elif isinstance(arg, Datatype): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Request): */ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Datatype); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/MPI.pyx":349 * raise NotImplementedError * elif isinstance(arg, Datatype): * return ((arg).ob_mpi) # <<<<<<<<<<<<<< * elif isinstance(arg, Request): * return ((arg).ob_mpi) */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)((struct PyMPIDatatypeObject *)__pyx_v_arg)->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":348 * if isinstance(arg, Status): * raise NotImplementedError * elif isinstance(arg, Datatype): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Request): */ } /* "mpi4py/MPI/MPI.pyx":350 * elif isinstance(arg, Datatype): * return ((arg).ob_mpi) * elif isinstance(arg, Request): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Message): */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Request); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/MPI.pyx":351 * return ((arg).ob_mpi) * elif isinstance(arg, Request): * return ((arg).ob_mpi) # <<<<<<<<<<<<<< * elif isinstance(arg, Message): * return ((arg).ob_mpi) */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)((struct PyMPIRequestObject *)__pyx_v_arg)->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":350 * elif isinstance(arg, Datatype): * return ((arg).ob_mpi) * elif isinstance(arg, Request): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Message): */ } /* "mpi4py/MPI/MPI.pyx":352 * elif isinstance(arg, Request): * return ((arg).ob_mpi) * elif isinstance(arg, Message): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Op): */ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Message); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/MPI.pyx":353 * return ((arg).ob_mpi) * elif isinstance(arg, Message): * return ((arg).ob_mpi) # <<<<<<<<<<<<<< * elif isinstance(arg, Op): * return ((arg).ob_mpi) */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)((struct PyMPIMessageObject *)__pyx_v_arg)->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 353, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":352 * elif isinstance(arg, Request): * return ((arg).ob_mpi) * elif isinstance(arg, Message): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Op): */ } /* "mpi4py/MPI/MPI.pyx":354 * elif isinstance(arg, Message): * return ((arg).ob_mpi) * elif isinstance(arg, Op): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Group): */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Op); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/MPI.pyx":355 * return ((arg).ob_mpi) * elif isinstance(arg, Op): * return ((arg).ob_mpi) # <<<<<<<<<<<<<< * elif isinstance(arg, Group): * return ((arg).ob_mpi) */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)((struct PyMPIOpObject *)__pyx_v_arg)->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 355, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":354 * elif isinstance(arg, Message): * return ((arg).ob_mpi) * elif isinstance(arg, Op): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Group): */ } /* "mpi4py/MPI/MPI.pyx":356 * elif isinstance(arg, Op): * return ((arg).ob_mpi) * elif isinstance(arg, Group): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Info): */ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Group); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/MPI.pyx":357 * return ((arg).ob_mpi) * elif isinstance(arg, Group): * return ((arg).ob_mpi) # <<<<<<<<<<<<<< * elif isinstance(arg, Info): * return ((arg).ob_mpi) */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)((struct PyMPIGroupObject *)__pyx_v_arg)->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":356 * elif isinstance(arg, Op): * return ((arg).ob_mpi) * elif isinstance(arg, Group): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Info): */ } /* "mpi4py/MPI/MPI.pyx":358 * elif isinstance(arg, Group): * return ((arg).ob_mpi) * elif isinstance(arg, Info): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Errhandler): */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Info); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/MPI.pyx":359 * return ((arg).ob_mpi) * elif isinstance(arg, Info): * return ((arg).ob_mpi) # <<<<<<<<<<<<<< * elif isinstance(arg, Errhandler): * return ((arg).ob_mpi) */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)((struct PyMPIInfoObject *)__pyx_v_arg)->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":358 * elif isinstance(arg, Group): * return ((arg).ob_mpi) * elif isinstance(arg, Info): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Errhandler): */ } /* "mpi4py/MPI/MPI.pyx":360 * elif isinstance(arg, Info): * return ((arg).ob_mpi) * elif isinstance(arg, Errhandler): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Comm): */ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Errhandler); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/MPI.pyx":361 * return ((arg).ob_mpi) * elif isinstance(arg, Errhandler): * return ((arg).ob_mpi) # <<<<<<<<<<<<<< * elif isinstance(arg, Comm): * return ((arg).ob_mpi) */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)((struct PyMPIErrhandlerObject *)__pyx_v_arg)->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 361, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":360 * elif isinstance(arg, Info): * return ((arg).ob_mpi) * elif isinstance(arg, Errhandler): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Comm): */ } /* "mpi4py/MPI/MPI.pyx":362 * elif isinstance(arg, Errhandler): * return ((arg).ob_mpi) * elif isinstance(arg, Comm): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Win): */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Comm); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "mpi4py/MPI/MPI.pyx":363 * return ((arg).ob_mpi) * elif isinstance(arg, Comm): * return ((arg).ob_mpi) # <<<<<<<<<<<<<< * elif isinstance(arg, Win): * return ((arg).ob_mpi) */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)((struct PyMPICommObject *)__pyx_v_arg)->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":362 * elif isinstance(arg, Errhandler): * return ((arg).ob_mpi) * elif isinstance(arg, Comm): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Win): */ } /* "mpi4py/MPI/MPI.pyx":364 * elif isinstance(arg, Comm): * return ((arg).ob_mpi) * elif isinstance(arg, Win): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, File): */ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_Win); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "mpi4py/MPI/MPI.pyx":365 * return ((arg).ob_mpi) * elif isinstance(arg, Win): * return ((arg).ob_mpi) # <<<<<<<<<<<<<< * elif isinstance(arg, File): * return ((arg).ob_mpi) */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)((struct PyMPIWinObject *)__pyx_v_arg)->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 365, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":364 * elif isinstance(arg, Comm): * return ((arg).ob_mpi) * elif isinstance(arg, Win): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, File): */ } /* "mpi4py/MPI/MPI.pyx":366 * elif isinstance(arg, Win): * return ((arg).ob_mpi) * elif isinstance(arg, File): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * else: */ __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_6mpi4py_3MPI_File); __pyx_t_2 = (__pyx_t_1 != 0); if (likely(__pyx_t_2)) { /* "mpi4py/MPI/MPI.pyx":367 * return ((arg).ob_mpi) * elif isinstance(arg, File): * return ((arg).ob_mpi) # <<<<<<<<<<<<<< * else: * raise TypeError("expecting an MPI instance") */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_FromSize_t(((Py_uintptr_t)((struct PyMPIFileObject *)__pyx_v_arg)->ob_mpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "mpi4py/MPI/MPI.pyx":366 * elif isinstance(arg, Win): * return ((arg).ob_mpi) * elif isinstance(arg, File): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * else: */ } /* "mpi4py/MPI/MPI.pyx":369 * return ((arg).ob_mpi) * else: * raise TypeError("expecting an MPI instance") # <<<<<<<<<<<<<< * * # -------------------------------------------------------------------- */ /*else*/ { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__129, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(8, 369, __pyx_L1_error) } /* "mpi4py/MPI/MPI.pyx":342 * return PyLong_FromVoidPtr(ptr) * * def _handleof(arg): # <<<<<<<<<<<<<< * """ * Unsigned integer value with the underlying MPI handle */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI._handleof", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_tp_new_6mpi4py_3MPI_Status(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_6mpi4py_3MPI_6Status_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI_Status(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 PyObject *__pyx_getprop_6mpi4py_3MPI_6Status_source(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_6Status_6source_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_6Status_source(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_6Status_6source_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyObject *__pyx_getprop_6mpi4py_3MPI_6Status_tag(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_6Status_3tag_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_6Status_tag(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_6Status_3tag_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyObject *__pyx_getprop_6mpi4py_3MPI_6Status_error(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_6Status_5error_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_6Status_error(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_6Status_5error_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyObject *__pyx_getprop_6mpi4py_3MPI_6Status_count(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_6Status_5count_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_6Status_cancelled(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_6Status_9cancelled_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_6Status_cancelled(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_6Status_9cancelled_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Status[] = { {"Get_source", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_5Get_source, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_4Get_source}, {"Set_source", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_7Set_source, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_6Set_source}, {"Get_tag", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_9Get_tag, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_8Get_tag}, {"Set_tag", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_11Set_tag, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_10Set_tag}, {"Get_error", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_13Get_error, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_12Get_error}, {"Set_error", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_15Set_error, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_14Set_error}, {"Get_count", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_17Get_count, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_16Get_count}, {"Get_elements", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_19Get_elements, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_18Get_elements}, {"Set_elements", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_21Set_elements, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_20Set_elements}, {"Is_cancelled", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_23Is_cancelled, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_22Is_cancelled}, {"Set_cancelled", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_25Set_cancelled, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_24Set_cancelled}, {"py2f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_27py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_26py2f}, {"f2py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Status_29f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_28f2py}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_Status[] = { {(char *)"source", __pyx_getprop_6mpi4py_3MPI_6Status_source, __pyx_setprop_6mpi4py_3MPI_6Status_source, (char *)"source", 0}, {(char *)"tag", __pyx_getprop_6mpi4py_3MPI_6Status_tag, __pyx_setprop_6mpi4py_3MPI_6Status_tag, (char *)"tag", 0}, {(char *)"error", __pyx_getprop_6mpi4py_3MPI_6Status_error, __pyx_setprop_6mpi4py_3MPI_6Status_error, (char *)"error", 0}, {(char *)"count", __pyx_getprop_6mpi4py_3MPI_6Status_count, 0, (char *)"byte count", 0}, {(char *)"cancelled", __pyx_getprop_6mpi4py_3MPI_6Status_cancelled, __pyx_setprop_6mpi4py_3MPI_6Status_cancelled, (char *)"\n cancelled state\n ", 0}, {0, 0, 0, 0, 0} }; DL_EXPORT(PyTypeObject) PyMPIStatus_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Status", /*tp_name*/ sizeof(struct PyMPIStatusObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Status, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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 Status\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ __pyx_pw_6mpi4py_3MPI_6Status_3__richcmp__, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Status, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_Status, /*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_6mpi4py_3MPI_Status, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ 0, /*tp_mro*/ 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ 0, /*tp_del*/ 0, /*tp_version_tag*/ #if PY_VERSION_HEX >= 0x030400a1 0, /*tp_finalize*/ #endif #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Datatype(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_6mpi4py_3MPI_8Datatype_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI_Datatype(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); __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); __pyx_pw_6mpi4py_3MPI_8Datatype_3__dealloc__(o); __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_size(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_4size_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_extent(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_6extent_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_lb(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_2lb_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_ub(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_2ub_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_true_extent(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_11true_extent_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_true_lb(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_7true_lb_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_true_ub(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_7true_ub_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_envelope(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_8envelope_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_contents(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_8contents_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_combiner(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_8combiner_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_is_named(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_8is_named_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_is_predefined(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_13is_predefined_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Datatype_name(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Datatype_4name_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_8Datatype_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_8Datatype_4name_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Datatype[] = { {"Get_size", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_9Get_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_8Get_size}, {"Get_extent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_11Get_extent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_10Get_extent}, {"Dup", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_13Dup, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_12Dup}, {"Create_contiguous", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_15Create_contiguous, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_14Create_contiguous}, {"Create_vector", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_17Create_vector, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_16Create_vector}, {"Create_hvector", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_19Create_hvector, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_18Create_hvector}, {"Create_indexed", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_21Create_indexed, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_20Create_indexed}, {"Create_hindexed", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_23Create_hindexed, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_22Create_hindexed}, {"Create_indexed_block", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_25Create_indexed_block, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_24Create_indexed_block}, {"Create_hindexed_block", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_27Create_hindexed_block, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_26Create_hindexed_block}, {"Create_struct", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_29Create_struct, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_28Create_struct}, {"Create_subarray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_31Create_subarray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_30Create_subarray}, {"Create_darray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_33Create_darray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_32Create_darray}, {"Create_f90_integer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_35Create_f90_integer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_34Create_f90_integer}, {"Create_f90_real", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_37Create_f90_real, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_36Create_f90_real}, {"Create_f90_complex", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_39Create_f90_complex, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_38Create_f90_complex}, {"Match_size", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_41Match_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_40Match_size}, {"Commit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_43Commit, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_42Commit}, {"Free", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_45Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_44Free}, {"Create_resized", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_47Create_resized, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_46Create_resized}, {"Get_true_extent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_49Get_true_extent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_48Get_true_extent}, {"Get_envelope", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_51Get_envelope, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_50Get_envelope}, {"Get_contents", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_53Get_contents, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_52Get_contents}, {"decode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_55decode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_54decode}, {"Pack", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_57Pack, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_56Pack}, {"Unpack", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_59Unpack, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_58Unpack}, {"Pack_size", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_61Pack_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_60Pack_size}, {"Pack_external", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_63Pack_external, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_62Pack_external}, {"Unpack_external", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_65Unpack_external, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_64Unpack_external}, {"Pack_external_size", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_67Pack_external_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_66Pack_external_size}, {"Get_attr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_69Get_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_68Get_attr}, {"Set_attr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_71Set_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_70Set_attr}, {"Delete_attr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_73Delete_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_72Delete_attr}, {"Create_keyval", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_75Create_keyval, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_74Create_keyval}, {"Free_keyval", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_77Free_keyval, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_76Free_keyval}, {"Get_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_79Get_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_78Get_name}, {"Set_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_81Set_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_80Set_name}, {"py2f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_83py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_82py2f}, {"f2py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Datatype_85f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_84f2py}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_Datatype[] = { {(char *)"size", __pyx_getprop_6mpi4py_3MPI_8Datatype_size, 0, (char *)"size (in bytes)", 0}, {(char *)"extent", __pyx_getprop_6mpi4py_3MPI_8Datatype_extent, 0, (char *)"extent", 0}, {(char *)"lb", __pyx_getprop_6mpi4py_3MPI_8Datatype_lb, 0, (char *)"lower bound", 0}, {(char *)"ub", __pyx_getprop_6mpi4py_3MPI_8Datatype_ub, 0, (char *)"upper bound", 0}, {(char *)"true_extent", __pyx_getprop_6mpi4py_3MPI_8Datatype_true_extent, 0, (char *)"true extent", 0}, {(char *)"true_lb", __pyx_getprop_6mpi4py_3MPI_8Datatype_true_lb, 0, (char *)"true lower bound", 0}, {(char *)"true_ub", __pyx_getprop_6mpi4py_3MPI_8Datatype_true_ub, 0, (char *)"true upper bound", 0}, {(char *)"envelope", __pyx_getprop_6mpi4py_3MPI_8Datatype_envelope, 0, (char *)"datatype envelope", 0}, {(char *)"contents", __pyx_getprop_6mpi4py_3MPI_8Datatype_contents, 0, (char *)"datatype contents", 0}, {(char *)"combiner", __pyx_getprop_6mpi4py_3MPI_8Datatype_combiner, 0, (char *)"datatype combiner", 0}, {(char *)"is_named", __pyx_getprop_6mpi4py_3MPI_8Datatype_is_named, 0, (char *)"is a named datatype", 0}, {(char *)"is_predefined", __pyx_getprop_6mpi4py_3MPI_8Datatype_is_predefined, 0, (char *)"is a predefined datatype", 0}, {(char *)"name", __pyx_getprop_6mpi4py_3MPI_8Datatype_name, __pyx_setprop_6mpi4py_3MPI_8Datatype_name, (char *)"datatype name", 0}, {0, 0, 0, 0, 0} }; static PyNumberMethods __pyx_tp_as_number_Datatype = { 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_divide*/ #endif 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ 0, /*nb_negative*/ 0, /*nb_positive*/ 0, /*nb_absolute*/ __pyx_pw_6mpi4py_3MPI_8Datatype_7__bool__, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_coerce*/ #endif 0, /*nb_int*/ #if PY_MAJOR_VERSION < 3 0, /*nb_long*/ #else 0, /*reserved*/ #endif 0, /*nb_float*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_hex*/ #endif 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_inplace_divide*/ #endif 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ 0, /*nb_inplace_rshift*/ 0, /*nb_inplace_and*/ 0, /*nb_inplace_xor*/ 0, /*nb_inplace_or*/ 0, /*nb_floor_divide*/ 0, /*nb_true_divide*/ 0, /*nb_inplace_floor_divide*/ 0, /*nb_inplace_true_divide*/ 0, /*nb_index*/ #if PY_VERSION_HEX >= 0x03050000 0, /*nb_matrix_multiply*/ #endif #if PY_VERSION_HEX >= 0x03050000 0, /*nb_inplace_matrix_multiply*/ #endif }; DL_EXPORT(PyTypeObject) PyMPIDatatype_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Datatype", /*tp_name*/ sizeof(struct PyMPIDatatypeObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Datatype, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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*/ &__pyx_tp_as_number_Datatype, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*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 Datatype\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ __pyx_pw_6mpi4py_3MPI_8Datatype_5__richcmp__, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Datatype, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_Datatype, /*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_6mpi4py_3MPI_Datatype, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Request(PyTypeObject *t, PyObject *a, PyObject *k) { struct PyMPIRequestObject *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 PyMPIRequestObject *)o); p->ob_buf = Py_None; Py_INCREF(Py_None); if (unlikely(__pyx_pw_6mpi4py_3MPI_7Request_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI_Request(PyObject *o) { struct PyMPIRequestObject *p = (struct PyMPIRequestObject *)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); __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); __pyx_pw_6mpi4py_3MPI_7Request_3__dealloc__(o); __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); PyErr_Restore(etype, eval, etb); } Py_CLEAR(p->ob_buf); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI_Request(PyObject *o, visitproc v, void *a) { int e; struct PyMPIRequestObject *p = (struct PyMPIRequestObject *)o; if (p->ob_buf) { e = (*v)(p->ob_buf, a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI_Request(PyObject *o) { PyObject* tmp; struct PyMPIRequestObject *p = (struct PyMPIRequestObject *)o; tmp = ((PyObject*)p->ob_buf); p->ob_buf = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Request[] = { {"Wait", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_9Wait, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_8Wait}, {"Test", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_11Test, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_10Test}, {"Free", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_13Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_12Free}, {"Get_status", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_15Get_status, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_14Get_status}, {"Waitany", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_17Waitany, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_16Waitany}, {"Testany", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_19Testany, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_18Testany}, {"Waitall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_21Waitall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_20Waitall}, {"Testall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_23Testall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_22Testall}, {"Waitsome", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_25Waitsome, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_24Waitsome}, {"Testsome", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_27Testsome, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_26Testsome}, {"Cancel", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_29Cancel, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_28Cancel}, {"py2f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_31py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_30py2f}, {"f2py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_33f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_32f2py}, {"wait", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_35wait, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_34wait}, {"test", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_37test, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_36test}, {"waitany", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_39waitany, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_38waitany}, {"testany", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_41testany, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_40testany}, {"waitall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_43waitall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_42waitall}, {"testall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Request_45testall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_44testall}, {0, 0, 0, 0} }; static PyNumberMethods __pyx_tp_as_number_Request = { 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_divide*/ #endif 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ 0, /*nb_negative*/ 0, /*nb_positive*/ 0, /*nb_absolute*/ __pyx_pw_6mpi4py_3MPI_7Request_7__bool__, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_coerce*/ #endif 0, /*nb_int*/ #if PY_MAJOR_VERSION < 3 0, /*nb_long*/ #else 0, /*reserved*/ #endif 0, /*nb_float*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_hex*/ #endif 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_inplace_divide*/ #endif 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ 0, /*nb_inplace_rshift*/ 0, /*nb_inplace_and*/ 0, /*nb_inplace_xor*/ 0, /*nb_inplace_or*/ 0, /*nb_floor_divide*/ 0, /*nb_true_divide*/ 0, /*nb_inplace_floor_divide*/ 0, /*nb_inplace_true_divide*/ 0, /*nb_index*/ #if PY_VERSION_HEX >= 0x03050000 0, /*nb_matrix_multiply*/ #endif #if PY_VERSION_HEX >= 0x03050000 0, /*nb_inplace_matrix_multiply*/ #endif }; DL_EXPORT(PyTypeObject) PyMPIRequest_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Request", /*tp_name*/ sizeof(struct PyMPIRequestObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Request, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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*/ &__pyx_tp_as_number_Request, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*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 Request\n ", /*tp_doc*/ __pyx_tp_traverse_6mpi4py_3MPI_Request, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI_Request, /*tp_clear*/ __pyx_pw_6mpi4py_3MPI_7Request_5__richcmp__, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Request, /*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_6mpi4py_3MPI_Request, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Prequest(PyTypeObject *t, PyObject *a, PyObject *k) { PyObject *o = __pyx_tp_new_6mpi4py_3MPI_Request(t, a, k); if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_6mpi4py_3MPI_8Prequest_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Prequest[] = { {"Start", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Prequest_3Start, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Prequest_2Start}, {"Startall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Prequest_5Startall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Prequest_4Startall}, {0, 0, 0, 0} }; DL_EXPORT(PyTypeObject) PyMPIPrequest_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Prequest", /*tp_name*/ sizeof(struct PyMPIPrequestObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Request, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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 Persistent request\n ", /*tp_doc*/ __pyx_tp_traverse_6mpi4py_3MPI_Request, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI_Request, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Prequest, /*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_6mpi4py_3MPI_Prequest, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Grequest(PyTypeObject *t, PyObject *a, PyObject *k) { PyObject *o = __pyx_tp_new_6mpi4py_3MPI_Request(t, a, k); if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_6mpi4py_3MPI_8Grequest_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Grequest[] = { {"Start", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Grequest_3Start, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Grequest_2Start}, {"Complete", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Grequest_5Complete, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Grequest_4Complete}, {0, 0, 0, 0} }; DL_EXPORT(PyTypeObject) PyMPIGrequest_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Grequest", /*tp_name*/ sizeof(struct PyMPIGrequestObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Request, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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 Generalized request\n ", /*tp_doc*/ __pyx_tp_traverse_6mpi4py_3MPI_Request, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI_Request, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Grequest, /*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_6mpi4py_3MPI_Grequest, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Message(PyTypeObject *t, PyObject *a, PyObject *k) { struct PyMPIMessageObject *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 PyMPIMessageObject *)o); p->ob_buf = Py_None; Py_INCREF(Py_None); if (unlikely(__pyx_pw_6mpi4py_3MPI_7Message_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI_Message(PyObject *o) { struct PyMPIMessageObject *p = (struct PyMPIMessageObject *)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); __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); __pyx_pw_6mpi4py_3MPI_7Message_3__dealloc__(o); __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); PyErr_Restore(etype, eval, etb); } Py_CLEAR(p->ob_buf); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI_Message(PyObject *o, visitproc v, void *a) { int e; struct PyMPIMessageObject *p = (struct PyMPIMessageObject *)o; if (p->ob_buf) { e = (*v)(p->ob_buf, a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI_Message(PyObject *o) { PyObject* tmp; struct PyMPIMessageObject *p = (struct PyMPIMessageObject *)o; tmp = ((PyObject*)p->ob_buf); p->ob_buf = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Message[] = { {"Probe", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Message_9Probe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_8Probe}, {"Iprobe", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Message_11Iprobe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_10Iprobe}, {"Recv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Message_13Recv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_12Recv}, {"Irecv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Message_15Irecv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_14Irecv}, {"probe", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Message_17probe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_16probe}, {"iprobe", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Message_19iprobe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_18iprobe}, {"recv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Message_21recv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_20recv}, {"irecv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Message_23irecv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_22irecv}, {"py2f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Message_25py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_24py2f}, {"f2py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_7Message_27f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_26f2py}, {0, 0, 0, 0} }; static PyNumberMethods __pyx_tp_as_number_Message = { 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_divide*/ #endif 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ 0, /*nb_negative*/ 0, /*nb_positive*/ 0, /*nb_absolute*/ __pyx_pw_6mpi4py_3MPI_7Message_7__bool__, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_coerce*/ #endif 0, /*nb_int*/ #if PY_MAJOR_VERSION < 3 0, /*nb_long*/ #else 0, /*reserved*/ #endif 0, /*nb_float*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_hex*/ #endif 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_inplace_divide*/ #endif 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ 0, /*nb_inplace_rshift*/ 0, /*nb_inplace_and*/ 0, /*nb_inplace_xor*/ 0, /*nb_inplace_or*/ 0, /*nb_floor_divide*/ 0, /*nb_true_divide*/ 0, /*nb_inplace_floor_divide*/ 0, /*nb_inplace_true_divide*/ 0, /*nb_index*/ #if PY_VERSION_HEX >= 0x03050000 0, /*nb_matrix_multiply*/ #endif #if PY_VERSION_HEX >= 0x03050000 0, /*nb_inplace_matrix_multiply*/ #endif }; DL_EXPORT(PyTypeObject) PyMPIMessage_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Message", /*tp_name*/ sizeof(struct PyMPIMessageObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Message, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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*/ &__pyx_tp_as_number_Message, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*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 Message\n ", /*tp_doc*/ __pyx_tp_traverse_6mpi4py_3MPI_Message, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI_Message, /*tp_clear*/ __pyx_pw_6mpi4py_3MPI_7Message_5__richcmp__, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Message, /*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_6mpi4py_3MPI_Message, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Op(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_6mpi4py_3MPI_2Op_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI_Op(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); __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); __pyx_pw_6mpi4py_3MPI_2Op_3__dealloc__(o); __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_2Op_is_commutative(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_2Op_14is_commutative_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_2Op_is_predefined(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_2Op_13is_predefined_1__get__(o); } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Op[] = { {"Create", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_2Op_11Create, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2Op_10Create}, {"Free", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_2Op_13Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2Op_12Free}, {"Is_commutative", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_2Op_15Is_commutative, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2Op_14Is_commutative}, {"Reduce_local", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_2Op_17Reduce_local, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2Op_16Reduce_local}, {"py2f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_2Op_19py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2Op_18py2f}, {"f2py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_2Op_21f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2Op_20f2py}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_Op[] = { {(char *)"is_commutative", __pyx_getprop_6mpi4py_3MPI_2Op_is_commutative, 0, (char *)"is commutative", 0}, {(char *)"is_predefined", __pyx_getprop_6mpi4py_3MPI_2Op_is_predefined, 0, (char *)"is a predefined operation", 0}, {0, 0, 0, 0, 0} }; static PyNumberMethods __pyx_tp_as_number_Op = { 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_divide*/ #endif 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ 0, /*nb_negative*/ 0, /*nb_positive*/ 0, /*nb_absolute*/ __pyx_pw_6mpi4py_3MPI_2Op_7__bool__, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_coerce*/ #endif 0, /*nb_int*/ #if PY_MAJOR_VERSION < 3 0, /*nb_long*/ #else 0, /*reserved*/ #endif 0, /*nb_float*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_hex*/ #endif 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_inplace_divide*/ #endif 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ 0, /*nb_inplace_rshift*/ 0, /*nb_inplace_and*/ 0, /*nb_inplace_xor*/ 0, /*nb_inplace_or*/ 0, /*nb_floor_divide*/ 0, /*nb_true_divide*/ 0, /*nb_inplace_floor_divide*/ 0, /*nb_inplace_true_divide*/ 0, /*nb_index*/ #if PY_VERSION_HEX >= 0x03050000 0, /*nb_matrix_multiply*/ #endif #if PY_VERSION_HEX >= 0x03050000 0, /*nb_inplace_matrix_multiply*/ #endif }; DL_EXPORT(PyTypeObject) PyMPIOp_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Op", /*tp_name*/ sizeof(struct PyMPIOpObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Op, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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*/ &__pyx_tp_as_number_Op, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ __pyx_pw_6mpi4py_3MPI_2Op_9__call__, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*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 Op\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ __pyx_pw_6mpi4py_3MPI_2Op_5__richcmp__, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Op, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_Op, /*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_6mpi4py_3MPI_Op, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Group(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_6mpi4py_3MPI_5Group_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI_Group(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); __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); __pyx_pw_6mpi4py_3MPI_5Group_3__dealloc__(o); __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_5Group_size(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_5Group_4size_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_5Group_rank(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_5Group_4rank_1__get__(o); } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Group[] = { {"Get_size", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_9Get_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_8Get_size}, {"Get_rank", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_11Get_rank, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_10Get_rank}, {"Translate_ranks", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_13Translate_ranks, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_12Translate_ranks}, {"Compare", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_15Compare, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_14Compare}, {"Dup", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_17Dup, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_16Dup}, {"Union", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_19Union, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_18Union}, {"Intersection", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_21Intersection, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_20Intersection}, {"Difference", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_23Difference, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_22Difference}, {"Incl", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_25Incl, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_24Incl}, {"Excl", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_27Excl, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_26Excl}, {"Range_incl", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_29Range_incl, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_28Range_incl}, {"Range_excl", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_31Range_excl, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_30Range_excl}, {"Free", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_33Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_32Free}, {"py2f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_35py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_34py2f}, {"f2py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_5Group_37f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_36f2py}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_Group[] = { {(char *)"size", __pyx_getprop_6mpi4py_3MPI_5Group_size, 0, (char *)"number of processes in group", 0}, {(char *)"rank", __pyx_getprop_6mpi4py_3MPI_5Group_rank, 0, (char *)"rank of this process in group", 0}, {0, 0, 0, 0, 0} }; static PyNumberMethods __pyx_tp_as_number_Group = { 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_divide*/ #endif 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ 0, /*nb_negative*/ 0, /*nb_positive*/ 0, /*nb_absolute*/ __pyx_pw_6mpi4py_3MPI_5Group_7__bool__, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_coerce*/ #endif 0, /*nb_int*/ #if PY_MAJOR_VERSION < 3 0, /*nb_long*/ #else 0, /*reserved*/ #endif 0, /*nb_float*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_hex*/ #endif 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_inplace_divide*/ #endif 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ 0, /*nb_inplace_rshift*/ 0, /*nb_inplace_and*/ 0, /*nb_inplace_xor*/ 0, /*nb_inplace_or*/ 0, /*nb_floor_divide*/ 0, /*nb_true_divide*/ 0, /*nb_inplace_floor_divide*/ 0, /*nb_inplace_true_divide*/ 0, /*nb_index*/ #if PY_VERSION_HEX >= 0x03050000 0, /*nb_matrix_multiply*/ #endif #if PY_VERSION_HEX >= 0x03050000 0, /*nb_inplace_matrix_multiply*/ #endif }; DL_EXPORT(PyTypeObject) PyMPIGroup_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Group", /*tp_name*/ sizeof(struct PyMPIGroupObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Group, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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*/ &__pyx_tp_as_number_Group, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*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 Group\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ __pyx_pw_6mpi4py_3MPI_5Group_5__richcmp__, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Group, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_Group, /*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_6mpi4py_3MPI_Group, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Info(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_6mpi4py_3MPI_4Info_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI_Info(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); __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); __pyx_pw_6mpi4py_3MPI_4Info_3__dealloc__(o); __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyObject *__pyx_sq_item_6mpi4py_3MPI_Info(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_6mpi4py_3MPI_Info(PyObject *o, PyObject *i, PyObject *v) { if (v) { return __pyx_pw_6mpi4py_3MPI_4Info_37__setitem__(o, i, v); } else { return __pyx_pw_6mpi4py_3MPI_4Info_39__delitem__(o, i); } } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Info[] = { {"Create", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_9Create, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_8Create}, {"Free", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_11Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_10Free}, {"Dup", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_13Dup, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_12Dup}, {"Get", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_15Get, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_14Get}, {"Set", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_17Set, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_16Set}, {"Delete", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_19Delete, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_18Delete}, {"Get_nkeys", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_21Get_nkeys, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_20Get_nkeys}, {"Get_nthkey", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_23Get_nthkey, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_22Get_nthkey}, {"py2f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_25py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_24py2f}, {"f2py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_27f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_26f2py}, {"get", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_41get, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_40get}, {"keys", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_43keys, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_42keys}, {"values", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_45values, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_44values}, {"items", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_47items, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_46items}, {"update", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_49update, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_48update}, {"copy", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_51copy, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_50copy}, {"clear", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Info_53clear, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_52clear}, {0, 0, 0, 0} }; static PyNumberMethods __pyx_tp_as_number_Info = { 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_divide*/ #endif 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ 0, /*nb_negative*/ 0, /*nb_positive*/ 0, /*nb_absolute*/ __pyx_pw_6mpi4py_3MPI_4Info_7__bool__, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_coerce*/ #endif 0, /*nb_int*/ #if PY_MAJOR_VERSION < 3 0, /*nb_long*/ #else 0, /*reserved*/ #endif 0, /*nb_float*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_hex*/ #endif 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_inplace_divide*/ #endif 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ 0, /*nb_inplace_rshift*/ 0, /*nb_inplace_and*/ 0, /*nb_inplace_xor*/ 0, /*nb_inplace_or*/ 0, /*nb_floor_divide*/ 0, /*nb_true_divide*/ 0, /*nb_inplace_floor_divide*/ 0, /*nb_inplace_true_divide*/ 0, /*nb_index*/ #if PY_VERSION_HEX >= 0x03050000 0, /*nb_matrix_multiply*/ #endif #if PY_VERSION_HEX >= 0x03050000 0, /*nb_inplace_matrix_multiply*/ #endif }; static PySequenceMethods __pyx_tp_as_sequence_Info = { __pyx_pw_6mpi4py_3MPI_4Info_29__len__, /*sq_length*/ 0, /*sq_concat*/ 0, /*sq_repeat*/ __pyx_sq_item_6mpi4py_3MPI_Info, /*sq_item*/ 0, /*sq_slice*/ 0, /*sq_ass_item*/ 0, /*sq_ass_slice*/ __pyx_pw_6mpi4py_3MPI_4Info_31__contains__, /*sq_contains*/ 0, /*sq_inplace_concat*/ 0, /*sq_inplace_repeat*/ }; static PyMappingMethods __pyx_tp_as_mapping_Info = { __pyx_pw_6mpi4py_3MPI_4Info_29__len__, /*mp_length*/ __pyx_pw_6mpi4py_3MPI_4Info_35__getitem__, /*mp_subscript*/ __pyx_mp_ass_subscript_6mpi4py_3MPI_Info, /*mp_ass_subscript*/ }; DL_EXPORT(PyTypeObject) PyMPIInfo_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Info", /*tp_name*/ sizeof(struct PyMPIInfoObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Info, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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*/ &__pyx_tp_as_number_Info, /*tp_as_number*/ &__pyx_tp_as_sequence_Info, /*tp_as_sequence*/ &__pyx_tp_as_mapping_Info, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*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 Info\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ __pyx_pw_6mpi4py_3MPI_4Info_5__richcmp__, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ __pyx_pw_6mpi4py_3MPI_4Info_33__iter__, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Info, /*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_6mpi4py_3MPI_Info, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Errhandler(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_6mpi4py_3MPI_10Errhandler_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI_Errhandler(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); __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); __pyx_pw_6mpi4py_3MPI_10Errhandler_3__dealloc__(o); __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Errhandler[] = { {"Free", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_10Errhandler_9Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_10Errhandler_8Free}, {"py2f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_10Errhandler_11py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_10Errhandler_10py2f}, {"f2py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_10Errhandler_13f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_10Errhandler_12f2py}, {0, 0, 0, 0} }; static PyNumberMethods __pyx_tp_as_number_Errhandler = { 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_divide*/ #endif 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ 0, /*nb_negative*/ 0, /*nb_positive*/ 0, /*nb_absolute*/ __pyx_pw_6mpi4py_3MPI_10Errhandler_7__bool__, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_coerce*/ #endif 0, /*nb_int*/ #if PY_MAJOR_VERSION < 3 0, /*nb_long*/ #else 0, /*reserved*/ #endif 0, /*nb_float*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_hex*/ #endif 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_inplace_divide*/ #endif 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ 0, /*nb_inplace_rshift*/ 0, /*nb_inplace_and*/ 0, /*nb_inplace_xor*/ 0, /*nb_inplace_or*/ 0, /*nb_floor_divide*/ 0, /*nb_true_divide*/ 0, /*nb_inplace_floor_divide*/ 0, /*nb_inplace_true_divide*/ 0, /*nb_index*/ #if PY_VERSION_HEX >= 0x03050000 0, /*nb_matrix_multiply*/ #endif #if PY_VERSION_HEX >= 0x03050000 0, /*nb_inplace_matrix_multiply*/ #endif }; DL_EXPORT(PyTypeObject) PyMPIErrhandler_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Errhandler", /*tp_name*/ sizeof(struct PyMPIErrhandlerObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Errhandler, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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*/ &__pyx_tp_as_number_Errhandler, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*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 Error Handler\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ __pyx_pw_6mpi4py_3MPI_10Errhandler_5__richcmp__, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Errhandler, /*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_6mpi4py_3MPI_Errhandler, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Comm(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_6mpi4py_3MPI_4Comm_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI_Comm(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); __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); __pyx_pw_6mpi4py_3MPI_4Comm_3__dealloc__(o); __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_4Comm_group(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4Comm_5group_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_4Comm_size(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4Comm_4size_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_4Comm_rank(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4Comm_4rank_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_4Comm_info(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4Comm_4info_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_4Comm_info(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_4Comm_4info_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyObject *__pyx_getprop_6mpi4py_3MPI_4Comm_is_inter(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4Comm_8is_inter_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_4Comm_is_intra(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4Comm_8is_intra_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_4Comm_topology(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4Comm_8topology_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_4Comm_is_topo(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4Comm_7is_topo_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_4Comm_name(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4Comm_4name_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_4Comm_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_4Comm_4name_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Comm[] = { {"Get_group", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_9Get_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_8Get_group}, {"Get_size", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_11Get_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_10Get_size}, {"Get_rank", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_13Get_rank, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_12Get_rank}, {"Compare", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_15Compare, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_14Compare}, {"Clone", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_17Clone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_16Clone}, {"Dup", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_19Dup, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_18Dup}, {"Dup_with_info", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_21Dup_with_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_20Dup_with_info}, {"Idup", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_23Idup, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_22Idup}, {"Create", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_25Create, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_24Create}, {"Create_group", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_27Create_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_26Create_group}, {"Split", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_29Split, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_28Split}, {"Split_type", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_31Split_type, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_30Split_type}, {"Free", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_33Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_32Free}, {"Set_info", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_35Set_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_34Set_info}, {"Get_info", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_37Get_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_36Get_info}, {"Send", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_39Send, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_38Send}, {"Recv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_41Recv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_40Recv}, {"Sendrecv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_43Sendrecv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_42Sendrecv}, {"Sendrecv_replace", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_45Sendrecv_replace, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_44Sendrecv_replace}, {"Isend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_47Isend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_46Isend}, {"Irecv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_49Irecv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_48Irecv}, {"Probe", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_51Probe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_50Probe}, {"Iprobe", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_53Iprobe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_52Iprobe}, {"Mprobe", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_55Mprobe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_54Mprobe}, {"Improbe", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_57Improbe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_56Improbe}, {"Send_init", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_59Send_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_58Send_init}, {"Recv_init", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_61Recv_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_60Recv_init}, {"Bsend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_63Bsend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_62Bsend}, {"Ssend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_65Ssend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_64Ssend}, {"Rsend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_67Rsend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_66Rsend}, {"Ibsend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_69Ibsend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_68Ibsend}, {"Issend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_71Issend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_70Issend}, {"Irsend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_73Irsend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_72Irsend}, {"Bsend_init", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_75Bsend_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_74Bsend_init}, {"Ssend_init", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_77Ssend_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_76Ssend_init}, {"Rsend_init", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_79Rsend_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_78Rsend_init}, {"Barrier", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_81Barrier, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_80Barrier}, {"Bcast", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_83Bcast, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_82Bcast}, {"Gather", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_85Gather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_84Gather}, {"Gatherv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_87Gatherv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_86Gatherv}, {"Scatter", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_89Scatter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_88Scatter}, {"Scatterv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_91Scatterv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_90Scatterv}, {"Allgather", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_93Allgather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_92Allgather}, {"Allgatherv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_95Allgatherv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_94Allgatherv}, {"Alltoall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_97Alltoall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_96Alltoall}, {"Alltoallv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_99Alltoallv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_98Alltoallv}, {"Alltoallw", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_101Alltoallw, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_100Alltoallw}, {"Reduce", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_103Reduce, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_102Reduce}, {"Allreduce", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_105Allreduce, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_104Allreduce}, {"Reduce_scatter_block", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_107Reduce_scatter_block, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_106Reduce_scatter_block}, {"Reduce_scatter", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_109Reduce_scatter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_108Reduce_scatter}, {"Ibarrier", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_111Ibarrier, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_110Ibarrier}, {"Ibcast", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_113Ibcast, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_112Ibcast}, {"Igather", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_115Igather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_114Igather}, {"Igatherv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_117Igatherv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_116Igatherv}, {"Iscatter", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_119Iscatter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_118Iscatter}, {"Iscatterv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_121Iscatterv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_120Iscatterv}, {"Iallgather", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_123Iallgather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_122Iallgather}, {"Iallgatherv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_125Iallgatherv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_124Iallgatherv}, {"Ialltoall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_127Ialltoall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_126Ialltoall}, {"Ialltoallv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_129Ialltoallv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_128Ialltoallv}, {"Ialltoallw", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_131Ialltoallw, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_130Ialltoallw}, {"Ireduce", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_133Ireduce, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_132Ireduce}, {"Iallreduce", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_135Iallreduce, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_134Iallreduce}, {"Ireduce_scatter_block", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_137Ireduce_scatter_block, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_136Ireduce_scatter_block}, {"Ireduce_scatter", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_139Ireduce_scatter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_138Ireduce_scatter}, {"Is_inter", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_141Is_inter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_140Is_inter}, {"Is_intra", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_143Is_intra, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_142Is_intra}, {"Get_topology", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_145Get_topology, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_144Get_topology}, {"Get_parent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_147Get_parent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_146Get_parent}, {"Disconnect", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_149Disconnect, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_148Disconnect}, {"Join", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_151Join, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_150Join}, {"Get_attr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_153Get_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_152Get_attr}, {"Set_attr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_155Set_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_154Set_attr}, {"Delete_attr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_157Delete_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_156Delete_attr}, {"Create_keyval", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_159Create_keyval, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_158Create_keyval}, {"Free_keyval", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_161Free_keyval, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_160Free_keyval}, {"Get_errhandler", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_163Get_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_162Get_errhandler}, {"Set_errhandler", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_165Set_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_164Set_errhandler}, {"Call_errhandler", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_167Call_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_166Call_errhandler}, {"Abort", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_169Abort, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_168Abort}, {"Get_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_171Get_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_170Get_name}, {"Set_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_173Set_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_172Set_name}, {"py2f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_175py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_174py2f}, {"f2py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_177f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_176f2py}, {"send", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_179send, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_178send}, {"bsend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_181bsend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_180bsend}, {"ssend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_183ssend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_182ssend}, {"recv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_185recv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_184recv}, {"sendrecv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_187sendrecv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_186sendrecv}, {"isend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_189isend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_188isend}, {"ibsend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_191ibsend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_190ibsend}, {"issend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_193issend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_192issend}, {"irecv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_195irecv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_194irecv}, {"probe", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_197probe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_196probe}, {"iprobe", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_199iprobe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_198iprobe}, {"mprobe", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_201mprobe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_200mprobe}, {"improbe", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_203improbe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_202improbe}, {"barrier", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_205barrier, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_204barrier}, {"bcast", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_207bcast, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_206bcast}, {"gather", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_209gather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_208gather}, {"scatter", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_211scatter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_210scatter}, {"allgather", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_213allgather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_212allgather}, {"alltoall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_215alltoall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_214alltoall}, {"reduce", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_217reduce, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_216reduce}, {"allreduce", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4Comm_219allreduce, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_218allreduce}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_Comm[] = { {(char *)"group", __pyx_getprop_6mpi4py_3MPI_4Comm_group, 0, (char *)"communicator group", 0}, {(char *)"size", __pyx_getprop_6mpi4py_3MPI_4Comm_size, 0, (char *)"number of processes in communicator", 0}, {(char *)"rank", __pyx_getprop_6mpi4py_3MPI_4Comm_rank, 0, (char *)"rank of this process in communicator", 0}, {(char *)"info", __pyx_getprop_6mpi4py_3MPI_4Comm_info, __pyx_setprop_6mpi4py_3MPI_4Comm_info, (char *)"communicator info", 0}, {(char *)"is_inter", __pyx_getprop_6mpi4py_3MPI_4Comm_is_inter, 0, (char *)"is intercommunicator", 0}, {(char *)"is_intra", __pyx_getprop_6mpi4py_3MPI_4Comm_is_intra, 0, (char *)"is intracommunicator", 0}, {(char *)"topology", __pyx_getprop_6mpi4py_3MPI_4Comm_topology, 0, (char *)"communicator topology type", 0}, {(char *)"is_topo", __pyx_getprop_6mpi4py_3MPI_4Comm_is_topo, 0, (char *)"is a topology communicator", 0}, {(char *)"name", __pyx_getprop_6mpi4py_3MPI_4Comm_name, __pyx_setprop_6mpi4py_3MPI_4Comm_name, (char *)"communicator name", 0}, {0, 0, 0, 0, 0} }; static PyNumberMethods __pyx_tp_as_number_Comm = { 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_divide*/ #endif 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ 0, /*nb_negative*/ 0, /*nb_positive*/ 0, /*nb_absolute*/ __pyx_pw_6mpi4py_3MPI_4Comm_7__bool__, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_coerce*/ #endif 0, /*nb_int*/ #if PY_MAJOR_VERSION < 3 0, /*nb_long*/ #else 0, /*reserved*/ #endif 0, /*nb_float*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_hex*/ #endif 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_inplace_divide*/ #endif 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ 0, /*nb_inplace_rshift*/ 0, /*nb_inplace_and*/ 0, /*nb_inplace_xor*/ 0, /*nb_inplace_or*/ 0, /*nb_floor_divide*/ 0, /*nb_true_divide*/ 0, /*nb_inplace_floor_divide*/ 0, /*nb_inplace_true_divide*/ 0, /*nb_index*/ #if PY_VERSION_HEX >= 0x03050000 0, /*nb_matrix_multiply*/ #endif #if PY_VERSION_HEX >= 0x03050000 0, /*nb_inplace_matrix_multiply*/ #endif }; DL_EXPORT(PyTypeObject) PyMPIComm_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Comm", /*tp_name*/ sizeof(struct PyMPICommObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Comm, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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*/ &__pyx_tp_as_number_Comm, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*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 Communicator\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ __pyx_pw_6mpi4py_3MPI_4Comm_5__richcmp__, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Comm, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_Comm, /*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_6mpi4py_3MPI_Comm, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Intracomm(PyTypeObject *t, PyObject *a, PyObject *k) { PyObject *o = __pyx_tp_new_6mpi4py_3MPI_Comm(t, a, k); if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_6mpi4py_3MPI_9Intracomm_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Intracomm[] = { {"Create_cart", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_3Create_cart, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_2Create_cart}, {"Create_graph", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_5Create_graph, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_4Create_graph}, {"Create_dist_graph_adjacent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_7Create_dist_graph_adjacent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_6Create_dist_graph_adjacent}, {"Create_dist_graph", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_9Create_dist_graph, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_8Create_dist_graph}, {"Create_intercomm", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_11Create_intercomm, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_10Create_intercomm}, {"Cart_map", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_13Cart_map, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_12Cart_map}, {"Graph_map", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_15Graph_map, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_14Graph_map}, {"Scan", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_17Scan, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_16Scan}, {"Exscan", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_19Exscan, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_18Exscan}, {"Iscan", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_21Iscan, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_20Iscan}, {"Iexscan", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_23Iexscan, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_22Iexscan}, {"scan", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_25scan, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_24scan}, {"exscan", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_27exscan, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_26exscan}, {"Spawn", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_29Spawn, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_28Spawn}, {"Spawn_multiple", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_31Spawn_multiple, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_30Spawn_multiple}, {"Accept", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_33Accept, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_32Accept}, {"Connect", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intracomm_35Connect, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_34Connect}, {0, 0, 0, 0} }; DL_EXPORT(PyTypeObject) PyMPIIntracomm_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Intracomm", /*tp_name*/ sizeof(struct PyMPIIntracommObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Comm, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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 Intracommunicator\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Intracomm, /*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_6mpi4py_3MPI_Intracomm, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Topocomm(PyTypeObject *t, PyObject *a, PyObject *k) { PyObject *o = __pyx_tp_new_6mpi4py_3MPI_Intracomm(t, a, k); if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_6mpi4py_3MPI_8Topocomm_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Topocomm_degrees(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Topocomm_7degrees_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Topocomm_indegree(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Topocomm_8indegree_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Topocomm_outdegree(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Topocomm_9outdegree_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Topocomm_inoutedges(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Topocomm_10inoutedges_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Topocomm_inedges(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Topocomm_7inedges_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Topocomm_outedges(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Topocomm_8outedges_1__get__(o); } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Topocomm[] = { {"Neighbor_allgather", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Topocomm_3Neighbor_allgather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_2Neighbor_allgather}, {"Neighbor_allgatherv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Topocomm_5Neighbor_allgatherv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_4Neighbor_allgatherv}, {"Neighbor_alltoall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Topocomm_7Neighbor_alltoall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_6Neighbor_alltoall}, {"Neighbor_alltoallv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Topocomm_9Neighbor_alltoallv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_8Neighbor_alltoallv}, {"Neighbor_alltoallw", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Topocomm_11Neighbor_alltoallw, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_10Neighbor_alltoallw}, {"Ineighbor_allgather", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Topocomm_13Ineighbor_allgather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_12Ineighbor_allgather}, {"Ineighbor_allgatherv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Topocomm_15Ineighbor_allgatherv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_14Ineighbor_allgatherv}, {"Ineighbor_alltoall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Topocomm_17Ineighbor_alltoall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_16Ineighbor_alltoall}, {"Ineighbor_alltoallv", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Topocomm_19Ineighbor_alltoallv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_18Ineighbor_alltoallv}, {"Ineighbor_alltoallw", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Topocomm_21Ineighbor_alltoallw, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_20Ineighbor_alltoallw}, {"neighbor_allgather", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Topocomm_23neighbor_allgather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_22neighbor_allgather}, {"neighbor_alltoall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Topocomm_25neighbor_alltoall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_24neighbor_alltoall}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_Topocomm[] = { {(char *)"degrees", __pyx_getprop_6mpi4py_3MPI_8Topocomm_degrees, 0, (char *)"number of incoming and outgoing neighbors", 0}, {(char *)"indegree", __pyx_getprop_6mpi4py_3MPI_8Topocomm_indegree, 0, (char *)"number of incoming neighbors", 0}, {(char *)"outdegree", __pyx_getprop_6mpi4py_3MPI_8Topocomm_outdegree, 0, (char *)"number of outgoing neighbors", 0}, {(char *)"inoutedges", __pyx_getprop_6mpi4py_3MPI_8Topocomm_inoutedges, 0, (char *)"incoming and outgoing neighbors", 0}, {(char *)"inedges", __pyx_getprop_6mpi4py_3MPI_8Topocomm_inedges, 0, (char *)"incoming neighbors", 0}, {(char *)"outedges", __pyx_getprop_6mpi4py_3MPI_8Topocomm_outedges, 0, (char *)"outgoing neighbors", 0}, {0, 0, 0, 0, 0} }; DL_EXPORT(PyTypeObject) PyMPITopocomm_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Topocomm", /*tp_name*/ sizeof(struct PyMPITopocommObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Comm, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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 Topology intracommunicator\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Topocomm, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_Topocomm, /*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_6mpi4py_3MPI_Topocomm, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Cartcomm(PyTypeObject *t, PyObject *a, PyObject *k) { PyObject *o = __pyx_tp_new_6mpi4py_3MPI_Topocomm(t, a, k); if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_6mpi4py_3MPI_8Cartcomm_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Cartcomm_dim(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Cartcomm_3dim_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Cartcomm_ndim(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Cartcomm_4ndim_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Cartcomm_topo(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Cartcomm_4topo_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Cartcomm_dims(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Cartcomm_4dims_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Cartcomm_periods(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Cartcomm_7periods_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_8Cartcomm_coords(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_8Cartcomm_6coords_1__get__(o); } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Cartcomm[] = { {"Get_dim", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Cartcomm_3Get_dim, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Cartcomm_2Get_dim}, {"Get_topo", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Cartcomm_5Get_topo, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Cartcomm_4Get_topo}, {"Get_cart_rank", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Cartcomm_7Get_cart_rank, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Cartcomm_6Get_cart_rank}, {"Get_coords", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Cartcomm_9Get_coords, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Cartcomm_8Get_coords}, {"Shift", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Cartcomm_11Shift, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Cartcomm_10Shift}, {"Sub", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_8Cartcomm_13Sub, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Cartcomm_12Sub}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_Cartcomm[] = { {(char *)"dim", __pyx_getprop_6mpi4py_3MPI_8Cartcomm_dim, 0, (char *)"number of dimensions", 0}, {(char *)"ndim", __pyx_getprop_6mpi4py_3MPI_8Cartcomm_ndim, 0, (char *)"number of dimensions", 0}, {(char *)"topo", __pyx_getprop_6mpi4py_3MPI_8Cartcomm_topo, 0, (char *)"topology information", 0}, {(char *)"dims", __pyx_getprop_6mpi4py_3MPI_8Cartcomm_dims, 0, (char *)"dimensions", 0}, {(char *)"periods", __pyx_getprop_6mpi4py_3MPI_8Cartcomm_periods, 0, (char *)"periodicity", 0}, {(char *)"coords", __pyx_getprop_6mpi4py_3MPI_8Cartcomm_coords, 0, (char *)"coordinates", 0}, {0, 0, 0, 0, 0} }; DL_EXPORT(PyTypeObject) PyMPICartcomm_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Cartcomm", /*tp_name*/ sizeof(struct PyMPICartcommObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Comm, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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 Cartesian topology intracommunicator\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Cartcomm, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_Cartcomm, /*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_6mpi4py_3MPI_Cartcomm, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Graphcomm(PyTypeObject *t, PyObject *a, PyObject *k) { PyObject *o = __pyx_tp_new_6mpi4py_3MPI_Topocomm(t, a, k); if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_6mpi4py_3MPI_9Graphcomm_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static PyObject *__pyx_getprop_6mpi4py_3MPI_9Graphcomm_dims(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9Graphcomm_4dims_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_9Graphcomm_nnodes(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9Graphcomm_6nnodes_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_9Graphcomm_nedges(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9Graphcomm_6nedges_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_9Graphcomm_topo(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9Graphcomm_4topo_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_9Graphcomm_index(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9Graphcomm_5index_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_9Graphcomm_edges(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9Graphcomm_5edges_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_9Graphcomm_nneighbors(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9Graphcomm_10nneighbors_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_9Graphcomm_neighbors(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9Graphcomm_9neighbors_1__get__(o); } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Graphcomm[] = { {"Get_dims", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Graphcomm_3Get_dims, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Graphcomm_2Get_dims}, {"Get_topo", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Graphcomm_5Get_topo, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Graphcomm_4Get_topo}, {"Get_neighbors_count", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Graphcomm_7Get_neighbors_count, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Graphcomm_6Get_neighbors_count}, {"Get_neighbors", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Graphcomm_9Get_neighbors, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Graphcomm_8Get_neighbors}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_Graphcomm[] = { {(char *)"dims", __pyx_getprop_6mpi4py_3MPI_9Graphcomm_dims, 0, (char *)"number of nodes and edges", 0}, {(char *)"nnodes", __pyx_getprop_6mpi4py_3MPI_9Graphcomm_nnodes, 0, (char *)"number of nodes", 0}, {(char *)"nedges", __pyx_getprop_6mpi4py_3MPI_9Graphcomm_nedges, 0, (char *)"number of edges", 0}, {(char *)"topo", __pyx_getprop_6mpi4py_3MPI_9Graphcomm_topo, 0, (char *)"topology information", 0}, {(char *)"index", __pyx_getprop_6mpi4py_3MPI_9Graphcomm_index, 0, (char *)"index", 0}, {(char *)"edges", __pyx_getprop_6mpi4py_3MPI_9Graphcomm_edges, 0, (char *)"edges", 0}, {(char *)"nneighbors", __pyx_getprop_6mpi4py_3MPI_9Graphcomm_nneighbors, 0, (char *)"number of neighbors", 0}, {(char *)"neighbors", __pyx_getprop_6mpi4py_3MPI_9Graphcomm_neighbors, 0, (char *)"neighbors", 0}, {0, 0, 0, 0, 0} }; DL_EXPORT(PyTypeObject) PyMPIGraphcomm_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Graphcomm", /*tp_name*/ sizeof(struct PyMPIGraphcommObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Comm, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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 General graph topology intracommunicator\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Graphcomm, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_Graphcomm, /*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_6mpi4py_3MPI_Graphcomm, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Distgraphcomm(PyTypeObject *t, PyObject *a, PyObject *k) { PyObject *o = __pyx_tp_new_6mpi4py_3MPI_Topocomm(t, a, k); if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_6mpi4py_3MPI_13Distgraphcomm_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Distgraphcomm[] = { {"Get_dist_neighbors_count", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_13Distgraphcomm_3Get_dist_neighbors_count, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_13Distgraphcomm_2Get_dist_neighbors_count}, {"Get_dist_neighbors", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_13Distgraphcomm_5Get_dist_neighbors, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_13Distgraphcomm_4Get_dist_neighbors}, {0, 0, 0, 0} }; DL_EXPORT(PyTypeObject) PyMPIDistgraphcomm_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Distgraphcomm", /*tp_name*/ sizeof(struct PyMPIDistgraphcommObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Comm, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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 Distributed graph topology intracommunicator\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Distgraphcomm, /*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_6mpi4py_3MPI_Distgraphcomm, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Intercomm(PyTypeObject *t, PyObject *a, PyObject *k) { PyObject *o = __pyx_tp_new_6mpi4py_3MPI_Comm(t, a, k); if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_6mpi4py_3MPI_9Intercomm_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static PyObject *__pyx_getprop_6mpi4py_3MPI_9Intercomm_remote_group(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9Intercomm_12remote_group_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_9Intercomm_remote_size(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9Intercomm_11remote_size_1__get__(o); } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Intercomm[] = { {"Get_remote_group", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intercomm_3Get_remote_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intercomm_2Get_remote_group}, {"Get_remote_size", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intercomm_5Get_remote_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intercomm_4Get_remote_size}, {"Merge", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_9Intercomm_7Merge, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intercomm_6Merge}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_Intercomm[] = { {(char *)"remote_group", __pyx_getprop_6mpi4py_3MPI_9Intercomm_remote_group, 0, (char *)"remote group", 0}, {(char *)"remote_size", __pyx_getprop_6mpi4py_3MPI_9Intercomm_remote_size, 0, (char *)"number of remote processes", 0}, {0, 0, 0, 0, 0} }; DL_EXPORT(PyTypeObject) PyMPIIntercomm_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Intercomm", /*tp_name*/ sizeof(struct PyMPIIntercommObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Comm, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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 Intercommunicator\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Intercomm, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_Intercomm, /*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_6mpi4py_3MPI_Intercomm, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Win(PyTypeObject *t, PyObject *a, PyObject *k) { struct PyMPIWinObject *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 PyMPIWinObject *)o); p->ob_mem = Py_None; Py_INCREF(Py_None); if (unlikely(__pyx_pw_6mpi4py_3MPI_3Win_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI_Win(PyObject *o) { struct PyMPIWinObject *p = (struct PyMPIWinObject *)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); __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); __pyx_pw_6mpi4py_3MPI_3Win_3__dealloc__(o); __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); PyErr_Restore(etype, eval, etb); } Py_CLEAR(p->ob_mem); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI_Win(PyObject *o, visitproc v, void *a) { int e; struct PyMPIWinObject *p = (struct PyMPIWinObject *)o; if (p->ob_mem) { e = (*v)(p->ob_mem, a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI_Win(PyObject *o) { PyObject* tmp; struct PyMPIWinObject *p = (struct PyMPIWinObject *)o; tmp = ((PyObject*)p->ob_mem); p->ob_mem = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyObject *__pyx_getprop_6mpi4py_3MPI_3Win_info(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_3Win_4info_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_3Win_info(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_3Win_4info_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyObject *__pyx_getprop_6mpi4py_3MPI_3Win_group(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_3Win_5group_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_3Win_attrs(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_3Win_5attrs_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_3Win_flavor(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_3Win_6flavor_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_3Win_model(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_3Win_5model_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_3Win_name(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_3Win_4name_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_3Win_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_3Win_4name_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Win[] = { {"Create", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_9Create, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_8Create}, {"Allocate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_11Allocate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_10Allocate}, {"Allocate_shared", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_13Allocate_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_12Allocate_shared}, {"Shared_query", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_15Shared_query, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_14Shared_query}, {"Create_dynamic", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_17Create_dynamic, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_16Create_dynamic}, {"Attach", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_19Attach, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_18Attach}, {"Detach", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_21Detach, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_20Detach}, {"Free", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_23Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_22Free}, {"Set_info", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_25Set_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_24Set_info}, {"Get_info", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_27Get_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_26Get_info}, {"Get_group", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_29Get_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_28Get_group}, {"Get_attr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_31Get_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_30Get_attr}, {"Set_attr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_33Set_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_32Set_attr}, {"Delete_attr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_35Delete_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_34Delete_attr}, {"Create_keyval", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_37Create_keyval, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_36Create_keyval}, {"Free_keyval", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_39Free_keyval, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_38Free_keyval}, {"tomemory", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_41tomemory, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_40tomemory}, {"Put", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_51Put, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_50Put}, {"Get", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_53Get, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_52Get}, {"Accumulate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_55Accumulate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_54Accumulate}, {"Get_accumulate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_57Get_accumulate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_56Get_accumulate}, {"Fetch_and_op", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_59Fetch_and_op, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_58Fetch_and_op}, {"Compare_and_swap", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_61Compare_and_swap, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_60Compare_and_swap}, {"Rput", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_63Rput, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_62Rput}, {"Rget", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_65Rget, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_64Rget}, {"Raccumulate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_67Raccumulate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_66Raccumulate}, {"Rget_accumulate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_69Rget_accumulate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_68Rget_accumulate}, {"Fence", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_71Fence, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_70Fence}, {"Start", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_73Start, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_72Start}, {"Complete", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_75Complete, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_74Complete}, {"Post", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_77Post, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_76Post}, {"Wait", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_79Wait, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_78Wait}, {"Test", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_81Test, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_80Test}, {"Lock", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_83Lock, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_82Lock}, {"Unlock", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_85Unlock, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_84Unlock}, {"Lock_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_87Lock_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_86Lock_all}, {"Unlock_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_89Unlock_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_88Unlock_all}, {"Flush", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_91Flush, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_90Flush}, {"Flush_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_93Flush_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_92Flush_all}, {"Flush_local", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_95Flush_local, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_94Flush_local}, {"Flush_local_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_97Flush_local_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_96Flush_local_all}, {"Sync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_99Sync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_98Sync}, {"Get_errhandler", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_101Get_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_100Get_errhandler}, {"Set_errhandler", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_103Set_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_102Set_errhandler}, {"Call_errhandler", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_105Call_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_104Call_errhandler}, {"Get_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_107Get_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_106Get_name}, {"Set_name", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_109Set_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_108Set_name}, {"py2f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_111py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_110py2f}, {"f2py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_3Win_113f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_112f2py}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_Win[] = { {(char *)"info", __pyx_getprop_6mpi4py_3MPI_3Win_info, __pyx_setprop_6mpi4py_3MPI_3Win_info, (char *)"window info", 0}, {(char *)"group", __pyx_getprop_6mpi4py_3MPI_3Win_group, 0, (char *)"window group", 0}, {(char *)"attrs", __pyx_getprop_6mpi4py_3MPI_3Win_attrs, 0, (char *)"window attributes", 0}, {(char *)"flavor", __pyx_getprop_6mpi4py_3MPI_3Win_flavor, 0, (char *)"window create flavor", 0}, {(char *)"model", __pyx_getprop_6mpi4py_3MPI_3Win_model, 0, (char *)"window memory model", 0}, {(char *)"name", __pyx_getprop_6mpi4py_3MPI_3Win_name, __pyx_setprop_6mpi4py_3MPI_3Win_name, (char *)"window name", 0}, {0, 0, 0, 0, 0} }; static PyNumberMethods __pyx_tp_as_number_Win = { 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_divide*/ #endif 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ 0, /*nb_negative*/ 0, /*nb_positive*/ 0, /*nb_absolute*/ __pyx_pw_6mpi4py_3MPI_3Win_7__bool__, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_coerce*/ #endif 0, /*nb_int*/ #if PY_MAJOR_VERSION < 3 0, /*nb_long*/ #else 0, /*reserved*/ #endif 0, /*nb_float*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_hex*/ #endif 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_inplace_divide*/ #endif 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ 0, /*nb_inplace_rshift*/ 0, /*nb_inplace_and*/ 0, /*nb_inplace_xor*/ 0, /*nb_inplace_or*/ 0, /*nb_floor_divide*/ 0, /*nb_true_divide*/ 0, /*nb_inplace_floor_divide*/ 0, /*nb_inplace_true_divide*/ 0, /*nb_index*/ #if PY_VERSION_HEX >= 0x03050000 0, /*nb_matrix_multiply*/ #endif #if PY_VERSION_HEX >= 0x03050000 0, /*nb_inplace_matrix_multiply*/ #endif }; static PyBufferProcs __pyx_tp_as_buffer_Win = { #if PY_MAJOR_VERSION < 3 __pyx_pw_6mpi4py_3MPI_3Win_47__getreadbuffer__, /*bf_getreadbuffer*/ #endif #if PY_MAJOR_VERSION < 3 __pyx_pw_6mpi4py_3MPI_3Win_49__getwritebuffer__, /*bf_getwritebuffer*/ #endif #if PY_MAJOR_VERSION < 3 __pyx_pw_6mpi4py_3MPI_3Win_45__getsegcount__, /*bf_getsegcount*/ #endif #if PY_MAJOR_VERSION < 3 0, /*bf_getcharbuffer*/ #endif __pyx_pw_6mpi4py_3MPI_3Win_43__getbuffer__, /*bf_getbuffer*/ 0, /*bf_releasebuffer*/ }; DL_EXPORT(PyTypeObject) PyMPIWin_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Win", /*tp_name*/ sizeof(struct PyMPIWinObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Win, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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*/ &__pyx_tp_as_number_Win, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ &__pyx_tp_as_buffer_Win, /*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 Window\n ", /*tp_doc*/ __pyx_tp_traverse_6mpi4py_3MPI_Win, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI_Win, /*tp_clear*/ __pyx_pw_6mpi4py_3MPI_3Win_5__richcmp__, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Win, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_Win, /*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_6mpi4py_3MPI_Win, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_File(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_6mpi4py_3MPI_4File_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI_File(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); __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); __pyx_pw_6mpi4py_3MPI_4File_3__dealloc__(o); __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_4File_size(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4File_4size_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_4File_amode(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4File_5amode_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_4File_group(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4File_5group_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_4File_info(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4File_4info_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_4File_info(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_4File_4info_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyObject *__pyx_getprop_6mpi4py_3MPI_4File_atomicity(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_4File_9atomicity_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_4File_atomicity(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_4File_9atomicity_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyMethodDef __pyx_methods_6mpi4py_3MPI_File[] = { {"Open", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_9Open, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_8Open}, {"Close", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_11Close, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_10Close}, {"Delete", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_13Delete, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_12Delete}, {"Set_size", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_15Set_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_14Set_size}, {"Preallocate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_17Preallocate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_16Preallocate}, {"Get_size", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_19Get_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_18Get_size}, {"Get_amode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_21Get_amode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_20Get_amode}, {"Get_group", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_23Get_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_22Get_group}, {"Set_info", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_25Set_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_24Set_info}, {"Get_info", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_27Get_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_26Get_info}, {"Set_view", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_29Set_view, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_28Set_view}, {"Get_view", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_31Get_view, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_30Get_view}, {"Read_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_33Read_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_32Read_at}, {"Read_at_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_35Read_at_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_34Read_at_all}, {"Write_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_37Write_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_36Write_at}, {"Write_at_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_39Write_at_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_38Write_at_all}, {"Iread_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_41Iread_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_40Iread_at}, {"Iread_at_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_43Iread_at_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_42Iread_at_all}, {"Iwrite_at", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_45Iwrite_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_44Iwrite_at}, {"Iwrite_at_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_47Iwrite_at_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_46Iwrite_at_all}, {"Read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_49Read, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_48Read}, {"Read_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_51Read_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_50Read_all}, {"Write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_53Write, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_52Write}, {"Write_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_55Write_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_54Write_all}, {"Iread", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_57Iread, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_56Iread}, {"Iread_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_59Iread_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_58Iread_all}, {"Iwrite", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_61Iwrite, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_60Iwrite}, {"Iwrite_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_63Iwrite_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_62Iwrite_all}, {"Seek", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_65Seek, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_64Seek}, {"Get_position", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_67Get_position, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_66Get_position}, {"Get_byte_offset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_69Get_byte_offset, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_68Get_byte_offset}, {"Read_shared", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_71Read_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_70Read_shared}, {"Write_shared", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_73Write_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_72Write_shared}, {"Iread_shared", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_75Iread_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_74Iread_shared}, {"Iwrite_shared", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_77Iwrite_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_76Iwrite_shared}, {"Read_ordered", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_79Read_ordered, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_78Read_ordered}, {"Write_ordered", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_81Write_ordered, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_80Write_ordered}, {"Seek_shared", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_83Seek_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_82Seek_shared}, {"Get_position_shared", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_85Get_position_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_84Get_position_shared}, {"Read_at_all_begin", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_87Read_at_all_begin, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_86Read_at_all_begin}, {"Read_at_all_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_89Read_at_all_end, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_88Read_at_all_end}, {"Write_at_all_begin", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_91Write_at_all_begin, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_90Write_at_all_begin}, {"Write_at_all_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_93Write_at_all_end, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_92Write_at_all_end}, {"Read_all_begin", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_95Read_all_begin, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_94Read_all_begin}, {"Read_all_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_97Read_all_end, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_96Read_all_end}, {"Write_all_begin", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_99Write_all_begin, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_98Write_all_begin}, {"Write_all_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_101Write_all_end, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_100Write_all_end}, {"Read_ordered_begin", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_103Read_ordered_begin, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_102Read_ordered_begin}, {"Read_ordered_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_105Read_ordered_end, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_104Read_ordered_end}, {"Write_ordered_begin", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_107Write_ordered_begin, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_106Write_ordered_begin}, {"Write_ordered_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_109Write_ordered_end, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_108Write_ordered_end}, {"Get_type_extent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_111Get_type_extent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_110Get_type_extent}, {"Set_atomicity", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_113Set_atomicity, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_112Set_atomicity}, {"Get_atomicity", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_115Get_atomicity, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_114Get_atomicity}, {"Sync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_117Sync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_116Sync}, {"Get_errhandler", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_119Get_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_118Get_errhandler}, {"Set_errhandler", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_121Set_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_120Set_errhandler}, {"Call_errhandler", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_123Call_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_122Call_errhandler}, {"py2f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_125py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_124py2f}, {"f2py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_4File_127f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_126f2py}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_File[] = { {(char *)"size", __pyx_getprop_6mpi4py_3MPI_4File_size, 0, (char *)"file size", 0}, {(char *)"amode", __pyx_getprop_6mpi4py_3MPI_4File_amode, 0, (char *)"file access mode", 0}, {(char *)"group", __pyx_getprop_6mpi4py_3MPI_4File_group, 0, (char *)"file group", 0}, {(char *)"info", __pyx_getprop_6mpi4py_3MPI_4File_info, __pyx_setprop_6mpi4py_3MPI_4File_info, (char *)"file info", 0}, {(char *)"atomicity", __pyx_getprop_6mpi4py_3MPI_4File_atomicity, __pyx_setprop_6mpi4py_3MPI_4File_atomicity, (char *)"atomicity", 0}, {0, 0, 0, 0, 0} }; static PyNumberMethods __pyx_tp_as_number_File = { 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_divide*/ #endif 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ 0, /*nb_negative*/ 0, /*nb_positive*/ 0, /*nb_absolute*/ __pyx_pw_6mpi4py_3MPI_4File_7__bool__, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_coerce*/ #endif 0, /*nb_int*/ #if PY_MAJOR_VERSION < 3 0, /*nb_long*/ #else 0, /*reserved*/ #endif 0, /*nb_float*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_hex*/ #endif 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) 0, /*nb_inplace_divide*/ #endif 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ 0, /*nb_inplace_rshift*/ 0, /*nb_inplace_and*/ 0, /*nb_inplace_xor*/ 0, /*nb_inplace_or*/ 0, /*nb_floor_divide*/ 0, /*nb_true_divide*/ 0, /*nb_inplace_floor_divide*/ 0, /*nb_inplace_true_divide*/ 0, /*nb_index*/ #if PY_VERSION_HEX >= 0x03050000 0, /*nb_matrix_multiply*/ #endif #if PY_VERSION_HEX >= 0x03050000 0, /*nb_inplace_matrix_multiply*/ #endif }; DL_EXPORT(PyTypeObject) PyMPIFile_Type = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.File", /*tp_name*/ sizeof(struct PyMPIFileObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_File, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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*/ &__pyx_tp_as_number_File, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*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 File\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ __pyx_pw_6mpi4py_3MPI_4File_5__richcmp__, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_File, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_File, /*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_6mpi4py_3MPI_File, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI_memory(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { struct __pyx_obj_6mpi4py_3MPI_memory *p; PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; p = ((struct __pyx_obj_6mpi4py_3MPI_memory *)o); p->view.obj = NULL; if (unlikely(__pyx_pw_6mpi4py_3MPI_6memory_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_6mpi4py_3MPI_memory(PyObject *o) { { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); __pyx_pw_6mpi4py_3MPI_6memory_3__dealloc__(o); __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyObject *__pyx_sq_item_6mpi4py_3MPI_memory(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_6mpi4py_3MPI_memory(PyObject *o, PyObject *i, PyObject *v) { if (v) { return __pyx_pw_6mpi4py_3MPI_6memory_25__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_getprop_6mpi4py_3MPI_6memory_address(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_6memory_7address_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_6memory_nbytes(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_6memory_6nbytes_1__get__(o); } static PyObject *__pyx_getprop_6mpi4py_3MPI_6memory_readonly(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_6memory_8readonly_1__get__(o); } static PyMethodDef __pyx_methods_6mpi4py_3MPI_memory[] = { {"frombuffer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6memory_5frombuffer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6memory_4frombuffer}, {"fromaddress", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6memory_7fromaddress, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6memory_6fromaddress}, {"tobytes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6memory_9tobytes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6memory_8tobytes}, {"release", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6memory_11release, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6memory_10release}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_memory[] = { {(char *)"address", __pyx_getprop_6mpi4py_3MPI_6memory_address, 0, (char *)"Memory address", 0}, {(char *)"nbytes", __pyx_getprop_6mpi4py_3MPI_6memory_nbytes, 0, (char *)"Memory size (in bytes)", 0}, {(char *)"readonly", __pyx_getprop_6mpi4py_3MPI_6memory_readonly, 0, (char *)"Boolean indicating whether the memory is read-only", 0}, {0, 0, 0, 0, 0} }; static PySequenceMethods __pyx_tp_as_sequence_memory = { __pyx_pw_6mpi4py_3MPI_6memory_21__len__, /*sq_length*/ 0, /*sq_concat*/ 0, /*sq_repeat*/ __pyx_sq_item_6mpi4py_3MPI_memory, /*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_memory = { __pyx_pw_6mpi4py_3MPI_6memory_21__len__, /*mp_length*/ __pyx_pw_6mpi4py_3MPI_6memory_23__getitem__, /*mp_subscript*/ __pyx_mp_ass_subscript_6mpi4py_3MPI_memory, /*mp_ass_subscript*/ }; static PyBufferProcs __pyx_tp_as_buffer_memory = { #if PY_MAJOR_VERSION < 3 __pyx_pw_6mpi4py_3MPI_6memory_17__getreadbuffer__, /*bf_getreadbuffer*/ #endif #if PY_MAJOR_VERSION < 3 __pyx_pw_6mpi4py_3MPI_6memory_19__getwritebuffer__, /*bf_getwritebuffer*/ #endif #if PY_MAJOR_VERSION < 3 __pyx_pw_6mpi4py_3MPI_6memory_15__getsegcount__, /*bf_getsegcount*/ #endif #if PY_MAJOR_VERSION < 3 0, /*bf_getcharbuffer*/ #endif __pyx_pw_6mpi4py_3MPI_6memory_13__getbuffer__, /*bf_getbuffer*/ 0, /*bf_releasebuffer*/ }; static PyTypeObject __pyx_type_6mpi4py_3MPI_memory = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.memory", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI_memory), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_memory, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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_memory, /*tp_as_sequence*/ &__pyx_tp_as_mapping_memory, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ &__pyx_tp_as_buffer_memory, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER, /*tp_flags*/ "\n Memory\n ", /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_memory, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_memory, /*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_6mpi4py_3MPI_memory, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_mem(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_6mpi4py_3MPI_6_p_mem_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_6mpi4py_3MPI__p_mem(PyObject *o) { { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); __pyx_pw_6mpi4py_3MPI_6_p_mem_3__dealloc__(o); __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyMethodDef __pyx_methods_6mpi4py_3MPI__p_mem[] = { {0, 0, 0, 0} }; static PyTypeObject __pyx_type_6mpi4py_3MPI__p_mem = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI._p_mem", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI__p_mem), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI__p_mem, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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, /*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_6mpi4py_3MPI__p_mem, /*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_6mpi4py_3MPI__p_mem, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_greq __pyx_vtable_6mpi4py_3MPI__p_greq; static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_greq(PyTypeObject *t, PyObject *a, PyObject *k) { struct __pyx_obj_6mpi4py_3MPI__p_greq *p; PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; p = ((struct __pyx_obj_6mpi4py_3MPI__p_greq *)o); p->__pyx_vtab = __pyx_vtabptr_6mpi4py_3MPI__p_greq; p->query_fn = Py_None; Py_INCREF(Py_None); p->free_fn = Py_None; Py_INCREF(Py_None); p->cancel_fn = Py_None; Py_INCREF(Py_None); p->args = ((PyObject*)Py_None); Py_INCREF(Py_None); p->kargs = ((PyObject*)Py_None); Py_INCREF(Py_None); if (unlikely(__pyx_pw_6mpi4py_3MPI_7_p_greq_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI__p_greq(PyObject *o) { struct __pyx_obj_6mpi4py_3MPI__p_greq *p = (struct __pyx_obj_6mpi4py_3MPI__p_greq *)o; PyObject_GC_UnTrack(o); Py_CLEAR(p->query_fn); Py_CLEAR(p->free_fn); Py_CLEAR(p->cancel_fn); Py_CLEAR(p->args); Py_CLEAR(p->kargs); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI__p_greq(PyObject *o, visitproc v, void *a) { int e; struct __pyx_obj_6mpi4py_3MPI__p_greq *p = (struct __pyx_obj_6mpi4py_3MPI__p_greq *)o; if (p->query_fn) { e = (*v)(p->query_fn, a); if (e) return e; } if (p->free_fn) { e = (*v)(p->free_fn, a); if (e) return e; } if (p->cancel_fn) { e = (*v)(p->cancel_fn, a); if (e) return e; } if (p->args) { e = (*v)(p->args, a); if (e) return e; } if (p->kargs) { e = (*v)(p->kargs, a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI__p_greq(PyObject *o) { PyObject* tmp; struct __pyx_obj_6mpi4py_3MPI__p_greq *p = (struct __pyx_obj_6mpi4py_3MPI__p_greq *)o; tmp = ((PyObject*)p->query_fn); p->query_fn = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->free_fn); p->free_fn = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->cancel_fn); p->cancel_fn = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->args); p->args = ((PyObject*)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->kargs); p->kargs = ((PyObject*)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyMethodDef __pyx_methods_6mpi4py_3MPI__p_greq[] = { {0, 0, 0, 0} }; static PyTypeObject __pyx_type_6mpi4py_3MPI__p_greq = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI._p_greq", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI__p_greq), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI__p_greq, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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_6mpi4py_3MPI__p_greq, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI__p_greq, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI__p_greq, /*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_6mpi4py_3MPI__p_greq, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_datarep __pyx_vtable_6mpi4py_3MPI__p_datarep; static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_datarep(PyTypeObject *t, PyObject *a, PyObject *k) { struct __pyx_obj_6mpi4py_3MPI__p_datarep *p; PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; p = ((struct __pyx_obj_6mpi4py_3MPI__p_datarep *)o); p->__pyx_vtab = __pyx_vtabptr_6mpi4py_3MPI__p_datarep; p->read_fn = Py_None; Py_INCREF(Py_None); p->write_fn = Py_None; Py_INCREF(Py_None); p->extent_fn = Py_None; Py_INCREF(Py_None); if (unlikely(__pyx_pw_6mpi4py_3MPI_10_p_datarep_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI__p_datarep(PyObject *o) { struct __pyx_obj_6mpi4py_3MPI__p_datarep *p = (struct __pyx_obj_6mpi4py_3MPI__p_datarep *)o; PyObject_GC_UnTrack(o); Py_CLEAR(p->read_fn); Py_CLEAR(p->write_fn); Py_CLEAR(p->extent_fn); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI__p_datarep(PyObject *o, visitproc v, void *a) { int e; struct __pyx_obj_6mpi4py_3MPI__p_datarep *p = (struct __pyx_obj_6mpi4py_3MPI__p_datarep *)o; if (p->read_fn) { e = (*v)(p->read_fn, a); if (e) return e; } if (p->write_fn) { e = (*v)(p->write_fn, a); if (e) return e; } if (p->extent_fn) { e = (*v)(p->extent_fn, a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI__p_datarep(PyObject *o) { PyObject* tmp; struct __pyx_obj_6mpi4py_3MPI__p_datarep *p = (struct __pyx_obj_6mpi4py_3MPI__p_datarep *)o; tmp = ((PyObject*)p->read_fn); p->read_fn = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->write_fn); p->write_fn = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->extent_fn); p->extent_fn = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyMethodDef __pyx_methods_6mpi4py_3MPI__p_datarep[] = { {0, 0, 0, 0} }; static PyTypeObject __pyx_type_6mpi4py_3MPI__p_datarep = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI._p_datarep", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI__p_datarep), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI__p_datarep, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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_6mpi4py_3MPI__p_datarep, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI__p_datarep, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI__p_datarep, /*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_6mpi4py_3MPI__p_datarep, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_keyval(PyTypeObject *t, PyObject *a, PyObject *k) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *p; PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; p = ((struct __pyx_obj_6mpi4py_3MPI__p_keyval *)o); p->copy_fn = Py_None; Py_INCREF(Py_None); p->delete_fn = Py_None; Py_INCREF(Py_None); if (unlikely(__pyx_pw_6mpi4py_3MPI_9_p_keyval_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI__p_keyval(PyObject *o) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *p = (struct __pyx_obj_6mpi4py_3MPI__p_keyval *)o; PyObject_GC_UnTrack(o); Py_CLEAR(p->copy_fn); Py_CLEAR(p->delete_fn); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI__p_keyval(PyObject *o, visitproc v, void *a) { int e; struct __pyx_obj_6mpi4py_3MPI__p_keyval *p = (struct __pyx_obj_6mpi4py_3MPI__p_keyval *)o; if (p->copy_fn) { e = (*v)(p->copy_fn, a); if (e) return e; } if (p->delete_fn) { e = (*v)(p->delete_fn, a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI__p_keyval(PyObject *o) { PyObject* tmp; struct __pyx_obj_6mpi4py_3MPI__p_keyval *p = (struct __pyx_obj_6mpi4py_3MPI__p_keyval *)o; tmp = ((PyObject*)p->copy_fn); p->copy_fn = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->delete_fn); p->delete_fn = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyObject *__pyx_getprop_6mpi4py_3MPI_9_p_keyval_copy_fn(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9_p_keyval_7copy_fn_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_9_p_keyval_copy_fn(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_9_p_keyval_7copy_fn_3__set__(o, v); } else { return __pyx_pw_6mpi4py_3MPI_9_p_keyval_7copy_fn_5__del__(o); } } static PyObject *__pyx_getprop_6mpi4py_3MPI_9_p_keyval_delete_fn(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9_p_keyval_9delete_fn_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_9_p_keyval_delete_fn(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_9_p_keyval_9delete_fn_3__set__(o, v); } else { return __pyx_pw_6mpi4py_3MPI_9_p_keyval_9delete_fn_5__del__(o); } } static PyObject *__pyx_getprop_6mpi4py_3MPI_9_p_keyval_nopython(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_9_p_keyval_8nopython_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_9_p_keyval_nopython(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_9_p_keyval_8nopython_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyMethodDef __pyx_methods_6mpi4py_3MPI__p_keyval[] = { {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI__p_keyval[] = { {(char *)"copy_fn", __pyx_getprop_6mpi4py_3MPI_9_p_keyval_copy_fn, __pyx_setprop_6mpi4py_3MPI_9_p_keyval_copy_fn, (char *)"copy_fn: object", 0}, {(char *)"delete_fn", __pyx_getprop_6mpi4py_3MPI_9_p_keyval_delete_fn, __pyx_setprop_6mpi4py_3MPI_9_p_keyval_delete_fn, (char *)"delete_fn: object", 0}, {(char *)"nopython", __pyx_getprop_6mpi4py_3MPI_9_p_keyval_nopython, __pyx_setprop_6mpi4py_3MPI_9_p_keyval_nopython, (char *)"nopython: 'bool'", 0}, {0, 0, 0, 0, 0} }; static PyTypeObject __pyx_type_6mpi4py_3MPI__p_keyval = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI._p_keyval", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI__p_keyval), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI__p_keyval, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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_6mpi4py_3MPI__p_keyval, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI__p_keyval, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI__p_keyval, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI__p_keyval, /*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_6mpi4py_3MPI__p_keyval, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_message(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { struct __pyx_obj_6mpi4py_3MPI__p_message *p; PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; p = ((struct __pyx_obj_6mpi4py_3MPI__p_message *)o); p->buf = ((struct __pyx_obj_6mpi4py_3MPI_memory *)Py_None); Py_INCREF(Py_None); p->count = Py_None; Py_INCREF(Py_None); p->displ = Py_None; Py_INCREF(Py_None); p->type = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); return o; } static void __pyx_tp_dealloc_6mpi4py_3MPI__p_message(PyObject *o) { struct __pyx_obj_6mpi4py_3MPI__p_message *p = (struct __pyx_obj_6mpi4py_3MPI__p_message *)o; PyObject_GC_UnTrack(o); Py_CLEAR(p->buf); Py_CLEAR(p->count); Py_CLEAR(p->displ); Py_CLEAR(p->type); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI__p_message(PyObject *o, visitproc v, void *a) { int e; struct __pyx_obj_6mpi4py_3MPI__p_message *p = (struct __pyx_obj_6mpi4py_3MPI__p_message *)o; if (p->buf) { e = (*v)(((PyObject *)p->buf), a); if (e) return e; } if (p->count) { e = (*v)(p->count, a); if (e) return e; } if (p->displ) { e = (*v)(p->displ, a); if (e) return e; } if (p->type) { e = (*v)(((PyObject *)p->type), a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI__p_message(PyObject *o) { PyObject* tmp; struct __pyx_obj_6mpi4py_3MPI__p_message *p = (struct __pyx_obj_6mpi4py_3MPI__p_message *)o; tmp = ((PyObject*)p->buf); p->buf = ((struct __pyx_obj_6mpi4py_3MPI_memory *)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->count); p->count = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->displ); p->displ = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->type); p->type = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyTypeObject __pyx_type_6mpi4py_3MPI__p_message = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI._p_message", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI__p_message), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI__p_message, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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_6mpi4py_3MPI__p_message, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI__p_message, /*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_6mpi4py_3MPI__p_message, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_p2p __pyx_vtable_6mpi4py_3MPI__p_msg_p2p; static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_msg_p2p(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *p; PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; p = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)o); p->__pyx_vtab = __pyx_vtabptr_6mpi4py_3MPI__p_msg_p2p; p->_msg = Py_None; Py_INCREF(Py_None); if (unlikely(__pyx_pw_6mpi4py_3MPI_10_p_msg_p2p_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_6mpi4py_3MPI__p_msg_p2p(PyObject *o) { struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)o; PyObject_GC_UnTrack(o); Py_CLEAR(p->_msg); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI__p_msg_p2p(PyObject *o, visitproc v, void *a) { int e; struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)o; if (p->_msg) { e = (*v)(p->_msg, a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI__p_msg_p2p(PyObject *o) { PyObject* tmp; struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)o; tmp = ((PyObject*)p->_msg); p->_msg = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyMethodDef __pyx_methods_6mpi4py_3MPI__p_msg_p2p[] = { {0, 0, 0, 0} }; static PyTypeObject __pyx_type_6mpi4py_3MPI__p_msg_p2p = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI._p_msg_p2p", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI__p_msg_p2p, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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_6mpi4py_3MPI__p_msg_p2p, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI__p_msg_p2p, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI__p_msg_p2p, /*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_6mpi4py_3MPI__p_msg_p2p, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_cco __pyx_vtable_6mpi4py_3MPI__p_msg_cco; static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_msg_cco(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *p; PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; p = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)o); p->__pyx_vtab = __pyx_vtabptr_6mpi4py_3MPI__p_msg_cco; p->_smsg = Py_None; Py_INCREF(Py_None); p->_rmsg = Py_None; Py_INCREF(Py_None); p->_rcnt = Py_None; Py_INCREF(Py_None); if (unlikely(__pyx_pw_6mpi4py_3MPI_10_p_msg_cco_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_6mpi4py_3MPI__p_msg_cco(PyObject *o) { struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)o; PyObject_GC_UnTrack(o); Py_CLEAR(p->_smsg); Py_CLEAR(p->_rmsg); Py_CLEAR(p->_rcnt); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI__p_msg_cco(PyObject *o, visitproc v, void *a) { int e; struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)o; if (p->_smsg) { e = (*v)(p->_smsg, a); if (e) return e; } if (p->_rmsg) { e = (*v)(p->_rmsg, a); if (e) return e; } if (p->_rcnt) { e = (*v)(p->_rcnt, a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI__p_msg_cco(PyObject *o) { PyObject* tmp; struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)o; tmp = ((PyObject*)p->_smsg); p->_smsg = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->_rmsg); p->_rmsg = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->_rcnt); p->_rcnt = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyMethodDef __pyx_methods_6mpi4py_3MPI__p_msg_cco[] = { {0, 0, 0, 0} }; static PyTypeObject __pyx_type_6mpi4py_3MPI__p_msg_cco = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI._p_msg_cco", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI__p_msg_cco, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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_6mpi4py_3MPI__p_msg_cco, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI__p_msg_cco, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI__p_msg_cco, /*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_6mpi4py_3MPI__p_msg_cco, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_ccow __pyx_vtable_6mpi4py_3MPI__p_msg_ccow; static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_msg_ccow(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *p; PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; p = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *)o); p->__pyx_vtab = __pyx_vtabptr_6mpi4py_3MPI__p_msg_ccow; p->_smsg = Py_None; Py_INCREF(Py_None); p->_rmsg = Py_None; Py_INCREF(Py_None); if (unlikely(__pyx_pw_6mpi4py_3MPI_11_p_msg_ccow_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_6mpi4py_3MPI__p_msg_ccow(PyObject *o) { struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *)o; PyObject_GC_UnTrack(o); Py_CLEAR(p->_smsg); Py_CLEAR(p->_rmsg); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI__p_msg_ccow(PyObject *o, visitproc v, void *a) { int e; struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *)o; if (p->_smsg) { e = (*v)(p->_smsg, a); if (e) return e; } if (p->_rmsg) { e = (*v)(p->_rmsg, a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI__p_msg_ccow(PyObject *o) { PyObject* tmp; struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *)o; tmp = ((PyObject*)p->_smsg); p->_smsg = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->_rmsg); p->_rmsg = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyMethodDef __pyx_methods_6mpi4py_3MPI__p_msg_ccow[] = { {0, 0, 0, 0} }; static PyTypeObject __pyx_type_6mpi4py_3MPI__p_msg_ccow = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI._p_msg_ccow", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI__p_msg_ccow, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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_6mpi4py_3MPI__p_msg_ccow, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI__p_msg_ccow, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI__p_msg_ccow, /*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_6mpi4py_3MPI__p_msg_ccow, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_rma __pyx_vtable_6mpi4py_3MPI__p_msg_rma; static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_msg_rma(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *p; PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; p = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)o); p->__pyx_vtab = __pyx_vtabptr_6mpi4py_3MPI__p_msg_rma; p->_origin = Py_None; Py_INCREF(Py_None); p->_compare = Py_None; Py_INCREF(Py_None); p->_result = Py_None; Py_INCREF(Py_None); p->_target = Py_None; Py_INCREF(Py_None); if (unlikely(__pyx_pw_6mpi4py_3MPI_10_p_msg_rma_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_6mpi4py_3MPI__p_msg_rma(PyObject *o) { struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)o; PyObject_GC_UnTrack(o); Py_CLEAR(p->_origin); Py_CLEAR(p->_compare); Py_CLEAR(p->_result); Py_CLEAR(p->_target); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI__p_msg_rma(PyObject *o, visitproc v, void *a) { int e; struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)o; if (p->_origin) { e = (*v)(p->_origin, a); if (e) return e; } if (p->_compare) { e = (*v)(p->_compare, a); if (e) return e; } if (p->_result) { e = (*v)(p->_result, a); if (e) return e; } if (p->_target) { e = (*v)(p->_target, a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI__p_msg_rma(PyObject *o) { PyObject* tmp; struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)o; tmp = ((PyObject*)p->_origin); p->_origin = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->_compare); p->_compare = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->_result); p->_result = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->_target); p->_target = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyMethodDef __pyx_methods_6mpi4py_3MPI__p_msg_rma[] = { {0, 0, 0, 0} }; static PyTypeObject __pyx_type_6mpi4py_3MPI__p_msg_rma = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI._p_msg_rma", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI__p_msg_rma, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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_6mpi4py_3MPI__p_msg_rma, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI__p_msg_rma, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI__p_msg_rma, /*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_6mpi4py_3MPI__p_msg_rma, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_io __pyx_vtable_6mpi4py_3MPI__p_msg_io; static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_msg_io(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *p; PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; p = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)o); p->__pyx_vtab = __pyx_vtabptr_6mpi4py_3MPI__p_msg_io; p->_msg = Py_None; Py_INCREF(Py_None); if (unlikely(__pyx_pw_6mpi4py_3MPI_9_p_msg_io_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_6mpi4py_3MPI__p_msg_io(PyObject *o) { struct __pyx_obj_6mpi4py_3MPI__p_msg_io *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)o; PyObject_GC_UnTrack(o); Py_CLEAR(p->_msg); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI__p_msg_io(PyObject *o, visitproc v, void *a) { int e; struct __pyx_obj_6mpi4py_3MPI__p_msg_io *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)o; if (p->_msg) { e = (*v)(p->_msg, a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI__p_msg_io(PyObject *o) { PyObject* tmp; struct __pyx_obj_6mpi4py_3MPI__p_msg_io *p = (struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)o; tmp = ((PyObject*)p->_msg); p->_msg = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyMethodDef __pyx_methods_6mpi4py_3MPI__p_msg_io[] = { {0, 0, 0, 0} }; static PyTypeObject __pyx_type_6mpi4py_3MPI__p_msg_io = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI._p_msg_io", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI__p_msg_io), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI__p_msg_io, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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_6mpi4py_3MPI__p_msg_io, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI__p_msg_io, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI__p_msg_io, /*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_6mpi4py_3MPI__p_msg_io, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #endif }; static struct __pyx_vtabstruct_6mpi4py_3MPI_Pickle __pyx_vtable_6mpi4py_3MPI_Pickle; static PyObject *__pyx_tp_new_6mpi4py_3MPI_Pickle(PyTypeObject *t, PyObject *a, PyObject *k) { struct __pyx_obj_6mpi4py_3MPI_Pickle *p; PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; p = ((struct __pyx_obj_6mpi4py_3MPI_Pickle *)o); p->__pyx_vtab = __pyx_vtabptr_6mpi4py_3MPI_Pickle; p->ob_dumps = Py_None; Py_INCREF(Py_None); p->ob_loads = Py_None; Py_INCREF(Py_None); p->ob_PROTO = Py_None; Py_INCREF(Py_None); if (unlikely(__pyx_pw_6mpi4py_3MPI_6Pickle_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_6mpi4py_3MPI_Pickle(PyObject *o) { struct __pyx_obj_6mpi4py_3MPI_Pickle *p = (struct __pyx_obj_6mpi4py_3MPI_Pickle *)o; PyObject_GC_UnTrack(o); Py_CLEAR(p->ob_dumps); Py_CLEAR(p->ob_loads); Py_CLEAR(p->ob_PROTO); (*Py_TYPE(o)->tp_free)(o); } static int __pyx_tp_traverse_6mpi4py_3MPI_Pickle(PyObject *o, visitproc v, void *a) { int e; struct __pyx_obj_6mpi4py_3MPI_Pickle *p = (struct __pyx_obj_6mpi4py_3MPI_Pickle *)o; if (p->ob_dumps) { e = (*v)(p->ob_dumps, a); if (e) return e; } if (p->ob_loads) { e = (*v)(p->ob_loads, a); if (e) return e; } if (p->ob_PROTO) { e = (*v)(p->ob_PROTO, a); if (e) return e; } return 0; } static int __pyx_tp_clear_6mpi4py_3MPI_Pickle(PyObject *o) { PyObject* tmp; struct __pyx_obj_6mpi4py_3MPI_Pickle *p = (struct __pyx_obj_6mpi4py_3MPI_Pickle *)o; tmp = ((PyObject*)p->ob_dumps); p->ob_dumps = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->ob_loads); p->ob_loads = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->ob_PROTO); p->ob_PROTO = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyObject *__pyx_getprop_6mpi4py_3MPI_6Pickle_PROTOCOL(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_6Pickle_8PROTOCOL_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_6Pickle_PROTOCOL(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_6Pickle_8PROTOCOL_3__set__(o, v); } else { PyErr_SetString(PyExc_NotImplementedError, "__del__"); return -1; } } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Pickle[] = { {"dumps", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Pickle_5dumps, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Pickle_4dumps}, {"loads", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6mpi4py_3MPI_6Pickle_7loads, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Pickle_6loads}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_Pickle[] = { {(char *)"PROTOCOL", __pyx_getprop_6mpi4py_3MPI_6Pickle_PROTOCOL, __pyx_setprop_6mpi4py_3MPI_6Pickle_PROTOCOL, (char *)"protocol", 0}, {0, 0, 0, 0, 0} }; static PyTypeObject __pyx_type_6mpi4py_3MPI_Pickle = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI.Pickle", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI_Pickle), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI_Pickle, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 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*/ "Pickle(dumps=None, loads=None, protocol=None)\n\n Pickle/unpickle Python objects\n ", /*tp_doc*/ __pyx_tp_traverse_6mpi4py_3MPI_Pickle, /*tp_traverse*/ __pyx_tp_clear_6mpi4py_3MPI_Pickle, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_6mpi4py_3MPI_Pickle, /*tp_methods*/ 0, /*tp_members*/ __pyx_getsets_6mpi4py_3MPI_Pickle, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ 0, /*tp_descr_set*/ 0, /*tp_dictoffset*/ __pyx_pw_6mpi4py_3MPI_6Pickle_3__init__, /*tp_init*/ 0, /*tp_alloc*/ __pyx_tp_new_6mpi4py_3MPI_Pickle, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 0, /*tp_pypy_flags*/ #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_MPI(PyObject* module); /*proto*/ static PyModuleDef_Slot __pyx_moduledef_slots[] = { {Py_mod_create, (void*)__pyx_pymod_create}, {Py_mod_exec, (void*)__pyx_pymod_exec_MPI}, {0, NULL} }; #endif static struct PyModuleDef __pyx_moduledef = { PyModuleDef_HEAD_INIT, "MPI", 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 */ (freefunc)__pyx_module_cleanup /* 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_n_s_AINT, __pyx_k_AINT, sizeof(__pyx_k_AINT), 0, 0, 1, 1}, {&__pyx_n_s_ANY_SOURCE, __pyx_k_ANY_SOURCE, sizeof(__pyx_k_ANY_SOURCE), 0, 0, 1, 1}, {&__pyx_n_s_ANY_TAG, __pyx_k_ANY_TAG, sizeof(__pyx_k_ANY_TAG), 0, 0, 1, 1}, {&__pyx_n_s_APPNUM, __pyx_k_APPNUM, sizeof(__pyx_k_APPNUM), 0, 0, 1, 1}, {&__pyx_n_s_Add_error_class, __pyx_k_Add_error_class, sizeof(__pyx_k_Add_error_class), 0, 0, 1, 1}, {&__pyx_n_s_Add_error_code, __pyx_k_Add_error_code, sizeof(__pyx_k_Add_error_code), 0, 0, 1, 1}, {&__pyx_n_s_Add_error_string, __pyx_k_Add_error_string, sizeof(__pyx_k_Add_error_string), 0, 0, 1, 1}, {&__pyx_n_s_Aint_add, __pyx_k_Aint_add, sizeof(__pyx_k_Aint_add), 0, 0, 1, 1}, {&__pyx_n_s_Aint_diff, __pyx_k_Aint_diff, sizeof(__pyx_k_Aint_diff), 0, 0, 1, 1}, {&__pyx_n_s_Alloc_mem, __pyx_k_Alloc_mem, sizeof(__pyx_k_Alloc_mem), 0, 0, 1, 1}, {&__pyx_n_s_Allocate, __pyx_k_Allocate, sizeof(__pyx_k_Allocate), 0, 0, 1, 1}, {&__pyx_n_s_Allocate_shared, __pyx_k_Allocate_shared, sizeof(__pyx_k_Allocate_shared), 0, 0, 1, 1}, {&__pyx_n_s_Attach_buffer, __pyx_k_Attach_buffer, sizeof(__pyx_k_Attach_buffer), 0, 0, 1, 1}, {&__pyx_n_s_AttributeError, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1}, {&__pyx_n_s_B, __pyx_k_B, sizeof(__pyx_k_B), 0, 0, 1, 1}, {&__pyx_n_s_BAND, __pyx_k_BAND, sizeof(__pyx_k_BAND), 0, 0, 1, 1}, {&__pyx_n_s_BOOL, __pyx_k_BOOL, sizeof(__pyx_k_BOOL), 0, 0, 1, 1}, {&__pyx_n_s_BOR, __pyx_k_BOR, sizeof(__pyx_k_BOR), 0, 0, 1, 1}, {&__pyx_n_s_BOTTOM, __pyx_k_BOTTOM, sizeof(__pyx_k_BOTTOM), 0, 0, 1, 1}, {&__pyx_n_s_BSEND_OVERHEAD, __pyx_k_BSEND_OVERHEAD, sizeof(__pyx_k_BSEND_OVERHEAD), 0, 0, 1, 1}, {&__pyx_n_s_BXOR, __pyx_k_BXOR, sizeof(__pyx_k_BXOR), 0, 0, 1, 1}, {&__pyx_n_s_BYTE, __pyx_k_BYTE, sizeof(__pyx_k_BYTE), 0, 0, 1, 1}, {&__pyx_n_s_BytesIO, __pyx_k_BytesIO, sizeof(__pyx_k_BytesIO), 0, 0, 1, 1}, {&__pyx_n_s_CART, __pyx_k_CART, sizeof(__pyx_k_CART), 0, 0, 1, 1}, {&__pyx_n_s_CHAR, __pyx_k_CHAR, sizeof(__pyx_k_CHAR), 0, 0, 1, 1}, {&__pyx_n_s_CHARACTER, __pyx_k_CHARACTER, sizeof(__pyx_k_CHARACTER), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_CONTIGUOUS, __pyx_k_COMBINER_CONTIGUOUS, sizeof(__pyx_k_COMBINER_CONTIGUOUS), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_DARRAY, __pyx_k_COMBINER_DARRAY, sizeof(__pyx_k_COMBINER_DARRAY), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_DUP, __pyx_k_COMBINER_DUP, sizeof(__pyx_k_COMBINER_DUP), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_F90_COMPLEX, __pyx_k_COMBINER_F90_COMPLEX, sizeof(__pyx_k_COMBINER_F90_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_F90_INTEGER, __pyx_k_COMBINER_F90_INTEGER, sizeof(__pyx_k_COMBINER_F90_INTEGER), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_F90_REAL, __pyx_k_COMBINER_F90_REAL, sizeof(__pyx_k_COMBINER_F90_REAL), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_HINDEXED, __pyx_k_COMBINER_HINDEXED, sizeof(__pyx_k_COMBINER_HINDEXED), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_HINDEXED_BLOCK, __pyx_k_COMBINER_HINDEXED_BLOCK, sizeof(__pyx_k_COMBINER_HINDEXED_BLOCK), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_HVECTOR, __pyx_k_COMBINER_HVECTOR, sizeof(__pyx_k_COMBINER_HVECTOR), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_INDEXED, __pyx_k_COMBINER_INDEXED, sizeof(__pyx_k_COMBINER_INDEXED), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_INDEXED_BLOCK, __pyx_k_COMBINER_INDEXED_BLOCK, sizeof(__pyx_k_COMBINER_INDEXED_BLOCK), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_NAMED, __pyx_k_COMBINER_NAMED, sizeof(__pyx_k_COMBINER_NAMED), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_RESIZED, __pyx_k_COMBINER_RESIZED, sizeof(__pyx_k_COMBINER_RESIZED), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_STRUCT, __pyx_k_COMBINER_STRUCT, sizeof(__pyx_k_COMBINER_STRUCT), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_SUBARRAY, __pyx_k_COMBINER_SUBARRAY, sizeof(__pyx_k_COMBINER_SUBARRAY), 0, 0, 1, 1}, {&__pyx_n_s_COMBINER_VECTOR, __pyx_k_COMBINER_VECTOR, sizeof(__pyx_k_COMBINER_VECTOR), 0, 0, 1, 1}, {&__pyx_n_s_COMM_NULL, __pyx_k_COMM_NULL, sizeof(__pyx_k_COMM_NULL), 0, 0, 1, 1}, {&__pyx_n_s_COMM_SELF, __pyx_k_COMM_SELF, sizeof(__pyx_k_COMM_SELF), 0, 0, 1, 1}, {&__pyx_n_s_COMM_TYPE_SHARED, __pyx_k_COMM_TYPE_SHARED, sizeof(__pyx_k_COMM_TYPE_SHARED), 0, 0, 1, 1}, {&__pyx_n_s_COMM_WORLD, __pyx_k_COMM_WORLD, sizeof(__pyx_k_COMM_WORLD), 0, 0, 1, 1}, {&__pyx_n_s_COMPLEX, __pyx_k_COMPLEX, sizeof(__pyx_k_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_COMPLEX16, __pyx_k_COMPLEX16, sizeof(__pyx_k_COMPLEX16), 0, 0, 1, 1}, {&__pyx_n_s_COMPLEX32, __pyx_k_COMPLEX32, sizeof(__pyx_k_COMPLEX32), 0, 0, 1, 1}, {&__pyx_n_s_COMPLEX4, __pyx_k_COMPLEX4, sizeof(__pyx_k_COMPLEX4), 0, 0, 1, 1}, {&__pyx_n_s_COMPLEX8, __pyx_k_COMPLEX8, sizeof(__pyx_k_COMPLEX8), 0, 0, 1, 1}, {&__pyx_n_s_CONGRUENT, __pyx_k_CONGRUENT, sizeof(__pyx_k_CONGRUENT), 0, 0, 1, 1}, {&__pyx_n_s_CONTIGUOUS, __pyx_k_CONTIGUOUS, sizeof(__pyx_k_CONTIGUOUS), 0, 0, 1, 1}, {&__pyx_n_s_COUNT, __pyx_k_COUNT, sizeof(__pyx_k_COUNT), 0, 0, 1, 1}, {&__pyx_n_s_CXX_BOOL, __pyx_k_CXX_BOOL, sizeof(__pyx_k_CXX_BOOL), 0, 0, 1, 1}, {&__pyx_n_s_CXX_DOUBLE_COMPLEX, __pyx_k_CXX_DOUBLE_COMPLEX, sizeof(__pyx_k_CXX_DOUBLE_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_CXX_FLOAT_COMPLEX, __pyx_k_CXX_FLOAT_COMPLEX, sizeof(__pyx_k_CXX_FLOAT_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_CXX_LONG_DOUBLE_COMPLEX, __pyx_k_CXX_LONG_DOUBLE_COMPLEX, sizeof(__pyx_k_CXX_LONG_DOUBLE_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_C_BOOL, __pyx_k_C_BOOL, sizeof(__pyx_k_C_BOOL), 0, 0, 1, 1}, {&__pyx_n_s_C_COMPLEX, __pyx_k_C_COMPLEX, sizeof(__pyx_k_C_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_C_DOUBLE_COMPLEX, __pyx_k_C_DOUBLE_COMPLEX, sizeof(__pyx_k_C_DOUBLE_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_C_FLOAT_COMPLEX, __pyx_k_C_FLOAT_COMPLEX, sizeof(__pyx_k_C_FLOAT_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_C_LONG_DOUBLE_COMPLEX, __pyx_k_C_LONG_DOUBLE_COMPLEX, sizeof(__pyx_k_C_LONG_DOUBLE_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_Cartcomm, __pyx_k_Cartcomm, sizeof(__pyx_k_Cartcomm), 0, 0, 1, 1}, {&__pyx_n_s_Close_port, __pyx_k_Close_port, sizeof(__pyx_k_Close_port), 0, 0, 1, 1}, {&__pyx_n_s_Comm, __pyx_k_Comm, sizeof(__pyx_k_Comm), 0, 0, 1, 1}, {&__pyx_n_s_Compare, __pyx_k_Compare, sizeof(__pyx_k_Compare), 0, 0, 1, 1}, {&__pyx_n_s_Compute_dims, __pyx_k_Compute_dims, sizeof(__pyx_k_Compute_dims), 0, 0, 1, 1}, {&__pyx_n_s_Create, __pyx_k_Create, sizeof(__pyx_k_Create), 0, 0, 1, 1}, {&__pyx_n_s_Create_dup, __pyx_k_Create_dup, sizeof(__pyx_k_Create_dup), 0, 0, 1, 1}, {&__pyx_n_s_Create_dynamic, __pyx_k_Create_dynamic, sizeof(__pyx_k_Create_dynamic), 0, 0, 1, 1}, {&__pyx_n_s_Create_f90_complex, __pyx_k_Create_f90_complex, sizeof(__pyx_k_Create_f90_complex), 0, 0, 1, 1}, {&__pyx_n_s_Create_f90_integer, __pyx_k_Create_f90_integer, sizeof(__pyx_k_Create_f90_integer), 0, 0, 1, 1}, {&__pyx_n_s_Create_f90_real, __pyx_k_Create_f90_real, sizeof(__pyx_k_Create_f90_real), 0, 0, 1, 1}, {&__pyx_n_s_Create_keyval, __pyx_k_Create_keyval, sizeof(__pyx_k_Create_keyval), 0, 0, 1, 1}, {&__pyx_n_s_Create_resized, __pyx_k_Create_resized, sizeof(__pyx_k_Create_resized), 0, 0, 1, 1}, {&__pyx_n_s_Create_struct, __pyx_k_Create_struct, sizeof(__pyx_k_Create_struct), 0, 0, 1, 1}, {&__pyx_n_s_DARRAY, __pyx_k_DARRAY, sizeof(__pyx_k_DARRAY), 0, 0, 1, 1}, {&__pyx_n_s_DATATYPE_NULL, __pyx_k_DATATYPE_NULL, sizeof(__pyx_k_DATATYPE_NULL), 0, 0, 1, 1}, {&__pyx_n_s_DEFAULT_PROTOCOL, __pyx_k_DEFAULT_PROTOCOL, sizeof(__pyx_k_DEFAULT_PROTOCOL), 0, 0, 1, 1}, {&__pyx_n_s_DISPLACEMENT_CURRENT, __pyx_k_DISPLACEMENT_CURRENT, sizeof(__pyx_k_DISPLACEMENT_CURRENT), 0, 0, 1, 1}, {&__pyx_n_s_DISP_CUR, __pyx_k_DISP_CUR, sizeof(__pyx_k_DISP_CUR), 0, 0, 1, 1}, {&__pyx_n_s_DISTRIBUTE_BLOCK, __pyx_k_DISTRIBUTE_BLOCK, sizeof(__pyx_k_DISTRIBUTE_BLOCK), 0, 0, 1, 1}, {&__pyx_n_s_DISTRIBUTE_CYCLIC, __pyx_k_DISTRIBUTE_CYCLIC, sizeof(__pyx_k_DISTRIBUTE_CYCLIC), 0, 0, 1, 1}, {&__pyx_n_s_DISTRIBUTE_DFLT_DARG, __pyx_k_DISTRIBUTE_DFLT_DARG, sizeof(__pyx_k_DISTRIBUTE_DFLT_DARG), 0, 0, 1, 1}, {&__pyx_n_s_DISTRIBUTE_NONE, __pyx_k_DISTRIBUTE_NONE, sizeof(__pyx_k_DISTRIBUTE_NONE), 0, 0, 1, 1}, {&__pyx_n_s_DIST_GRAPH, __pyx_k_DIST_GRAPH, sizeof(__pyx_k_DIST_GRAPH), 0, 0, 1, 1}, {&__pyx_n_s_DOUBLE, __pyx_k_DOUBLE, sizeof(__pyx_k_DOUBLE), 0, 0, 1, 1}, {&__pyx_n_s_DOUBLE_COMPLEX, __pyx_k_DOUBLE_COMPLEX, sizeof(__pyx_k_DOUBLE_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_DOUBLE_INT, __pyx_k_DOUBLE_INT, sizeof(__pyx_k_DOUBLE_INT), 0, 0, 1, 1}, {&__pyx_n_s_DOUBLE_PRECISION, __pyx_k_DOUBLE_PRECISION, sizeof(__pyx_k_DOUBLE_PRECISION), 0, 0, 1, 1}, {&__pyx_n_s_DUP, __pyx_k_DUP, sizeof(__pyx_k_DUP), 0, 0, 1, 1}, {&__pyx_n_s_Datatype, __pyx_k_Datatype, sizeof(__pyx_k_Datatype), 0, 0, 1, 1}, {&__pyx_n_s_Delete, __pyx_k_Delete, sizeof(__pyx_k_Delete), 0, 0, 1, 1}, {&__pyx_n_s_Detach_buffer, __pyx_k_Detach_buffer, sizeof(__pyx_k_Detach_buffer), 0, 0, 1, 1}, {&__pyx_n_s_Difference, __pyx_k_Difference, sizeof(__pyx_k_Difference), 0, 0, 1, 1}, {&__pyx_n_s_Distgraphcomm, __pyx_k_Distgraphcomm, sizeof(__pyx_k_Distgraphcomm), 0, 0, 1, 1}, {&__pyx_n_s_Dup, __pyx_k_Dup, sizeof(__pyx_k_Dup), 0, 0, 1, 1}, {&__pyx_n_s_ERRHANDLER_NULL, __pyx_k_ERRHANDLER_NULL, sizeof(__pyx_k_ERRHANDLER_NULL), 0, 0, 1, 1}, {&__pyx_n_s_ERRORS_ARE_FATAL, __pyx_k_ERRORS_ARE_FATAL, sizeof(__pyx_k_ERRORS_ARE_FATAL), 0, 0, 1, 1}, {&__pyx_n_s_ERRORS_RETURN, __pyx_k_ERRORS_RETURN, sizeof(__pyx_k_ERRORS_RETURN), 0, 0, 1, 1}, {&__pyx_n_s_ERR_ACCESS, __pyx_k_ERR_ACCESS, sizeof(__pyx_k_ERR_ACCESS), 0, 0, 1, 1}, {&__pyx_n_s_ERR_AMODE, __pyx_k_ERR_AMODE, sizeof(__pyx_k_ERR_AMODE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_ARG, __pyx_k_ERR_ARG, sizeof(__pyx_k_ERR_ARG), 0, 0, 1, 1}, {&__pyx_n_s_ERR_ASSERT, __pyx_k_ERR_ASSERT, sizeof(__pyx_k_ERR_ASSERT), 0, 0, 1, 1}, {&__pyx_n_s_ERR_BAD_FILE, __pyx_k_ERR_BAD_FILE, sizeof(__pyx_k_ERR_BAD_FILE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_BASE, __pyx_k_ERR_BASE, sizeof(__pyx_k_ERR_BASE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_BUFFER, __pyx_k_ERR_BUFFER, sizeof(__pyx_k_ERR_BUFFER), 0, 0, 1, 1}, {&__pyx_n_s_ERR_COMM, __pyx_k_ERR_COMM, sizeof(__pyx_k_ERR_COMM), 0, 0, 1, 1}, {&__pyx_n_s_ERR_CONVERSION, __pyx_k_ERR_CONVERSION, sizeof(__pyx_k_ERR_CONVERSION), 0, 0, 1, 1}, {&__pyx_n_s_ERR_COUNT, __pyx_k_ERR_COUNT, sizeof(__pyx_k_ERR_COUNT), 0, 0, 1, 1}, {&__pyx_n_s_ERR_DIMS, __pyx_k_ERR_DIMS, sizeof(__pyx_k_ERR_DIMS), 0, 0, 1, 1}, {&__pyx_n_s_ERR_DISP, __pyx_k_ERR_DISP, sizeof(__pyx_k_ERR_DISP), 0, 0, 1, 1}, {&__pyx_n_s_ERR_DUP_DATAREP, __pyx_k_ERR_DUP_DATAREP, sizeof(__pyx_k_ERR_DUP_DATAREP), 0, 0, 1, 1}, {&__pyx_n_s_ERR_FILE, __pyx_k_ERR_FILE, sizeof(__pyx_k_ERR_FILE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_FILE_EXISTS, __pyx_k_ERR_FILE_EXISTS, sizeof(__pyx_k_ERR_FILE_EXISTS), 0, 0, 1, 1}, {&__pyx_n_s_ERR_FILE_IN_USE, __pyx_k_ERR_FILE_IN_USE, sizeof(__pyx_k_ERR_FILE_IN_USE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_GROUP, __pyx_k_ERR_GROUP, sizeof(__pyx_k_ERR_GROUP), 0, 0, 1, 1}, {&__pyx_n_s_ERR_INFO, __pyx_k_ERR_INFO, sizeof(__pyx_k_ERR_INFO), 0, 0, 1, 1}, {&__pyx_n_s_ERR_INFO_KEY, __pyx_k_ERR_INFO_KEY, sizeof(__pyx_k_ERR_INFO_KEY), 0, 0, 1, 1}, {&__pyx_n_s_ERR_INFO_NOKEY, __pyx_k_ERR_INFO_NOKEY, sizeof(__pyx_k_ERR_INFO_NOKEY), 0, 0, 1, 1}, {&__pyx_n_s_ERR_INFO_VALUE, __pyx_k_ERR_INFO_VALUE, sizeof(__pyx_k_ERR_INFO_VALUE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_INTERN, __pyx_k_ERR_INTERN, sizeof(__pyx_k_ERR_INTERN), 0, 0, 1, 1}, {&__pyx_n_s_ERR_IN_STATUS, __pyx_k_ERR_IN_STATUS, sizeof(__pyx_k_ERR_IN_STATUS), 0, 0, 1, 1}, {&__pyx_n_s_ERR_IO, __pyx_k_ERR_IO, sizeof(__pyx_k_ERR_IO), 0, 0, 1, 1}, {&__pyx_n_s_ERR_KEYVAL, __pyx_k_ERR_KEYVAL, sizeof(__pyx_k_ERR_KEYVAL), 0, 0, 1, 1}, {&__pyx_n_s_ERR_LASTCODE, __pyx_k_ERR_LASTCODE, sizeof(__pyx_k_ERR_LASTCODE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_LOCKTYPE, __pyx_k_ERR_LOCKTYPE, sizeof(__pyx_k_ERR_LOCKTYPE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_NAME, __pyx_k_ERR_NAME, sizeof(__pyx_k_ERR_NAME), 0, 0, 1, 1}, {&__pyx_n_s_ERR_NOT_SAME, __pyx_k_ERR_NOT_SAME, sizeof(__pyx_k_ERR_NOT_SAME), 0, 0, 1, 1}, {&__pyx_n_s_ERR_NO_MEM, __pyx_k_ERR_NO_MEM, sizeof(__pyx_k_ERR_NO_MEM), 0, 0, 1, 1}, {&__pyx_n_s_ERR_NO_SPACE, __pyx_k_ERR_NO_SPACE, sizeof(__pyx_k_ERR_NO_SPACE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_NO_SUCH_FILE, __pyx_k_ERR_NO_SUCH_FILE, sizeof(__pyx_k_ERR_NO_SUCH_FILE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_OP, __pyx_k_ERR_OP, sizeof(__pyx_k_ERR_OP), 0, 0, 1, 1}, {&__pyx_n_s_ERR_OTHER, __pyx_k_ERR_OTHER, sizeof(__pyx_k_ERR_OTHER), 0, 0, 1, 1}, {&__pyx_n_s_ERR_PENDING, __pyx_k_ERR_PENDING, sizeof(__pyx_k_ERR_PENDING), 0, 0, 1, 1}, {&__pyx_n_s_ERR_PORT, __pyx_k_ERR_PORT, sizeof(__pyx_k_ERR_PORT), 0, 0, 1, 1}, {&__pyx_n_s_ERR_QUOTA, __pyx_k_ERR_QUOTA, sizeof(__pyx_k_ERR_QUOTA), 0, 0, 1, 1}, {&__pyx_n_s_ERR_RANK, __pyx_k_ERR_RANK, sizeof(__pyx_k_ERR_RANK), 0, 0, 1, 1}, {&__pyx_n_s_ERR_READ_ONLY, __pyx_k_ERR_READ_ONLY, sizeof(__pyx_k_ERR_READ_ONLY), 0, 0, 1, 1}, {&__pyx_n_s_ERR_REQUEST, __pyx_k_ERR_REQUEST, sizeof(__pyx_k_ERR_REQUEST), 0, 0, 1, 1}, {&__pyx_n_s_ERR_RMA_ATTACH, __pyx_k_ERR_RMA_ATTACH, sizeof(__pyx_k_ERR_RMA_ATTACH), 0, 0, 1, 1}, {&__pyx_n_s_ERR_RMA_CONFLICT, __pyx_k_ERR_RMA_CONFLICT, sizeof(__pyx_k_ERR_RMA_CONFLICT), 0, 0, 1, 1}, {&__pyx_n_s_ERR_RMA_FLAVOR, __pyx_k_ERR_RMA_FLAVOR, sizeof(__pyx_k_ERR_RMA_FLAVOR), 0, 0, 1, 1}, {&__pyx_n_s_ERR_RMA_RANGE, __pyx_k_ERR_RMA_RANGE, sizeof(__pyx_k_ERR_RMA_RANGE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_RMA_SHARED, __pyx_k_ERR_RMA_SHARED, sizeof(__pyx_k_ERR_RMA_SHARED), 0, 0, 1, 1}, {&__pyx_n_s_ERR_RMA_SYNC, __pyx_k_ERR_RMA_SYNC, sizeof(__pyx_k_ERR_RMA_SYNC), 0, 0, 1, 1}, {&__pyx_n_s_ERR_ROOT, __pyx_k_ERR_ROOT, sizeof(__pyx_k_ERR_ROOT), 0, 0, 1, 1}, {&__pyx_n_s_ERR_SERVICE, __pyx_k_ERR_SERVICE, sizeof(__pyx_k_ERR_SERVICE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_SIZE, __pyx_k_ERR_SIZE, sizeof(__pyx_k_ERR_SIZE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_SPAWN, __pyx_k_ERR_SPAWN, sizeof(__pyx_k_ERR_SPAWN), 0, 0, 1, 1}, {&__pyx_n_s_ERR_TAG, __pyx_k_ERR_TAG, sizeof(__pyx_k_ERR_TAG), 0, 0, 1, 1}, {&__pyx_n_s_ERR_TOPOLOGY, __pyx_k_ERR_TOPOLOGY, sizeof(__pyx_k_ERR_TOPOLOGY), 0, 0, 1, 1}, {&__pyx_n_s_ERR_TRUNCATE, __pyx_k_ERR_TRUNCATE, sizeof(__pyx_k_ERR_TRUNCATE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_TYPE, __pyx_k_ERR_TYPE, sizeof(__pyx_k_ERR_TYPE), 0, 0, 1, 1}, {&__pyx_n_s_ERR_UNKNOWN, __pyx_k_ERR_UNKNOWN, sizeof(__pyx_k_ERR_UNKNOWN), 0, 0, 1, 1}, {&__pyx_n_s_ERR_UNSUPPORTED_DATAREP, __pyx_k_ERR_UNSUPPORTED_DATAREP, sizeof(__pyx_k_ERR_UNSUPPORTED_DATAREP), 0, 0, 1, 1}, {&__pyx_n_s_ERR_UNSUPPORTED_OPERATION, __pyx_k_ERR_UNSUPPORTED_OPERATION, sizeof(__pyx_k_ERR_UNSUPPORTED_OPERATION), 0, 0, 1, 1}, {&__pyx_n_s_ERR_WIN, __pyx_k_ERR_WIN, sizeof(__pyx_k_ERR_WIN), 0, 0, 1, 1}, {&__pyx_n_s_Errhandler, __pyx_k_Errhandler, sizeof(__pyx_k_Errhandler), 0, 0, 1, 1}, {&__pyx_kp_s_Exception, __pyx_k_Exception, sizeof(__pyx_k_Exception), 0, 0, 1, 0}, {&__pyx_n_s_Exception_2, __pyx_k_Exception_2, sizeof(__pyx_k_Exception_2), 0, 0, 1, 1}, {&__pyx_n_s_Exception_Get_error_class, __pyx_k_Exception_Get_error_class, sizeof(__pyx_k_Exception_Get_error_class), 0, 0, 1, 1}, {&__pyx_n_s_Exception_Get_error_code, __pyx_k_Exception_Get_error_code, sizeof(__pyx_k_Exception_Get_error_code), 0, 0, 1, 1}, {&__pyx_n_s_Exception_Get_error_string, __pyx_k_Exception_Get_error_string, sizeof(__pyx_k_Exception_Get_error_string), 0, 0, 1, 1}, {&__pyx_n_s_Exception___bool, __pyx_k_Exception___bool, sizeof(__pyx_k_Exception___bool), 0, 0, 1, 1}, {&__pyx_n_s_Exception___eq, __pyx_k_Exception___eq, sizeof(__pyx_k_Exception___eq), 0, 0, 1, 1}, {&__pyx_n_s_Exception___ge, __pyx_k_Exception___ge, sizeof(__pyx_k_Exception___ge), 0, 0, 1, 1}, {&__pyx_n_s_Exception___gt, __pyx_k_Exception___gt, sizeof(__pyx_k_Exception___gt), 0, 0, 1, 1}, {&__pyx_n_s_Exception___hash, __pyx_k_Exception___hash, sizeof(__pyx_k_Exception___hash), 0, 0, 1, 1}, {&__pyx_n_s_Exception___init, __pyx_k_Exception___init, sizeof(__pyx_k_Exception___init), 0, 0, 1, 1}, {&__pyx_n_s_Exception___int, __pyx_k_Exception___int, sizeof(__pyx_k_Exception___int), 0, 0, 1, 1}, {&__pyx_n_s_Exception___le, __pyx_k_Exception___le, sizeof(__pyx_k_Exception___le), 0, 0, 1, 1}, {&__pyx_n_s_Exception___lt, __pyx_k_Exception___lt, sizeof(__pyx_k_Exception___lt), 0, 0, 1, 1}, {&__pyx_n_s_Exception___ne, __pyx_k_Exception___ne, sizeof(__pyx_k_Exception___ne), 0, 0, 1, 1}, {&__pyx_n_s_Exception___repr, __pyx_k_Exception___repr, sizeof(__pyx_k_Exception___repr), 0, 0, 1, 1}, {&__pyx_n_s_Exception___str, __pyx_k_Exception___str, sizeof(__pyx_k_Exception___str), 0, 0, 1, 1}, {&__pyx_n_s_F90_COMPLEX, __pyx_k_F90_COMPLEX, sizeof(__pyx_k_F90_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_F90_INTEGER, __pyx_k_F90_INTEGER, sizeof(__pyx_k_F90_INTEGER), 0, 0, 1, 1}, {&__pyx_n_s_F90_REAL, __pyx_k_F90_REAL, sizeof(__pyx_k_F90_REAL), 0, 0, 1, 1}, {&__pyx_n_s_FILE_NULL, __pyx_k_FILE_NULL, sizeof(__pyx_k_FILE_NULL), 0, 0, 1, 1}, {&__pyx_n_s_FLOAT, __pyx_k_FLOAT, sizeof(__pyx_k_FLOAT), 0, 0, 1, 1}, {&__pyx_n_s_FLOAT_INT, __pyx_k_FLOAT_INT, sizeof(__pyx_k_FLOAT_INT), 0, 0, 1, 1}, {&__pyx_n_s_F_BOOL, __pyx_k_F_BOOL, sizeof(__pyx_k_F_BOOL), 0, 0, 1, 1}, {&__pyx_n_s_F_COMPLEX, __pyx_k_F_COMPLEX, sizeof(__pyx_k_F_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_F_DOUBLE, __pyx_k_F_DOUBLE, sizeof(__pyx_k_F_DOUBLE), 0, 0, 1, 1}, {&__pyx_n_s_F_DOUBLE_COMPLEX, __pyx_k_F_DOUBLE_COMPLEX, sizeof(__pyx_k_F_DOUBLE_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_F_FLOAT, __pyx_k_F_FLOAT, sizeof(__pyx_k_F_FLOAT), 0, 0, 1, 1}, {&__pyx_n_s_F_FLOAT_COMPLEX, __pyx_k_F_FLOAT_COMPLEX, sizeof(__pyx_k_F_FLOAT_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_F_INT, __pyx_k_F_INT, sizeof(__pyx_k_F_INT), 0, 0, 1, 1}, {&__pyx_n_s_File, __pyx_k_File, sizeof(__pyx_k_File), 0, 0, 1, 1}, {&__pyx_n_s_Finalize, __pyx_k_Finalize, sizeof(__pyx_k_Finalize), 0, 0, 1, 1}, {&__pyx_n_s_Free_keyval, __pyx_k_Free_keyval, sizeof(__pyx_k_Free_keyval), 0, 0, 1, 1}, {&__pyx_n_s_Free_mem, __pyx_k_Free_mem, sizeof(__pyx_k_Free_mem), 0, 0, 1, 1}, {&__pyx_n_s_GRAPH, __pyx_k_GRAPH, sizeof(__pyx_k_GRAPH), 0, 0, 1, 1}, {&__pyx_n_s_GROUP_EMPTY, __pyx_k_GROUP_EMPTY, sizeof(__pyx_k_GROUP_EMPTY), 0, 0, 1, 1}, {&__pyx_n_s_GROUP_NULL, __pyx_k_GROUP_NULL, sizeof(__pyx_k_GROUP_NULL), 0, 0, 1, 1}, {&__pyx_n_s_Get, __pyx_k_Get, sizeof(__pyx_k_Get), 0, 0, 1, 1}, {&__pyx_n_s_Get_address, __pyx_k_Get_address, sizeof(__pyx_k_Get_address), 0, 0, 1, 1}, {&__pyx_n_s_Get_amode, __pyx_k_Get_amode, sizeof(__pyx_k_Get_amode), 0, 0, 1, 1}, {&__pyx_n_s_Get_atomicity, __pyx_k_Get_atomicity, sizeof(__pyx_k_Get_atomicity), 0, 0, 1, 1}, {&__pyx_n_s_Get_contents, __pyx_k_Get_contents, sizeof(__pyx_k_Get_contents), 0, 0, 1, 1}, {&__pyx_n_s_Get_count, __pyx_k_Get_count, sizeof(__pyx_k_Get_count), 0, 0, 1, 1}, {&__pyx_n_s_Get_dim, __pyx_k_Get_dim, sizeof(__pyx_k_Get_dim), 0, 0, 1, 1}, {&__pyx_n_s_Get_dims, __pyx_k_Get_dims, sizeof(__pyx_k_Get_dims), 0, 0, 1, 1}, {&__pyx_n_s_Get_dist_neighbors, __pyx_k_Get_dist_neighbors, sizeof(__pyx_k_Get_dist_neighbors), 0, 0, 1, 1}, {&__pyx_n_s_Get_dist_neighbors_count, __pyx_k_Get_dist_neighbors_count, sizeof(__pyx_k_Get_dist_neighbors_count), 0, 0, 1, 1}, {&__pyx_n_s_Get_envelope, __pyx_k_Get_envelope, sizeof(__pyx_k_Get_envelope), 0, 0, 1, 1}, {&__pyx_n_s_Get_error, __pyx_k_Get_error, sizeof(__pyx_k_Get_error), 0, 0, 1, 1}, {&__pyx_n_s_Get_error_class, __pyx_k_Get_error_class, sizeof(__pyx_k_Get_error_class), 0, 0, 1, 1}, {&__pyx_n_s_Get_error_code, __pyx_k_Get_error_code, sizeof(__pyx_k_Get_error_code), 0, 0, 1, 1}, {&__pyx_n_s_Get_error_string, __pyx_k_Get_error_string, sizeof(__pyx_k_Get_error_string), 0, 0, 1, 1}, {&__pyx_n_s_Get_group, __pyx_k_Get_group, sizeof(__pyx_k_Get_group), 0, 0, 1, 1}, {&__pyx_n_s_Get_info, __pyx_k_Get_info, sizeof(__pyx_k_Get_info), 0, 0, 1, 1}, {&__pyx_n_s_Get_library_version, __pyx_k_Get_library_version, sizeof(__pyx_k_Get_library_version), 0, 0, 1, 1}, {&__pyx_n_s_Get_name, __pyx_k_Get_name, sizeof(__pyx_k_Get_name), 0, 0, 1, 1}, {&__pyx_n_s_Get_neighbors, __pyx_k_Get_neighbors, sizeof(__pyx_k_Get_neighbors), 0, 0, 1, 1}, {&__pyx_n_s_Get_neighbors_count, __pyx_k_Get_neighbors_count, sizeof(__pyx_k_Get_neighbors_count), 0, 0, 1, 1}, {&__pyx_n_s_Get_nkeys, __pyx_k_Get_nkeys, sizeof(__pyx_k_Get_nkeys), 0, 0, 1, 1}, {&__pyx_n_s_Get_nthkey, __pyx_k_Get_nthkey, sizeof(__pyx_k_Get_nthkey), 0, 0, 1, 1}, {&__pyx_n_s_Get_parent, __pyx_k_Get_parent, sizeof(__pyx_k_Get_parent), 0, 0, 1, 1}, {&__pyx_n_s_Get_processor_name, __pyx_k_Get_processor_name, sizeof(__pyx_k_Get_processor_name), 0, 0, 1, 1}, {&__pyx_n_s_Get_rank, __pyx_k_Get_rank, sizeof(__pyx_k_Get_rank), 0, 0, 1, 1}, {&__pyx_n_s_Get_remote_group, __pyx_k_Get_remote_group, sizeof(__pyx_k_Get_remote_group), 0, 0, 1, 1}, {&__pyx_n_s_Get_remote_size, __pyx_k_Get_remote_size, sizeof(__pyx_k_Get_remote_size), 0, 0, 1, 1}, {&__pyx_n_s_Get_size, __pyx_k_Get_size, sizeof(__pyx_k_Get_size), 0, 0, 1, 1}, {&__pyx_n_s_Get_source, __pyx_k_Get_source, sizeof(__pyx_k_Get_source), 0, 0, 1, 1}, {&__pyx_n_s_Get_tag, __pyx_k_Get_tag, sizeof(__pyx_k_Get_tag), 0, 0, 1, 1}, {&__pyx_n_s_Get_topo, __pyx_k_Get_topo, sizeof(__pyx_k_Get_topo), 0, 0, 1, 1}, {&__pyx_n_s_Get_topology, __pyx_k_Get_topology, sizeof(__pyx_k_Get_topology), 0, 0, 1, 1}, {&__pyx_n_s_Get_version, __pyx_k_Get_version, sizeof(__pyx_k_Get_version), 0, 0, 1, 1}, {&__pyx_n_s_Graphcomm, __pyx_k_Graphcomm, sizeof(__pyx_k_Graphcomm), 0, 0, 1, 1}, {&__pyx_n_s_Grequest, __pyx_k_Grequest, sizeof(__pyx_k_Grequest), 0, 0, 1, 1}, {&__pyx_n_s_Group, __pyx_k_Group, sizeof(__pyx_k_Group), 0, 0, 1, 1}, {&__pyx_n_s_HIGHEST_PROTOCOL, __pyx_k_HIGHEST_PROTOCOL, sizeof(__pyx_k_HIGHEST_PROTOCOL), 0, 0, 1, 1}, {&__pyx_n_s_HINDEXED, __pyx_k_HINDEXED, sizeof(__pyx_k_HINDEXED), 0, 0, 1, 1}, {&__pyx_n_s_HINDEXED_BLOCK, __pyx_k_HINDEXED_BLOCK, sizeof(__pyx_k_HINDEXED_BLOCK), 0, 0, 1, 1}, {&__pyx_n_s_HOST, __pyx_k_HOST, sizeof(__pyx_k_HOST), 0, 0, 1, 1}, {&__pyx_n_s_HVECTOR, __pyx_k_HVECTOR, sizeof(__pyx_k_HVECTOR), 0, 0, 1, 1}, {&__pyx_n_s_IDENT, __pyx_k_IDENT, sizeof(__pyx_k_IDENT), 0, 0, 1, 1}, {&__pyx_n_s_INDEXED, __pyx_k_INDEXED, sizeof(__pyx_k_INDEXED), 0, 0, 1, 1}, {&__pyx_n_s_INDEXED_BLOCK, __pyx_k_INDEXED_BLOCK, sizeof(__pyx_k_INDEXED_BLOCK), 0, 0, 1, 1}, {&__pyx_n_s_INFO_ENV, __pyx_k_INFO_ENV, sizeof(__pyx_k_INFO_ENV), 0, 0, 1, 1}, {&__pyx_n_s_INFO_NULL, __pyx_k_INFO_NULL, sizeof(__pyx_k_INFO_NULL), 0, 0, 1, 1}, {&__pyx_n_s_INT, __pyx_k_INT, sizeof(__pyx_k_INT), 0, 0, 1, 1}, {&__pyx_n_s_INT16_T, __pyx_k_INT16_T, sizeof(__pyx_k_INT16_T), 0, 0, 1, 1}, {&__pyx_n_s_INT32_T, __pyx_k_INT32_T, sizeof(__pyx_k_INT32_T), 0, 0, 1, 1}, {&__pyx_n_s_INT64_T, __pyx_k_INT64_T, sizeof(__pyx_k_INT64_T), 0, 0, 1, 1}, {&__pyx_n_s_INT8_T, __pyx_k_INT8_T, sizeof(__pyx_k_INT8_T), 0, 0, 1, 1}, {&__pyx_n_s_INTEGER, __pyx_k_INTEGER, sizeof(__pyx_k_INTEGER), 0, 0, 1, 1}, {&__pyx_n_s_INTEGER1, __pyx_k_INTEGER1, sizeof(__pyx_k_INTEGER1), 0, 0, 1, 1}, {&__pyx_n_s_INTEGER16, __pyx_k_INTEGER16, sizeof(__pyx_k_INTEGER16), 0, 0, 1, 1}, {&__pyx_n_s_INTEGER2, __pyx_k_INTEGER2, sizeof(__pyx_k_INTEGER2), 0, 0, 1, 1}, {&__pyx_n_s_INTEGER4, __pyx_k_INTEGER4, sizeof(__pyx_k_INTEGER4), 0, 0, 1, 1}, {&__pyx_n_s_INTEGER8, __pyx_k_INTEGER8, sizeof(__pyx_k_INTEGER8), 0, 0, 1, 1}, {&__pyx_n_s_INT_INT, __pyx_k_INT_INT, sizeof(__pyx_k_INT_INT), 0, 0, 1, 1}, {&__pyx_n_s_IN_PLACE, __pyx_k_IN_PLACE, sizeof(__pyx_k_IN_PLACE), 0, 0, 1, 1}, {&__pyx_n_s_IO, __pyx_k_IO, sizeof(__pyx_k_IO), 0, 0, 1, 1}, {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, {&__pyx_n_s_IndexError, __pyx_k_IndexError, sizeof(__pyx_k_IndexError), 0, 0, 1, 1}, {&__pyx_n_s_Info, __pyx_k_Info, sizeof(__pyx_k_Info), 0, 0, 1, 1}, {&__pyx_n_s_Init, __pyx_k_Init, sizeof(__pyx_k_Init), 0, 0, 1, 1}, {&__pyx_n_s_Init_thread, __pyx_k_Init_thread, sizeof(__pyx_k_Init_thread), 0, 0, 1, 1}, {&__pyx_n_s_Intercomm, __pyx_k_Intercomm, sizeof(__pyx_k_Intercomm), 0, 0, 1, 1}, {&__pyx_n_s_Intersect, __pyx_k_Intersect, sizeof(__pyx_k_Intersect), 0, 0, 1, 1}, {&__pyx_n_s_Intersection, __pyx_k_Intersection, sizeof(__pyx_k_Intersection), 0, 0, 1, 1}, {&__pyx_n_s_Intracomm, __pyx_k_Intracomm, sizeof(__pyx_k_Intracomm), 0, 0, 1, 1}, {&__pyx_n_s_Iprobe, __pyx_k_Iprobe, sizeof(__pyx_k_Iprobe), 0, 0, 1, 1}, {&__pyx_n_s_Is_cancelled, __pyx_k_Is_cancelled, sizeof(__pyx_k_Is_cancelled), 0, 0, 1, 1}, {&__pyx_n_s_Is_commutative, __pyx_k_Is_commutative, sizeof(__pyx_k_Is_commutative), 0, 0, 1, 1}, {&__pyx_n_s_Is_finalized, __pyx_k_Is_finalized, sizeof(__pyx_k_Is_finalized), 0, 0, 1, 1}, {&__pyx_n_s_Is_initialized, __pyx_k_Is_initialized, sizeof(__pyx_k_Is_initialized), 0, 0, 1, 1}, {&__pyx_n_s_Is_inter, __pyx_k_Is_inter, sizeof(__pyx_k_Is_inter), 0, 0, 1, 1}, {&__pyx_n_s_Is_intra, __pyx_k_Is_intra, sizeof(__pyx_k_Is_intra), 0, 0, 1, 1}, {&__pyx_n_s_Is_thread_main, __pyx_k_Is_thread_main, sizeof(__pyx_k_Is_thread_main), 0, 0, 1, 1}, {&__pyx_n_s_Join, __pyx_k_Join, sizeof(__pyx_k_Join), 0, 0, 1, 1}, {&__pyx_n_s_KEYVAL_INVALID, __pyx_k_KEYVAL_INVALID, sizeof(__pyx_k_KEYVAL_INVALID), 0, 0, 1, 1}, {&__pyx_n_s_KeyError, __pyx_k_KeyError, sizeof(__pyx_k_KeyError), 0, 0, 1, 1}, {&__pyx_n_s_LAND, __pyx_k_LAND, sizeof(__pyx_k_LAND), 0, 0, 1, 1}, {&__pyx_n_s_LASTUSEDCODE, __pyx_k_LASTUSEDCODE, sizeof(__pyx_k_LASTUSEDCODE), 0, 0, 1, 1}, {&__pyx_n_s_LB, __pyx_k_LB, sizeof(__pyx_k_LB), 0, 0, 1, 1}, {&__pyx_n_s_LOCK_EXCLUSIVE, __pyx_k_LOCK_EXCLUSIVE, sizeof(__pyx_k_LOCK_EXCLUSIVE), 0, 0, 1, 1}, {&__pyx_n_s_LOCK_SHARED, __pyx_k_LOCK_SHARED, sizeof(__pyx_k_LOCK_SHARED), 0, 0, 1, 1}, {&__pyx_n_s_LOGICAL, __pyx_k_LOGICAL, sizeof(__pyx_k_LOGICAL), 0, 0, 1, 1}, {&__pyx_n_s_LOGICAL1, __pyx_k_LOGICAL1, sizeof(__pyx_k_LOGICAL1), 0, 0, 1, 1}, {&__pyx_n_s_LOGICAL2, __pyx_k_LOGICAL2, sizeof(__pyx_k_LOGICAL2), 0, 0, 1, 1}, {&__pyx_n_s_LOGICAL4, __pyx_k_LOGICAL4, sizeof(__pyx_k_LOGICAL4), 0, 0, 1, 1}, {&__pyx_n_s_LOGICAL8, __pyx_k_LOGICAL8, sizeof(__pyx_k_LOGICAL8), 0, 0, 1, 1}, {&__pyx_n_s_LONG, __pyx_k_LONG, sizeof(__pyx_k_LONG), 0, 0, 1, 1}, {&__pyx_n_s_LONG_DOUBLE, __pyx_k_LONG_DOUBLE, sizeof(__pyx_k_LONG_DOUBLE), 0, 0, 1, 1}, {&__pyx_n_s_LONG_DOUBLE_INT, __pyx_k_LONG_DOUBLE_INT, sizeof(__pyx_k_LONG_DOUBLE_INT), 0, 0, 1, 1}, {&__pyx_n_s_LONG_INT, __pyx_k_LONG_INT, sizeof(__pyx_k_LONG_INT), 0, 0, 1, 1}, {&__pyx_n_s_LONG_LONG, __pyx_k_LONG_LONG, sizeof(__pyx_k_LONG_LONG), 0, 0, 1, 1}, {&__pyx_n_s_LOR, __pyx_k_LOR, sizeof(__pyx_k_LOR), 0, 0, 1, 1}, {&__pyx_n_s_LXOR, __pyx_k_LXOR, sizeof(__pyx_k_LXOR), 0, 0, 1, 1}, {&__pyx_n_s_Lookup_name, __pyx_k_Lookup_name, sizeof(__pyx_k_Lookup_name), 0, 0, 1, 1}, {&__pyx_n_s_MAX, __pyx_k_MAX, sizeof(__pyx_k_MAX), 0, 0, 1, 1}, {&__pyx_n_s_MAXLOC, __pyx_k_MAXLOC, sizeof(__pyx_k_MAXLOC), 0, 0, 1, 1}, {&__pyx_n_s_MAX_DATAREP_STRING, __pyx_k_MAX_DATAREP_STRING, sizeof(__pyx_k_MAX_DATAREP_STRING), 0, 0, 1, 1}, {&__pyx_n_s_MAX_ERROR_STRING, __pyx_k_MAX_ERROR_STRING, sizeof(__pyx_k_MAX_ERROR_STRING), 0, 0, 1, 1}, {&__pyx_n_s_MAX_INFO_KEY, __pyx_k_MAX_INFO_KEY, sizeof(__pyx_k_MAX_INFO_KEY), 0, 0, 1, 1}, {&__pyx_n_s_MAX_INFO_VAL, __pyx_k_MAX_INFO_VAL, sizeof(__pyx_k_MAX_INFO_VAL), 0, 0, 1, 1}, {&__pyx_n_s_MAX_LIBRARY_VERSION_STRING, __pyx_k_MAX_LIBRARY_VERSION_STRING, sizeof(__pyx_k_MAX_LIBRARY_VERSION_STRING), 0, 0, 1, 1}, {&__pyx_n_s_MAX_OBJECT_NAME, __pyx_k_MAX_OBJECT_NAME, sizeof(__pyx_k_MAX_OBJECT_NAME), 0, 0, 1, 1}, {&__pyx_n_s_MAX_PORT_NAME, __pyx_k_MAX_PORT_NAME, sizeof(__pyx_k_MAX_PORT_NAME), 0, 0, 1, 1}, {&__pyx_n_s_MAX_PROCESSOR_NAME, __pyx_k_MAX_PROCESSOR_NAME, sizeof(__pyx_k_MAX_PROCESSOR_NAME), 0, 0, 1, 1}, {&__pyx_n_s_MESSAGE_NO_PROC, __pyx_k_MESSAGE_NO_PROC, sizeof(__pyx_k_MESSAGE_NO_PROC), 0, 0, 1, 1}, {&__pyx_n_s_MESSAGE_NULL, __pyx_k_MESSAGE_NULL, sizeof(__pyx_k_MESSAGE_NULL), 0, 0, 1, 1}, {&__pyx_n_s_MIN, __pyx_k_MIN, sizeof(__pyx_k_MIN), 0, 0, 1, 1}, {&__pyx_n_s_MINLOC, __pyx_k_MINLOC, sizeof(__pyx_k_MINLOC), 0, 0, 1, 1}, {&__pyx_n_s_MODE_APPEND, __pyx_k_MODE_APPEND, sizeof(__pyx_k_MODE_APPEND), 0, 0, 1, 1}, {&__pyx_n_s_MODE_CREATE, __pyx_k_MODE_CREATE, sizeof(__pyx_k_MODE_CREATE), 0, 0, 1, 1}, {&__pyx_n_s_MODE_DELETE_ON_CLOSE, __pyx_k_MODE_DELETE_ON_CLOSE, sizeof(__pyx_k_MODE_DELETE_ON_CLOSE), 0, 0, 1, 1}, {&__pyx_n_s_MODE_EXCL, __pyx_k_MODE_EXCL, sizeof(__pyx_k_MODE_EXCL), 0, 0, 1, 1}, {&__pyx_n_s_MODE_NOCHECK, __pyx_k_MODE_NOCHECK, sizeof(__pyx_k_MODE_NOCHECK), 0, 0, 1, 1}, {&__pyx_n_s_MODE_NOPRECEDE, __pyx_k_MODE_NOPRECEDE, sizeof(__pyx_k_MODE_NOPRECEDE), 0, 0, 1, 1}, {&__pyx_n_s_MODE_NOPUT, __pyx_k_MODE_NOPUT, sizeof(__pyx_k_MODE_NOPUT), 0, 0, 1, 1}, {&__pyx_n_s_MODE_NOSTORE, __pyx_k_MODE_NOSTORE, sizeof(__pyx_k_MODE_NOSTORE), 0, 0, 1, 1}, {&__pyx_n_s_MODE_NOSUCCEED, __pyx_k_MODE_NOSUCCEED, sizeof(__pyx_k_MODE_NOSUCCEED), 0, 0, 1, 1}, {&__pyx_n_s_MODE_RDONLY, __pyx_k_MODE_RDONLY, sizeof(__pyx_k_MODE_RDONLY), 0, 0, 1, 1}, {&__pyx_n_s_MODE_RDWR, __pyx_k_MODE_RDWR, sizeof(__pyx_k_MODE_RDWR), 0, 0, 1, 1}, {&__pyx_n_s_MODE_SEQUENTIAL, __pyx_k_MODE_SEQUENTIAL, sizeof(__pyx_k_MODE_SEQUENTIAL), 0, 0, 1, 1}, {&__pyx_n_s_MODE_UNIQUE_OPEN, __pyx_k_MODE_UNIQUE_OPEN, sizeof(__pyx_k_MODE_UNIQUE_OPEN), 0, 0, 1, 1}, {&__pyx_n_s_MODE_WRONLY, __pyx_k_MODE_WRONLY, sizeof(__pyx_k_MODE_WRONLY), 0, 0, 1, 1}, {&__pyx_kp_s_MPI_Exception_d, __pyx_k_MPI_Exception_d, sizeof(__pyx_k_MPI_Exception_d), 0, 0, 1, 0}, {&__pyx_kp_s_MPI_Init_failed_error_code_d, __pyx_k_MPI_Init_failed_error_code_d, sizeof(__pyx_k_MPI_Init_failed_error_code_d), 0, 0, 1, 0}, {&__pyx_kp_s_MPI_Init_thread_failed_error_cod, __pyx_k_MPI_Init_thread_failed_error_cod, sizeof(__pyx_k_MPI_Init_thread_failed_error_cod), 0, 0, 1, 0}, {&__pyx_n_s_Match_size, __pyx_k_Match_size, sizeof(__pyx_k_Match_size), 0, 0, 1, 1}, {&__pyx_n_s_MemoryError, __pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 0, 1, 1}, {&__pyx_n_s_Message, __pyx_k_Message, sizeof(__pyx_k_Message), 0, 0, 1, 1}, {&__pyx_kp_s_Message_Passing_Interface, __pyx_k_Message_Passing_Interface, sizeof(__pyx_k_Message_Passing_Interface), 0, 0, 1, 0}, {&__pyx_n_s_NO_OP, __pyx_k_NO_OP, sizeof(__pyx_k_NO_OP), 0, 0, 1, 1}, {&__pyx_n_s_NotImplemented, __pyx_k_NotImplemented, sizeof(__pyx_k_NotImplemented), 0, 0, 1, 1}, {&__pyx_n_s_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1}, {&__pyx_kp_s_Not_a_topology_communicator, __pyx_k_Not_a_topology_communicator, sizeof(__pyx_k_Not_a_topology_communicator), 0, 0, 1, 0}, {&__pyx_n_s_OFFSET, __pyx_k_OFFSET, sizeof(__pyx_k_OFFSET), 0, 0, 1, 1}, {&__pyx_n_s_OP_NULL, __pyx_k_OP_NULL, sizeof(__pyx_k_OP_NULL), 0, 0, 1, 1}, {&__pyx_n_s_ORDER_C, __pyx_k_ORDER_C, sizeof(__pyx_k_ORDER_C), 0, 0, 1, 1}, {&__pyx_n_s_ORDER_F, __pyx_k_ORDER_F, sizeof(__pyx_k_ORDER_F), 0, 0, 1, 1}, {&__pyx_n_s_ORDER_FORTRAN, __pyx_k_ORDER_FORTRAN, sizeof(__pyx_k_ORDER_FORTRAN), 0, 0, 1, 1}, {&__pyx_n_s_Op, __pyx_k_Op, sizeof(__pyx_k_Op), 0, 0, 1, 1}, {&__pyx_n_s_Open, __pyx_k_Open, sizeof(__pyx_k_Open), 0, 0, 1, 1}, {&__pyx_n_s_Open_port, __pyx_k_Open_port, sizeof(__pyx_k_Open_port), 0, 0, 1, 1}, {&__pyx_n_s_OverflowError, __pyx_k_OverflowError, sizeof(__pyx_k_OverflowError), 0, 0, 1, 1}, {&__pyx_n_s_PACKED, __pyx_k_PACKED, sizeof(__pyx_k_PACKED), 0, 0, 1, 1}, {&__pyx_n_s_PROC_NULL, __pyx_k_PROC_NULL, sizeof(__pyx_k_PROC_NULL), 0, 0, 1, 1}, {&__pyx_n_s_PROD, __pyx_k_PROD, sizeof(__pyx_k_PROD), 0, 0, 1, 1}, {&__pyx_n_s_Pcontrol, __pyx_k_Pcontrol, sizeof(__pyx_k_Pcontrol), 0, 0, 1, 1}, {&__pyx_n_s_Prequest, __pyx_k_Prequest, sizeof(__pyx_k_Prequest), 0, 0, 1, 1}, {&__pyx_n_s_Probe, __pyx_k_Probe, sizeof(__pyx_k_Probe), 0, 0, 1, 1}, {&__pyx_n_s_Publish_name, __pyx_k_Publish_name, sizeof(__pyx_k_Publish_name), 0, 0, 1, 1}, {&__pyx_n_s_Query_thread, __pyx_k_Query_thread, sizeof(__pyx_k_Query_thread), 0, 0, 1, 1}, {&__pyx_n_s_REAL, __pyx_k_REAL, sizeof(__pyx_k_REAL), 0, 0, 1, 1}, {&__pyx_n_s_REAL16, __pyx_k_REAL16, sizeof(__pyx_k_REAL16), 0, 0, 1, 1}, {&__pyx_n_s_REAL2, __pyx_k_REAL2, sizeof(__pyx_k_REAL2), 0, 0, 1, 1}, {&__pyx_n_s_REAL4, __pyx_k_REAL4, sizeof(__pyx_k_REAL4), 0, 0, 1, 1}, {&__pyx_n_s_REAL8, __pyx_k_REAL8, sizeof(__pyx_k_REAL8), 0, 0, 1, 1}, {&__pyx_n_s_REPLACE, __pyx_k_REPLACE, sizeof(__pyx_k_REPLACE), 0, 0, 1, 1}, {&__pyx_n_s_REQUEST_NULL, __pyx_k_REQUEST_NULL, sizeof(__pyx_k_REQUEST_NULL), 0, 0, 1, 1}, {&__pyx_n_s_RESIZED, __pyx_k_RESIZED, sizeof(__pyx_k_RESIZED), 0, 0, 1, 1}, {&__pyx_n_s_ROOT, __pyx_k_ROOT, sizeof(__pyx_k_ROOT), 0, 0, 1, 1}, {&__pyx_n_s_Register_datarep, __pyx_k_Register_datarep, sizeof(__pyx_k_Register_datarep), 0, 0, 1, 1}, {&__pyx_n_s_Request, __pyx_k_Request, sizeof(__pyx_k_Request), 0, 0, 1, 1}, {&__pyx_n_s_Resized, __pyx_k_Resized, sizeof(__pyx_k_Resized), 0, 0, 1, 1}, {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s_SEEK_CUR, __pyx_k_SEEK_CUR, sizeof(__pyx_k_SEEK_CUR), 0, 0, 1, 1}, {&__pyx_n_s_SEEK_END, __pyx_k_SEEK_END, sizeof(__pyx_k_SEEK_END), 0, 0, 1, 1}, {&__pyx_n_s_SEEK_SET, __pyx_k_SEEK_SET, sizeof(__pyx_k_SEEK_SET), 0, 0, 1, 1}, {&__pyx_n_s_SHORT, __pyx_k_SHORT, sizeof(__pyx_k_SHORT), 0, 0, 1, 1}, {&__pyx_n_s_SHORT_INT, __pyx_k_SHORT_INT, sizeof(__pyx_k_SHORT_INT), 0, 0, 1, 1}, {&__pyx_n_s_SIGNED_CHAR, __pyx_k_SIGNED_CHAR, sizeof(__pyx_k_SIGNED_CHAR), 0, 0, 1, 1}, {&__pyx_n_s_SIGNED_INT, __pyx_k_SIGNED_INT, sizeof(__pyx_k_SIGNED_INT), 0, 0, 1, 1}, {&__pyx_n_s_SIGNED_LONG, __pyx_k_SIGNED_LONG, sizeof(__pyx_k_SIGNED_LONG), 0, 0, 1, 1}, {&__pyx_n_s_SIGNED_LONG_LONG, __pyx_k_SIGNED_LONG_LONG, sizeof(__pyx_k_SIGNED_LONG_LONG), 0, 0, 1, 1}, {&__pyx_n_s_SIGNED_SHORT, __pyx_k_SIGNED_SHORT, sizeof(__pyx_k_SIGNED_SHORT), 0, 0, 1, 1}, {&__pyx_n_s_SIMILAR, __pyx_k_SIMILAR, sizeof(__pyx_k_SIMILAR), 0, 0, 1, 1}, {&__pyx_n_s_SINT16_T, __pyx_k_SINT16_T, sizeof(__pyx_k_SINT16_T), 0, 0, 1, 1}, {&__pyx_n_s_SINT32_T, __pyx_k_SINT32_T, sizeof(__pyx_k_SINT32_T), 0, 0, 1, 1}, {&__pyx_n_s_SINT64_T, __pyx_k_SINT64_T, sizeof(__pyx_k_SINT64_T), 0, 0, 1, 1}, {&__pyx_n_s_SINT8_T, __pyx_k_SINT8_T, sizeof(__pyx_k_SINT8_T), 0, 0, 1, 1}, {&__pyx_n_s_STRUCT, __pyx_k_STRUCT, sizeof(__pyx_k_STRUCT), 0, 0, 1, 1}, {&__pyx_n_s_SUBARRAY, __pyx_k_SUBARRAY, sizeof(__pyx_k_SUBARRAY), 0, 0, 1, 1}, {&__pyx_n_s_SUBVERSION, __pyx_k_SUBVERSION, sizeof(__pyx_k_SUBVERSION), 0, 0, 1, 1}, {&__pyx_n_s_SUCCESS, __pyx_k_SUCCESS, sizeof(__pyx_k_SUCCESS), 0, 0, 1, 1}, {&__pyx_n_s_SUM, __pyx_k_SUM, sizeof(__pyx_k_SUM), 0, 0, 1, 1}, {&__pyx_n_s_Set, __pyx_k_Set, sizeof(__pyx_k_Set), 0, 0, 1, 1}, {&__pyx_n_s_Set_atomicity, __pyx_k_Set_atomicity, sizeof(__pyx_k_Set_atomicity), 0, 0, 1, 1}, {&__pyx_n_s_Set_cancelled, __pyx_k_Set_cancelled, sizeof(__pyx_k_Set_cancelled), 0, 0, 1, 1}, {&__pyx_n_s_Set_error, __pyx_k_Set_error, sizeof(__pyx_k_Set_error), 0, 0, 1, 1}, {&__pyx_n_s_Set_info, __pyx_k_Set_info, sizeof(__pyx_k_Set_info), 0, 0, 1, 1}, {&__pyx_n_s_Set_name, __pyx_k_Set_name, sizeof(__pyx_k_Set_name), 0, 0, 1, 1}, {&__pyx_n_s_Set_source, __pyx_k_Set_source, sizeof(__pyx_k_Set_source), 0, 0, 1, 1}, {&__pyx_n_s_Set_tag, __pyx_k_Set_tag, sizeof(__pyx_k_Set_tag), 0, 0, 1, 1}, {&__pyx_n_s_Shift, __pyx_k_Shift, sizeof(__pyx_k_Shift), 0, 0, 1, 1}, {&__pyx_n_s_Start, __pyx_k_Start, sizeof(__pyx_k_Start), 0, 0, 1, 1}, {&__pyx_n_s_Startall, __pyx_k_Startall, sizeof(__pyx_k_Startall), 0, 0, 1, 1}, {&__pyx_n_s_Status, __pyx_k_Status, sizeof(__pyx_k_Status), 0, 0, 1, 1}, {&__pyx_n_s_StringIO, __pyx_k_StringIO, sizeof(__pyx_k_StringIO), 0, 0, 1, 1}, {&__pyx_n_s_SystemError, __pyx_k_SystemError, sizeof(__pyx_k_SystemError), 0, 0, 1, 1}, {&__pyx_n_s_TAG_UB, __pyx_k_TAG_UB, sizeof(__pyx_k_TAG_UB), 0, 0, 1, 1}, {&__pyx_n_s_THREAD_FUNNELED, __pyx_k_THREAD_FUNNELED, sizeof(__pyx_k_THREAD_FUNNELED), 0, 0, 1, 1}, {&__pyx_n_s_THREAD_MULTIPLE, __pyx_k_THREAD_MULTIPLE, sizeof(__pyx_k_THREAD_MULTIPLE), 0, 0, 1, 1}, {&__pyx_n_s_THREAD_SERIALIZED, __pyx_k_THREAD_SERIALIZED, sizeof(__pyx_k_THREAD_SERIALIZED), 0, 0, 1, 1}, {&__pyx_n_s_THREAD_SINGLE, __pyx_k_THREAD_SINGLE, sizeof(__pyx_k_THREAD_SINGLE), 0, 0, 1, 1}, {&__pyx_n_s_TWOINT, __pyx_k_TWOINT, sizeof(__pyx_k_TWOINT), 0, 0, 1, 1}, {&__pyx_n_s_TYPECLASS_COMPLEX, __pyx_k_TYPECLASS_COMPLEX, sizeof(__pyx_k_TYPECLASS_COMPLEX), 0, 0, 1, 1}, {&__pyx_n_s_TYPECLASS_INTEGER, __pyx_k_TYPECLASS_INTEGER, sizeof(__pyx_k_TYPECLASS_INTEGER), 0, 0, 1, 1}, {&__pyx_n_s_TYPECLASS_REAL, __pyx_k_TYPECLASS_REAL, sizeof(__pyx_k_TYPECLASS_REAL), 0, 0, 1, 1}, {&__pyx_n_s_Testall, __pyx_k_Testall, sizeof(__pyx_k_Testall), 0, 0, 1, 1}, {&__pyx_n_s_Testany, __pyx_k_Testany, sizeof(__pyx_k_Testany), 0, 0, 1, 1}, {&__pyx_n_s_Testsome, __pyx_k_Testsome, sizeof(__pyx_k_Testsome), 0, 0, 1, 1}, {&__pyx_n_s_Topocomm, __pyx_k_Topocomm, sizeof(__pyx_k_Topocomm), 0, 0, 1, 1}, {&__pyx_n_s_Translate_ranks, __pyx_k_Translate_ranks, sizeof(__pyx_k_Translate_ranks), 0, 0, 1, 1}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_n_s_UB, __pyx_k_UB, sizeof(__pyx_k_UB), 0, 0, 1, 1}, {&__pyx_n_s_UINT16_T, __pyx_k_UINT16_T, sizeof(__pyx_k_UINT16_T), 0, 0, 1, 1}, {&__pyx_n_s_UINT32_T, __pyx_k_UINT32_T, sizeof(__pyx_k_UINT32_T), 0, 0, 1, 1}, {&__pyx_n_s_UINT64_T, __pyx_k_UINT64_T, sizeof(__pyx_k_UINT64_T), 0, 0, 1, 1}, {&__pyx_n_s_UINT8_T, __pyx_k_UINT8_T, sizeof(__pyx_k_UINT8_T), 0, 0, 1, 1}, {&__pyx_n_s_UNDEFINED, __pyx_k_UNDEFINED, sizeof(__pyx_k_UNDEFINED), 0, 0, 1, 1}, {&__pyx_n_s_UNEQUAL, __pyx_k_UNEQUAL, sizeof(__pyx_k_UNEQUAL), 0, 0, 1, 1}, {&__pyx_n_s_UNIVERSE_SIZE, __pyx_k_UNIVERSE_SIZE, sizeof(__pyx_k_UNIVERSE_SIZE), 0, 0, 1, 1}, {&__pyx_n_s_UNSIGNED, __pyx_k_UNSIGNED, sizeof(__pyx_k_UNSIGNED), 0, 0, 1, 1}, {&__pyx_n_s_UNSIGNED_CHAR, __pyx_k_UNSIGNED_CHAR, sizeof(__pyx_k_UNSIGNED_CHAR), 0, 0, 1, 1}, {&__pyx_n_s_UNSIGNED_INT, __pyx_k_UNSIGNED_INT, sizeof(__pyx_k_UNSIGNED_INT), 0, 0, 1, 1}, {&__pyx_n_s_UNSIGNED_LONG, __pyx_k_UNSIGNED_LONG, sizeof(__pyx_k_UNSIGNED_LONG), 0, 0, 1, 1}, {&__pyx_n_s_UNSIGNED_LONG_LONG, __pyx_k_UNSIGNED_LONG_LONG, sizeof(__pyx_k_UNSIGNED_LONG_LONG), 0, 0, 1, 1}, {&__pyx_n_s_UNSIGNED_SHORT, __pyx_k_UNSIGNED_SHORT, sizeof(__pyx_k_UNSIGNED_SHORT), 0, 0, 1, 1}, {&__pyx_n_s_UNWEIGHTED, __pyx_k_UNWEIGHTED, sizeof(__pyx_k_UNWEIGHTED), 0, 0, 1, 1}, {&__pyx_n_s_Union, __pyx_k_Union, sizeof(__pyx_k_Union), 0, 0, 1, 1}, {&__pyx_n_s_Unpublish_name, __pyx_k_Unpublish_name, sizeof(__pyx_k_Unpublish_name), 0, 0, 1, 1}, {&__pyx_n_s_UserWarning, __pyx_k_UserWarning, sizeof(__pyx_k_UserWarning), 0, 0, 1, 1}, {&__pyx_n_s_VECTOR, __pyx_k_VECTOR, sizeof(__pyx_k_VECTOR), 0, 0, 1, 1}, {&__pyx_n_s_VERSION, __pyx_k_VERSION, sizeof(__pyx_k_VERSION), 0, 0, 1, 1}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s_WCHAR, __pyx_k_WCHAR, sizeof(__pyx_k_WCHAR), 0, 0, 1, 1}, {&__pyx_n_s_WEIGHTS_EMPTY, __pyx_k_WEIGHTS_EMPTY, sizeof(__pyx_k_WEIGHTS_EMPTY), 0, 0, 1, 1}, {&__pyx_n_s_WIN_BASE, __pyx_k_WIN_BASE, sizeof(__pyx_k_WIN_BASE), 0, 0, 1, 1}, {&__pyx_n_s_WIN_CREATE_FLAVOR, __pyx_k_WIN_CREATE_FLAVOR, sizeof(__pyx_k_WIN_CREATE_FLAVOR), 0, 0, 1, 1}, {&__pyx_n_s_WIN_DISP_UNIT, __pyx_k_WIN_DISP_UNIT, sizeof(__pyx_k_WIN_DISP_UNIT), 0, 0, 1, 1}, {&__pyx_n_s_WIN_FLAVOR, __pyx_k_WIN_FLAVOR, sizeof(__pyx_k_WIN_FLAVOR), 0, 0, 1, 1}, {&__pyx_n_s_WIN_FLAVOR_ALLOCATE, __pyx_k_WIN_FLAVOR_ALLOCATE, sizeof(__pyx_k_WIN_FLAVOR_ALLOCATE), 0, 0, 1, 1}, {&__pyx_n_s_WIN_FLAVOR_CREATE, __pyx_k_WIN_FLAVOR_CREATE, sizeof(__pyx_k_WIN_FLAVOR_CREATE), 0, 0, 1, 1}, {&__pyx_n_s_WIN_FLAVOR_DYNAMIC, __pyx_k_WIN_FLAVOR_DYNAMIC, sizeof(__pyx_k_WIN_FLAVOR_DYNAMIC), 0, 0, 1, 1}, {&__pyx_n_s_WIN_FLAVOR_SHARED, __pyx_k_WIN_FLAVOR_SHARED, sizeof(__pyx_k_WIN_FLAVOR_SHARED), 0, 0, 1, 1}, {&__pyx_n_s_WIN_MODEL, __pyx_k_WIN_MODEL, sizeof(__pyx_k_WIN_MODEL), 0, 0, 1, 1}, {&__pyx_n_s_WIN_NULL, __pyx_k_WIN_NULL, sizeof(__pyx_k_WIN_NULL), 0, 0, 1, 1}, {&__pyx_n_s_WIN_SEPARATE, __pyx_k_WIN_SEPARATE, sizeof(__pyx_k_WIN_SEPARATE), 0, 0, 1, 1}, {&__pyx_n_s_WIN_SIZE, __pyx_k_WIN_SIZE, sizeof(__pyx_k_WIN_SIZE), 0, 0, 1, 1}, {&__pyx_n_s_WIN_UNIFIED, __pyx_k_WIN_UNIFIED, sizeof(__pyx_k_WIN_UNIFIED), 0, 0, 1, 1}, {&__pyx_n_s_WTIME_IS_GLOBAL, __pyx_k_WTIME_IS_GLOBAL, sizeof(__pyx_k_WTIME_IS_GLOBAL), 0, 0, 1, 1}, {&__pyx_n_s_Waitall, __pyx_k_Waitall, sizeof(__pyx_k_Waitall), 0, 0, 1, 1}, {&__pyx_n_s_Waitany, __pyx_k_Waitany, sizeof(__pyx_k_Waitany), 0, 0, 1, 1}, {&__pyx_n_s_Waitsome, __pyx_k_Waitsome, sizeof(__pyx_k_Waitsome), 0, 0, 1, 1}, {&__pyx_n_s_Win, __pyx_k_Win, sizeof(__pyx_k_Win), 0, 0, 1, 1}, {&__pyx_n_s_Wtick, __pyx_k_Wtick, sizeof(__pyx_k_Wtick), 0, 0, 1, 1}, {&__pyx_n_s_Wtime, __pyx_k_Wtime, sizeof(__pyx_k_Wtime), 0, 0, 1, 1}, {&__pyx_kp_b__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 0, 0, 0}, {&__pyx_kp_s_accessing_non_existent_buffer_se, __pyx_k_accessing_non_existent_buffer_se, sizeof(__pyx_k_accessing_non_existent_buffer_se), 0, 0, 1, 0}, {&__pyx_n_s_addr1, __pyx_k_addr1, sizeof(__pyx_k_addr1), 0, 0, 1, 1}, {&__pyx_n_s_addr2, __pyx_k_addr2, sizeof(__pyx_k_addr2), 0, 0, 1, 1}, {&__pyx_n_s_address, __pyx_k_address, sizeof(__pyx_k_address), 0, 0, 1, 1}, {&__pyx_n_s_addressof, __pyx_k_addressof, sizeof(__pyx_k_addressof), 0, 0, 1, 1}, {&__pyx_n_s_allgather, __pyx_k_allgather, sizeof(__pyx_k_allgather), 0, 0, 1, 1}, {&__pyx_n_s_allocate_lock, __pyx_k_allocate_lock, sizeof(__pyx_k_allocate_lock), 0, 0, 1, 1}, {&__pyx_n_s_alltoall, __pyx_k_alltoall, sizeof(__pyx_k_alltoall), 0, 0, 1, 1}, {&__pyx_n_s_amode, __pyx_k_amode, sizeof(__pyx_k_amode), 0, 0, 1, 1}, {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1}, {&__pyx_n_s_arg, __pyx_k_arg, sizeof(__pyx_k_arg), 0, 0, 1, 1}, {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, {&__pyx_n_s_array, __pyx_k_array, sizeof(__pyx_k_array), 0, 0, 1, 1}, {&__pyx_n_s_array_interface, __pyx_k_array_interface, sizeof(__pyx_k_array_interface), 0, 0, 1, 1}, {&__pyx_n_s_assertion, __pyx_k_assertion, sizeof(__pyx_k_assertion), 0, 0, 1, 1}, {&__pyx_n_s_attrval, __pyx_k_attrval, sizeof(__pyx_k_attrval), 0, 0, 1, 1}, {&__pyx_n_s_base, __pyx_k_base, sizeof(__pyx_k_base), 0, 0, 1, 1}, {&__pyx_n_s_baseptr, __pyx_k_baseptr, sizeof(__pyx_k_baseptr), 0, 0, 1, 1}, {&__pyx_n_s_bcast, __pyx_k_bcast, sizeof(__pyx_k_bcast), 0, 0, 1, 1}, {&__pyx_kp_s_bcast_p2p, __pyx_k_bcast_p2p, sizeof(__pyx_k_bcast_p2p), 0, 0, 1, 0}, {&__pyx_n_s_blocklength, __pyx_k_blocklength, sizeof(__pyx_k_blocklength), 0, 0, 1, 1}, {&__pyx_n_s_blocklengths, __pyx_k_blocklengths, sizeof(__pyx_k_blocklengths), 0, 0, 1, 1}, {&__pyx_n_s_bool, __pyx_k_bool, sizeof(__pyx_k_bool), 0, 0, 1, 1}, {&__pyx_n_s_buf, __pyx_k_buf, sizeof(__pyx_k_buf), 0, 0, 1, 1}, {&__pyx_n_s_buffer_info, __pyx_k_buffer_info, sizeof(__pyx_k_buffer_info), 0, 0, 1, 1}, {&__pyx_n_s_cPickle, __pyx_k_cPickle, sizeof(__pyx_k_cPickle), 0, 0, 1, 1}, {&__pyx_n_s_cStringIO, __pyx_k_cStringIO, sizeof(__pyx_k_cStringIO), 0, 0, 1, 1}, {&__pyx_n_s_call, __pyx_k_call, sizeof(__pyx_k_call), 0, 0, 1, 1}, {&__pyx_n_s_cancel_fn, __pyx_k_cancel_fn, sizeof(__pyx_k_cancel_fn), 0, 0, 1, 1}, {&__pyx_kp_s_cannot_create_too_many_user_defi, __pyx_k_cannot_create_too_many_user_defi, sizeof(__pyx_k_cannot_create_too_many_user_defi), 0, 0, 1, 0}, {&__pyx_n_s_cdatarep, __pyx_k_cdatarep, sizeof(__pyx_k_cdatarep), 0, 0, 1, 1}, {&__pyx_n_s_char, __pyx_k_char, sizeof(__pyx_k_char), 0, 0, 1, 1}, {&__pyx_n_s_cinfo, __pyx_k_cinfo, sizeof(__pyx_k_cinfo), 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_color, __pyx_k_color, sizeof(__pyx_k_color), 0, 0, 1, 1}, {&__pyx_n_s_comm, __pyx_k_comm, sizeof(__pyx_k_comm), 0, 0, 1, 1}, {&__pyx_n_s_comm1, __pyx_k_comm1, sizeof(__pyx_k_comm1), 0, 0, 1, 1}, {&__pyx_n_s_comm2, __pyx_k_comm2, sizeof(__pyx_k_comm2), 0, 0, 1, 1}, {&__pyx_n_s_command, __pyx_k_command, sizeof(__pyx_k_command), 0, 0, 1, 1}, {&__pyx_kp_s_commctx_inter, __pyx_k_commctx_inter, sizeof(__pyx_k_commctx_inter), 0, 0, 1, 0}, {&__pyx_kp_s_commctx_intra, __pyx_k_commctx_intra, sizeof(__pyx_k_commctx_intra), 0, 0, 1, 0}, {&__pyx_n_s_commute, __pyx_k_commute, sizeof(__pyx_k_commute), 0, 0, 1, 1}, {&__pyx_n_s_compare, __pyx_k_compare, sizeof(__pyx_k_compare), 0, 0, 1, 1}, {&__pyx_kp_s_compare_expecting_a_single_eleme, __pyx_k_compare_expecting_a_single_eleme, sizeof(__pyx_k_compare_expecting_a_single_eleme), 0, 0, 1, 0}, {&__pyx_n_s_coords, __pyx_k_coords, sizeof(__pyx_k_coords), 0, 0, 1, 1}, {&__pyx_n_s_copy_fn, __pyx_k_copy_fn, sizeof(__pyx_k_copy_fn), 0, 0, 1, 1}, {&__pyx_n_s_count, __pyx_k_count, sizeof(__pyx_k_count), 0, 0, 1, 1}, {&__pyx_n_s_cportname, __pyx_k_cportname, sizeof(__pyx_k_cportname), 0, 0, 1, 1}, {&__pyx_n_s_csrvcname, __pyx_k_csrvcname, sizeof(__pyx_k_csrvcname), 0, 0, 1, 1}, {&__pyx_n_s_cstring, __pyx_k_cstring, sizeof(__pyx_k_cstring), 0, 0, 1, 1}, {&__pyx_n_s_dargs, __pyx_k_dargs, sizeof(__pyx_k_dargs), 0, 0, 1, 1}, {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, {&__pyx_n_s_datarep, __pyx_k_datarep, sizeof(__pyx_k_datarep), 0, 0, 1, 1}, {&__pyx_n_s_datatype, __pyx_k_datatype, sizeof(__pyx_k_datatype), 0, 0, 1, 1}, {&__pyx_n_s_datatypes, __pyx_k_datatypes, sizeof(__pyx_k_datatypes), 0, 0, 1, 1}, {&__pyx_n_s_default, __pyx_k_default, sizeof(__pyx_k_default), 0, 0, 1, 1}, {&__pyx_n_s_degrees, __pyx_k_degrees, sizeof(__pyx_k_degrees), 0, 0, 1, 1}, {&__pyx_n_s_delete_fn, __pyx_k_delete_fn, sizeof(__pyx_k_delete_fn), 0, 0, 1, 1}, {&__pyx_n_s_dest, __pyx_k_dest, sizeof(__pyx_k_dest), 0, 0, 1, 1}, {&__pyx_n_s_destinations, __pyx_k_destinations, sizeof(__pyx_k_destinations), 0, 0, 1, 1}, {&__pyx_n_s_destweights, __pyx_k_destweights, sizeof(__pyx_k_destweights), 0, 0, 1, 1}, {&__pyx_n_s_dims, __pyx_k_dims, sizeof(__pyx_k_dims), 0, 0, 1, 1}, {&__pyx_n_s_direction, __pyx_k_direction, sizeof(__pyx_k_direction), 0, 0, 1, 1}, {&__pyx_n_s_disp, __pyx_k_disp, sizeof(__pyx_k_disp), 0, 0, 1, 1}, {&__pyx_n_s_disp_unit, __pyx_k_disp_unit, sizeof(__pyx_k_disp_unit), 0, 0, 1, 1}, {&__pyx_n_s_displacements, __pyx_k_displacements, sizeof(__pyx_k_displacements), 0, 0, 1, 1}, {&__pyx_n_s_distribs, __pyx_k_distribs, sizeof(__pyx_k_distribs), 0, 0, 1, 1}, {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1}, {&__pyx_n_s_doc_2, __pyx_k_doc_2, sizeof(__pyx_k_doc_2), 0, 0, 1, 1}, {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1}, {&__pyx_n_s_dummy_thread, __pyx_k_dummy_thread, sizeof(__pyx_k_dummy_thread), 0, 0, 1, 1}, {&__pyx_n_s_dummy_thread_2, __pyx_k_dummy_thread_2, sizeof(__pyx_k_dummy_thread_2), 0, 0, 1, 1}, {&__pyx_n_s_dumps, __pyx_k_dumps, sizeof(__pyx_k_dumps), 0, 0, 1, 1}, {&__pyx_n_s_edges, __pyx_k_edges, sizeof(__pyx_k_edges), 0, 0, 1, 1}, {&__pyx_kp_s_empty_weights_but_nonzero_degree, __pyx_k_empty_weights_but_nonzero_degree, sizeof(__pyx_k_empty_weights_but_nonzero_degree), 0, 0, 1, 0}, {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1}, {&__pyx_n_s_eq, __pyx_k_eq, sizeof(__pyx_k_eq), 0, 0, 1, 1}, {&__pyx_n_s_errcodes, __pyx_k_errcodes, sizeof(__pyx_k_errcodes), 0, 0, 1, 1}, {&__pyx_n_s_errhandler, __pyx_k_errhandler, sizeof(__pyx_k_errhandler), 0, 0, 1, 1}, {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1}, {&__pyx_kp_s_error_class, __pyx_k_error_class, sizeof(__pyx_k_error_class), 0, 0, 1, 0}, {&__pyx_n_s_error_class_2, __pyx_k_error_class_2, sizeof(__pyx_k_error_class_2), 0, 0, 1, 1}, {&__pyx_kp_s_error_code, __pyx_k_error_code, sizeof(__pyx_k_error_code), 0, 0, 1, 0}, {&__pyx_n_s_error_code_2, __pyx_k_error_code_2, sizeof(__pyx_k_error_code_2), 0, 0, 1, 1}, {&__pyx_kp_s_error_code_d, __pyx_k_error_code_d, sizeof(__pyx_k_error_code_d), 0, 0, 1, 0}, {&__pyx_kp_s_error_string, __pyx_k_error_string, sizeof(__pyx_k_error_string), 0, 0, 1, 0}, {&__pyx_n_s_error_string_2, __pyx_k_error_string_2, sizeof(__pyx_k_error_string_2), 0, 0, 1, 1}, {&__pyx_n_s_errorclass, __pyx_k_errorclass, sizeof(__pyx_k_errorclass), 0, 0, 1, 1}, {&__pyx_n_s_errorcode, __pyx_k_errorcode, sizeof(__pyx_k_errorcode), 0, 0, 1, 1}, {&__pyx_n_s_errors, __pyx_k_errors, sizeof(__pyx_k_errors), 0, 0, 1, 1}, {&__pyx_n_s_etype, __pyx_k_etype, sizeof(__pyx_k_etype), 0, 0, 1, 1}, {&__pyx_n_s_ex, __pyx_k_ex, sizeof(__pyx_k_ex), 0, 0, 1, 1}, {&__pyx_n_s_exception, __pyx_k_exception, sizeof(__pyx_k_exception), 0, 0, 1, 1}, {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, {&__pyx_kp_s_expecting_a_Cartesian_communicat, __pyx_k_expecting_a_Cartesian_communicat, sizeof(__pyx_k_expecting_a_Cartesian_communicat), 0, 0, 1, 0}, {&__pyx_kp_s_expecting_a_distributed_graph_co, __pyx_k_expecting_a_distributed_graph_co, sizeof(__pyx_k_expecting_a_distributed_graph_co), 0, 0, 1, 0}, {&__pyx_kp_s_expecting_a_general_graph_commun, __pyx_k_expecting_a_general_graph_commun, sizeof(__pyx_k_expecting_a_general_graph_commun), 0, 0, 1, 0}, {&__pyx_kp_s_expecting_a_sequence_of_strings, __pyx_k_expecting_a_sequence_of_strings, sizeof(__pyx_k_expecting_a_sequence_of_strings), 0, 0, 1, 0}, {&__pyx_kp_s_expecting_a_topology_communicato, __pyx_k_expecting_a_topology_communicato, sizeof(__pyx_k_expecting_a_topology_communicato), 0, 0, 1, 0}, {&__pyx_kp_s_expecting_an_MPI_instance, __pyx_k_expecting_an_MPI_instance, sizeof(__pyx_k_expecting_an_MPI_instance), 0, 0, 1, 0}, {&__pyx_kp_s_expecting_an_MPI_type_or_instanc, __pyx_k_expecting_an_MPI_type_or_instanc, sizeof(__pyx_k_expecting_an_MPI_type_or_instanc), 0, 0, 1, 0}, {&__pyx_kp_s_expecting_an_intercommunicator, __pyx_k_expecting_an_intercommunicator, sizeof(__pyx_k_expecting_an_intercommunicator), 0, 0, 1, 0}, {&__pyx_kp_s_expecting_an_intracommunicator, __pyx_k_expecting_an_intracommunicator, sizeof(__pyx_k_expecting_an_intracommunicator), 0, 0, 1, 0}, {&__pyx_kp_s_expecting_d_items_got_d, __pyx_k_expecting_d_items_got_d, sizeof(__pyx_k_expecting_d_items_got_d), 0, 0, 1, 0}, {&__pyx_kp_s_expecting_non_NULL_address, __pyx_k_expecting_non_NULL_address, sizeof(__pyx_k_expecting_non_NULL_address), 0, 0, 1, 0}, {&__pyx_kp_s_expecting_non_negative_buffer_le, __pyx_k_expecting_non_negative_buffer_le, sizeof(__pyx_k_expecting_non_negative_buffer_le), 0, 0, 1, 0}, {&__pyx_n_s_extent, __pyx_k_extent, sizeof(__pyx_k_extent), 0, 0, 1, 1}, {&__pyx_n_s_extent_fn, __pyx_k_extent_fn, sizeof(__pyx_k_extent_fn), 0, 0, 1, 1}, {&__pyx_n_s_f2py, __pyx_k_f2py, sizeof(__pyx_k_f2py), 0, 0, 1, 1}, {&__pyx_n_s_fast_reduce, __pyx_k_fast_reduce, sizeof(__pyx_k_fast_reduce), 0, 0, 1, 1}, {&__pyx_n_s_fatal, __pyx_k_fatal, sizeof(__pyx_k_fatal), 0, 0, 1, 1}, {&__pyx_n_s_fd, __pyx_k_fd, sizeof(__pyx_k_fd), 0, 0, 1, 1}, {&__pyx_n_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 1}, {&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1}, {&__pyx_n_s_filetype, __pyx_k_filetype, sizeof(__pyx_k_filetype), 0, 0, 1, 1}, {&__pyx_n_s_finalize, __pyx_k_finalize, sizeof(__pyx_k_finalize), 0, 0, 1, 1}, {&__pyx_n_s_flag, __pyx_k_flag, sizeof(__pyx_k_flag), 0, 0, 1, 1}, {&__pyx_n_s_flags, __pyx_k_flags, sizeof(__pyx_k_flags), 0, 0, 1, 1}, {&__pyx_n_s_flush, __pyx_k_flush, sizeof(__pyx_k_flush), 0, 0, 1, 1}, {&__pyx_n_s_free_fn, __pyx_k_free_fn, sizeof(__pyx_k_free_fn), 0, 0, 1, 1}, {&__pyx_n_s_fromaddress, __pyx_k_fromaddress, sizeof(__pyx_k_fromaddress), 0, 0, 1, 1}, {&__pyx_n_s_frombuffer, __pyx_k_frombuffer, sizeof(__pyx_k_frombuffer), 0, 0, 1, 1}, {&__pyx_n_s_function, __pyx_k_function, sizeof(__pyx_k_function), 0, 0, 1, 1}, {&__pyx_n_s_funneled, __pyx_k_funneled, sizeof(__pyx_k_funneled), 0, 0, 1, 1}, {&__pyx_n_s_gather, __pyx_k_gather, sizeof(__pyx_k_gather), 0, 0, 1, 1}, {&__pyx_n_s_ge, __pyx_k_ge, sizeof(__pyx_k_ge), 0, 0, 1, 1}, {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1}, {&__pyx_n_s_get_vendor, __pyx_k_get_vendor, sizeof(__pyx_k_get_vendor), 0, 0, 1, 1}, {&__pyx_n_s_group, __pyx_k_group, sizeof(__pyx_k_group), 0, 0, 1, 1}, {&__pyx_n_s_group1, __pyx_k_group1, sizeof(__pyx_k_group1), 0, 0, 1, 1}, {&__pyx_n_s_group2, __pyx_k_group2, sizeof(__pyx_k_group2), 0, 0, 1, 1}, {&__pyx_n_s_gsizes, __pyx_k_gsizes, sizeof(__pyx_k_gsizes), 0, 0, 1, 1}, {&__pyx_n_s_gt, __pyx_k_gt, sizeof(__pyx_k_gt), 0, 0, 1, 1}, {&__pyx_n_s_handleof, __pyx_k_handleof, sizeof(__pyx_k_handleof), 0, 0, 1, 1}, {&__pyx_n_s_hash, __pyx_k_hash, sizeof(__pyx_k_hash), 0, 0, 1, 1}, {&__pyx_n_s_high, __pyx_k_high, sizeof(__pyx_k_high), 0, 0, 1, 1}, {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, {&__pyx_n_s_idims, __pyx_k_idims, sizeof(__pyx_k_idims), 0, 0, 1, 1}, {&__pyx_n_s_ierr, __pyx_k_ierr, sizeof(__pyx_k_ierr), 0, 0, 1, 1}, {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, {&__pyx_n_s_inbuf, __pyx_k_inbuf, sizeof(__pyx_k_inbuf), 0, 0, 1, 1}, {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1}, {&__pyx_kp_s_index_must_be_integer_or_slice, __pyx_k_index_must_be_integer_or_slice, sizeof(__pyx_k_index_must_be_integer_or_slice), 0, 0, 1, 0}, {&__pyx_kp_s_index_out_of_range, __pyx_k_index_out_of_range, sizeof(__pyx_k_index_out_of_range), 0, 0, 1, 0}, {&__pyx_n_s_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 0, 1, 1}, {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1}, {&__pyx_n_s_initialize, __pyx_k_initialize, sizeof(__pyx_k_initialize), 0, 0, 1, 1}, {&__pyx_n_s_inoutbuf, __pyx_k_inoutbuf, sizeof(__pyx_k_inoutbuf), 0, 0, 1, 1}, {&__pyx_n_s_inoutedges, __pyx_k_inoutedges, sizeof(__pyx_k_inoutedges), 0, 0, 1, 1}, {&__pyx_n_s_insert, __pyx_k_insert, sizeof(__pyx_k_insert), 0, 0, 1, 1}, {&__pyx_n_s_int, __pyx_k_int, sizeof(__pyx_k_int), 0, 0, 1, 1}, {&__pyx_kp_s_integer_d_does_not_fit_in_int, __pyx_k_integer_d_does_not_fit_in_int, sizeof(__pyx_k_integer_d_does_not_fit_in_int), 0, 0, 1, 0}, {&__pyx_n_s_io, __pyx_k_io, sizeof(__pyx_k_io), 0, 0, 1, 1}, {&__pyx_n_s_iprobe, __pyx_k_iprobe, sizeof(__pyx_k_iprobe), 0, 0, 1, 1}, {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1}, {&__pyx_n_s_itemsize, __pyx_k_itemsize, sizeof(__pyx_k_itemsize), 0, 0, 1, 1}, {&__pyx_n_s_kargs, __pyx_k_kargs, sizeof(__pyx_k_kargs), 0, 0, 1, 1}, {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1}, {&__pyx_n_s_keys, __pyx_k_keys, sizeof(__pyx_k_keys), 0, 0, 1, 1}, {&__pyx_n_s_keyval, __pyx_k_keyval, sizeof(__pyx_k_keyval), 0, 0, 1, 1}, {&__pyx_n_s_keyval_registry, __pyx_k_keyval_registry, sizeof(__pyx_k_keyval_registry), 0, 0, 1, 1}, {&__pyx_n_s_lb, __pyx_k_lb, sizeof(__pyx_k_lb), 0, 0, 1, 1}, {&__pyx_n_s_le, __pyx_k_le, sizeof(__pyx_k_le), 0, 0, 1, 1}, {&__pyx_n_s_level, __pyx_k_level, sizeof(__pyx_k_level), 0, 0, 1, 1}, {&__pyx_n_s_load, __pyx_k_load, sizeof(__pyx_k_load), 0, 0, 1, 1}, {&__pyx_n_s_loads, __pyx_k_loads, sizeof(__pyx_k_loads), 0, 0, 1, 1}, {&__pyx_n_s_local_leader, __pyx_k_local_leader, sizeof(__pyx_k_local_leader), 0, 0, 1, 1}, {&__pyx_n_s_location, __pyx_k_location, sizeof(__pyx_k_location), 0, 0, 1, 1}, {&__pyx_n_s_lock_table, __pyx_k_lock_table, sizeof(__pyx_k_lock_table), 0, 0, 1, 1}, {&__pyx_n_s_lock_type, __pyx_k_lock_type, sizeof(__pyx_k_lock_type), 0, 0, 1, 1}, {&__pyx_n_s_lt, __pyx_k_lt, sizeof(__pyx_k_lt), 0, 0, 1, 1}, {&__pyx_n_s_m, __pyx_k_m, sizeof(__pyx_k_m), 0, 0, 1, 1}, {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, {&__pyx_n_s_major, __pyx_k_major, sizeof(__pyx_k_major), 0, 0, 1, 1}, {&__pyx_n_s_maxlen, __pyx_k_maxlen, sizeof(__pyx_k_maxlen), 0, 0, 1, 1}, {&__pyx_n_s_maxprocs, __pyx_k_maxprocs, sizeof(__pyx_k_maxprocs), 0, 0, 1, 1}, {&__pyx_n_s_mem, __pyx_k_mem, sizeof(__pyx_k_mem), 0, 0, 1, 1}, {&__pyx_n_s_memory, __pyx_k_memory, sizeof(__pyx_k_memory), 0, 0, 1, 1}, {&__pyx_kp_s_memory_allocation_size_too_large, __pyx_k_memory_allocation_size_too_large, sizeof(__pyx_k_memory_allocation_size_too_large), 0, 0, 1, 0}, {&__pyx_kp_s_memory_allocation_with_negative, __pyx_k_memory_allocation_with_negative, sizeof(__pyx_k_memory_allocation_with_negative), 0, 0, 1, 0}, {&__pyx_kp_s_memory_buffer_is_read_only, __pyx_k_memory_buffer_is_read_only, sizeof(__pyx_k_memory_buffer_is_read_only), 0, 0, 1, 0}, {&__pyx_n_s_message, __pyx_k_message, sizeof(__pyx_k_message), 0, 0, 1, 1}, {&__pyx_kp_s_message_buffer_is_None_but_count, __pyx_k_message_buffer_is_None_but_count, sizeof(__pyx_k_message_buffer_is_None_but_count), 0, 0, 1, 0}, {&__pyx_kp_s_message_cannot_handle_diplacemen, __pyx_k_message_cannot_handle_diplacemen, sizeof(__pyx_k_message_cannot_handle_diplacemen), 0, 0, 1, 0}, {&__pyx_kp_s_message_cannot_handle_diplacemen_2, __pyx_k_message_cannot_handle_diplacemen_2, sizeof(__pyx_k_message_cannot_handle_diplacemen_2), 0, 0, 1, 0}, {&__pyx_kp_s_message_cannot_infer_count_buffe, __pyx_k_message_cannot_infer_count_buffe, sizeof(__pyx_k_message_cannot_infer_count_buffe), 0, 0, 1, 0}, {&__pyx_kp_s_message_cannot_infer_count_datat, __pyx_k_message_cannot_infer_count_datat, sizeof(__pyx_k_message_cannot_infer_count_datat), 0, 0, 1, 0}, {&__pyx_kp_s_message_cannot_infer_count_datat_2, __pyx_k_message_cannot_infer_count_datat_2, sizeof(__pyx_k_message_cannot_infer_count_datat_2), 0, 0, 1, 0}, {&__pyx_kp_s_message_cannot_infer_count_numbe, __pyx_k_message_cannot_infer_count_numbe, sizeof(__pyx_k_message_cannot_infer_count_numbe), 0, 0, 1, 0}, {&__pyx_kp_s_message_displacement_d_out_of_bo, __pyx_k_message_displacement_d_out_of_bo, sizeof(__pyx_k_message_displacement_d_out_of_bo), 0, 0, 1, 0}, {&__pyx_kp_s_message_expecting_2_to_4_items, __pyx_k_message_expecting_2_to_4_items, sizeof(__pyx_k_message_expecting_2_to_4_items), 0, 0, 1, 0}, {&__pyx_kp_s_message_expecting_buffer_or_list, __pyx_k_message_expecting_buffer_or_list, sizeof(__pyx_k_message_expecting_buffer_or_list), 0, 0, 1, 0}, {&__pyx_kp_s_message_negative_count_d, __pyx_k_message_negative_count_d, sizeof(__pyx_k_message_negative_count_d), 0, 0, 1, 0}, {&__pyx_kp_s_message_negative_diplacement_d, __pyx_k_message_negative_diplacement_d, sizeof(__pyx_k_message_negative_diplacement_d), 0, 0, 1, 0}, {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1}, {&__pyx_n_s_micro, __pyx_k_micro, sizeof(__pyx_k_micro), 0, 0, 1, 1}, {&__pyx_n_s_minor, __pyx_k_minor, sizeof(__pyx_k_minor), 0, 0, 1, 1}, {&__pyx_kp_s_mismatch_in_inbuf_and_inoutbuf_M, __pyx_k_mismatch_in_inbuf_and_inoutbuf_M, sizeof(__pyx_k_mismatch_in_inbuf_and_inoutbuf_M), 0, 0, 1, 0}, {&__pyx_kp_s_mismatch_in_inbuf_count_d_and_in, __pyx_k_mismatch_in_inbuf_count_d_and_in, sizeof(__pyx_k_mismatch_in_inbuf_count_d_and_in), 0, 0, 1, 0}, {&__pyx_kp_s_mismatch_in_origin_and_compare_M, __pyx_k_mismatch_in_origin_and_compare_M, sizeof(__pyx_k_mismatch_in_origin_and_compare_M), 0, 0, 1, 0}, {&__pyx_kp_s_mismatch_in_origin_and_result_MP, __pyx_k_mismatch_in_origin_and_result_MP, sizeof(__pyx_k_mismatch_in_origin_and_result_MP), 0, 0, 1, 0}, {&__pyx_kp_s_mismatch_in_receive_count_d_and, __pyx_k_mismatch_in_receive_count_d_and, sizeof(__pyx_k_mismatch_in_receive_count_d_and), 0, 0, 1, 0}, {&__pyx_kp_s_mismatch_in_receive_count_d_and_2, __pyx_k_mismatch_in_receive_count_d_and_2, sizeof(__pyx_k_mismatch_in_receive_count_d_and_2), 0, 0, 1, 0}, {&__pyx_kp_s_mismatch_in_send_and_receive_MPI, __pyx_k_mismatch_in_send_and_receive_MPI, sizeof(__pyx_k_mismatch_in_send_and_receive_MPI), 0, 0, 1, 0}, {&__pyx_kp_s_mismatch_in_send_count_d_and_rec, __pyx_k_mismatch_in_send_count_d_and_rec, sizeof(__pyx_k_mismatch_in_send_count_d_and_rec), 0, 0, 1, 0}, {&__pyx_kp_s_mismatch_in_send_count_d_and_sum, __pyx_k_mismatch_in_send_count_d_and_sum, sizeof(__pyx_k_mismatch_in_send_count_d_and_sum), 0, 0, 1, 0}, {&__pyx_kp_s_mismatch_in_send_count_d_receive, __pyx_k_mismatch_in_send_count_d_receive, sizeof(__pyx_k_mismatch_in_send_count_d_receive), 0, 0, 1, 0}, {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1}, {&__pyx_n_s_mpi4py, __pyx_k_mpi4py, sizeof(__pyx_k_mpi4py), 0, 0, 1, 1}, {&__pyx_n_s_mpi4py_MPI, __pyx_k_mpi4py_MPI, sizeof(__pyx_k_mpi4py_MPI), 0, 0, 1, 1}, {&__pyx_kp_s_mpi4py_MPI_Comm_pyx, __pyx_k_mpi4py_MPI_Comm_pyx, sizeof(__pyx_k_mpi4py_MPI_Comm_pyx), 0, 0, 1, 0}, {&__pyx_kp_s_mpi4py_MPI_Datatype_pyx, __pyx_k_mpi4py_MPI_Datatype_pyx, sizeof(__pyx_k_mpi4py_MPI_Datatype_pyx), 0, 0, 1, 0}, {&__pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_k_mpi4py_MPI_ExceptionP_pyx, sizeof(__pyx_k_mpi4py_MPI_ExceptionP_pyx), 0, 0, 1, 0}, {&__pyx_kp_s_mpi4py_MPI_Exception_pyx, __pyx_k_mpi4py_MPI_Exception_pyx, sizeof(__pyx_k_mpi4py_MPI_Exception_pyx), 0, 0, 1, 0}, {&__pyx_kp_s_mpi4py_MPI_File_pyx, __pyx_k_mpi4py_MPI_File_pyx, sizeof(__pyx_k_mpi4py_MPI_File_pyx), 0, 0, 1, 0}, {&__pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_k_mpi4py_MPI_MPI_pyx, sizeof(__pyx_k_mpi4py_MPI_MPI_pyx), 0, 0, 1, 0}, {&__pyx_kp_s_mpi4py_MPI_asbuffer_pxi, __pyx_k_mpi4py_MPI_asbuffer_pxi, sizeof(__pyx_k_mpi4py_MPI_asbuffer_pxi), 0, 0, 1, 0}, {&__pyx_kp_s_mpi4py_MPI_atimport_pxi, __pyx_k_mpi4py_MPI_atimport_pxi, sizeof(__pyx_k_mpi4py_MPI_atimport_pxi), 0, 0, 1, 0}, {&__pyx_kp_s_mpi4py_MPI_commimpl_pxi, __pyx_k_mpi4py_MPI_commimpl_pxi, sizeof(__pyx_k_mpi4py_MPI_commimpl_pxi), 0, 0, 1, 0}, {&__pyx_kp_s_mpi4py_MPI_typestr_pxi, __pyx_k_mpi4py_MPI_typestr_pxi, sizeof(__pyx_k_mpi4py_MPI_typestr_pxi), 0, 0, 1, 0}, {&__pyx_kp_s_mpi4py_rc_s_unexpected_value_r, __pyx_k_mpi4py_rc_s_unexpected_value_r, sizeof(__pyx_k_mpi4py_rc_s_unexpected_value_r), 0, 0, 1, 0}, {&__pyx_n_s_multiple, __pyx_k_multiple, sizeof(__pyx_k_multiple), 0, 0, 1, 1}, {&__pyx_n_s_n, __pyx_k_n, sizeof(__pyx_k_n), 0, 0, 1, 1}, {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1}, {&__pyx_n_s_nbytes, __pyx_k_nbytes, sizeof(__pyx_k_nbytes), 0, 0, 1, 1}, {&__pyx_n_s_ndarray, __pyx_k_ndarray, sizeof(__pyx_k_ndarray), 0, 0, 1, 1}, {&__pyx_n_s_ndims, __pyx_k_ndims, sizeof(__pyx_k_ndims), 0, 0, 1, 1}, {&__pyx_n_s_ne, __pyx_k_ne, sizeof(__pyx_k_ne), 0, 0, 1, 1}, {&__pyx_n_s_neighbor_allgather, __pyx_k_neighbor_allgather, sizeof(__pyx_k_neighbor_allgather), 0, 0, 1, 1}, {&__pyx_n_s_neighbor_alltoall, __pyx_k_neighbor_alltoall, sizeof(__pyx_k_neighbor_alltoall), 0, 0, 1, 1}, {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1}, {&__pyx_n_s_nlen, __pyx_k_nlen, sizeof(__pyx_k_nlen), 0, 0, 1, 1}, {&__pyx_n_s_nnodes, __pyx_k_nnodes, sizeof(__pyx_k_nnodes), 0, 0, 1, 1}, {&__pyx_n_s_no, __pyx_k_no, sizeof(__pyx_k_no), 0, 0, 1, 1}, {&__pyx_n_s_nonzero, __pyx_k_nonzero, sizeof(__pyx_k_nonzero), 0, 0, 1, 1}, {&__pyx_n_s_nopython, __pyx_k_nopython, sizeof(__pyx_k_nopython), 0, 0, 1, 1}, {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, {&__pyx_n_s_numpypy, __pyx_k_numpypy, sizeof(__pyx_k_numpypy), 0, 0, 1, 1}, {&__pyx_n_s_numpypy_multiarray, __pyx_k_numpypy_multiarray, sizeof(__pyx_k_numpypy_multiarray), 0, 0, 1, 1}, {&__pyx_n_s_ob_mpi, __pyx_k_ob_mpi, sizeof(__pyx_k_ob_mpi), 0, 0, 1, 1}, {&__pyx_n_s_obj, __pyx_k_obj, sizeof(__pyx_k_obj), 0, 0, 1, 1}, {&__pyx_n_s_offset, __pyx_k_offset, sizeof(__pyx_k_offset), 0, 0, 1, 1}, {&__pyx_n_s_op, __pyx_k_op, sizeof(__pyx_k_op), 0, 0, 1, 1}, {&__pyx_n_s_order, __pyx_k_order, sizeof(__pyx_k_order), 0, 0, 1, 1}, {&__pyx_n_s_origin, __pyx_k_origin, sizeof(__pyx_k_origin), 0, 0, 1, 1}, {&__pyx_kp_s_origin_expecting_a_single_elemen, __pyx_k_origin_expecting_a_single_elemen, sizeof(__pyx_k_origin_expecting_a_single_elemen), 0, 0, 1, 0}, {&__pyx_n_s_other, __pyx_k_other, sizeof(__pyx_k_other), 0, 0, 1, 1}, {&__pyx_n_s_outbuf, __pyx_k_outbuf, sizeof(__pyx_k_outbuf), 0, 0, 1, 1}, {&__pyx_n_s_p, __pyx_k_p, sizeof(__pyx_k_p), 0, 0, 1, 1}, {&__pyx_n_s_peer_comm, __pyx_k_peer_comm, sizeof(__pyx_k_peer_comm), 0, 0, 1, 1}, {&__pyx_n_s_periods, __pyx_k_periods, sizeof(__pyx_k_periods), 0, 0, 1, 1}, {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1}, {&__pyx_n_s_port_name, __pyx_k_port_name, sizeof(__pyx_k_port_name), 0, 0, 1, 1}, {&__pyx_n_s_position, __pyx_k_position, sizeof(__pyx_k_position), 0, 0, 1, 1}, {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1}, {&__pyx_n_s_print_exc, __pyx_k_print_exc, sizeof(__pyx_k_print_exc), 0, 0, 1, 1}, {&__pyx_n_s_probe, __pyx_k_probe, sizeof(__pyx_k_probe), 0, 0, 1, 1}, {&__pyx_n_s_property, __pyx_k_property, sizeof(__pyx_k_property), 0, 0, 1, 1}, {&__pyx_n_s_protocol, __pyx_k_protocol, sizeof(__pyx_k_protocol), 0, 0, 1, 1}, {&__pyx_n_s_provided, __pyx_k_provided, sizeof(__pyx_k_provided), 0, 0, 1, 1}, {&__pyx_n_s_psizes, __pyx_k_psizes, sizeof(__pyx_k_psizes), 0, 0, 1, 1}, {&__pyx_n_s_ptr, __pyx_k_ptr, sizeof(__pyx_k_ptr), 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_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1}, {&__pyx_n_s_query_fn, __pyx_k_query_fn, sizeof(__pyx_k_query_fn), 0, 0, 1, 1}, {&__pyx_n_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 1}, {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, {&__pyx_n_s_rank, __pyx_k_rank, sizeof(__pyx_k_rank), 0, 0, 1, 1}, {&__pyx_n_s_ranks, __pyx_k_ranks, sizeof(__pyx_k_ranks), 0, 0, 1, 1}, {&__pyx_n_s_ranks1, __pyx_k_ranks1, sizeof(__pyx_k_ranks1), 0, 0, 1, 1}, {&__pyx_n_s_rc, __pyx_k_rc, sizeof(__pyx_k_rc), 0, 0, 1, 1}, {&__pyx_n_s_rd, __pyx_k_rd, sizeof(__pyx_k_rd), 0, 0, 1, 1}, {&__pyx_n_s_read_fn, __pyx_k_read_fn, sizeof(__pyx_k_read_fn), 0, 0, 1, 1}, {&__pyx_n_s_readonly, __pyx_k_readonly, sizeof(__pyx_k_readonly), 0, 0, 1, 1}, {&__pyx_n_s_recv, __pyx_k_recv, sizeof(__pyx_k_recv), 0, 0, 1, 1}, {&__pyx_n_s_recv_mprobe, __pyx_k_recv_mprobe, sizeof(__pyx_k_recv_mprobe), 0, 0, 1, 1}, {&__pyx_n_s_recvbuf, __pyx_k_recvbuf, sizeof(__pyx_k_recvbuf), 0, 0, 1, 1}, {&__pyx_n_s_recvcounts, __pyx_k_recvcounts, sizeof(__pyx_k_recvcounts), 0, 0, 1, 1}, {&__pyx_n_s_recvtag, __pyx_k_recvtag, sizeof(__pyx_k_recvtag), 0, 0, 1, 1}, {&__pyx_n_s_release, __pyx_k_release, sizeof(__pyx_k_release), 0, 0, 1, 1}, {&__pyx_n_s_remain_dims, __pyx_k_remain_dims, sizeof(__pyx_k_remain_dims), 0, 0, 1, 1}, {&__pyx_n_s_remote_leader, __pyx_k_remote_leader, sizeof(__pyx_k_remote_leader), 0, 0, 1, 1}, {&__pyx_n_s_reorder, __pyx_k_reorder, sizeof(__pyx_k_reorder), 0, 0, 1, 1}, {&__pyx_n_s_repr, __pyx_k_repr, sizeof(__pyx_k_repr), 0, 0, 1, 1}, {&__pyx_n_s_request, __pyx_k_request, sizeof(__pyx_k_request), 0, 0, 1, 1}, {&__pyx_n_s_requests, __pyx_k_requests, sizeof(__pyx_k_requests), 0, 0, 1, 1}, {&__pyx_n_s_required, __pyx_k_required, sizeof(__pyx_k_required), 0, 0, 1, 1}, {&__pyx_n_s_result, __pyx_k_result, sizeof(__pyx_k_result), 0, 0, 1, 1}, {&__pyx_kp_s_result_expecting_a_single_elemen, __pyx_k_result_expecting_a_single_elemen, sizeof(__pyx_k_result_expecting_a_single_elemen), 0, 0, 1, 0}, {&__pyx_n_s_resultlen, __pyx_k_resultlen, sizeof(__pyx_k_resultlen), 0, 0, 1, 1}, {&__pyx_n_s_root, __pyx_k_root, sizeof(__pyx_k_root), 0, 0, 1, 1}, {&__pyx_n_s_scatter, __pyx_k_scatter, sizeof(__pyx_k_scatter), 0, 0, 1, 1}, {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1}, {&__pyx_n_s_sendbuf, __pyx_k_sendbuf, sizeof(__pyx_k_sendbuf), 0, 0, 1, 1}, {&__pyx_n_s_sendobj, __pyx_k_sendobj, sizeof(__pyx_k_sendobj), 0, 0, 1, 1}, {&__pyx_n_s_sendtag, __pyx_k_sendtag, sizeof(__pyx_k_sendtag), 0, 0, 1, 1}, {&__pyx_n_s_serialized, __pyx_k_serialized, sizeof(__pyx_k_serialized), 0, 0, 1, 1}, {&__pyx_n_s_service_name, __pyx_k_service_name, sizeof(__pyx_k_service_name), 0, 0, 1, 1}, {&__pyx_n_s_set_abort_status, __pyx_k_set_abort_status, sizeof(__pyx_k_set_abort_status), 0, 0, 1, 1}, {&__pyx_n_s_single, __pyx_k_single, sizeof(__pyx_k_single), 0, 0, 1, 1}, {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1}, {&__pyx_n_s_sizeof, __pyx_k_sizeof, sizeof(__pyx_k_sizeof), 0, 0, 1, 1}, {&__pyx_n_s_sizes, __pyx_k_sizes, sizeof(__pyx_k_sizes), 0, 0, 1, 1}, {&__pyx_kp_s_slice_length_does_not_match_buff, __pyx_k_slice_length_does_not_match_buff, sizeof(__pyx_k_slice_length_does_not_match_buff), 0, 0, 1, 0}, {&__pyx_kp_s_slice_with_step_not_supported, __pyx_k_slice_with_step_not_supported, sizeof(__pyx_k_slice_with_step_not_supported), 0, 0, 1, 0}, {&__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_sourceweights, __pyx_k_sourceweights, sizeof(__pyx_k_sourceweights), 0, 0, 1, 1}, {&__pyx_n_s_split_type, __pyx_k_split_type, sizeof(__pyx_k_split_type), 0, 0, 1, 1}, {&__pyx_n_s_starts, __pyx_k_starts, sizeof(__pyx_k_starts), 0, 0, 1, 1}, {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1}, {&__pyx_n_s_staticmethod, __pyx_k_staticmethod, sizeof(__pyx_k_staticmethod), 0, 0, 1, 1}, {&__pyx_n_s_status, __pyx_k_status, sizeof(__pyx_k_status), 0, 0, 1, 1}, {&__pyx_n_s_statuses, __pyx_k_statuses, sizeof(__pyx_k_statuses), 0, 0, 1, 1}, {&__pyx_n_s_stderr, __pyx_k_stderr, sizeof(__pyx_k_stderr), 0, 0, 1, 1}, {&__pyx_n_s_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1}, {&__pyx_n_s_stride, __pyx_k_stride, sizeof(__pyx_k_stride), 0, 0, 1, 1}, {&__pyx_n_s_string, __pyx_k_string, sizeof(__pyx_k_string), 0, 0, 1, 1}, {&__pyx_n_s_subsizes, __pyx_k_subsizes, sizeof(__pyx_k_subsizes), 0, 0, 1, 1}, {&__pyx_n_s_subversion, __pyx_k_subversion, sizeof(__pyx_k_subversion), 0, 0, 1, 1}, {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1}, {&__pyx_n_s_tag, __pyx_k_tag, sizeof(__pyx_k_tag), 0, 0, 1, 1}, {&__pyx_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1}, {&__pyx_n_s_target_disp, __pyx_k_target_disp, sizeof(__pyx_k_target_disp), 0, 0, 1, 1}, {&__pyx_kp_s_target_expecting_3_items_at_most, __pyx_k_target_expecting_3_items_at_most, sizeof(__pyx_k_target_expecting_3_items_at_most), 0, 0, 1, 0}, {&__pyx_kp_s_target_expecting_integral_or_lis, __pyx_k_target_expecting_integral_or_lis, sizeof(__pyx_k_target_expecting_integral_or_lis), 0, 0, 1, 0}, {&__pyx_n_s_target_rank, __pyx_k_target_rank, sizeof(__pyx_k_target_rank), 0, 0, 1, 1}, {&__pyx_n_s_tc, __pyx_k_tc, sizeof(__pyx_k_tc), 0, 0, 1, 1}, {&__pyx_n_s_testall, __pyx_k_testall, sizeof(__pyx_k_testall), 0, 0, 1, 1}, {&__pyx_n_s_testany, __pyx_k_testany, sizeof(__pyx_k_testany), 0, 0, 1, 1}, {&__pyx_n_s_thread, __pyx_k_thread, sizeof(__pyx_k_thread), 0, 0, 1, 1}, {&__pyx_n_s_thread_2, __pyx_k_thread_2, sizeof(__pyx_k_thread_2), 0, 0, 1, 1}, {&__pyx_n_s_thread_level, __pyx_k_thread_level, sizeof(__pyx_k_thread_level), 0, 0, 1, 1}, {&__pyx_n_s_threaded, __pyx_k_threaded, sizeof(__pyx_k_threaded), 0, 0, 1, 1}, {&__pyx_n_s_threads, __pyx_k_threads, sizeof(__pyx_k_threads), 0, 0, 1, 1}, {&__pyx_n_s_tmp, __pyx_k_tmp, sizeof(__pyx_k_tmp), 0, 0, 1, 1}, {&__pyx_n_s_traceback, __pyx_k_traceback, sizeof(__pyx_k_traceback), 0, 0, 1, 1}, {&__pyx_n_s_typeclass, __pyx_k_typeclass, sizeof(__pyx_k_typeclass), 0, 0, 1, 1}, {&__pyx_n_s_typecode, __pyx_k_typecode, sizeof(__pyx_k_typecode), 0, 0, 1, 1}, {&__pyx_n_s_typecode_2, __pyx_k_typecode_2, sizeof(__pyx_k_typecode_2), 0, 0, 1, 1}, {&__pyx_n_s_typedict, __pyx_k_typedict, sizeof(__pyx_k_typedict), 0, 0, 1, 1}, {&__pyx_n_s_typedict_c, __pyx_k_typedict_c, sizeof(__pyx_k_typedict_c), 0, 0, 1, 1}, {&__pyx_n_s_typedict_f, __pyx_k_typedict_f, sizeof(__pyx_k_typedict_f), 0, 0, 1, 1}, {&__pyx_kp_s_unorderable_type_s_s, __pyx_k_unorderable_type_s_s, sizeof(__pyx_k_unorderable_type_s_s), 0, 0, 1, 0}, {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1}, {&__pyx_n_s_version, __pyx_k_version, sizeof(__pyx_k_version), 0, 0, 1, 1}, {&__pyx_n_s_waitall, __pyx_k_waitall, sizeof(__pyx_k_waitall), 0, 0, 1, 1}, {&__pyx_n_s_waitany, __pyx_k_waitany, sizeof(__pyx_k_waitany), 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_weights, __pyx_k_weights, sizeof(__pyx_k_weights), 0, 0, 1, 1}, {&__pyx_n_s_whence, __pyx_k_whence, sizeof(__pyx_k_whence), 0, 0, 1, 1}, {&__pyx_n_s_win, __pyx_k_win, sizeof(__pyx_k_win), 0, 0, 1, 1}, {&__pyx_n_s_wr, __pyx_k_wr, sizeof(__pyx_k_wr), 0, 0, 1, 1}, {&__pyx_n_s_write_fn, __pyx_k_write_fn, sizeof(__pyx_k_write_fn), 0, 0, 1, 1}, {&__pyx_n_s_x, __pyx_k_x, sizeof(__pyx_k_x), 0, 0, 1, 1}, {&__pyx_n_s_xs, __pyx_k_xs, sizeof(__pyx_k_xs), 0, 0, 1, 1}, {&__pyx_n_s_y, __pyx_k_y, sizeof(__pyx_k_y), 0, 0, 1, 1}, {&__pyx_n_s_yes, __pyx_k_yes, sizeof(__pyx_k_yes), 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 0} }; static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(0, 70, __pyx_L1_error) __pyx_builtin_staticmethod = __Pyx_GetBuiltinName(__pyx_n_s_staticmethod); if (!__pyx_builtin_staticmethod) __PYX_ERR(0, 158, __pyx_L1_error) __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 1, __pyx_L1_error) __pyx_builtin_property = __Pyx_GetBuiltinName(__pyx_n_s_property); if (!__pyx_builtin_property) __PYX_ERR(1, 64, __pyx_L1_error) __pyx_builtin_SystemError = __Pyx_GetBuiltinName(__pyx_n_s_SystemError); if (!__pyx_builtin_SystemError) __PYX_ERR(0, 90, __pyx_L1_error) __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 92, __pyx_L1_error) __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 174, __pyx_L1_error) __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(0, 250, __pyx_L1_error) __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 320, __pyx_L1_error) __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(2, 22, __pyx_L1_error) __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(3, 95, __pyx_L1_error) __pyx_builtin_NotImplemented = __Pyx_GetBuiltinName(__pyx_n_s_NotImplemented); if (!__pyx_builtin_NotImplemented) __PYX_ERR(4, 75, __pyx_L1_error) __pyx_builtin_OverflowError = __Pyx_GetBuiltinName(__pyx_n_s_OverflowError); if (!__pyx_builtin_OverflowError) __PYX_ERR(5, 44, __pyx_L1_error) __pyx_builtin_UserWarning = __Pyx_GetBuiltinName(__pyx_n_s_UserWarning); if (!__pyx_builtin_UserWarning) __PYX_ERR(6, 226, __pyx_L1_error) __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(7, 1673, __pyx_L1_error) __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(8, 347, __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); /* "mpi4py/MPI/asbuffer.pxi":174 * cdef Py_ssize_t size = nbytes * if size < 0: * raise ValueError("expecting non-negative buffer length") # <<<<<<<<<<<<<< * elif size > 0 and buf == NULL: * raise ValueError("expecting non-NULL address") */ __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_expecting_non_negative_buffer_le); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); /* "mpi4py/MPI/asbuffer.pxi":176 * raise ValueError("expecting non-negative buffer length") * elif size > 0 and buf == NULL: * raise ValueError("expecting non-NULL address") # <<<<<<<<<<<<<< * cdef memory mem = memory.__new__(memory) * PyBuffer_FillInfo(&mem.view, NULL, */ __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_expecting_non_NULL_address); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); /* "mpi4py/MPI/asbuffer.pxi":228 * def __getreadbuffer__(self, Py_ssize_t idx, void **p): * if idx != 0: * raise SystemError("accessing non-existent buffer segment") # <<<<<<<<<<<<<< * p[0] = self.view.buf * return self.view.len */ __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_accessing_non_existent_buffer_se); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); /* "mpi4py/MPI/asbuffer.pxi":234 * def __getwritebuffer__(self, Py_ssize_t idx, void **p): * if self.view.readonly: * raise TypeError("memory buffer is read-only") # <<<<<<<<<<<<<< * if idx != 0: * raise SystemError("accessing non-existent buffer segment") */ __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_memory_buffer_is_read_only); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); /* "mpi4py/MPI/asbuffer.pxi":253 * if start < 0: start += blen * if start < 0 or start >= blen: * raise IndexError("index out of range") # <<<<<<<<<<<<<< * return buf[start] * elif PySlice_Check(item): */ __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_index_out_of_range); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); /* "mpi4py/MPI/asbuffer.pxi":257 * elif PySlice_Check(item): * PySlice_GetIndicesEx(item, blen, &start, &stop, &step, &slen) * if step != 1: raise IndexError("slice with step not supported") # <<<<<<<<<<<<<< * return asbuffer(self, buf+start, slen, self.view.readonly) * else: */ __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_slice_with_step_not_supported); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); /* "mpi4py/MPI/asbuffer.pxi":260 * return asbuffer(self, buf+start, slen, self.view.readonly) * else: * raise TypeError("index must be integer or slice") # <<<<<<<<<<<<<< * * def __setitem__(self, object item, object value): */ __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_index_must_be_integer_or_slice); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); /* "mpi4py/MPI/asbuffer.pxi":283 * inmem = getbuffer(value, 1, 0) * if inmem.view.len != slen: * raise ValueError("slice length does not match buffer") # <<<<<<<<<<<<<< * memmove(buf+start, inmem.view.buf, slen) * else: */ __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_slice_length_does_not_match_buff); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); /* "mpi4py/MPI/asmemory.pxi":22 * cdef inline _p_mem allocate(Py_ssize_t m, size_t b, void *buf): * if m > PY_SSIZE_T_MAX/b: * raise MemoryError("memory allocation size too large") # <<<<<<<<<<<<<< * if m < 0: * raise RuntimeError("memory allocation with negative size") */ __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_memory_allocation_size_too_large); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(2, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); /* "mpi4py/MPI/asmemory.pxi":24 * raise MemoryError("memory allocation size too large") * if m < 0: * raise RuntimeError("memory allocation with negative size") # <<<<<<<<<<<<<< * cdef size_t n = m * b * cdef _p_mem ob = <_p_mem>_p_mem.__new__(_p_mem) */ __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_memory_allocation_with_negative); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(2, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); /* "mpi4py/MPI/asarray.pxi":101 * cdef inline object asarray_cmds(object sequence, int *count, char ***p): * if is_string(sequence): * raise ValueError("expecting a sequence of strings") # <<<<<<<<<<<<<< * sequence = list(sequence) * count[0] = len(sequence) */ __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_expecting_a_sequence_of_strings); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(11, 101, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); /* "mpi4py/MPI/opimpl.pxi":261 * index = op_user_registry.index(None, 1) * except ValueError: * raise RuntimeError("cannot create too many " # <<<<<<<<<<<<<< * "user-defined reduction operations") * # the line below will fail */ __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_cannot_create_too_many_user_defi); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(14, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); /* "mpi4py/MPI/commimpl.pxi":42 * return None * if weights is __WEIGHTS_EMPTY__: * if nweight > 0: raise ValueError("empty weights but nonzero degree") # <<<<<<<<<<<<<< * iweight[0] = MPI_WEIGHTS_EMPTY * return None */ __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_s_empty_weights_but_nonzero_degree); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(3, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); /* "mpi4py/MPI/msgbuffer.pxi":145 * (o_buf, o_count, o_displ, o_type) = msg * else: * raise ValueError("message: expecting 2 to 4 items") # <<<<<<<<<<<<<< * elif PYPY: * o_buf = msg */ __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_s_message_expecting_2_to_4_items); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(5, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); /* "mpi4py/MPI/msgbuffer.pxi":149 * o_buf = msg * else: * raise TypeError("message: expecting buffer or list/tuple") # <<<<<<<<<<<<<< * # buffer: address, length, and datatype * cdef void *baddr = NULL */ __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_message_expecting_buffer_or_list); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(5, 149, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); /* "mpi4py/MPI/msgbuffer.pxi":167 * "message: negative diplacement %d" % displ) * if displ > 0: * if btype == MPI_DATATYPE_NULL: raise ValueError( # <<<<<<<<<<<<<< * "message: cannot handle diplacement, datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) */ __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_s_message_cannot_handle_diplacemen); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(5, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); /* "mpi4py/MPI/msgbuffer.pxi":188 * elif length > 0: * if extent == 0: * if btype == MPI_DATATYPE_NULL: raise ValueError( # <<<<<<<<<<<<<< * "message: cannot infer count, datatype is null") * CHKERR( MPI_Type_get_extent(btype, &lb, &extent) ) */ __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_s_message_cannot_infer_count_datat); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(5, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); /* "mpi4py/MPI/msgbuffer.pxi":699 * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: */ __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_mismatch_in_send_and_receive_MPI); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(5, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); /* "mpi4py/MPI/msgbuffer.pxi":973 * self.ttype = (target[2]).ob_mpi * if nargs >= 4: * raise ValueError("target: expecting 3 items at most") # <<<<<<<<<<<<<< * else: * raise ValueError("target: expecting integral or list/tuple") */ __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_s_target_expecting_3_items_at_most); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(5, 973, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); /* "mpi4py/MPI/msgbuffer.pxi":975 * raise ValueError("target: expecting 3 items at most") * else: * raise ValueError("target: expecting integral or list/tuple") # <<<<<<<<<<<<<< * self._target = target * return 0 */ __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_s_target_expecting_integral_or_lis); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(5, 975, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); /* "mpi4py/MPI/msgbuffer.pxi":1026 * if self.rcount != 1: raise ValueError( * "result: expecting a single element, got %d" % self.rcount) * if self.otype != self.rtype: raise ValueError( # <<<<<<<<<<<<<< * "mismatch in origin and result MPI datatypes") * return 0 */ __pyx_tuple__21 = PyTuple_Pack(1, __pyx_kp_s_mismatch_in_origin_and_result_MP); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(5, 1026, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); /* "mpi4py/MPI/msgbuffer.pxi":1044 * if self.rcount != 1: raise ValueError( * "result: expecting a single element, got %d" % self.rcount) * if self.otype != self.ctype: raise ValueError( # <<<<<<<<<<<<<< * "mismatch in origin and compare MPI datatypes") * if self.otype != self.rtype: raise ValueError( */ __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_s_mismatch_in_origin_and_compare_M); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(5, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); /* "mpi4py/MPI/msgpickle.pxi":283 * obj # unused * # * with PyMPI_Lock(comm, "recv"): # <<<<<<<<<<<<<< * with nogil: * CHKERR( MPI_Probe(source, tag, comm, &rsts) ) */ __pyx_tuple__24 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(6, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); /* "mpi4py/MPI/msgpickle.pxi":922 * seq = _py_scan(seq, op) * seq.pop(-1) * seq.insert(0, None) # <<<<<<<<<<<<<< * return seq * */ __pyx_tuple__25 = PyTuple_Pack(2, __pyx_int_0, Py_None); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(6, 922, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); /* "mpi4py/MPI/Op.pyx":97 * "mismatch in inbuf count %d and inoutbuf count %d" % * (m.scount, m.rcount)) * if (m.stype != m.rtype): raise ValueError( # <<<<<<<<<<<<<< * "mismatch in inbuf and inoutbuf MPI datatypes") * # do local reduction */ __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_s_mismatch_in_inbuf_and_inoutbuf_M); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(28, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__37); __Pyx_GIVEREF(__pyx_tuple__37); /* "mpi4py/MPI/Comm.pyx":1302 * cdef int inter = 1 * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &inter) ) * if inter: raise TypeError( # <<<<<<<<<<<<<< * "expecting an intracommunicator") * */ __pyx_tuple__81 = PyTuple_Pack(1, __pyx_kp_s_expecting_an_intracommunicator); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(7, 1302, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); /* "mpi4py/MPI/Comm.pyx":1540 * cdef int i=0 * if errcodes is not None: * errcodes[:] = [ierrcodes[i] for i from 0 <= i < maxprocs] # <<<<<<<<<<<<<< * # * comm_set_eh(comm.ob_mpi) */ __pyx_slice__91 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__91)) __PYX_ERR(7, 1540, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__91); __Pyx_GIVEREF(__pyx_slice__91); /* "mpi4py/MPI/Comm.pyx":1636 * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * if topo == MPI_UNDEFINED: raise TypeError( # <<<<<<<<<<<<<< * "expecting a topology communicator") * */ __pyx_tuple__95 = PyTuple_Pack(1, __pyx_kp_s_expecting_a_topology_communicato); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(7, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__95); __Pyx_GIVEREF(__pyx_tuple__95); /* "mpi4py/MPI/Comm.pyx":1652 * return (nneighbors, nneighbors) * if isinstance(self, Distgraphcomm): * nneighbors = self.Get_dist_neighbors_count()[:2] # <<<<<<<<<<<<<< * return nneighbors * raise TypeError("Not a topology communicator") */ __pyx_slice__96 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__96)) __PYX_ERR(7, 1652, __pyx_L1_error) __Pyx_GOTREF(__pyx_slice__96); __Pyx_GIVEREF(__pyx_slice__96); /* "mpi4py/MPI/Comm.pyx":1654 * nneighbors = self.Get_dist_neighbors_count()[:2] * return nneighbors * raise TypeError("Not a topology communicator") # <<<<<<<<<<<<<< * * property indegree: */ __pyx_tuple__97 = PyTuple_Pack(1, __pyx_kp_s_Not_a_topology_communicator); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(7, 1654, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__97); __Pyx_GIVEREF(__pyx_tuple__97); /* "mpi4py/MPI/Comm.pyx":1851 * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * if topo != MPI_CART: raise TypeError( # <<<<<<<<<<<<<< * "expecting a Cartesian communicator") * */ __pyx_tuple__98 = PyTuple_Pack(1, __pyx_kp_s_expecting_a_Cartesian_communicat); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(7, 1851, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__98); __Pyx_GIVEREF(__pyx_tuple__98); /* "mpi4py/MPI/Comm.pyx":1998 * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * if topo != MPI_GRAPH: raise TypeError( # <<<<<<<<<<<<<< * "expecting a general graph communicator") * */ __pyx_tuple__99 = PyTuple_Pack(1, __pyx_kp_s_expecting_a_general_graph_commun); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(7, 1998, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__99); __Pyx_GIVEREF(__pyx_tuple__99); /* "mpi4py/MPI/Comm.pyx":2105 * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * if topo != MPI_DIST_GRAPH: raise TypeError( # <<<<<<<<<<<<<< * "expecting a distributed graph communicator") * */ __pyx_tuple__100 = PyTuple_Pack(1, __pyx_kp_s_expecting_a_distributed_graph_co); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(7, 2105, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__100); __Pyx_GIVEREF(__pyx_tuple__100); /* "mpi4py/MPI/Comm.pyx":2167 * cdef int inter = 0 * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &inter) ) * if not inter: raise TypeError( # <<<<<<<<<<<<<< * "expecting an intercommunicator") * */ __pyx_tuple__101 = PyTuple_Pack(1, __pyx_kp_s_expecting_an_intercommunicator); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(7, 2167, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__101); __Pyx_GIVEREF(__pyx_tuple__101); /* "mpi4py/MPI/MPI.pyx":309 * if _mpi_type(arg, Win): return sizeof(MPI_Win) * if _mpi_type(arg, File): return sizeof(MPI_File) * raise TypeError("expecting an MPI type or instance") # <<<<<<<<<<<<<< * * def _addressof(arg): */ __pyx_tuple__128 = PyTuple_Pack(1, __pyx_kp_s_expecting_an_MPI_type_or_instanc); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(8, 309, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__128); __Pyx_GIVEREF(__pyx_tuple__128); /* "mpi4py/MPI/MPI.pyx":339 * ptr = &(arg).ob_mpi * else: * raise TypeError("expecting an MPI instance") # <<<<<<<<<<<<<< * return PyLong_FromVoidPtr(ptr) * */ __pyx_tuple__129 = PyTuple_Pack(1, __pyx_kp_s_expecting_an_MPI_instance); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(8, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__129); __Pyx_GIVEREF(__pyx_tuple__129); /* "mpi4py/MPI/atimport.pxi":213 * MPI_Finalize() * * def _set_abort_status(object status): # <<<<<<<<<<<<<< * "Helper for ``python -m mpi4py.run ...``" * global abort_status */ __pyx_tuple__130 = PyTuple_Pack(1, __pyx_n_s_status); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(9, 213, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__130); __Pyx_GIVEREF(__pyx_tuple__130); __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_atimport_pxi, __pyx_n_s_set_abort_status, 213, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) __PYX_ERR(9, 213, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":159 * * @staticmethod * def frombuffer(obj, bint readonly=False): # <<<<<<<<<<<<<< * """Memory from buffer-like object""" * cdef int flags = PyBUF_SIMPLE */ __pyx_tuple__132 = PyTuple_Pack(4, __pyx_n_s_obj, __pyx_n_s_readonly, __pyx_n_s_flags, __pyx_n_s_mem); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__132); __Pyx_GIVEREF(__pyx_tuple__132); __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_asbuffer_pxi, __pyx_n_s_frombuffer, 159, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) __PYX_ERR(0, 159, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":169 * * @staticmethod * def fromaddress(address, nbytes, bint readonly=False): # <<<<<<<<<<<<<< * """Memory from address and size in bytes""" * cdef void *buf = PyLong_AsVoidPtr(address) */ __pyx_tuple__134 = PyTuple_Pack(6, __pyx_n_s_address, __pyx_n_s_nbytes, __pyx_n_s_readonly, __pyx_n_s_buf, __pyx_n_s_size, __pyx_n_s_mem); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__134); __Pyx_GIVEREF(__pyx_tuple__134); __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_asbuffer_pxi, __pyx_n_s_fromaddress, 169, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) __PYX_ERR(0, 169, __pyx_L1_error) /* "mpi4py/MPI/commimpl.pxi":136 * return lock * * def _lock_table(Comm comm): # <<<<<<<<<<<<<< * "Internal communicator lock table" * return PyMPI_Lock_table(comm.ob_mpi) */ __pyx_tuple__136 = PyTuple_Pack(1, __pyx_n_s_comm); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(3, 136, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__136); __Pyx_GIVEREF(__pyx_tuple__136); __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_commimpl_pxi, __pyx_n_s_lock_table, 136, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) __PYX_ERR(3, 136, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":1 * class Exception(RuntimeError): # <<<<<<<<<<<<<< * * """ */ __pyx_tuple__138 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__138); __Pyx_GIVEREF(__pyx_tuple__138); /* "mpi4py/MPI/ExceptionP.pyx":7 * """ * * def __init__(self, int ierr=0): # <<<<<<<<<<<<<< * if ierr < MPI_SUCCESS: ierr = MPI_ERR_UNKNOWN * self.ob_mpi = ierr */ __pyx_tuple__139 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_ierr); if (unlikely(!__pyx_tuple__139)) __PYX_ERR(1, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__139); __Pyx_GIVEREF(__pyx_tuple__139); __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_init, 7, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) __PYX_ERR(1, 7, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":12 * RuntimeError.__init__(self, self.ob_mpi) * * def __eq__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr == error) */ __pyx_tuple__141 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_error, __pyx_n_s_ierr); if (unlikely(!__pyx_tuple__141)) __PYX_ERR(1, 12, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__141); __Pyx_GIVEREF(__pyx_tuple__141); __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_eq, 12, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) __PYX_ERR(1, 12, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":16 * return (ierr == error) * * def __ne__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr != error) */ __pyx_tuple__143 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_error, __pyx_n_s_ierr); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__143); __Pyx_GIVEREF(__pyx_tuple__143); __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_ne, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) __PYX_ERR(1, 16, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":20 * return (ierr != error) * * def __lt__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr < error) */ __pyx_tuple__145 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_error, __pyx_n_s_ierr); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(1, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__145); __Pyx_GIVEREF(__pyx_tuple__145); __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_lt, 20, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) __PYX_ERR(1, 20, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":24 * return (ierr < error) * * def __le__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr <= error) */ __pyx_tuple__147 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_error, __pyx_n_s_ierr); if (unlikely(!__pyx_tuple__147)) __PYX_ERR(1, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__147); __Pyx_GIVEREF(__pyx_tuple__147); __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_le, 24, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) __PYX_ERR(1, 24, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":28 * return (ierr <= error) * * def __gt__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr > error) */ __pyx_tuple__149 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_error, __pyx_n_s_ierr); if (unlikely(!__pyx_tuple__149)) __PYX_ERR(1, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__149); __Pyx_GIVEREF(__pyx_tuple__149); __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_gt, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) __PYX_ERR(1, 28, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":32 * return (ierr > error) * * def __ge__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr >= error) */ __pyx_tuple__151 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_error, __pyx_n_s_ierr); if (unlikely(!__pyx_tuple__151)) __PYX_ERR(1, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__151); __Pyx_GIVEREF(__pyx_tuple__151); __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_ge, 32, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) __PYX_ERR(1, 32, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":36 * return (ierr >= error) * * def __hash__(self): # <<<<<<<<<<<<<< * return hash(self.ob_mpi) * */ __pyx_tuple__153 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__153)) __PYX_ERR(1, 36, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__153); __Pyx_GIVEREF(__pyx_tuple__153); __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_hash, 36, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) __PYX_ERR(1, 36, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":39 * return hash(self.ob_mpi) * * def __bool__(self): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return ierr != MPI_SUCCESS */ __pyx_tuple__155 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_ierr); if (unlikely(!__pyx_tuple__155)) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__155); __Pyx_GIVEREF(__pyx_tuple__155); __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_bool, 39, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) __PYX_ERR(1, 39, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":45 * __nonzero__ = __bool__ * * def __int__(self): # <<<<<<<<<<<<<< * return self.ob_mpi * */ __pyx_tuple__157 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__157)) __PYX_ERR(1, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__157); __Pyx_GIVEREF(__pyx_tuple__157); __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_int, 45, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) __PYX_ERR(1, 45, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":48 * return self.ob_mpi * * def __repr__(self): # <<<<<<<<<<<<<< * return "MPI.Exception(%d)" % self.ob_mpi * */ __pyx_tuple__159 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__159)) __PYX_ERR(1, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__159); __Pyx_GIVEREF(__pyx_tuple__159); __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_repr, 48, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) __PYX_ERR(1, 48, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":51 * return "MPI.Exception(%d)" % self.ob_mpi * * def __str__(self): # <<<<<<<<<<<<<< * if not mpi_active(): * return "error code: %d" % self.ob_mpi */ __pyx_tuple__161 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__161)) __PYX_ERR(1, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__161); __Pyx_GIVEREF(__pyx_tuple__161); __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_str, 51, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) __PYX_ERR(1, 51, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":56 * return self.Get_error_string() * * def Get_error_code(self): # <<<<<<<<<<<<<< * """ * Error code */ __pyx_tuple__163 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_errorcode); if (unlikely(!__pyx_tuple__163)) __PYX_ERR(1, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__163); __Pyx_GIVEREF(__pyx_tuple__163); __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_Get_error_code, 56, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) __PYX_ERR(1, 56, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":66 * error_code = property(Get_error_code, doc="error code") * * def Get_error_class(self): # <<<<<<<<<<<<<< * """ * Error class */ __pyx_tuple__165 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_errorclass); if (unlikely(!__pyx_tuple__165)) __PYX_ERR(1, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__165); __Pyx_GIVEREF(__pyx_tuple__165); __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_Get_error_class, 66, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) __PYX_ERR(1, 66, __pyx_L1_error) /* "mpi4py/MPI/ExceptionP.pyx":76 * error_class = property(Get_error_class, doc="error class") * * def Get_error_string(self): # <<<<<<<<<<<<<< * """ * Error string */ __pyx_tuple__167 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_string, __pyx_n_s_resultlen); if (unlikely(!__pyx_tuple__167)) __PYX_ERR(1, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__167); __Pyx_GIVEREF(__pyx_tuple__167); __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_ExceptionP_pyx, __pyx_n_s_Get_error_string, 76, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) __PYX_ERR(1, 76, __pyx_L1_error) /* "mpi4py/MPI/Exception.pyx":87 * * * def Get_error_class(int errorcode): # <<<<<<<<<<<<<< * """ * Convert an *error code* into an *error class* */ __pyx_tuple__169 = PyTuple_Pack(2, __pyx_n_s_errorcode, __pyx_n_s_errorclass); if (unlikely(!__pyx_tuple__169)) __PYX_ERR(19, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__169); __Pyx_GIVEREF(__pyx_tuple__169); __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Exception_pyx, __pyx_n_s_Get_error_class, 87, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) __PYX_ERR(19, 87, __pyx_L1_error) /* "mpi4py/MPI/Exception.pyx":95 * return errorclass * * def Get_error_string(int errorcode): # <<<<<<<<<<<<<< * """ * Return the *error string* for a given */ __pyx_tuple__171 = PyTuple_Pack(3, __pyx_n_s_errorcode, __pyx_n_s_string, __pyx_n_s_resultlen); if (unlikely(!__pyx_tuple__171)) __PYX_ERR(19, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__171); __Pyx_GIVEREF(__pyx_tuple__171); __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Exception_pyx, __pyx_n_s_Get_error_string, 95, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) __PYX_ERR(19, 95, __pyx_L1_error) /* "mpi4py/MPI/Exception.pyx":106 * * * def Add_error_class(): # <<<<<<<<<<<<<< * """ * Add an *error class* to the known error classes */ __pyx_tuple__173 = PyTuple_Pack(1, __pyx_n_s_errorclass); if (unlikely(!__pyx_tuple__173)) __PYX_ERR(19, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__173); __Pyx_GIVEREF(__pyx_tuple__173); __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Exception_pyx, __pyx_n_s_Add_error_class, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) __PYX_ERR(19, 106, __pyx_L1_error) /* "mpi4py/MPI/Exception.pyx":114 * return errorclass * * def Add_error_code(int errorclass): # <<<<<<<<<<<<<< * """ * Add an *error code* to an *error class* */ __pyx_tuple__175 = PyTuple_Pack(2, __pyx_n_s_errorclass, __pyx_n_s_errorcode); if (unlikely(!__pyx_tuple__175)) __PYX_ERR(19, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__175); __Pyx_GIVEREF(__pyx_tuple__175); __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Exception_pyx, __pyx_n_s_Add_error_code, 114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) __PYX_ERR(19, 114, __pyx_L1_error) /* "mpi4py/MPI/Exception.pyx":122 * return errorcode * * def Add_error_string(int errorcode, string): # <<<<<<<<<<<<<< * """ * Associate an *error string* with an */ __pyx_tuple__177 = PyTuple_Pack(3, __pyx_n_s_errorcode, __pyx_n_s_string, __pyx_n_s_cstring); if (unlikely(!__pyx_tuple__177)) __PYX_ERR(19, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__177); __Pyx_GIVEREF(__pyx_tuple__177); __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Exception_pyx, __pyx_n_s_Add_error_string, 122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) __PYX_ERR(19, 122, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":836 * # ----------------- * * def Get_address(location): # <<<<<<<<<<<<<< * """ * Get the address of a location in memory */ __pyx_tuple__179 = PyTuple_Pack(3, __pyx_n_s_location, __pyx_n_s_baseptr, __pyx_n_s_address); if (unlikely(!__pyx_tuple__179)) __PYX_ERR(21, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__179); __Pyx_GIVEREF(__pyx_tuple__179); __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Datatype_pyx, __pyx_n_s_Get_address, 836, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) __PYX_ERR(21, 836, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":847 * return address * * def Aint_add(Aint base, Aint disp): # <<<<<<<<<<<<<< * """ * Return the sum of base address and displacement */ __pyx_tuple__181 = PyTuple_Pack(2, __pyx_n_s_base, __pyx_n_s_disp); if (unlikely(!__pyx_tuple__181)) __PYX_ERR(21, 847, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__181); __Pyx_GIVEREF(__pyx_tuple__181); __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__181, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Datatype_pyx, __pyx_n_s_Aint_add, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) __PYX_ERR(21, 847, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":853 * return MPI_Aint_add(base, disp) * * def Aint_diff(Aint addr1, Aint addr2): # <<<<<<<<<<<<<< * """ * Return the difference between absolute addresses */ __pyx_tuple__183 = PyTuple_Pack(2, __pyx_n_s_addr1, __pyx_n_s_addr2); if (unlikely(!__pyx_tuple__183)) __PYX_ERR(21, 853, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__183); __Pyx_GIVEREF(__pyx_tuple__183); __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Datatype_pyx, __pyx_n_s_Aint_diff, 853, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) __PYX_ERR(21, 853, __pyx_L1_error) /* "mpi4py/MPI/typestr.pxi":3 * # ----------------------------------------------------------------------------- * * def _typecode(Datatype datatype): # <<<<<<<<<<<<<< * """ * Map MPI datatype to typecode string */ __pyx_tuple__185 = PyTuple_Pack(2, __pyx_n_s_datatype, __pyx_n_s_tc); if (unlikely(!__pyx_tuple__185)) __PYX_ERR(23, 3, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__185); __Pyx_GIVEREF(__pyx_tuple__185); __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__185, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_typestr_pxi, __pyx_n_s_typecode_2, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) __PYX_ERR(23, 3, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":1971 * # Cartesian Convenience Function * * def Compute_dims(int nnodes, dims): # <<<<<<<<<<<<<< * """ * Return a balanced distribution of */ __pyx_tuple__187 = PyTuple_Pack(6, __pyx_n_s_nnodes, __pyx_n_s_dims, __pyx_n_s_i, __pyx_n_s_ndims, __pyx_n_s_idims, __pyx_n_s_tmp); if (unlikely(!__pyx_tuple__187)) __PYX_ERR(7, 1971, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__187); __Pyx_GIVEREF(__pyx_tuple__187); __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Comm_pyx, __pyx_n_s_Compute_dims, 1971, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) __PYX_ERR(7, 1971, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2236 * #: Upper bound of memory overhead for sending in buffered mode * * def Attach_buffer(buf): # <<<<<<<<<<<<<< * """ * Attach a user-provided buffer for */ __pyx_tuple__189 = PyTuple_Pack(3, __pyx_n_s_buf, __pyx_n_s_base, __pyx_n_s_size); if (unlikely(!__pyx_tuple__189)) __PYX_ERR(7, 2236, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__189); __Pyx_GIVEREF(__pyx_tuple__189); __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Comm_pyx, __pyx_n_s_Attach_buffer, 2236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) __PYX_ERR(7, 2236, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2246 * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) * * def Detach_buffer(): # <<<<<<<<<<<<<< * """ * Remove an existing attached buffer */ __pyx_tuple__191 = PyTuple_Pack(2, __pyx_n_s_base, __pyx_n_s_size); if (unlikely(!__pyx_tuple__191)) __PYX_ERR(7, 2246, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__191); __Pyx_GIVEREF(__pyx_tuple__191); __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Comm_pyx, __pyx_n_s_Detach_buffer, 2246, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) __PYX_ERR(7, 2246, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2263 * # --------------- * * def Open_port(Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Return an address that can be used to establish */ __pyx_tuple__193 = PyTuple_Pack(2, __pyx_n_s_info, __pyx_n_s_cportname); if (unlikely(!__pyx_tuple__193)) __PYX_ERR(7, 2263, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__193); __Pyx_GIVEREF(__pyx_tuple__193); __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__193, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Comm_pyx, __pyx_n_s_Open_port, 2263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) __PYX_ERR(7, 2263, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2273 * return mpistr(cportname) * * def Close_port(port_name): # <<<<<<<<<<<<<< * """ * Close a port */ __pyx_tuple__195 = PyTuple_Pack(2, __pyx_n_s_port_name, __pyx_n_s_cportname); if (unlikely(!__pyx_tuple__195)) __PYX_ERR(7, 2273, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__195); __Pyx_GIVEREF(__pyx_tuple__195); __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__195, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Comm_pyx, __pyx_n_s_Close_port, 2273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) __PYX_ERR(7, 2273, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2284 * # --------------- * * def Publish_name(service_name, port_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Publish a service name */ __pyx_tuple__197 = PyTuple_Pack(6, __pyx_n_s_service_name, __pyx_n_s_port_name, __pyx_n_s_info, __pyx_n_s_csrvcname, __pyx_n_s_cportname, __pyx_n_s_cinfo); if (unlikely(!__pyx_tuple__197)) __PYX_ERR(7, 2284, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__197); __Pyx_GIVEREF(__pyx_tuple__197); __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Comm_pyx, __pyx_n_s_Publish_name, 2284, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) __PYX_ERR(7, 2284, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2297 * with nogil: CHKERR( MPI_Publish_name(csrvcname, cinfo, cportname) ) * * def Unpublish_name(service_name, port_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Unpublish a service name */ __pyx_tuple__199 = PyTuple_Pack(6, __pyx_n_s_service_name, __pyx_n_s_port_name, __pyx_n_s_info, __pyx_n_s_csrvcname, __pyx_n_s_cportname, __pyx_n_s_cinfo); if (unlikely(!__pyx_tuple__199)) __PYX_ERR(7, 2297, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__199); __Pyx_GIVEREF(__pyx_tuple__199); __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Comm_pyx, __pyx_n_s_Unpublish_name, 2297, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) __PYX_ERR(7, 2297, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2310 * with nogil: CHKERR( MPI_Unpublish_name(csrvcname, cinfo, cportname) ) * * def Lookup_name(service_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Lookup a port name given a service name */ __pyx_tuple__201 = PyTuple_Pack(5, __pyx_n_s_service_name, __pyx_n_s_info, __pyx_n_s_csrvcname, __pyx_n_s_cinfo, __pyx_n_s_cportname); if (unlikely(!__pyx_tuple__201)) __PYX_ERR(7, 2310, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__201); __Pyx_GIVEREF(__pyx_tuple__201); __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__201, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_Comm_pyx, __pyx_n_s_Lookup_name, 2310, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) __PYX_ERR(7, 2310, __pyx_L1_error) /* "mpi4py/MPI/File.pyx":712 * # --------------------------------- * * def Register_datarep(datarep, read_fn, write_fn, extent_fn): # <<<<<<<<<<<<<< * """ * Register user-defined data representations */ __pyx_tuple__203 = PyTuple_Pack(10, __pyx_n_s_datarep, __pyx_n_s_read_fn, __pyx_n_s_write_fn, __pyx_n_s_extent_fn, __pyx_n_s_cdatarep, __pyx_n_s_state, __pyx_n_s_rd, __pyx_n_s_wr, __pyx_n_s_ex, __pyx_n_s_xs); if (unlikely(!__pyx_tuple__203)) __PYX_ERR(31, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__203); __Pyx_GIVEREF(__pyx_tuple__203); __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_File_pyx, __pyx_n_s_Register_datarep, 712, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) __PYX_ERR(31, 712, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":90 * # ----------------- * * def Alloc_mem(Aint size, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Allocate memory for message passing and RMA */ __pyx_tuple__205 = PyTuple_Pack(3, __pyx_n_s_size, __pyx_n_s_info, __pyx_n_s_base); if (unlikely(!__pyx_tuple__205)) __PYX_ERR(8, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__205); __Pyx_GIVEREF(__pyx_tuple__205); __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__205, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_Alloc_mem, 90, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) __PYX_ERR(8, 90, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":98 * return tomemory(base, size) * * def Free_mem(mem): # <<<<<<<<<<<<<< * """ * Free memory allocated with `Alloc_mem()` */ __pyx_tuple__207 = PyTuple_Pack(3, __pyx_n_s_mem, __pyx_n_s_base, __pyx_n_s_m); if (unlikely(!__pyx_tuple__207)) __PYX_ERR(8, 98, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__207); __Pyx_GIVEREF(__pyx_tuple__207); __pyx_codeobj__208 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__207, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_Free_mem, 98, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__208)) __PYX_ERR(8, 98, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":110 * # ----------------------- * * def Init(): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ __pyx_codeobj__209 = (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_mpi4py_MPI_MPI_pyx, __pyx_n_s_Init, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__209)) __PYX_ERR(8, 110, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":117 * initialize() * * def Finalize(): # <<<<<<<<<<<<<< * """ * Terminate the MPI execution environment */ __pyx_codeobj__210 = (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_mpi4py_MPI_MPI_pyx, __pyx_n_s_Finalize, 117, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) __PYX_ERR(8, 117, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":139 * #: Multiple threads may call MPI * * def Init_thread(int required=THREAD_MULTIPLE): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ __pyx_tuple__211 = PyTuple_Pack(2, __pyx_n_s_required, __pyx_n_s_provided); if (unlikely(!__pyx_tuple__211)) __PYX_ERR(8, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__211); __Pyx_GIVEREF(__pyx_tuple__211); __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__211, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_Init_thread, 139, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) __PYX_ERR(8, 139, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":148 * return provided * * def Query_thread(): # <<<<<<<<<<<<<< * """ * Return the level of thread support */ __pyx_tuple__213 = PyTuple_Pack(1, __pyx_n_s_provided); if (unlikely(!__pyx_tuple__213)) __PYX_ERR(8, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__213); __Pyx_GIVEREF(__pyx_tuple__213); __pyx_codeobj__214 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__213, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_Query_thread, 148, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__214)) __PYX_ERR(8, 148, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":157 * return provided * * def Is_thread_main(): # <<<<<<<<<<<<<< * """ * Indicate whether this thread called */ __pyx_tuple__215 = PyTuple_Pack(1, __pyx_n_s_flag); if (unlikely(!__pyx_tuple__215)) __PYX_ERR(8, 157, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__215); __Pyx_GIVEREF(__pyx_tuple__215); __pyx_codeobj__216 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__215, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_Is_thread_main, 157, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__216)) __PYX_ERR(8, 157, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":166 * return flag * * def Is_initialized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Init`` has been called */ __pyx_tuple__217 = PyTuple_Pack(1, __pyx_n_s_flag); if (unlikely(!__pyx_tuple__217)) __PYX_ERR(8, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__217); __Pyx_GIVEREF(__pyx_tuple__217); __pyx_codeobj__218 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__217, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_Is_initialized, 166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__218)) __PYX_ERR(8, 166, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":174 * return flag * * def Is_finalized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Finalize`` has completed */ __pyx_tuple__219 = PyTuple_Pack(1, __pyx_n_s_flag); if (unlikely(!__pyx_tuple__219)) __PYX_ERR(8, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__219); __Pyx_GIVEREF(__pyx_tuple__219); __pyx_codeobj__220 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__219, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_Is_finalized, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__220)) __PYX_ERR(8, 174, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":191 * SUBVERSION = MPI_SUBVERSION * * def Get_version(): # <<<<<<<<<<<<<< * """ * Obtain the version number of the MPI standard supported */ __pyx_tuple__221 = PyTuple_Pack(2, __pyx_n_s_version, __pyx_n_s_subversion); if (unlikely(!__pyx_tuple__221)) __PYX_ERR(8, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__221); __Pyx_GIVEREF(__pyx_tuple__221); __pyx_codeobj__222 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__221, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_Get_version, 191, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__222)) __PYX_ERR(8, 191, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":201 * return (version, subversion) * * def Get_library_version(): # <<<<<<<<<<<<<< * """ * Obtain the version string of the MPI library */ __pyx_tuple__223 = PyTuple_Pack(2, __pyx_n_s_name_2, __pyx_n_s_nlen); if (unlikely(!__pyx_tuple__223)) __PYX_ERR(8, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__223); __Pyx_GIVEREF(__pyx_tuple__223); __pyx_codeobj__224 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__223, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_Get_library_version, 201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__224)) __PYX_ERR(8, 201, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":213 * # ---------------------- * * def Get_processor_name(): # <<<<<<<<<<<<<< * """ * Obtain the name of the calling processor */ __pyx_tuple__225 = PyTuple_Pack(2, __pyx_n_s_name_2, __pyx_n_s_nlen); if (unlikely(!__pyx_tuple__225)) __PYX_ERR(8, 213, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__225); __Pyx_GIVEREF(__pyx_tuple__225); __pyx_codeobj__226 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__225, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_Get_processor_name, 213, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__226)) __PYX_ERR(8, 213, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":225 * # -------------------------- * * def Wtime(): # <<<<<<<<<<<<<< * """ * Return an elapsed time on the calling processor */ __pyx_codeobj__227 = (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_mpi4py_MPI_MPI_pyx, __pyx_n_s_Wtime, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__227)) __PYX_ERR(8, 225, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":231 * return MPI_Wtime() * * def Wtick(): # <<<<<<<<<<<<<< * """ * Return the resolution of ``Wtime`` */ __pyx_codeobj__228 = (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_mpi4py_MPI_MPI_pyx, __pyx_n_s_Wtick, 231, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__228)) __PYX_ERR(8, 231, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":240 * # -------------------- * * def Pcontrol(int level): # <<<<<<<<<<<<<< * """ * Control profiling */ __pyx_tuple__229 = PyTuple_Pack(1, __pyx_n_s_level); if (unlikely(!__pyx_tuple__229)) __PYX_ERR(8, 240, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__229); __Pyx_GIVEREF(__pyx_tuple__229); __pyx_codeobj__230 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__229, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_Pcontrol, 240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__230)) __PYX_ERR(8, 240, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":268 * int PyMPI_Get_vendor(const char**,int*,int*,int*) nogil * * def get_vendor(): # <<<<<<<<<<<<<< * """ * Infomation about the underlying MPI implementation */ __pyx_tuple__231 = PyTuple_Pack(4, __pyx_n_s_name_2, __pyx_n_s_major, __pyx_n_s_minor, __pyx_n_s_micro); if (unlikely(!__pyx_tuple__231)) __PYX_ERR(8, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__231); __Pyx_GIVEREF(__pyx_tuple__231); __pyx_codeobj__232 = (PyObject*)__Pyx_PyCode_New(0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__231, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_get_vendor, 268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__232)) __PYX_ERR(8, 268, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":294 * return 0 * * def _sizeof(arg): # <<<<<<<<<<<<<< * """ * Size in bytes of the underlying MPI handle */ __pyx_tuple__233 = PyTuple_Pack(1, __pyx_n_s_arg); if (unlikely(!__pyx_tuple__233)) __PYX_ERR(8, 294, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__233); __Pyx_GIVEREF(__pyx_tuple__233); __pyx_codeobj__234 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__233, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_sizeof, 294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__234)) __PYX_ERR(8, 294, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":311 * raise TypeError("expecting an MPI type or instance") * * def _addressof(arg): # <<<<<<<<<<<<<< * """ * Memory address of the underlying MPI handle */ __pyx_tuple__235 = PyTuple_Pack(2, __pyx_n_s_arg, __pyx_n_s_ptr); if (unlikely(!__pyx_tuple__235)) __PYX_ERR(8, 311, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__235); __Pyx_GIVEREF(__pyx_tuple__235); __pyx_codeobj__236 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__235, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_addressof, 311, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__236)) __PYX_ERR(8, 311, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":342 * return PyLong_FromVoidPtr(ptr) * * def _handleof(arg): # <<<<<<<<<<<<<< * """ * Unsigned integer value with the underlying MPI handle */ __pyx_tuple__237 = PyTuple_Pack(1, __pyx_n_s_arg); if (unlikely(!__pyx_tuple__237)) __PYX_ERR(8, 342, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__237); __Pyx_GIVEREF(__pyx_tuple__237); __pyx_codeobj__238 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__237, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_mpi4py_MPI_MPI_pyx, __pyx_n_s_handleof, 342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__238)) __PYX_ERR(8, 342, __pyx_L1_error) __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; __Pyx_RefNannyFinishContext(); return -1; } static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { __pyx_umethod_PyDict_Type_get.type = (PyObject*)&PyDict_Type; __pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type; __pyx_umethod_PyList_Type_index.type = (PyObject*)&PyList_Type; if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(32, 1, __pyx_L1_error); __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(32, 1, __pyx_L1_error) __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(32, 1, __pyx_L1_error) __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(32, 1, __pyx_L1_error) __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(32, 1, __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_v_6mpi4py_3MPI_MPIException = Py_None; Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI__pypy_sentinel = Py_None; Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_array_array = ((PyTypeObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_numpy_array = ((PyTypeObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_op_user_registry = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI__buffer = ((struct __pyx_obj_6mpi4py_3MPI_memory *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___UNWEIGHTED__ = Py_None; Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___WEIGHTS_EMPTY__ = Py_None; Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_allocate_lock = Py_None; Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_lock_registry = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_datarep_registry = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_type_keyval = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_comm_keyval = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_win_keyval = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___BOTTOM__ = Py_None; Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___IN_PLACE__ = Py_None; Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_PyPickle_dumps = Py_None; Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_PyPickle_loads = Py_None; Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL = Py_None; Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_PyBytesIO_New = Py_None; Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_PyPickle_loadf = Py_None; Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE = ((struct __pyx_obj_6mpi4py_3MPI_Pickle *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___ERRHANDLER_NULL__ = ((struct PyMPIErrhandlerObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___ERRORS_RETURN__ = ((struct PyMPIErrhandlerObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___ERRORS_ARE_FATAL__ = ((struct PyMPIErrhandlerObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___DATATYPE_NULL__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___UB__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LB__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___PACKED__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___BYTE__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___AINT__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___OFFSET__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___COUNT__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___CHAR__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___WCHAR__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___SIGNED_CHAR__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___SHORT__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INT__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LONG__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LONG_LONG__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___UNSIGNED_CHAR__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___UNSIGNED_SHORT__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___UNSIGNED__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___UNSIGNED_LONG__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___UNSIGNED_LONG_LONG__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___FLOAT__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___DOUBLE__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LONG_DOUBLE__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___C_BOOL__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INT8_T__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INT16_T__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INT32_T__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INT64_T__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___UINT8_T__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___UINT16_T__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___UINT32_T__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___UINT64_T__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___C_COMPLEX__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___C_FLOAT_COMPLEX__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___C_DOUBLE_COMPLEX__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___C_LONG_DOUBLE_COMPLEX__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___CXX_BOOL__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___CXX_FLOAT_COMPLEX__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___CXX_DOUBLE_COMPLEX__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___CXX_LONG_DOUBLE_COMPLEX__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___SHORT_INT__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___TWOINT__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LONG_INT__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___FLOAT_INT__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___DOUBLE_INT__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LONG_DOUBLE_INT__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___CHARACTER__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LOGICAL__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INTEGER__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___REAL__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___DOUBLE_PRECISION__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___COMPLEX__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___DOUBLE_COMPLEX__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LOGICAL1__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LOGICAL2__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LOGICAL4__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LOGICAL8__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INTEGER1__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INTEGER2__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INTEGER4__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INTEGER8__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INTEGER16__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___REAL2__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___REAL4__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___REAL8__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___REAL16__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___COMPLEX4__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___COMPLEX8__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___COMPLEX16__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___COMPLEX32__ = ((struct PyMPIDatatypeObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_TypeDict = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_CTypeDict = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_FTypeDict = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___REQUEST_NULL__ = ((struct PyMPIRequestObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___MESSAGE_NULL__ = ((struct PyMPIMessageObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___MESSAGE_NO_PROC__ = ((struct PyMPIMessageObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INFO_NULL__ = ((struct PyMPIInfoObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___INFO_ENV__ = ((struct PyMPIInfoObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___OP_NULL__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___MAX__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___MIN__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___SUM__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___PROD__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LAND__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___BAND__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LOR__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___BOR__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___LXOR__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___BXOR__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___MAXLOC__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___MINLOC__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___REPLACE__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___NO_OP__ = ((struct PyMPIOpObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___GROUP_NULL__ = ((struct PyMPIGroupObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___GROUP_EMPTY__ = ((struct PyMPIGroupObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___COMM_NULL__ = ((struct PyMPICommObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___COMM_SELF__ = ((struct PyMPIIntracommObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___COMM_WORLD__ = ((struct PyMPIIntracommObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___COMM_PARENT__ = ((struct PyMPIIntercommObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___WIN_NULL__ = ((struct PyMPIWinObject *)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI___FILE_NULL__ = ((struct PyMPIFileObject *)Py_None); Py_INCREF(Py_None); __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 int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); /*--- Function export code ---*/ if (__Pyx_ExportFunction("PyMPIDatatype_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIDatatype_New, "PyObject *(MPI_Datatype)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIDatatype_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIDatatype_Get, "MPI_Datatype *(PyObject *)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIStatus_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIStatus_New, "PyObject *(MPI_Status *)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIStatus_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIStatus_Get, "MPI_Status *(PyObject *)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIRequest_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIRequest_New, "PyObject *(MPI_Request)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIRequest_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIRequest_Get, "MPI_Request *(PyObject *)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIMessage_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIMessage_New, "PyObject *(MPI_Message)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIMessage_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIMessage_Get, "MPI_Message *(PyObject *)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIOp_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIOp_New, "PyObject *(MPI_Op)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIOp_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIOp_Get, "MPI_Op *(PyObject *)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIInfo_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIInfo_New, "PyObject *(MPI_Info)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIInfo_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIInfo_Get, "MPI_Info *(PyObject *)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIGroup_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIGroup_New, "PyObject *(MPI_Group)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIGroup_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIGroup_Get, "MPI_Group *(PyObject *)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIComm_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIComm_New, "PyObject *(MPI_Comm)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIComm_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIComm_Get, "MPI_Comm *(PyObject *)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIWin_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIWin_New, "PyObject *(MPI_Win)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIWin_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIWin_Get, "MPI_Win *(PyObject *)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIFile_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIFile_New, "PyObject *(MPI_File)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIFile_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIFile_Get, "MPI_File *(PyObject *)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIErrhandler_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIErrhandler_New, "PyObject *(MPI_Errhandler)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIErrhandler_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIErrhandler_Get, "MPI_Errhandler *(PyObject *)") < 0) __PYX_ERR(32, 1, __pyx_L1_error) __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; __Pyx_RefNannyFinishContext(); return -1; } static int __Pyx_modinit_type_init_code(void) { __Pyx_RefNannyDeclarations int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); /*--- Type init code ---*/ if (PyType_Ready(&PyMPIStatus_Type) < 0) __PYX_ERR(24, 1, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIStatus_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIStatus_Type.tp_dictoffset && PyMPIStatus_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIStatus_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Status, (PyObject *)&PyMPIStatus_Type) < 0) __PYX_ERR(24, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Status = &PyMPIStatus_Type; if (PyType_Ready(&PyMPIDatatype_Type) < 0) __PYX_ERR(21, 43, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIDatatype_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIDatatype_Type.tp_dictoffset && PyMPIDatatype_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIDatatype_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Datatype, (PyObject *)&PyMPIDatatype_Type) < 0) __PYX_ERR(21, 43, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Datatype = &PyMPIDatatype_Type; if (PyType_Ready(&PyMPIRequest_Type) < 0) __PYX_ERR(25, 1, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIRequest_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIRequest_Type.tp_dictoffset && PyMPIRequest_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIRequest_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Request, (PyObject *)&PyMPIRequest_Type) < 0) __PYX_ERR(25, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Request = &PyMPIRequest_Type; PyMPIPrequest_Type.tp_base = __pyx_ptype_6mpi4py_3MPI_Request; if (PyType_Ready(&PyMPIPrequest_Type) < 0) __PYX_ERR(25, 283, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIPrequest_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIPrequest_Type.tp_dictoffset && PyMPIPrequest_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIPrequest_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Prequest, (PyObject *)&PyMPIPrequest_Type) < 0) __PYX_ERR(25, 283, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Prequest = &PyMPIPrequest_Type; PyMPIGrequest_Type.tp_base = __pyx_ptype_6mpi4py_3MPI_Request; if (PyType_Ready(&PyMPIGrequest_Type) < 0) __PYX_ERR(25, 315, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIGrequest_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIGrequest_Type.tp_dictoffset && PyMPIGrequest_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIGrequest_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Grequest, (PyObject *)&PyMPIGrequest_Type) < 0) __PYX_ERR(25, 315, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Grequest = &PyMPIGrequest_Type; if (PyType_Ready(&PyMPIMessage_Type) < 0) __PYX_ERR(26, 1, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIMessage_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIMessage_Type.tp_dictoffset && PyMPIMessage_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIMessage_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Message, (PyObject *)&PyMPIMessage_Type) < 0) __PYX_ERR(26, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Message = &PyMPIMessage_Type; if (PyType_Ready(&PyMPIOp_Type) < 0) __PYX_ERR(28, 1, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIOp_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIOp_Type.tp_dictoffset && PyMPIOp_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIOp_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Op, (PyObject *)&PyMPIOp_Type) < 0) __PYX_ERR(28, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Op = &PyMPIOp_Type; if (PyType_Ready(&PyMPIGroup_Type) < 0) __PYX_ERR(29, 1, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIGroup_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIGroup_Type.tp_dictoffset && PyMPIGroup_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIGroup_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Group, (PyObject *)&PyMPIGroup_Type) < 0) __PYX_ERR(29, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Group = &PyMPIGroup_Type; if (PyType_Ready(&PyMPIInfo_Type) < 0) __PYX_ERR(27, 1, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIInfo_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIInfo_Type.tp_dictoffset && PyMPIInfo_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIInfo_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Info, (PyObject *)&PyMPIInfo_Type) < 0) __PYX_ERR(27, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Info = &PyMPIInfo_Type; if (PyType_Ready(&PyMPIErrhandler_Type) < 0) __PYX_ERR(20, 1, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIErrhandler_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIErrhandler_Type.tp_dictoffset && PyMPIErrhandler_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIErrhandler_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Errhandler, (PyObject *)&PyMPIErrhandler_Type) < 0) __PYX_ERR(20, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Errhandler = &PyMPIErrhandler_Type; if (PyType_Ready(&PyMPIComm_Type) < 0) __PYX_ERR(7, 31, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIComm_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIComm_Type.tp_dictoffset && PyMPIComm_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIComm_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Comm, (PyObject *)&PyMPIComm_Type) < 0) __PYX_ERR(7, 31, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Comm = &PyMPIComm_Type; PyMPIIntracomm_Type.tp_base = __pyx_ptype_6mpi4py_3MPI_Comm; if (PyType_Ready(&PyMPIIntracomm_Type) < 0) __PYX_ERR(7, 1292, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIIntracomm_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIIntracomm_Type.tp_dictoffset && PyMPIIntracomm_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIIntracomm_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Intracomm, (PyObject *)&PyMPIIntracomm_Type) < 0) __PYX_ERR(7, 1292, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Intracomm = &PyMPIIntracomm_Type; PyMPITopocomm_Type.tp_base = __pyx_ptype_6mpi4py_3MPI_Intracomm; if (PyType_Ready(&PyMPITopocomm_Type) < 0) __PYX_ERR(7, 1626, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPITopocomm_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPITopocomm_Type.tp_dictoffset && PyMPITopocomm_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPITopocomm_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Topocomm, (PyObject *)&PyMPITopocomm_Type) < 0) __PYX_ERR(7, 1626, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Topocomm = &PyMPITopocomm_Type; PyMPICartcomm_Type.tp_base = __pyx_ptype_6mpi4py_3MPI_Topocomm; if (PyType_Ready(&PyMPICartcomm_Type) < 0) __PYX_ERR(7, 1841, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPICartcomm_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPICartcomm_Type.tp_dictoffset && PyMPICartcomm_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPICartcomm_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Cartcomm, (PyObject *)&PyMPICartcomm_Type) < 0) __PYX_ERR(7, 1841, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Cartcomm = &PyMPICartcomm_Type; PyMPIGraphcomm_Type.tp_base = __pyx_ptype_6mpi4py_3MPI_Topocomm; if (PyType_Ready(&PyMPIGraphcomm_Type) < 0) __PYX_ERR(7, 1988, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIGraphcomm_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIGraphcomm_Type.tp_dictoffset && PyMPIGraphcomm_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIGraphcomm_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Graphcomm, (PyObject *)&PyMPIGraphcomm_Type) < 0) __PYX_ERR(7, 1988, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Graphcomm = &PyMPIGraphcomm_Type; PyMPIDistgraphcomm_Type.tp_base = __pyx_ptype_6mpi4py_3MPI_Topocomm; if (PyType_Ready(&PyMPIDistgraphcomm_Type) < 0) __PYX_ERR(7, 2095, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIDistgraphcomm_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIDistgraphcomm_Type.tp_dictoffset && PyMPIDistgraphcomm_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIDistgraphcomm_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Distgraphcomm, (PyObject *)&PyMPIDistgraphcomm_Type) < 0) __PYX_ERR(7, 2095, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Distgraphcomm = &PyMPIDistgraphcomm_Type; PyMPIIntercomm_Type.tp_base = __pyx_ptype_6mpi4py_3MPI_Comm; if (PyType_Ready(&PyMPIIntercomm_Type) < 0) __PYX_ERR(7, 2157, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIIntercomm_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIIntercomm_Type.tp_dictoffset && PyMPIIntercomm_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIIntercomm_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Intercomm, (PyObject *)&PyMPIIntercomm_Type) < 0) __PYX_ERR(7, 2157, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Intercomm = &PyMPIIntercomm_Type; if (PyType_Ready(&PyMPIWin_Type) < 0) __PYX_ERR(30, 27, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIWin_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIWin_Type.tp_dictoffset && PyMPIWin_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIWin_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Win, (PyObject *)&PyMPIWin_Type) < 0) __PYX_ERR(30, 27, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Win = &PyMPIWin_Type; if (PyType_Ready(&PyMPIFile_Type) < 0) __PYX_ERR(31, 51, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 PyMPIFile_Type.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!PyMPIFile_Type.tp_dictoffset && PyMPIFile_Type.tp_getattro == PyObject_GenericGetAttr)) { PyMPIFile_Type.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_File, (PyObject *)&PyMPIFile_Type) < 0) __PYX_ERR(31, 51, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_File = &PyMPIFile_Type; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI_memory) < 0) __PYX_ERR(0, 143, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_6mpi4py_3MPI_memory.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6mpi4py_3MPI_memory.tp_dictoffset && __pyx_type_6mpi4py_3MPI_memory.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_6mpi4py_3MPI_memory.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_memory, (PyObject *)&__pyx_type_6mpi4py_3MPI_memory) < 0) __PYX_ERR(0, 143, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_memory = &__pyx_type_6mpi4py_3MPI_memory; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_mem) < 0) __PYX_ERR(2, 13, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_6mpi4py_3MPI__p_mem.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6mpi4py_3MPI__p_mem.tp_dictoffset && __pyx_type_6mpi4py_3MPI__p_mem.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_6mpi4py_3MPI__p_mem.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } __pyx_ptype_6mpi4py_3MPI__p_mem = &__pyx_type_6mpi4py_3MPI__p_mem; __pyx_vtabptr_6mpi4py_3MPI__p_greq = &__pyx_vtable_6mpi4py_3MPI__p_greq; __pyx_vtable_6mpi4py_3MPI__p_greq.query = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_greq *, MPI_Status *))__pyx_f_6mpi4py_3MPI_7_p_greq_query; __pyx_vtable_6mpi4py_3MPI__p_greq.free = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_greq *))__pyx_f_6mpi4py_3MPI_7_p_greq_free; __pyx_vtable_6mpi4py_3MPI__p_greq.cancel = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_greq *, int))__pyx_f_6mpi4py_3MPI_7_p_greq_cancel; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_greq) < 0) __PYX_ERR(13, 56, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_6mpi4py_3MPI__p_greq.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6mpi4py_3MPI__p_greq.tp_dictoffset && __pyx_type_6mpi4py_3MPI__p_greq.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_6mpi4py_3MPI__p_greq.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_greq.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_greq) < 0) __PYX_ERR(13, 56, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI__p_greq = &__pyx_type_6mpi4py_3MPI__p_greq; __pyx_vtabptr_6mpi4py_3MPI__p_datarep = &__pyx_vtable_6mpi4py_3MPI__p_datarep; __pyx_vtable_6mpi4py_3MPI__p_datarep.read = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_datarep *, void *, MPI_Datatype, int, void *, MPI_Offset))__pyx_f_6mpi4py_3MPI_10_p_datarep_read; __pyx_vtable_6mpi4py_3MPI__p_datarep.write = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_datarep *, void *, MPI_Datatype, int, void *, MPI_Offset))__pyx_f_6mpi4py_3MPI_10_p_datarep_write; __pyx_vtable_6mpi4py_3MPI__p_datarep.extent = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_datarep *, MPI_Datatype, MPI_Aint *))__pyx_f_6mpi4py_3MPI_10_p_datarep_extent; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_datarep) < 0) __PYX_ERR(16, 7, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_6mpi4py_3MPI__p_datarep.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6mpi4py_3MPI__p_datarep.tp_dictoffset && __pyx_type_6mpi4py_3MPI__p_datarep.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_6mpi4py_3MPI__p_datarep.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_datarep.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_datarep) < 0) __PYX_ERR(16, 7, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI__p_datarep = &__pyx_type_6mpi4py_3MPI__p_datarep; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_keyval) < 0) __PYX_ERR(4, 5, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_6mpi4py_3MPI__p_keyval.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6mpi4py_3MPI__p_keyval.tp_dictoffset && __pyx_type_6mpi4py_3MPI__p_keyval.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_6mpi4py_3MPI__p_keyval.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } __pyx_ptype_6mpi4py_3MPI__p_keyval = &__pyx_type_6mpi4py_3MPI__p_keyval; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_message) < 0) __PYX_ERR(5, 64, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_6mpi4py_3MPI__p_message.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6mpi4py_3MPI__p_message.tp_dictoffset && __pyx_type_6mpi4py_3MPI__p_message.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_6mpi4py_3MPI__p_message.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } __pyx_ptype_6mpi4py_3MPI__p_message = &__pyx_type_6mpi4py_3MPI__p_message; __pyx_vtabptr_6mpi4py_3MPI__p_msg_p2p = &__pyx_vtable_6mpi4py_3MPI__p_msg_p2p; __pyx_vtable_6mpi4py_3MPI__p_msg_p2p.for_send = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *, PyObject *, int))__pyx_f_6mpi4py_3MPI_10_p_msg_p2p_for_send; __pyx_vtable_6mpi4py_3MPI__p_msg_p2p.for_recv = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *, PyObject *, int))__pyx_f_6mpi4py_3MPI_10_p_msg_p2p_for_recv; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_msg_p2p) < 0) __PYX_ERR(5, 364, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_6mpi4py_3MPI__p_msg_p2p.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6mpi4py_3MPI__p_msg_p2p.tp_dictoffset && __pyx_type_6mpi4py_3MPI__p_msg_p2p.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_6mpi4py_3MPI__p_msg_p2p.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_msg_p2p.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_msg_p2p) < 0) __PYX_ERR(5, 364, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI__p_msg_p2p = &__pyx_type_6mpi4py_3MPI__p_msg_p2p; __pyx_vtabptr_6mpi4py_3MPI__p_msg_cco = &__pyx_vtable_6mpi4py_3MPI__p_msg_cco; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_cco_send = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, int, int))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_send; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_cco_recv = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, int, int))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cco_recv; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_bcast = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, int, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_bcast; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_gather = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, int, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_gather; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_scatter = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, int, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scatter; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_allgather = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allgather; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_alltoall = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_alltoall; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_neighbor_allgather = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_allgather; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_neighbor_alltoall = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, int, PyObject *, PyObject *, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_neighbor_alltoall; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_cro_send = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, int))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_send; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_cro_recv = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, int))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_cro_recv; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_reduce = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, int, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_allreduce = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_allreduce; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_reduce_scatter_block = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce_scatter_block; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_reduce_scatter = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, PyObject *, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_reduce_scatter; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_scan = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_scan; __pyx_vtable_6mpi4py_3MPI__p_msg_cco.for_exscan = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *, PyObject *, PyObject *, MPI_Comm))__pyx_f_6mpi4py_3MPI_10_p_msg_cco_for_exscan; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_msg_cco) < 0) __PYX_ERR(5, 408, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_6mpi4py_3MPI__p_msg_cco.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6mpi4py_3MPI__p_msg_cco.tp_dictoffset && __pyx_type_6mpi4py_3MPI__p_msg_cco.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_6mpi4py_3MPI__p_msg_cco.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_msg_cco.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_msg_cco) < 0) __PYX_ERR(5, 408, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI__p_msg_cco = &__pyx_type_6mpi4py_3MPI__p_msg_cco; __pyx_vtabptr_6mpi4py_3MPI__p_msg_ccow = &__pyx_vtable_6mpi4py_3MPI__p_msg_ccow; __pyx_vtable_6mpi4py_3MPI__p_msg_ccow.for_alltoallw = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *, PyObject *, PyObject *, MPI_Comm))__pyx_f_6mpi4py_3MPI_11_p_msg_ccow_for_alltoallw; __pyx_vtable_6mpi4py_3MPI__p_msg_ccow.for_neighbor_alltoallw = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *, PyObject *, PyObject *, MPI_Comm))__pyx_f_6mpi4py_3MPI_11_p_msg_ccow_for_neighbor_alltoallw; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_msg_ccow) < 0) __PYX_ERR(5, 832, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_6mpi4py_3MPI__p_msg_ccow.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6mpi4py_3MPI__p_msg_ccow.tp_dictoffset && __pyx_type_6mpi4py_3MPI__p_msg_ccow.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_6mpi4py_3MPI__p_msg_ccow.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_msg_ccow.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_msg_ccow) < 0) __PYX_ERR(5, 832, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI__p_msg_ccow = &__pyx_type_6mpi4py_3MPI__p_msg_ccow; __pyx_vtabptr_6mpi4py_3MPI__p_msg_rma = &__pyx_vtable_6mpi4py_3MPI__p_msg_rma; __pyx_vtable_6mpi4py_3MPI__p_msg_rma.for_rma = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, int, PyObject *, int, PyObject *))__pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_rma; __pyx_vtable_6mpi4py_3MPI__p_msg_rma.for_put = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int, PyObject *))__pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_put; __pyx_vtable_6mpi4py_3MPI__p_msg_rma.for_get = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int, PyObject *))__pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_get; __pyx_vtable_6mpi4py_3MPI__p_msg_rma.for_acc = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int, PyObject *))__pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_acc; __pyx_vtable_6mpi4py_3MPI__p_msg_rma.set_origin = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int))__pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_origin; __pyx_vtable_6mpi4py_3MPI__p_msg_rma.set_compare = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int))__pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_compare; __pyx_vtable_6mpi4py_3MPI__p_msg_rma.set_result = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, int))__pyx_f_6mpi4py_3MPI_10_p_msg_rma_set_result; __pyx_vtable_6mpi4py_3MPI__p_msg_rma.for_get_acc = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, PyObject *, int, PyObject *))__pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_get_acc; __pyx_vtable_6mpi4py_3MPI__p_msg_rma.for_fetch_op = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, PyObject *, int, MPI_Aint))__pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_fetch_op; __pyx_vtable_6mpi4py_3MPI__p_msg_rma.for_cmp_swap = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, PyObject *, PyObject *, int, MPI_Aint))__pyx_f_6mpi4py_3MPI_10_p_msg_rma_for_cmp_swap; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_msg_rma) < 0) __PYX_ERR(5, 904, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_6mpi4py_3MPI__p_msg_rma.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6mpi4py_3MPI__p_msg_rma.tp_dictoffset && __pyx_type_6mpi4py_3MPI__p_msg_rma.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_6mpi4py_3MPI__p_msg_rma.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_msg_rma.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_msg_rma) < 0) __PYX_ERR(5, 904, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI__p_msg_rma = &__pyx_type_6mpi4py_3MPI__p_msg_rma; __pyx_vtabptr_6mpi4py_3MPI__p_msg_io = &__pyx_vtable_6mpi4py_3MPI__p_msg_io; __pyx_vtable_6mpi4py_3MPI__p_msg_io.for_read = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_io *, PyObject *))__pyx_f_6mpi4py_3MPI_9_p_msg_io_for_read; __pyx_vtable_6mpi4py_3MPI__p_msg_io.for_write = (int (*)(struct __pyx_obj_6mpi4py_3MPI__p_msg_io *, PyObject *))__pyx_f_6mpi4py_3MPI_9_p_msg_io_for_write; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_msg_io) < 0) __PYX_ERR(5, 1058, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_6mpi4py_3MPI__p_msg_io.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6mpi4py_3MPI__p_msg_io.tp_dictoffset && __pyx_type_6mpi4py_3MPI__p_msg_io.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_6mpi4py_3MPI__p_msg_io.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_msg_io.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_msg_io) < 0) __PYX_ERR(5, 1058, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI__p_msg_io = &__pyx_type_6mpi4py_3MPI__p_msg_io; __pyx_vtabptr_6mpi4py_3MPI_Pickle = &__pyx_vtable_6mpi4py_3MPI_Pickle; __pyx_vtable_6mpi4py_3MPI_Pickle.cdumps = (PyObject *(*)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *))__pyx_f_6mpi4py_3MPI_6Pickle_cdumps; __pyx_vtable_6mpi4py_3MPI_Pickle.cloads = (PyObject *(*)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *))__pyx_f_6mpi4py_3MPI_6Pickle_cloads; __pyx_vtable_6mpi4py_3MPI_Pickle.dump = (PyObject *(*)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, void **, int *))__pyx_f_6mpi4py_3MPI_6Pickle_dump; __pyx_vtable_6mpi4py_3MPI_Pickle.load = (PyObject *(*)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void *, int))__pyx_f_6mpi4py_3MPI_6Pickle_load; __pyx_vtable_6mpi4py_3MPI_Pickle.dumpv = (PyObject *(*)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, void **, int, int *, int *))__pyx_f_6mpi4py_3MPI_6Pickle_dumpv; __pyx_vtable_6mpi4py_3MPI_Pickle.loadv = (PyObject *(*)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void *, int, int *, int *))__pyx_f_6mpi4py_3MPI_6Pickle_loadv; __pyx_vtable_6mpi4py_3MPI_Pickle.alloc = (PyObject *(*)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void **, int))__pyx_f_6mpi4py_3MPI_6Pickle_alloc; __pyx_vtable_6mpi4py_3MPI_Pickle.allocv = (PyObject *(*)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void **, int, int *, int *))__pyx_f_6mpi4py_3MPI_6Pickle_allocv; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI_Pickle) < 0) __PYX_ERR(6, 44, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_6mpi4py_3MPI_Pickle.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6mpi4py_3MPI_Pickle.tp_dictoffset && __pyx_type_6mpi4py_3MPI_Pickle.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_6mpi4py_3MPI_Pickle.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI_Pickle.tp_dict, __pyx_vtabptr_6mpi4py_3MPI_Pickle) < 0) __PYX_ERR(6, 44, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Pickle = &__pyx_type_6mpi4py_3MPI_Pickle; __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; } #ifndef CYTHON_NO_PYINIT_EXPORT #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC #elif PY_MAJOR_VERSION < 3 #ifdef __cplusplus #define __Pyx_PyMODINIT_FUNC extern "C" void #else #define __Pyx_PyMODINIT_FUNC void #endif #else #ifdef __cplusplus #define __Pyx_PyMODINIT_FUNC extern "C" PyObject * #else #define __Pyx_PyMODINIT_FUNC PyObject * #endif #endif #if PY_MAJOR_VERSION < 3 __Pyx_PyMODINIT_FUNC initMPI(void) CYTHON_SMALL_CODE; /*proto*/ __Pyx_PyMODINIT_FUNC initMPI(void) #else __Pyx_PyMODINIT_FUNC PyInit_MPI(void) CYTHON_SMALL_CODE; /*proto*/ __Pyx_PyMODINIT_FUNC PyInit_MPI(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_MPI(PyObject *__pyx_pyinit_module) #endif #endif { PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; PyObject *__pyx_t_15 = NULL; PyObject *__pyx_t_16 = NULL; PyObject *__pyx_t_17 = NULL; PyObject *__pyx_t_18 = NULL; int __pyx_t_19; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannyDeclarations #if CYTHON_PEP489_MULTI_PHASE_INIT if (__pyx_m) { if (__pyx_m == __pyx_pyinit_module) return 0; PyErr_SetString(PyExc_RuntimeError, "Module 'MPI' 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_MPI(void)", 0); if (__Pyx_check_binary_version() < 0) __PYX_ERR(32, 1, __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(32, 1, __pyx_L1_error) __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(32, 1, __pyx_L1_error) __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(32, 1, __pyx_L1_error) #ifdef __Pyx_CyFunction_USED if (__pyx_CyFunction_init() < 0) __PYX_ERR(32, 1, __pyx_L1_error) #endif #ifdef __Pyx_FusedFunction_USED if (__pyx_FusedFunction_init() < 0) __PYX_ERR(32, 1, __pyx_L1_error) #endif #ifdef __Pyx_Coroutine_USED if (__pyx_Coroutine_init() < 0) __PYX_ERR(32, 1, __pyx_L1_error) #endif #ifdef __Pyx_Generator_USED if (__pyx_Generator_init() < 0) __PYX_ERR(32, 1, __pyx_L1_error) #endif #ifdef __Pyx_AsyncGen_USED if (__pyx_AsyncGen_init() < 0) __PYX_ERR(32, 1, __pyx_L1_error) #endif #ifdef __Pyx_StopAsyncIteration_USED if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(32, 1, __pyx_L1_error) #endif /*--- Library function declarations ---*/ /*--- Threads initialization code ---*/ #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS PyEval_InitThreads(); #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("MPI", __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(32, 1, __pyx_L1_error) #endif __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(32, 1, __pyx_L1_error) Py_INCREF(__pyx_d); __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(32, 1, __pyx_L1_error) Py_INCREF(__pyx_b); __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(32, 1, __pyx_L1_error) Py_INCREF(__pyx_cython_runtime); if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(32, 1, __pyx_L1_error); /*--- Initialize various global constants etc. ---*/ if (__Pyx_InitGlobals() < 0) __PYX_ERR(32, 1, __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(32, 1, __pyx_L1_error) #endif if (__pyx_module_is_main_mpi4py__MPI) { if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(32, 1, __pyx_L1_error) } #if PY_MAJOR_VERSION >= 3 { PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(32, 1, __pyx_L1_error) if (!PyDict_GetItemString(modules, "mpi4py.MPI")) { if (unlikely(PyDict_SetItemString(modules, "mpi4py.MPI", __pyx_m) < 0)) __PYX_ERR(32, 1, __pyx_L1_error) } } #endif /*--- Builtin init code ---*/ if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(32, 1, __pyx_L1_error) /*--- Constants init code ---*/ if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(32, 1, __pyx_L1_error) /*--- Global type/function init code ---*/ (void)__Pyx_modinit_global_init_code(); (void)__Pyx_modinit_variable_export_code(); if (unlikely(__Pyx_modinit_function_export_code() < 0)) __PYX_ERR(32, 1, __pyx_L1_error) if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(32, 1, __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(32, 1, __pyx_L1_error) #endif /* "mpi4py/MPI/MPI.pyx":1 * __doc__ = """ # <<<<<<<<<<<<<< * Message Passing Interface * """ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_doc, __pyx_kp_s_Message_Passing_Interface) < 0) __PYX_ERR(8, 1, __pyx_L1_error) /* "mpi4py/MPI/atimport.pxi":37 * * cdef Options options * options.initialize = 1 # <<<<<<<<<<<<<< * options.threads = 1 * options.thread_level = MPI_THREAD_MULTIPLE */ __pyx_v_6mpi4py_3MPI_options.initialize = 1; /* "mpi4py/MPI/atimport.pxi":38 * cdef Options options * options.initialize = 1 * options.threads = 1 # <<<<<<<<<<<<<< * options.thread_level = MPI_THREAD_MULTIPLE * options.finalize = 1 */ __pyx_v_6mpi4py_3MPI_options.threads = 1; /* "mpi4py/MPI/atimport.pxi":39 * options.initialize = 1 * options.threads = 1 * options.thread_level = MPI_THREAD_MULTIPLE # <<<<<<<<<<<<<< * options.finalize = 1 * options.fast_reduce = 1 */ __pyx_v_6mpi4py_3MPI_options.thread_level = MPI_THREAD_MULTIPLE; /* "mpi4py/MPI/atimport.pxi":40 * options.threads = 1 * options.thread_level = MPI_THREAD_MULTIPLE * options.finalize = 1 # <<<<<<<<<<<<<< * options.fast_reduce = 1 * options.recv_mprobe = 1 */ __pyx_v_6mpi4py_3MPI_options.finalize = 1; /* "mpi4py/MPI/atimport.pxi":41 * options.thread_level = MPI_THREAD_MULTIPLE * options.finalize = 1 * options.fast_reduce = 1 # <<<<<<<<<<<<<< * options.recv_mprobe = 1 * options.errors = 1 */ __pyx_v_6mpi4py_3MPI_options.fast_reduce = 1; /* "mpi4py/MPI/atimport.pxi":42 * options.finalize = 1 * options.fast_reduce = 1 * options.recv_mprobe = 1 # <<<<<<<<<<<<<< * options.errors = 1 * */ __pyx_v_6mpi4py_3MPI_options.recv_mprobe = 1; /* "mpi4py/MPI/atimport.pxi":43 * options.fast_reduce = 1 * options.recv_mprobe = 1 * options.errors = 1 # <<<<<<<<<<<<<< * * cdef int warnOpt(object name, object value) except -1: */ __pyx_v_6mpi4py_3MPI_options.errors = 1; /* "mpi4py/MPI/atimport.pxi":203 * PyMPI_Commctx_finalize() * * cdef int abort_status = 0 # <<<<<<<<<<<<<< * * cdef void atexit() nogil: */ __pyx_v_6mpi4py_3MPI_abort_status = 0; /* "mpi4py/MPI/atimport.pxi":213 * MPI_Finalize() * * def _set_abort_status(object status): # <<<<<<<<<<<<<< * "Helper for ``python -m mpi4py.run ...``" * global abort_status */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_1_set_abort_status, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_set_abort_status, __pyx_t_1) < 0) __PYX_ERR(9, 213, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/atimport.pxi":233 * void *PyExc_NotImplementedError * * cdef object MPIException = PyExc_RuntimeError # <<<<<<<<<<<<<< * * cdef int PyMPI_Raise(int ierr) except -1 with gil: */ __pyx_t_1 = ((PyObject *)PyExc_RuntimeError); __Pyx_INCREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_MPIException); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_MPIException, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/atimport.pxi":264 * int _Py_IsInitialized"Py_IsInitialized"() nogil * * cdef object _pypy_sentinel = None # <<<<<<<<<<<<<< * * cdef inline int Py_IsInitialized() nogil: */ __Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI__pypy_sentinel); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI__pypy_sentinel, Py_None); __Pyx_GIVEREF(Py_None); /* "mpi4py/MPI/MPI.pyx":10 * include "atimport.pxi" * * bootstrap() # <<<<<<<<<<<<<< * initialize() * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_bootstrap(); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(8, 10, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":11 * * bootstrap() * initialize() # <<<<<<<<<<<<<< * * include "asstring.pxi" */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_initialize(); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(8, 11, __pyx_L1_error) /* "mpi4py/MPI/asbuffer.pxi":53 * * cdef char BYTE_FMT[2] * BYTE_FMT[0] = c'B' # <<<<<<<<<<<<<< * BYTE_FMT[1] = 0 * */ (__pyx_v_6mpi4py_3MPI_BYTE_FMT[0]) = 'B'; /* "mpi4py/MPI/asbuffer.pxi":54 * cdef char BYTE_FMT[2] * BYTE_FMT[0] = c'B' * BYTE_FMT[1] = 0 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ (__pyx_v_6mpi4py_3MPI_BYTE_FMT[1]) = 0; /* "mpi4py/MPI/asbuffer.pxi":64 * cdef type array_array * cdef type numpy_array * cdef int pypy_have_numpy = 0 # <<<<<<<<<<<<<< * if PYPY: * from array import array as array_array */ __pyx_v_6mpi4py_3MPI_pypy_have_numpy = 0; /* "mpi4py/MPI/asbuffer.pxi":65 * cdef type numpy_array * cdef int pypy_have_numpy = 0 * if PYPY: # <<<<<<<<<<<<<< * from array import array as array_array * try: */ if (PyMPI_RUNTIME_PYPY) { /* "mpi4py/MPI/asbuffer.pxi":66 * cdef int pypy_have_numpy = 0 * if PYPY: * from array import array as array_array # <<<<<<<<<<<<<< * try: * from _numpypy.multiarray import ndarray as numpy_array */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s_array); __Pyx_GIVEREF(__pyx_n_s_array); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_array); __pyx_t_3 = __Pyx_Import(__pyx_n_s_array, __pyx_t_1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(PyType_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_INCREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI_array_array)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_array_array, ((PyTypeObject*)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/asbuffer.pxi":67 * if PYPY: * from array import array as array_array * try: # <<<<<<<<<<<<<< * from _numpypy.multiarray import ndarray as numpy_array * pypy_have_numpy = 1 */ { __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:*/ { /* "mpi4py/MPI/asbuffer.pxi":68 * from array import array as array_array * try: * from _numpypy.multiarray import ndarray as numpy_array # <<<<<<<<<<<<<< * pypy_have_numpy = 1 * except ImportError: */ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_s_ndarray); __Pyx_GIVEREF(__pyx_n_s_ndarray); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_ndarray); __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpypy_multiarray, __pyx_t_3, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyType_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 68, __pyx_L3_error) __Pyx_INCREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI_numpy_array)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_numpy_array, ((PyTypeObject*)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/asbuffer.pxi":69 * try: * from _numpypy.multiarray import ndarray as numpy_array * pypy_have_numpy = 1 # <<<<<<<<<<<<<< * except ImportError: * try: */ __pyx_v_6mpi4py_3MPI_pypy_have_numpy = 1; /* "mpi4py/MPI/asbuffer.pxi":67 * if PYPY: * from array import array as array_array * try: # <<<<<<<<<<<<<< * from _numpypy.multiarray import ndarray as numpy_array * pypy_have_numpy = 1 */ } __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_L8_try_end; __pyx_L3_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/asbuffer.pxi":70 * from _numpypy.multiarray import ndarray as numpy_array * pypy_have_numpy = 1 * except ImportError: # <<<<<<<<<<<<<< * try: * from numpypy import ndarray as numpy_array */ __pyx_t_2 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); if (__pyx_t_2) { __Pyx_AddTraceback("mpi4py.MPI", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_7) < 0) __PYX_ERR(0, 70, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_7); /* "mpi4py/MPI/asbuffer.pxi":71 * pypy_have_numpy = 1 * except ImportError: * try: # <<<<<<<<<<<<<< * from numpypy import ndarray as numpy_array * pypy_have_numpy = 1 */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); __Pyx_XGOTREF(__pyx_t_8); __Pyx_XGOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_t_10); /*try:*/ { /* "mpi4py/MPI/asbuffer.pxi":72 * except ImportError: * try: * from numpypy import ndarray as numpy_array # <<<<<<<<<<<<<< * pypy_have_numpy = 1 * except ImportError: */ __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 72, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_n_s_ndarray); __Pyx_GIVEREF(__pyx_n_s_ndarray); PyList_SET_ITEM(__pyx_t_11, 0, __pyx_n_s_ndarray); __pyx_t_12 = __Pyx_Import(__pyx_n_s_numpypy, __pyx_t_11, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 72, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_ImportFrom(__pyx_t_12, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 72, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_11); if (!(likely(PyType_CheckExact(__pyx_t_11))||((__pyx_t_11) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_11)->tp_name), 0))) __PYX_ERR(0, 72, __pyx_L11_error) __Pyx_INCREF(__pyx_t_11); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI_numpy_array)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_numpy_array, ((PyTypeObject*)__pyx_t_11)); __Pyx_GIVEREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; /* "mpi4py/MPI/asbuffer.pxi":73 * try: * from numpypy import ndarray as numpy_array * pypy_have_numpy = 1 # <<<<<<<<<<<<<< * except ImportError: * try: */ __pyx_v_6mpi4py_3MPI_pypy_have_numpy = 1; /* "mpi4py/MPI/asbuffer.pxi":71 * pypy_have_numpy = 1 * except ImportError: * try: # <<<<<<<<<<<<<< * from numpypy import ndarray as numpy_array * pypy_have_numpy = 1 */ } __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L18_try_end; __pyx_L11_error:; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; /* "mpi4py/MPI/asbuffer.pxi":74 * from numpypy import ndarray as numpy_array * pypy_have_numpy = 1 * except ImportError: # <<<<<<<<<<<<<< * try: * from numpy import ndarray as numpy_array */ __pyx_t_2 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); if (__pyx_t_2) { __Pyx_AddTraceback("mpi4py.MPI", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_12, &__pyx_t_11, &__pyx_t_13) < 0) __PYX_ERR(0, 74, __pyx_L13_except_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GOTREF(__pyx_t_11); __Pyx_GOTREF(__pyx_t_13); /* "mpi4py/MPI/asbuffer.pxi":75 * pypy_have_numpy = 1 * except ImportError: * try: # <<<<<<<<<<<<<< * from numpy import ndarray as numpy_array * pypy_have_numpy = 1 */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); __Pyx_XGOTREF(__pyx_t_14); __Pyx_XGOTREF(__pyx_t_15); __Pyx_XGOTREF(__pyx_t_16); /*try:*/ { /* "mpi4py/MPI/asbuffer.pxi":76 * except ImportError: * try: * from numpy import ndarray as numpy_array # <<<<<<<<<<<<<< * pypy_have_numpy = 1 * except ImportError: */ __pyx_t_17 = PyList_New(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 76, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_INCREF(__pyx_n_s_ndarray); __Pyx_GIVEREF(__pyx_n_s_ndarray); PyList_SET_ITEM(__pyx_t_17, 0, __pyx_n_s_ndarray); __pyx_t_18 = __Pyx_Import(__pyx_n_s_numpy, __pyx_t_17, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 76, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_ImportFrom(__pyx_t_18, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 76, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_17); if (!(likely(PyType_CheckExact(__pyx_t_17))||((__pyx_t_17) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_17)->tp_name), 0))) __PYX_ERR(0, 76, __pyx_L21_error) __Pyx_INCREF(__pyx_t_17); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI_numpy_array)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_numpy_array, ((PyTypeObject*)__pyx_t_17)); __Pyx_GIVEREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; /* "mpi4py/MPI/asbuffer.pxi":77 * try: * from numpy import ndarray as numpy_array * pypy_have_numpy = 1 # <<<<<<<<<<<<<< * except ImportError: * pass */ __pyx_v_6mpi4py_3MPI_pypy_have_numpy = 1; /* "mpi4py/MPI/asbuffer.pxi":75 * pypy_have_numpy = 1 * except ImportError: * try: # <<<<<<<<<<<<<< * from numpy import ndarray as numpy_array * pypy_have_numpy = 1 */ } __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; goto __pyx_L28_try_end; __pyx_L21_error:; __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; /* "mpi4py/MPI/asbuffer.pxi":78 * from numpy import ndarray as numpy_array * pypy_have_numpy = 1 * except ImportError: # <<<<<<<<<<<<<< * pass * */ __pyx_t_2 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); if (__pyx_t_2) { __Pyx_ErrRestore(0,0,0); goto __pyx_L22_exception_handled; } goto __pyx_L23_except_error; __pyx_L23_except_error:; /* "mpi4py/MPI/asbuffer.pxi":75 * pypy_have_numpy = 1 * except ImportError: * try: # <<<<<<<<<<<<<< * from numpy import ndarray as numpy_array * pypy_have_numpy = 1 */ __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); goto __pyx_L13_except_error; __pyx_L22_exception_handled:; __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_L28_try_end:; } __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; goto __pyx_L12_exception_handled; } goto __pyx_L13_except_error; __pyx_L13_except_error:; /* "mpi4py/MPI/asbuffer.pxi":71 * pypy_have_numpy = 1 * except ImportError: * try: # <<<<<<<<<<<<<< * from numpypy import ndarray as numpy_array * pypy_have_numpy = 1 */ __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); goto __pyx_L5_except_error; __pyx_L12_exception_handled:; __Pyx_XGIVEREF(__pyx_t_8); __Pyx_XGIVEREF(__pyx_t_9); __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); __pyx_L18_try_end:; } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "mpi4py/MPI/asbuffer.pxi":67 * if PYPY: * from array import array as array_array * try: # <<<<<<<<<<<<<< * from _numpypy.multiarray import ndarray as numpy_array * pypy_have_numpy = 1 */ __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_L1_error; __pyx_L4_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_L8_try_end:; } /* "mpi4py/MPI/asbuffer.pxi":65 * cdef type numpy_array * cdef int pypy_have_numpy = 0 * if PYPY: # <<<<<<<<<<<<<< * from array import array as array_array * try: */ } /* "mpi4py/MPI/asbuffer.pxi":159 * * @staticmethod * def frombuffer(obj, bint readonly=False): # <<<<<<<<<<<<<< * """Memory from buffer-like object""" * cdef int flags = PyBUF_SIMPLE */ __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_6memory_5frombuffer, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_memory->tp_dict, __pyx_n_s_frombuffer, __pyx_t_7) < 0) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_memory); /* "mpi4py/MPI/asbuffer.pxi":158 * PyBuffer_Release(&self.view) * * @staticmethod # <<<<<<<<<<<<<< * def frombuffer(obj, bint readonly=False): * """Memory from buffer-like object""" */ __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_6mpi4py_3MPI_memory, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_memory->tp_dict, __pyx_n_s_frombuffer, __pyx_t_3) < 0) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_memory); /* "mpi4py/MPI/asbuffer.pxi":169 * * @staticmethod * def fromaddress(address, nbytes, bint readonly=False): # <<<<<<<<<<<<<< * """Memory from address and size in bytes""" * cdef void *buf = PyLong_AsVoidPtr(address) */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_6memory_7fromaddress, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_memory->tp_dict, __pyx_n_s_fromaddress, __pyx_t_3) < 0) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_memory); /* "mpi4py/MPI/asbuffer.pxi":168 * return mem * * @staticmethod # <<<<<<<<<<<<<< * def fromaddress(address, nbytes, bint readonly=False): * """Memory from address and size in bytes""" */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_memory, __pyx_n_s_fromaddress); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_memory->tp_dict, __pyx_n_s_fromaddress, __pyx_t_7) < 0) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_memory); /* "mpi4py/MPI/reqimpl.pxi":4 * * cdef MPI_Status empty_status * empty_status.MPI_SOURCE = MPI_ANY_SOURCE # <<<<<<<<<<<<<< * empty_status.MPI_TAG = MPI_ANY_TAG * empty_status.MPI_ERROR = MPI_SUCCESS */ __pyx_v_6mpi4py_3MPI_empty_status.MPI_SOURCE = MPI_ANY_SOURCE; /* "mpi4py/MPI/reqimpl.pxi":5 * cdef MPI_Status empty_status * empty_status.MPI_SOURCE = MPI_ANY_SOURCE * empty_status.MPI_TAG = MPI_ANY_TAG # <<<<<<<<<<<<<< * empty_status.MPI_ERROR = MPI_SUCCESS * */ __pyx_v_6mpi4py_3MPI_empty_status.MPI_TAG = MPI_ANY_TAG; /* "mpi4py/MPI/reqimpl.pxi":6 * empty_status.MPI_SOURCE = MPI_ANY_SOURCE * empty_status.MPI_TAG = MPI_ANY_TAG * empty_status.MPI_ERROR = MPI_SUCCESS # <<<<<<<<<<<<<< * * cdef object acquire_rs(object requests, */ __pyx_v_6mpi4py_3MPI_empty_status.MPI_ERROR = MPI_SUCCESS; /* "mpi4py/MPI/opimpl.pxi":87 * # ----------------------------------------------------------------------------- * * cdef list op_user_registry = [None]*(1+32) # <<<<<<<<<<<<<< * * cdef inline object op_user_py(int index, object x, object y, object dt): */ __pyx_t_7 = PyList_New(1 * 33); if (unlikely(!__pyx_t_7)) __PYX_ERR(14, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < 33; __pyx_temp++) { __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyList_SET_ITEM(__pyx_t_7, __pyx_temp, Py_None); } } __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_op_user_registry); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_op_user_registry, ((PyObject*)__pyx_t_7)); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/commimpl.pxi":3 * # ----------------------------------------------------------------------------- * * cdef memory _buffer = None # <<<<<<<<<<<<<< * * cdef inline int attach_buffer(ob, void **p, int *n) except -1: */ __Pyx_INCREF(Py_None); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI__buffer)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI__buffer, ((struct __pyx_obj_6mpi4py_3MPI_memory *)Py_None)); __Pyx_GIVEREF(Py_None); /* "mpi4py/MPI/commimpl.pxi":30 * # ----------------------------------------------------------------------------- * * cdef object __UNWEIGHTED__ = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * * cdef object __WEIGHTS_EMPTY__ = MPI_WEIGHTS_EMPTY */ __pyx_t_7 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)MPI_UNWEIGHTED)); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 30, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI___UNWEIGHTED__); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___UNWEIGHTED__, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/commimpl.pxi":32 * cdef object __UNWEIGHTED__ = MPI_UNWEIGHTED * * cdef object __WEIGHTS_EMPTY__ = MPI_WEIGHTS_EMPTY # <<<<<<<<<<<<<< * * cdef object asarray_weights(object weights, int nweight, int **iweight): */ __pyx_t_7 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)MPI_WEIGHTS_EMPTY)); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI___WEIGHTS_EMPTY__); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___WEIGHTS_EMPTY__, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/commimpl.pxi":77 * # ----------------------------------------------------------------------------- * * cdef object allocate_lock = None # <<<<<<<<<<<<<< * if PY3: * try: */ __Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_allocate_lock); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_allocate_lock, Py_None); __Pyx_GIVEREF(Py_None); /* "mpi4py/MPI/commimpl.pxi":78 * * cdef object allocate_lock = None * if PY3: # <<<<<<<<<<<<<< * try: * from _thread import allocate_lock */ if ((PY_MAJOR_VERSION>=3)) { /* "mpi4py/MPI/commimpl.pxi":79 * cdef object allocate_lock = None * if PY3: * try: # <<<<<<<<<<<<<< * from _thread import allocate_lock * except ImportError: */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_5); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { /* "mpi4py/MPI/commimpl.pxi":80 * if PY3: * try: * from _thread import allocate_lock # <<<<<<<<<<<<<< * except ImportError: * from _dummy_thread import allocate_lock */ __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 80, __pyx_L30_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_n_s_allocate_lock); __Pyx_GIVEREF(__pyx_n_s_allocate_lock); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_s_allocate_lock); __pyx_t_3 = __Pyx_Import(__pyx_n_s_thread, __pyx_t_7, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 80, __pyx_L30_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_allocate_lock); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 80, __pyx_L30_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_allocate_lock); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_allocate_lock, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/commimpl.pxi":79 * cdef object allocate_lock = None * if PY3: * try: # <<<<<<<<<<<<<< * from _thread import allocate_lock * except ImportError: */ } __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L35_try_end; __pyx_L30_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/commimpl.pxi":81 * try: * from _thread import allocate_lock * except ImportError: # <<<<<<<<<<<<<< * from _dummy_thread import allocate_lock * else: */ __pyx_t_2 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); if (__pyx_t_2) { __Pyx_AddTraceback("mpi4py.MPI", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_7, &__pyx_t_1) < 0) __PYX_ERR(3, 81, __pyx_L32_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/commimpl.pxi":82 * from _thread import allocate_lock * except ImportError: * from _dummy_thread import allocate_lock # <<<<<<<<<<<<<< * else: * try: */ __pyx_t_13 = PyList_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 82, __pyx_L32_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_n_s_allocate_lock); __Pyx_GIVEREF(__pyx_n_s_allocate_lock); PyList_SET_ITEM(__pyx_t_13, 0, __pyx_n_s_allocate_lock); __pyx_t_11 = __Pyx_Import(__pyx_n_s_dummy_thread, __pyx_t_13, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 82, __pyx_L32_except_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_ImportFrom(__pyx_t_11, __pyx_n_s_allocate_lock); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 82, __pyx_L32_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_t_13); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_allocate_lock); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_allocate_lock, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L31_exception_handled; } goto __pyx_L32_except_error; __pyx_L32_except_error:; /* "mpi4py/MPI/commimpl.pxi":79 * cdef object allocate_lock = None * if PY3: * try: # <<<<<<<<<<<<<< * from _thread import allocate_lock * except ImportError: */ __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_5, __pyx_t_4); goto __pyx_L1_error; __pyx_L31_exception_handled:; __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_5, __pyx_t_4); __pyx_L35_try_end:; } /* "mpi4py/MPI/commimpl.pxi":78 * * cdef object allocate_lock = None * if PY3: # <<<<<<<<<<<<<< * try: * from _thread import allocate_lock */ goto __pyx_L29; } /* "mpi4py/MPI/commimpl.pxi":84 * from _dummy_thread import allocate_lock * else: * try: # <<<<<<<<<<<<<< * from thread import allocate_lock * except ImportError: */ /*else*/ { { __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:*/ { /* "mpi4py/MPI/commimpl.pxi":85 * else: * try: * from thread import allocate_lock # <<<<<<<<<<<<<< * except ImportError: * from dummy_thread import allocate_lock */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 85, __pyx_L38_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s_allocate_lock); __Pyx_GIVEREF(__pyx_n_s_allocate_lock); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_allocate_lock); __pyx_t_7 = __Pyx_Import(__pyx_n_s_thread_2, __pyx_t_1, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 85, __pyx_L38_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_allocate_lock); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 85, __pyx_L38_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_allocate_lock); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_allocate_lock, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/commimpl.pxi":84 * from _dummy_thread import allocate_lock * else: * try: # <<<<<<<<<<<<<< * from thread import allocate_lock * except ImportError: */ } __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_L43_try_end; __pyx_L38_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/commimpl.pxi":86 * try: * from thread import allocate_lock * except ImportError: # <<<<<<<<<<<<<< * from dummy_thread import allocate_lock * */ __pyx_t_2 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); if (__pyx_t_2) { __Pyx_AddTraceback("mpi4py.MPI", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(3, 86, __pyx_L40_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/commimpl.pxi":87 * from thread import allocate_lock * except ImportError: * from dummy_thread import allocate_lock # <<<<<<<<<<<<<< * * cdef int lock_keyval = MPI_KEYVAL_INVALID */ __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 87, __pyx_L40_except_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_n_s_allocate_lock); __Pyx_GIVEREF(__pyx_n_s_allocate_lock); PyList_SET_ITEM(__pyx_t_11, 0, __pyx_n_s_allocate_lock); __pyx_t_13 = __Pyx_Import(__pyx_n_s_dummy_thread_2, __pyx_t_11, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 87, __pyx_L40_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_ImportFrom(__pyx_t_13, __pyx_n_s_allocate_lock); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 87, __pyx_L40_except_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_11); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_allocate_lock); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_allocate_lock, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L39_exception_handled; } goto __pyx_L40_except_error; __pyx_L40_except_error:; /* "mpi4py/MPI/commimpl.pxi":84 * from _dummy_thread import allocate_lock * else: * try: # <<<<<<<<<<<<<< * from thread import allocate_lock * except ImportError: */ __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_L1_error; __pyx_L39_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_L43_try_end:; } } __pyx_L29:; /* "mpi4py/MPI/commimpl.pxi":89 * from dummy_thread import allocate_lock * * cdef int lock_keyval = MPI_KEYVAL_INVALID # <<<<<<<<<<<<<< * cdef dict lock_registry = {} * */ __pyx_v_6mpi4py_3MPI_lock_keyval = MPI_KEYVAL_INVALID; /* "mpi4py/MPI/commimpl.pxi":90 * * cdef int lock_keyval = MPI_KEYVAL_INVALID * cdef dict lock_registry = {} # <<<<<<<<<<<<<< * * cdef inline int lock_free_cb(MPI_Comm comm) \ */ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_lock_registry); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_lock_registry, ((PyObject*)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/commimpl.pxi":136 * return lock * * def _lock_table(Comm comm): # <<<<<<<<<<<<<< * "Internal communicator lock table" * return PyMPI_Lock_table(comm.ob_mpi) */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_3_lock_table, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_lock_table, __pyx_t_3) < 0) __PYX_ERR(3, 136, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/drepimpl.pxi":3 * # ----------------------------------------------------------------------------- * * cdef dict datarep_registry = {} # <<<<<<<<<<<<<< * * @cython.final */ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 3, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_datarep_registry); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_datarep_registry, ((PyObject*)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/attrimpl.pxi":17 * self.nopython = nopython * * cdef dict type_keyval = {} # <<<<<<<<<<<<<< * cdef dict comm_keyval = {} * cdef dict win_keyval = {} */ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_type_keyval); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_type_keyval, ((PyObject*)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/attrimpl.pxi":18 * * cdef dict type_keyval = {} * cdef dict comm_keyval = {} # <<<<<<<<<<<<<< * cdef dict win_keyval = {} * */ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_comm_keyval); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_comm_keyval, ((PyObject*)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/attrimpl.pxi":19 * cdef dict type_keyval = {} * cdef dict comm_keyval = {} * cdef dict win_keyval = {} # <<<<<<<<<<<<<< * * _keyval_registry = { */ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_win_keyval); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_win_keyval, ((PyObject*)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/attrimpl.pxi":22 * * _keyval_registry = { * 'Datatype' : type_keyval, # <<<<<<<<<<<<<< * 'Comm' : comm_keyval, * 'Win' : win_keyval, */ __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_Datatype, __pyx_v_6mpi4py_3MPI_type_keyval) < 0) __PYX_ERR(4, 22, __pyx_L1_error) /* "mpi4py/MPI/attrimpl.pxi":23 * _keyval_registry = { * 'Datatype' : type_keyval, * 'Comm' : comm_keyval, # <<<<<<<<<<<<<< * 'Win' : win_keyval, * } */ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_Comm, __pyx_v_6mpi4py_3MPI_comm_keyval) < 0) __PYX_ERR(4, 22, __pyx_L1_error) /* "mpi4py/MPI/attrimpl.pxi":24 * 'Datatype' : type_keyval, * 'Comm' : comm_keyval, * 'Win' : win_keyval, # <<<<<<<<<<<<<< * } * */ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_Win, __pyx_v_6mpi4py_3MPI_win_keyval) < 0) __PYX_ERR(4, 22, __pyx_L1_error) if (PyDict_SetItem(__pyx_d, __pyx_n_s_keyval_registry, __pyx_t_3) < 0) __PYX_ERR(4, 21, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgbuffer.pxi":56 * #------------------------------------------------------------------------------ * * cdef object __BOTTOM__ = MPI_BOTTOM # <<<<<<<<<<<<<< * * cdef object __IN_PLACE__ = MPI_IN_PLACE */ __pyx_t_3 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)MPI_BOTTOM)); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI___BOTTOM__); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___BOTTOM__, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgbuffer.pxi":58 * cdef object __BOTTOM__ = MPI_BOTTOM * * cdef object __IN_PLACE__ = MPI_IN_PLACE # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_t_3 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)MPI_IN_PLACE)); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI___IN_PLACE__); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___IN_PLACE__, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":12 * # ----------------------------------------------------------------------------- * * cdef object PyPickle_dumps = None # <<<<<<<<<<<<<< * cdef object PyPickle_loads = None * cdef object PyPickle_PROTOCOL = None */ __Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_dumps); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_dumps, Py_None); __Pyx_GIVEREF(Py_None); /* "mpi4py/MPI/msgpickle.pxi":13 * * cdef object PyPickle_dumps = None * cdef object PyPickle_loads = None # <<<<<<<<<<<<<< * cdef object PyPickle_PROTOCOL = None * if PY3: */ __Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_loads); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_loads, Py_None); __Pyx_GIVEREF(Py_None); /* "mpi4py/MPI/msgpickle.pxi":14 * cdef object PyPickle_dumps = None * cdef object PyPickle_loads = None * cdef object PyPickle_PROTOCOL = None # <<<<<<<<<<<<<< * if PY3: * from pickle import dumps as PyPickle_dumps */ __Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL, Py_None); __Pyx_GIVEREF(Py_None); /* "mpi4py/MPI/msgpickle.pxi":15 * cdef object PyPickle_loads = None * cdef object PyPickle_PROTOCOL = None * if PY3: # <<<<<<<<<<<<<< * from pickle import dumps as PyPickle_dumps * from pickle import loads as PyPickle_loads */ if ((PY_MAJOR_VERSION>=3)) { /* "mpi4py/MPI/msgpickle.pxi":16 * cdef object PyPickle_PROTOCOL = None * if PY3: * from pickle import dumps as PyPickle_dumps # <<<<<<<<<<<<<< * from pickle import loads as PyPickle_loads * from pickle import DEFAULT_PROTOCOL as PyPickle_PROTOCOL */ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_s_dumps); __Pyx_GIVEREF(__pyx_n_s_dumps); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_dumps); __pyx_t_1 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_3, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_dumps); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_dumps); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_dumps, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":17 * if PY3: * from pickle import dumps as PyPickle_dumps * from pickle import loads as PyPickle_loads # <<<<<<<<<<<<<< * from pickle import DEFAULT_PROTOCOL as PyPickle_PROTOCOL * else: */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s_loads); __Pyx_GIVEREF(__pyx_n_s_loads); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_loads); __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_loads); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_loads); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_loads, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":18 * from pickle import dumps as PyPickle_dumps * from pickle import loads as PyPickle_loads * from pickle import DEFAULT_PROTOCOL as PyPickle_PROTOCOL # <<<<<<<<<<<<<< * else: * try: */ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_s_DEFAULT_PROTOCOL); __Pyx_GIVEREF(__pyx_n_s_DEFAULT_PROTOCOL); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_DEFAULT_PROTOCOL); __pyx_t_1 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_3, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_DEFAULT_PROTOCOL); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":15 * cdef object PyPickle_loads = None * cdef object PyPickle_PROTOCOL = None * if PY3: # <<<<<<<<<<<<<< * from pickle import dumps as PyPickle_dumps * from pickle import loads as PyPickle_loads */ goto __pyx_L46; } /* "mpi4py/MPI/msgpickle.pxi":20 * from pickle import DEFAULT_PROTOCOL as PyPickle_PROTOCOL * else: * try: # <<<<<<<<<<<<<< * from cPickle import dumps as PyPickle_dumps * from cPickle import loads as PyPickle_loads */ /*else*/ { { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_5); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":21 * else: * try: * from cPickle import dumps as PyPickle_dumps # <<<<<<<<<<<<<< * from cPickle import loads as PyPickle_loads * from cPickle import HIGHEST_PROTOCOL as PyPickle_PROTOCOL */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 21, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s_dumps); __Pyx_GIVEREF(__pyx_n_s_dumps); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_dumps); __pyx_t_3 = __Pyx_Import(__pyx_n_s_cPickle, __pyx_t_1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 21, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_dumps); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 21, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_dumps); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_dumps, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":22 * try: * from cPickle import dumps as PyPickle_dumps * from cPickle import loads as PyPickle_loads # <<<<<<<<<<<<<< * from cPickle import HIGHEST_PROTOCOL as PyPickle_PROTOCOL * except ImportError: */ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 22, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_s_loads); __Pyx_GIVEREF(__pyx_n_s_loads); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_loads); __pyx_t_1 = __Pyx_Import(__pyx_n_s_cPickle, __pyx_t_3, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 22, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_loads); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 22, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_loads); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_loads, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":23 * from cPickle import dumps as PyPickle_dumps * from cPickle import loads as PyPickle_loads * from cPickle import HIGHEST_PROTOCOL as PyPickle_PROTOCOL # <<<<<<<<<<<<<< * except ImportError: * from pickle import dumps as PyPickle_dumps */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 23, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s_HIGHEST_PROTOCOL); __Pyx_GIVEREF(__pyx_n_s_HIGHEST_PROTOCOL); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_HIGHEST_PROTOCOL); __pyx_t_3 = __Pyx_Import(__pyx_n_s_cPickle, __pyx_t_1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 23, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_HIGHEST_PROTOCOL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 23, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/msgpickle.pxi":20 * from pickle import DEFAULT_PROTOCOL as PyPickle_PROTOCOL * else: * try: # <<<<<<<<<<<<<< * from cPickle import dumps as PyPickle_dumps * from cPickle import loads as PyPickle_loads */ } __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L52_try_end; __pyx_L47_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/msgpickle.pxi":24 * from cPickle import loads as PyPickle_loads * from cPickle import HIGHEST_PROTOCOL as PyPickle_PROTOCOL * except ImportError: # <<<<<<<<<<<<<< * from pickle import dumps as PyPickle_dumps * from pickle import loads as PyPickle_loads */ __pyx_t_2 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); if (__pyx_t_2) { __Pyx_AddTraceback("mpi4py.MPI", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_7) < 0) __PYX_ERR(6, 24, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_7); /* "mpi4py/MPI/msgpickle.pxi":25 * from cPickle import HIGHEST_PROTOCOL as PyPickle_PROTOCOL * except ImportError: * from pickle import dumps as PyPickle_dumps # <<<<<<<<<<<<<< * from pickle import loads as PyPickle_loads * from pickle import HIGHEST_PROTOCOL as PyPickle_PROTOCOL */ __pyx_t_13 = PyList_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 25, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_n_s_dumps); __Pyx_GIVEREF(__pyx_n_s_dumps); PyList_SET_ITEM(__pyx_t_13, 0, __pyx_n_s_dumps); __pyx_t_11 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_13, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 25, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_ImportFrom(__pyx_t_11, __pyx_n_s_dumps); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 25, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_t_13); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_dumps); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_dumps, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; /* "mpi4py/MPI/msgpickle.pxi":26 * except ImportError: * from pickle import dumps as PyPickle_dumps * from pickle import loads as PyPickle_loads # <<<<<<<<<<<<<< * from pickle import HIGHEST_PROTOCOL as PyPickle_PROTOCOL * */ __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 26, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_n_s_loads); __Pyx_GIVEREF(__pyx_n_s_loads); PyList_SET_ITEM(__pyx_t_11, 0, __pyx_n_s_loads); __pyx_t_13 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_11, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 26, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_ImportFrom(__pyx_t_13, __pyx_n_s_loads); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 26, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_11); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_loads); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_loads, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "mpi4py/MPI/msgpickle.pxi":27 * from pickle import dumps as PyPickle_dumps * from pickle import loads as PyPickle_loads * from pickle import HIGHEST_PROTOCOL as PyPickle_PROTOCOL # <<<<<<<<<<<<<< * * cdef object PyBytesIO_New = None */ __pyx_t_13 = PyList_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 27, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_n_s_HIGHEST_PROTOCOL); __Pyx_GIVEREF(__pyx_n_s_HIGHEST_PROTOCOL); PyList_SET_ITEM(__pyx_t_13, 0, __pyx_n_s_HIGHEST_PROTOCOL); __pyx_t_11 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_13, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 27, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_ImportFrom(__pyx_t_11, __pyx_n_s_HIGHEST_PROTOCOL); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 27, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_t_13); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L48_exception_handled; } goto __pyx_L49_except_error; __pyx_L49_except_error:; /* "mpi4py/MPI/msgpickle.pxi":20 * from pickle import DEFAULT_PROTOCOL as PyPickle_PROTOCOL * else: * try: # <<<<<<<<<<<<<< * from cPickle import dumps as PyPickle_dumps * from cPickle import loads as PyPickle_loads */ __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_5, __pyx_t_4); goto __pyx_L1_error; __pyx_L48_exception_handled:; __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_5, __pyx_t_4); __pyx_L52_try_end:; } } __pyx_L46:; /* "mpi4py/MPI/msgpickle.pxi":29 * from pickle import HIGHEST_PROTOCOL as PyPickle_PROTOCOL * * cdef object PyBytesIO_New = None # <<<<<<<<<<<<<< * cdef object PyPickle_loadf = None * if PY2: */ __Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyBytesIO_New); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyBytesIO_New, Py_None); __Pyx_GIVEREF(Py_None); /* "mpi4py/MPI/msgpickle.pxi":30 * * cdef object PyBytesIO_New = None * cdef object PyPickle_loadf = None # <<<<<<<<<<<<<< * if PY2: * try: */ __Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_loadf); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_loadf, Py_None); __Pyx_GIVEREF(Py_None); /* "mpi4py/MPI/msgpickle.pxi":31 * cdef object PyBytesIO_New = None * cdef object PyPickle_loadf = None * if PY2: # <<<<<<<<<<<<<< * try: * from cStringIO import StringIO as PyBytesIO_New */ if ((PY_MAJOR_VERSION==2)) { /* "mpi4py/MPI/msgpickle.pxi":32 * cdef object PyPickle_loadf = None * if PY2: * try: # <<<<<<<<<<<<<< * from cStringIO import StringIO as PyBytesIO_New * except ImportError: */ { __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:*/ { /* "mpi4py/MPI/msgpickle.pxi":33 * if PY2: * try: * from cStringIO import StringIO as PyBytesIO_New # <<<<<<<<<<<<<< * except ImportError: * from io import BytesIO as PyBytesIO_New */ __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 33, __pyx_L56_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_n_s_StringIO); __Pyx_GIVEREF(__pyx_n_s_StringIO); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_s_StringIO); __pyx_t_1 = __Pyx_Import(__pyx_n_s_cStringIO, __pyx_t_7, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 33, __pyx_L56_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_StringIO); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 33, __pyx_L56_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyBytesIO_New); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyBytesIO_New, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":32 * cdef object PyPickle_loadf = None * if PY2: * try: # <<<<<<<<<<<<<< * from cStringIO import StringIO as PyBytesIO_New * except ImportError: */ } __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_L61_try_end; __pyx_L56_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/msgpickle.pxi":34 * try: * from cStringIO import StringIO as PyBytesIO_New * except ImportError: # <<<<<<<<<<<<<< * from io import BytesIO as PyBytesIO_New * try: */ __pyx_t_2 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); if (__pyx_t_2) { __Pyx_AddTraceback("mpi4py.MPI", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_7, &__pyx_t_3) < 0) __PYX_ERR(6, 34, __pyx_L58_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/msgpickle.pxi":35 * from cStringIO import StringIO as PyBytesIO_New * except ImportError: * from io import BytesIO as PyBytesIO_New # <<<<<<<<<<<<<< * try: * from cPickle import load as PyPickle_loadf */ __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 35, __pyx_L58_except_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_n_s_BytesIO); __Pyx_GIVEREF(__pyx_n_s_BytesIO); PyList_SET_ITEM(__pyx_t_11, 0, __pyx_n_s_BytesIO); __pyx_t_13 = __Pyx_Import(__pyx_n_s_io, __pyx_t_11, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 35, __pyx_L58_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_ImportFrom(__pyx_t_13, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 35, __pyx_L58_except_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_11); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyBytesIO_New); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyBytesIO_New, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L57_exception_handled; } goto __pyx_L58_except_error; __pyx_L58_except_error:; /* "mpi4py/MPI/msgpickle.pxi":32 * cdef object PyPickle_loadf = None * if PY2: * try: # <<<<<<<<<<<<<< * from cStringIO import StringIO as PyBytesIO_New * except ImportError: */ __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_L1_error; __pyx_L57_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_L61_try_end:; } /* "mpi4py/MPI/msgpickle.pxi":36 * except ImportError: * from io import BytesIO as PyBytesIO_New * try: # <<<<<<<<<<<<<< * from cPickle import load as PyPickle_loadf * except ImportError: */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4); __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_5); __Pyx_XGOTREF(__pyx_t_4); /*try:*/ { /* "mpi4py/MPI/msgpickle.pxi":37 * from io import BytesIO as PyBytesIO_New * try: * from cPickle import load as PyPickle_loadf # <<<<<<<<<<<<<< * except ImportError: * from pickle import load as PyPickle_loadf */ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 37, __pyx_L64_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_s_load); __Pyx_GIVEREF(__pyx_n_s_load); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_load); __pyx_t_7 = __Pyx_Import(__pyx_n_s_cPickle, __pyx_t_3, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(6, 37, __pyx_L64_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_load); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 37, __pyx_L64_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_loadf); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_loadf, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/msgpickle.pxi":36 * except ImportError: * from io import BytesIO as PyBytesIO_New * try: # <<<<<<<<<<<<<< * from cPickle import load as PyPickle_loadf * except ImportError: */ } __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L69_try_end; __pyx_L64_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/msgpickle.pxi":38 * try: * from cPickle import load as PyPickle_loadf * except ImportError: # <<<<<<<<<<<<<< * from pickle import load as PyPickle_loadf * */ __pyx_t_2 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); if (__pyx_t_2) { __Pyx_AddTraceback("mpi4py.MPI", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(6, 38, __pyx_L66_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/msgpickle.pxi":39 * from cPickle import load as PyPickle_loadf * except ImportError: * from pickle import load as PyPickle_loadf # <<<<<<<<<<<<<< * * */ __pyx_t_13 = PyList_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 39, __pyx_L66_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_n_s_load); __Pyx_GIVEREF(__pyx_n_s_load); PyList_SET_ITEM(__pyx_t_13, 0, __pyx_n_s_load); __pyx_t_11 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_13, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(6, 39, __pyx_L66_except_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_ImportFrom(__pyx_t_11, __pyx_n_s_load); if (unlikely(!__pyx_t_13)) __PYX_ERR(6, 39, __pyx_L66_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_t_13); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_loadf); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_loadf, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L65_exception_handled; } goto __pyx_L66_except_error; __pyx_L66_except_error:; /* "mpi4py/MPI/msgpickle.pxi":36 * except ImportError: * from io import BytesIO as PyBytesIO_New * try: # <<<<<<<<<<<<<< * from cPickle import load as PyPickle_loadf * except ImportError: */ __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_5, __pyx_t_4); goto __pyx_L1_error; __pyx_L65_exception_handled:; __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_5, __pyx_t_4); __pyx_L69_try_end:; } /* "mpi4py/MPI/msgpickle.pxi":31 * cdef object PyBytesIO_New = None * cdef object PyPickle_loadf = None * if PY2: # <<<<<<<<<<<<<< * try: * from cStringIO import StringIO as PyBytesIO_New */ } /* "mpi4py/MPI/msgpickle.pxi":151 * * * cdef Pickle PyMPI_PICKLE = Pickle() # <<<<<<<<<<<<<< * pickle = PyMPI_PICKLE * */ __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Pickle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE, ((struct __pyx_obj_6mpi4py_3MPI_Pickle *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/msgpickle.pxi":152 * * cdef Pickle PyMPI_PICKLE = Pickle() * pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pickle, ((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)) < 0) __PYX_ERR(6, 152, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":28 * # ------------------ * * UNDEFINED = MPI_UNDEFINED # <<<<<<<<<<<<<< * #: Undefined integer value * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNDEFINED, __pyx_t_1) < 0) __PYX_ERR(8, 28, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":31 * #: Undefined integer value * * ANY_SOURCE = MPI_ANY_SOURCE # <<<<<<<<<<<<<< * #: Wildcard source value for receives * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 31, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANY_SOURCE, __pyx_t_1) < 0) __PYX_ERR(8, 31, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":34 * #: Wildcard source value for receives * * ANY_TAG = MPI_ANY_TAG # <<<<<<<<<<<<<< * #: Wildcard tag value for receives * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ANY_TAG, __pyx_t_1) < 0) __PYX_ERR(8, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":37 * #: Wildcard tag value for receives * * PROC_NULL = MPI_PROC_NULL # <<<<<<<<<<<<<< * #: Special process rank for send/receive * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_PROC_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 37, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_PROC_NULL, __pyx_t_1) < 0) __PYX_ERR(8, 37, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":40 * #: Special process rank for send/receive * * ROOT = MPI_ROOT # <<<<<<<<<<<<<< * #: Root process for collective inter-communications * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ROOT); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 40, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ROOT, __pyx_t_1) < 0) __PYX_ERR(8, 40, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":43 * #: Root process for collective inter-communications * * BOTTOM = __BOTTOM__ # <<<<<<<<<<<<<< * #: Special address for buffers * */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_BOTTOM, __pyx_v_6mpi4py_3MPI___BOTTOM__) < 0) __PYX_ERR(8, 43, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":46 * #: Special address for buffers * * IN_PLACE = __IN_PLACE__ # <<<<<<<<<<<<<< * #: *In-place* option for collective communications * */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_IN_PLACE, __pyx_v_6mpi4py_3MPI___IN_PLACE__) < 0) __PYX_ERR(8, 46, __pyx_L1_error) /* "mpi4py/MPI/MPI.pyx":53 * # ---------------------------- * * KEYVAL_INVALID = MPI_KEYVAL_INVALID # <<<<<<<<<<<<<< * * TAG_UB = MPI_TAG_UB */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_KEYVAL_INVALID); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_KEYVAL_INVALID, __pyx_t_1) < 0) __PYX_ERR(8, 53, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":55 * KEYVAL_INVALID = MPI_KEYVAL_INVALID * * TAG_UB = MPI_TAG_UB # <<<<<<<<<<<<<< * HOST = MPI_HOST * IO = MPI_IO */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_TAG_UB); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_TAG_UB, __pyx_t_1) < 0) __PYX_ERR(8, 55, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":56 * * TAG_UB = MPI_TAG_UB * HOST = MPI_HOST # <<<<<<<<<<<<<< * IO = MPI_IO * WTIME_IS_GLOBAL = MPI_WTIME_IS_GLOBAL */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_HOST); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_HOST, __pyx_t_1) < 0) __PYX_ERR(8, 56, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":57 * TAG_UB = MPI_TAG_UB * HOST = MPI_HOST * IO = MPI_IO # <<<<<<<<<<<<<< * WTIME_IS_GLOBAL = MPI_WTIME_IS_GLOBAL * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_IO); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 57, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_IO, __pyx_t_1) < 0) __PYX_ERR(8, 57, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":58 * HOST = MPI_HOST * IO = MPI_IO * WTIME_IS_GLOBAL = MPI_WTIME_IS_GLOBAL # <<<<<<<<<<<<<< * * UNIVERSE_SIZE = MPI_UNIVERSE_SIZE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WTIME_IS_GLOBAL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WTIME_IS_GLOBAL, __pyx_t_1) < 0) __PYX_ERR(8, 58, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":60 * WTIME_IS_GLOBAL = MPI_WTIME_IS_GLOBAL * * UNIVERSE_SIZE = MPI_UNIVERSE_SIZE # <<<<<<<<<<<<<< * APPNUM = MPI_APPNUM * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_UNIVERSE_SIZE); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNIVERSE_SIZE, __pyx_t_1) < 0) __PYX_ERR(8, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":61 * * UNIVERSE_SIZE = MPI_UNIVERSE_SIZE * APPNUM = MPI_APPNUM # <<<<<<<<<<<<<< * * LASTUSEDCODE = MPI_LASTUSEDCODE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_APPNUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_APPNUM, __pyx_t_1) < 0) __PYX_ERR(8, 61, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":63 * APPNUM = MPI_APPNUM * * LASTUSEDCODE = MPI_LASTUSEDCODE # <<<<<<<<<<<<<< * * WIN_BASE = MPI_WIN_BASE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_LASTUSEDCODE); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_LASTUSEDCODE, __pyx_t_1) < 0) __PYX_ERR(8, 63, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":65 * LASTUSEDCODE = MPI_LASTUSEDCODE * * WIN_BASE = MPI_WIN_BASE # <<<<<<<<<<<<<< * WIN_SIZE = MPI_WIN_SIZE * WIN_DISP_UNIT = MPI_WIN_DISP_UNIT */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WIN_BASE); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_BASE, __pyx_t_1) < 0) __PYX_ERR(8, 65, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":66 * * WIN_BASE = MPI_WIN_BASE * WIN_SIZE = MPI_WIN_SIZE # <<<<<<<<<<<<<< * WIN_DISP_UNIT = MPI_WIN_DISP_UNIT * WIN_CREATE_FLAVOR = MPI_WIN_CREATE_FLAVOR */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WIN_SIZE); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_SIZE, __pyx_t_1) < 0) __PYX_ERR(8, 66, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":67 * WIN_BASE = MPI_WIN_BASE * WIN_SIZE = MPI_WIN_SIZE * WIN_DISP_UNIT = MPI_WIN_DISP_UNIT # <<<<<<<<<<<<<< * WIN_CREATE_FLAVOR = MPI_WIN_CREATE_FLAVOR * WIN_FLAVOR = MPI_WIN_CREATE_FLAVOR */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WIN_DISP_UNIT); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_DISP_UNIT, __pyx_t_1) < 0) __PYX_ERR(8, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":68 * WIN_SIZE = MPI_WIN_SIZE * WIN_DISP_UNIT = MPI_WIN_DISP_UNIT * WIN_CREATE_FLAVOR = MPI_WIN_CREATE_FLAVOR # <<<<<<<<<<<<<< * WIN_FLAVOR = MPI_WIN_CREATE_FLAVOR * WIN_MODEL = MPI_WIN_MODEL */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WIN_CREATE_FLAVOR); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_CREATE_FLAVOR, __pyx_t_1) < 0) __PYX_ERR(8, 68, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":69 * WIN_DISP_UNIT = MPI_WIN_DISP_UNIT * WIN_CREATE_FLAVOR = MPI_WIN_CREATE_FLAVOR * WIN_FLAVOR = MPI_WIN_CREATE_FLAVOR # <<<<<<<<<<<<<< * WIN_MODEL = MPI_WIN_MODEL * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WIN_CREATE_FLAVOR); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_FLAVOR, __pyx_t_1) < 0) __PYX_ERR(8, 69, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":70 * WIN_CREATE_FLAVOR = MPI_WIN_CREATE_FLAVOR * WIN_FLAVOR = MPI_WIN_CREATE_FLAVOR * WIN_MODEL = MPI_WIN_MODEL # <<<<<<<<<<<<<< * * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WIN_MODEL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_MODEL, __pyx_t_1) < 0) __PYX_ERR(8, 70, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/ExceptionP.pyx":1 * class Exception(RuntimeError): # <<<<<<<<<<<<<< * * """ */ __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__138); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_tuple__138, __pyx_n_s_Exception_2, __pyx_n_s_Exception_2, (PyObject *) NULL, __pyx_n_s_mpi4py_MPI, __pyx_kp_s_Exception); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/ExceptionP.pyx":7 * """ * * def __init__(self, int ierr=0): # <<<<<<<<<<<<<< * if ierr < MPI_SUCCESS: ierr = MPI_ERR_UNKNOWN * self.ob_mpi = ierr */ __pyx_t_7 = __Pyx_PyInt_From_int(((int)0)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_1__init__, 0, __pyx_n_s_Exception___init, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__140)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_7, __pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_init, __pyx_t_7) < 0) __PYX_ERR(1, 7, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":12 * RuntimeError.__init__(self, self.ob_mpi) * * def __eq__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr == error) */ __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_3__eq__, 0, __pyx_n_s_Exception___eq, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__142)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_eq, __pyx_t_7) < 0) __PYX_ERR(1, 12, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":16 * return (ierr == error) * * def __ne__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr != error) */ __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_5__ne__, 0, __pyx_n_s_Exception___ne, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__144)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_ne, __pyx_t_7) < 0) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":20 * return (ierr != error) * * def __lt__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr < error) */ __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_7__lt__, 0, __pyx_n_s_Exception___lt, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__146)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_lt, __pyx_t_7) < 0) __PYX_ERR(1, 20, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":24 * return (ierr < error) * * def __le__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr <= error) */ __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_9__le__, 0, __pyx_n_s_Exception___le, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__148)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_le, __pyx_t_7) < 0) __PYX_ERR(1, 24, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":28 * return (ierr <= error) * * def __gt__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr > error) */ __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_11__gt__, 0, __pyx_n_s_Exception___gt, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__150)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_gt, __pyx_t_7) < 0) __PYX_ERR(1, 28, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":32 * return (ierr > error) * * def __ge__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr >= error) */ __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_13__ge__, 0, __pyx_n_s_Exception___ge, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__152)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_ge, __pyx_t_7) < 0) __PYX_ERR(1, 32, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":36 * return (ierr >= error) * * def __hash__(self): # <<<<<<<<<<<<<< * return hash(self.ob_mpi) * */ __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_15__hash__, 0, __pyx_n_s_Exception___hash, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__154)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_hash, __pyx_t_7) < 0) __PYX_ERR(1, 36, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":39 * return hash(self.ob_mpi) * * def __bool__(self): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return ierr != MPI_SUCCESS */ __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_17__bool__, 0, __pyx_n_s_Exception___bool, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__156)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_bool, __pyx_t_7) < 0) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":43 * return ierr != MPI_SUCCESS * * __nonzero__ = __bool__ # <<<<<<<<<<<<<< * * def __int__(self): */ __pyx_t_7 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_bool); if (unlikely(!__pyx_t_7)) { PyErr_Clear(); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_bool); } if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_nonzero, __pyx_t_7) < 0) __PYX_ERR(1, 43, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":45 * __nonzero__ = __bool__ * * def __int__(self): # <<<<<<<<<<<<<< * return self.ob_mpi * */ __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_19__int__, 0, __pyx_n_s_Exception___int, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__158)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_int, __pyx_t_7) < 0) __PYX_ERR(1, 45, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":48 * return self.ob_mpi * * def __repr__(self): # <<<<<<<<<<<<<< * return "MPI.Exception(%d)" % self.ob_mpi * */ __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_21__repr__, 0, __pyx_n_s_Exception___repr, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__160)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_repr, __pyx_t_7) < 0) __PYX_ERR(1, 48, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":51 * return "MPI.Exception(%d)" % self.ob_mpi * * def __str__(self): # <<<<<<<<<<<<<< * if not mpi_active(): * return "error code: %d" % self.ob_mpi */ __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_23__str__, 0, __pyx_n_s_Exception___str, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__162)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_str, __pyx_t_7) < 0) __PYX_ERR(1, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":56 * return self.Get_error_string() * * def Get_error_code(self): # <<<<<<<<<<<<<< * """ * Error code */ __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_25Get_error_code, 0, __pyx_n_s_Exception_Get_error_code, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__164)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_Get_error_code, __pyx_t_7) < 0) __PYX_ERR(1, 56, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":64 * return errorcode * * error_code = property(Get_error_code, doc="error code") # <<<<<<<<<<<<<< * * def Get_error_class(self): */ __pyx_t_7 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_7)) { PyErr_Clear(); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_Get_error_code); } if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_doc_2, __pyx_kp_s_error_code) < 0) __PYX_ERR(1, 64, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_property, __pyx_t_11, __pyx_t_7); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_error_code_2, __pyx_t_13) < 0) __PYX_ERR(1, 64, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "mpi4py/MPI/ExceptionP.pyx":66 * error_code = property(Get_error_code, doc="error code") * * def Get_error_class(self): # <<<<<<<<<<<<<< * """ * Error class */ __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_27Get_error_class, 0, __pyx_n_s_Exception_Get_error_class, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__166)); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_Get_error_class, __pyx_t_13) < 0) __PYX_ERR(1, 66, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "mpi4py/MPI/ExceptionP.pyx":74 * return errorclass * * error_class = property(Get_error_class, doc="error class") # <<<<<<<<<<<<<< * * def Get_error_string(self): */ __pyx_t_13 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_Get_error_class); if (unlikely(!__pyx_t_13)) { PyErr_Clear(); __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_Get_error_class); } if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_doc_2, __pyx_kp_s_error_class) < 0) __PYX_ERR(1, 74, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_property, __pyx_t_7, __pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_error_class_2, __pyx_t_11) < 0) __PYX_ERR(1, 74, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; /* "mpi4py/MPI/ExceptionP.pyx":76 * error_class = property(Get_error_class, doc="error class") * * def Get_error_string(self): # <<<<<<<<<<<<<< * """ * Error string */ __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_6mpi4py_3MPI_9Exception_29Get_error_string, 0, __pyx_n_s_Exception_Get_error_string, NULL, __pyx_n_s_mpi4py_MPI, __pyx_d, ((PyObject *)__pyx_codeobj__168)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_Get_error_string, __pyx_t_11) < 0) __PYX_ERR(1, 76, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; /* "mpi4py/MPI/ExceptionP.pyx":85 * return tompistr(string, resultlen) * * error_string = property(Get_error_string, doc="error string") # <<<<<<<<<<<<<< */ __pyx_t_11 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_Get_error_string); if (unlikely(!__pyx_t_11)) { PyErr_Clear(); __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Get_error_string); } if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_doc_2, __pyx_kp_s_error_string) < 0) __PYX_ERR(1, 85, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_property, __pyx_t_13, __pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_error_string_2, __pyx_t_7) < 0) __PYX_ERR(1, 85, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "mpi4py/MPI/ExceptionP.pyx":1 * class Exception(RuntimeError): # <<<<<<<<<<<<<< * * """ */ __pyx_t_7 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_Exception_2, __pyx_tuple__138, __pyx_t_3, NULL, 0, 1); 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_Exception_2, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":3 * include "ExceptionP.pyx" * #include "ExceptionC.pyx" * MPIException = Exception # <<<<<<<<<<<<<< * * */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Exception_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 3, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_MPIException); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_MPIException, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":7 * * # Actually no errors * SUCCESS = MPI_SUCCESS # <<<<<<<<<<<<<< * ERR_LASTCODE = MPI_ERR_LASTCODE * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_SUCCESS); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_SUCCESS, __pyx_t_1) < 0) __PYX_ERR(19, 7, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":8 * # Actually no errors * SUCCESS = MPI_SUCCESS * ERR_LASTCODE = MPI_ERR_LASTCODE # <<<<<<<<<<<<<< * * # MPI-1 Error classes */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_LASTCODE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 8, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_LASTCODE, __pyx_t_1) < 0) __PYX_ERR(19, 8, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":13 * # ------------------- * # MPI-1 Objects * ERR_COMM = MPI_ERR_COMM # <<<<<<<<<<<<<< * ERR_GROUP = MPI_ERR_GROUP * ERR_TYPE = MPI_ERR_TYPE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_COMM); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 13, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_COMM, __pyx_t_1) < 0) __PYX_ERR(19, 13, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":14 * # MPI-1 Objects * ERR_COMM = MPI_ERR_COMM * ERR_GROUP = MPI_ERR_GROUP # <<<<<<<<<<<<<< * ERR_TYPE = MPI_ERR_TYPE * ERR_REQUEST = MPI_ERR_REQUEST */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_GROUP); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_GROUP, __pyx_t_1) < 0) __PYX_ERR(19, 14, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":15 * ERR_COMM = MPI_ERR_COMM * ERR_GROUP = MPI_ERR_GROUP * ERR_TYPE = MPI_ERR_TYPE # <<<<<<<<<<<<<< * ERR_REQUEST = MPI_ERR_REQUEST * ERR_OP = MPI_ERR_OP */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_TYPE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 15, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_TYPE, __pyx_t_1) < 0) __PYX_ERR(19, 15, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":16 * ERR_GROUP = MPI_ERR_GROUP * ERR_TYPE = MPI_ERR_TYPE * ERR_REQUEST = MPI_ERR_REQUEST # <<<<<<<<<<<<<< * ERR_OP = MPI_ERR_OP * # Communication argument parameters */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_REQUEST); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_REQUEST, __pyx_t_1) < 0) __PYX_ERR(19, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":17 * ERR_TYPE = MPI_ERR_TYPE * ERR_REQUEST = MPI_ERR_REQUEST * ERR_OP = MPI_ERR_OP # <<<<<<<<<<<<<< * # Communication argument parameters * ERR_BUFFER = MPI_ERR_BUFFER */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_OP); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_OP, __pyx_t_1) < 0) __PYX_ERR(19, 17, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":19 * ERR_OP = MPI_ERR_OP * # Communication argument parameters * ERR_BUFFER = MPI_ERR_BUFFER # <<<<<<<<<<<<<< * ERR_COUNT = MPI_ERR_COUNT * ERR_TAG = MPI_ERR_TAG */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_BUFFER); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_BUFFER, __pyx_t_1) < 0) __PYX_ERR(19, 19, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":20 * # Communication argument parameters * ERR_BUFFER = MPI_ERR_BUFFER * ERR_COUNT = MPI_ERR_COUNT # <<<<<<<<<<<<<< * ERR_TAG = MPI_ERR_TAG * ERR_RANK = MPI_ERR_RANK */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_COUNT); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_COUNT, __pyx_t_1) < 0) __PYX_ERR(19, 20, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":21 * ERR_BUFFER = MPI_ERR_BUFFER * ERR_COUNT = MPI_ERR_COUNT * ERR_TAG = MPI_ERR_TAG # <<<<<<<<<<<<<< * ERR_RANK = MPI_ERR_RANK * ERR_ROOT = MPI_ERR_ROOT */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_TAG, __pyx_t_1) < 0) __PYX_ERR(19, 21, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":22 * ERR_COUNT = MPI_ERR_COUNT * ERR_TAG = MPI_ERR_TAG * ERR_RANK = MPI_ERR_RANK # <<<<<<<<<<<<<< * ERR_ROOT = MPI_ERR_ROOT * ERR_TRUNCATE = MPI_ERR_TRUNCATE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_RANK); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_RANK, __pyx_t_1) < 0) __PYX_ERR(19, 22, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":23 * ERR_TAG = MPI_ERR_TAG * ERR_RANK = MPI_ERR_RANK * ERR_ROOT = MPI_ERR_ROOT # <<<<<<<<<<<<<< * ERR_TRUNCATE = MPI_ERR_TRUNCATE * # Multiple completion */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_ROOT); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_ROOT, __pyx_t_1) < 0) __PYX_ERR(19, 23, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":24 * ERR_RANK = MPI_ERR_RANK * ERR_ROOT = MPI_ERR_ROOT * ERR_TRUNCATE = MPI_ERR_TRUNCATE # <<<<<<<<<<<<<< * # Multiple completion * ERR_IN_STATUS = MPI_ERR_IN_STATUS */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_TRUNCATE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_TRUNCATE, __pyx_t_1) < 0) __PYX_ERR(19, 24, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":26 * ERR_TRUNCATE = MPI_ERR_TRUNCATE * # Multiple completion * ERR_IN_STATUS = MPI_ERR_IN_STATUS # <<<<<<<<<<<<<< * ERR_PENDING = MPI_ERR_PENDING * # Topology argument parameters */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_IN_STATUS); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_IN_STATUS, __pyx_t_1) < 0) __PYX_ERR(19, 26, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":27 * # Multiple completion * ERR_IN_STATUS = MPI_ERR_IN_STATUS * ERR_PENDING = MPI_ERR_PENDING # <<<<<<<<<<<<<< * # Topology argument parameters * ERR_TOPOLOGY = MPI_ERR_TOPOLOGY */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_PENDING); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 27, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_PENDING, __pyx_t_1) < 0) __PYX_ERR(19, 27, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":29 * ERR_PENDING = MPI_ERR_PENDING * # Topology argument parameters * ERR_TOPOLOGY = MPI_ERR_TOPOLOGY # <<<<<<<<<<<<<< * ERR_DIMS = MPI_ERR_DIMS * # Other arguments parameters */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_TOPOLOGY); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 29, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_TOPOLOGY, __pyx_t_1) < 0) __PYX_ERR(19, 29, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":30 * # Topology argument parameters * ERR_TOPOLOGY = MPI_ERR_TOPOLOGY * ERR_DIMS = MPI_ERR_DIMS # <<<<<<<<<<<<<< * # Other arguments parameters * ERR_ARG = MPI_ERR_ARG */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_DIMS); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 30, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_DIMS, __pyx_t_1) < 0) __PYX_ERR(19, 30, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":32 * ERR_DIMS = MPI_ERR_DIMS * # Other arguments parameters * ERR_ARG = MPI_ERR_ARG # <<<<<<<<<<<<<< * # Other errors * ERR_OTHER = MPI_ERR_OTHER */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_ARG); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_ARG, __pyx_t_1) < 0) __PYX_ERR(19, 32, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":34 * ERR_ARG = MPI_ERR_ARG * # Other errors * ERR_OTHER = MPI_ERR_OTHER # <<<<<<<<<<<<<< * ERR_UNKNOWN = MPI_ERR_UNKNOWN * ERR_INTERN = MPI_ERR_INTERN */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_OTHER); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_OTHER, __pyx_t_1) < 0) __PYX_ERR(19, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":35 * # Other errors * ERR_OTHER = MPI_ERR_OTHER * ERR_UNKNOWN = MPI_ERR_UNKNOWN # <<<<<<<<<<<<<< * ERR_INTERN = MPI_ERR_INTERN * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_UNKNOWN); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_UNKNOWN, __pyx_t_1) < 0) __PYX_ERR(19, 35, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":36 * ERR_OTHER = MPI_ERR_OTHER * ERR_UNKNOWN = MPI_ERR_UNKNOWN * ERR_INTERN = MPI_ERR_INTERN # <<<<<<<<<<<<<< * * # MPI-2 Error classes */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_INTERN); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 36, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_INTERN, __pyx_t_1) < 0) __PYX_ERR(19, 36, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":41 * # ------------------- * # MPI-2 Objects * ERR_INFO = MPI_ERR_INFO # <<<<<<<<<<<<<< * ERR_FILE = MPI_ERR_FILE * ERR_WIN = MPI_ERR_WIN */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_INFO); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_INFO, __pyx_t_1) < 0) __PYX_ERR(19, 41, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":42 * # MPI-2 Objects * ERR_INFO = MPI_ERR_INFO * ERR_FILE = MPI_ERR_FILE # <<<<<<<<<<<<<< * ERR_WIN = MPI_ERR_WIN * # Object attributes */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_FILE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_FILE, __pyx_t_1) < 0) __PYX_ERR(19, 42, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":43 * ERR_INFO = MPI_ERR_INFO * ERR_FILE = MPI_ERR_FILE * ERR_WIN = MPI_ERR_WIN # <<<<<<<<<<<<<< * # Object attributes * ERR_KEYVAL = MPI_ERR_KEYVAL */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_WIN); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_WIN, __pyx_t_1) < 0) __PYX_ERR(19, 43, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":45 * ERR_WIN = MPI_ERR_WIN * # Object attributes * ERR_KEYVAL = MPI_ERR_KEYVAL # <<<<<<<<<<<<<< * # Info Object * ERR_INFO_KEY = MPI_ERR_INFO_KEY */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_KEYVAL); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_KEYVAL, __pyx_t_1) < 0) __PYX_ERR(19, 45, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":47 * ERR_KEYVAL = MPI_ERR_KEYVAL * # Info Object * ERR_INFO_KEY = MPI_ERR_INFO_KEY # <<<<<<<<<<<<<< * ERR_INFO_VALUE = MPI_ERR_INFO_VALUE * ERR_INFO_NOKEY = MPI_ERR_INFO_NOKEY */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_INFO_KEY); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_INFO_KEY, __pyx_t_1) < 0) __PYX_ERR(19, 47, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":48 * # Info Object * ERR_INFO_KEY = MPI_ERR_INFO_KEY * ERR_INFO_VALUE = MPI_ERR_INFO_VALUE # <<<<<<<<<<<<<< * ERR_INFO_NOKEY = MPI_ERR_INFO_NOKEY * # Input/Ouput */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_INFO_VALUE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_INFO_VALUE, __pyx_t_1) < 0) __PYX_ERR(19, 48, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":49 * ERR_INFO_KEY = MPI_ERR_INFO_KEY * ERR_INFO_VALUE = MPI_ERR_INFO_VALUE * ERR_INFO_NOKEY = MPI_ERR_INFO_NOKEY # <<<<<<<<<<<<<< * # Input/Ouput * ERR_ACCESS = MPI_ERR_ACCESS */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_INFO_NOKEY); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 49, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_INFO_NOKEY, __pyx_t_1) < 0) __PYX_ERR(19, 49, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":51 * ERR_INFO_NOKEY = MPI_ERR_INFO_NOKEY * # Input/Ouput * ERR_ACCESS = MPI_ERR_ACCESS # <<<<<<<<<<<<<< * ERR_AMODE = MPI_ERR_AMODE * ERR_BAD_FILE = MPI_ERR_BAD_FILE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_ACCESS); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_ACCESS, __pyx_t_1) < 0) __PYX_ERR(19, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":52 * # Input/Ouput * ERR_ACCESS = MPI_ERR_ACCESS * ERR_AMODE = MPI_ERR_AMODE # <<<<<<<<<<<<<< * ERR_BAD_FILE = MPI_ERR_BAD_FILE * ERR_FILE_EXISTS = MPI_ERR_FILE_EXISTS */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_AMODE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_AMODE, __pyx_t_1) < 0) __PYX_ERR(19, 52, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":53 * ERR_ACCESS = MPI_ERR_ACCESS * ERR_AMODE = MPI_ERR_AMODE * ERR_BAD_FILE = MPI_ERR_BAD_FILE # <<<<<<<<<<<<<< * ERR_FILE_EXISTS = MPI_ERR_FILE_EXISTS * ERR_FILE_IN_USE = MPI_ERR_FILE_IN_USE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_BAD_FILE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_BAD_FILE, __pyx_t_1) < 0) __PYX_ERR(19, 53, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":54 * ERR_AMODE = MPI_ERR_AMODE * ERR_BAD_FILE = MPI_ERR_BAD_FILE * ERR_FILE_EXISTS = MPI_ERR_FILE_EXISTS # <<<<<<<<<<<<<< * ERR_FILE_IN_USE = MPI_ERR_FILE_IN_USE * ERR_NO_SPACE = MPI_ERR_NO_SPACE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_FILE_EXISTS); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 54, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_FILE_EXISTS, __pyx_t_1) < 0) __PYX_ERR(19, 54, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":55 * ERR_BAD_FILE = MPI_ERR_BAD_FILE * ERR_FILE_EXISTS = MPI_ERR_FILE_EXISTS * ERR_FILE_IN_USE = MPI_ERR_FILE_IN_USE # <<<<<<<<<<<<<< * ERR_NO_SPACE = MPI_ERR_NO_SPACE * ERR_NO_SUCH_FILE = MPI_ERR_NO_SUCH_FILE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_FILE_IN_USE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_FILE_IN_USE, __pyx_t_1) < 0) __PYX_ERR(19, 55, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":56 * ERR_FILE_EXISTS = MPI_ERR_FILE_EXISTS * ERR_FILE_IN_USE = MPI_ERR_FILE_IN_USE * ERR_NO_SPACE = MPI_ERR_NO_SPACE # <<<<<<<<<<<<<< * ERR_NO_SUCH_FILE = MPI_ERR_NO_SUCH_FILE * ERR_IO = MPI_ERR_IO */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_NO_SPACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_NO_SPACE, __pyx_t_1) < 0) __PYX_ERR(19, 56, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":57 * ERR_FILE_IN_USE = MPI_ERR_FILE_IN_USE * ERR_NO_SPACE = MPI_ERR_NO_SPACE * ERR_NO_SUCH_FILE = MPI_ERR_NO_SUCH_FILE # <<<<<<<<<<<<<< * ERR_IO = MPI_ERR_IO * ERR_READ_ONLY = MPI_ERR_READ_ONLY */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_NO_SUCH_FILE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 57, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_NO_SUCH_FILE, __pyx_t_1) < 0) __PYX_ERR(19, 57, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":58 * ERR_NO_SPACE = MPI_ERR_NO_SPACE * ERR_NO_SUCH_FILE = MPI_ERR_NO_SUCH_FILE * ERR_IO = MPI_ERR_IO # <<<<<<<<<<<<<< * ERR_READ_ONLY = MPI_ERR_READ_ONLY * ERR_CONVERSION = MPI_ERR_CONVERSION */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_IO); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_IO, __pyx_t_1) < 0) __PYX_ERR(19, 58, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":59 * ERR_NO_SUCH_FILE = MPI_ERR_NO_SUCH_FILE * ERR_IO = MPI_ERR_IO * ERR_READ_ONLY = MPI_ERR_READ_ONLY # <<<<<<<<<<<<<< * ERR_CONVERSION = MPI_ERR_CONVERSION * ERR_DUP_DATAREP = MPI_ERR_DUP_DATAREP */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_READ_ONLY); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_READ_ONLY, __pyx_t_1) < 0) __PYX_ERR(19, 59, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":60 * ERR_IO = MPI_ERR_IO * ERR_READ_ONLY = MPI_ERR_READ_ONLY * ERR_CONVERSION = MPI_ERR_CONVERSION # <<<<<<<<<<<<<< * ERR_DUP_DATAREP = MPI_ERR_DUP_DATAREP * ERR_UNSUPPORTED_DATAREP = MPI_ERR_UNSUPPORTED_DATAREP */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_CONVERSION); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_CONVERSION, __pyx_t_1) < 0) __PYX_ERR(19, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":61 * ERR_READ_ONLY = MPI_ERR_READ_ONLY * ERR_CONVERSION = MPI_ERR_CONVERSION * ERR_DUP_DATAREP = MPI_ERR_DUP_DATAREP # <<<<<<<<<<<<<< * ERR_UNSUPPORTED_DATAREP = MPI_ERR_UNSUPPORTED_DATAREP * ERR_UNSUPPORTED_OPERATION = MPI_ERR_UNSUPPORTED_OPERATION */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_DUP_DATAREP); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_DUP_DATAREP, __pyx_t_1) < 0) __PYX_ERR(19, 61, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":62 * ERR_CONVERSION = MPI_ERR_CONVERSION * ERR_DUP_DATAREP = MPI_ERR_DUP_DATAREP * ERR_UNSUPPORTED_DATAREP = MPI_ERR_UNSUPPORTED_DATAREP # <<<<<<<<<<<<<< * ERR_UNSUPPORTED_OPERATION = MPI_ERR_UNSUPPORTED_OPERATION * # Dynamic Process Management */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_UNSUPPORTED_DATAREP); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_UNSUPPORTED_DATAREP, __pyx_t_1) < 0) __PYX_ERR(19, 62, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":63 * ERR_DUP_DATAREP = MPI_ERR_DUP_DATAREP * ERR_UNSUPPORTED_DATAREP = MPI_ERR_UNSUPPORTED_DATAREP * ERR_UNSUPPORTED_OPERATION = MPI_ERR_UNSUPPORTED_OPERATION # <<<<<<<<<<<<<< * # Dynamic Process Management * ERR_NAME = MPI_ERR_NAME */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_UNSUPPORTED_OPERATION); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_UNSUPPORTED_OPERATION, __pyx_t_1) < 0) __PYX_ERR(19, 63, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":65 * ERR_UNSUPPORTED_OPERATION = MPI_ERR_UNSUPPORTED_OPERATION * # Dynamic Process Management * ERR_NAME = MPI_ERR_NAME # <<<<<<<<<<<<<< * ERR_NO_MEM = MPI_ERR_NO_MEM * ERR_NOT_SAME = MPI_ERR_NOT_SAME */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_NAME, __pyx_t_1) < 0) __PYX_ERR(19, 65, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":66 * # Dynamic Process Management * ERR_NAME = MPI_ERR_NAME * ERR_NO_MEM = MPI_ERR_NO_MEM # <<<<<<<<<<<<<< * ERR_NOT_SAME = MPI_ERR_NOT_SAME * ERR_PORT = MPI_ERR_PORT */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_NO_MEM); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_NO_MEM, __pyx_t_1) < 0) __PYX_ERR(19, 66, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":67 * ERR_NAME = MPI_ERR_NAME * ERR_NO_MEM = MPI_ERR_NO_MEM * ERR_NOT_SAME = MPI_ERR_NOT_SAME # <<<<<<<<<<<<<< * ERR_PORT = MPI_ERR_PORT * ERR_QUOTA = MPI_ERR_QUOTA */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_NOT_SAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_NOT_SAME, __pyx_t_1) < 0) __PYX_ERR(19, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":68 * ERR_NO_MEM = MPI_ERR_NO_MEM * ERR_NOT_SAME = MPI_ERR_NOT_SAME * ERR_PORT = MPI_ERR_PORT # <<<<<<<<<<<<<< * ERR_QUOTA = MPI_ERR_QUOTA * ERR_SERVICE = MPI_ERR_SERVICE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_PORT); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_PORT, __pyx_t_1) < 0) __PYX_ERR(19, 68, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":69 * ERR_NOT_SAME = MPI_ERR_NOT_SAME * ERR_PORT = MPI_ERR_PORT * ERR_QUOTA = MPI_ERR_QUOTA # <<<<<<<<<<<<<< * ERR_SERVICE = MPI_ERR_SERVICE * ERR_SPAWN = MPI_ERR_SPAWN */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_QUOTA); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_QUOTA, __pyx_t_1) < 0) __PYX_ERR(19, 69, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":70 * ERR_PORT = MPI_ERR_PORT * ERR_QUOTA = MPI_ERR_QUOTA * ERR_SERVICE = MPI_ERR_SERVICE # <<<<<<<<<<<<<< * ERR_SPAWN = MPI_ERR_SPAWN * # Windows */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_SERVICE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_SERVICE, __pyx_t_1) < 0) __PYX_ERR(19, 70, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":71 * ERR_QUOTA = MPI_ERR_QUOTA * ERR_SERVICE = MPI_ERR_SERVICE * ERR_SPAWN = MPI_ERR_SPAWN # <<<<<<<<<<<<<< * # Windows * ERR_BASE = MPI_ERR_BASE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_SPAWN); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_SPAWN, __pyx_t_1) < 0) __PYX_ERR(19, 71, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":73 * ERR_SPAWN = MPI_ERR_SPAWN * # Windows * ERR_BASE = MPI_ERR_BASE # <<<<<<<<<<<<<< * ERR_SIZE = MPI_ERR_SIZE * ERR_DISP = MPI_ERR_DISP */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_BASE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_BASE, __pyx_t_1) < 0) __PYX_ERR(19, 73, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":74 * # Windows * ERR_BASE = MPI_ERR_BASE * ERR_SIZE = MPI_ERR_SIZE # <<<<<<<<<<<<<< * ERR_DISP = MPI_ERR_DISP * ERR_ASSERT = MPI_ERR_ASSERT */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_SIZE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_SIZE, __pyx_t_1) < 0) __PYX_ERR(19, 74, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":75 * ERR_BASE = MPI_ERR_BASE * ERR_SIZE = MPI_ERR_SIZE * ERR_DISP = MPI_ERR_DISP # <<<<<<<<<<<<<< * ERR_ASSERT = MPI_ERR_ASSERT * ERR_LOCKTYPE = MPI_ERR_LOCKTYPE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_DISP); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 75, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_DISP, __pyx_t_1) < 0) __PYX_ERR(19, 75, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":76 * ERR_SIZE = MPI_ERR_SIZE * ERR_DISP = MPI_ERR_DISP * ERR_ASSERT = MPI_ERR_ASSERT # <<<<<<<<<<<<<< * ERR_LOCKTYPE = MPI_ERR_LOCKTYPE * ERR_RMA_CONFLICT = MPI_ERR_RMA_CONFLICT */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_ASSERT); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_ASSERT, __pyx_t_1) < 0) __PYX_ERR(19, 76, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":77 * ERR_DISP = MPI_ERR_DISP * ERR_ASSERT = MPI_ERR_ASSERT * ERR_LOCKTYPE = MPI_ERR_LOCKTYPE # <<<<<<<<<<<<<< * ERR_RMA_CONFLICT = MPI_ERR_RMA_CONFLICT * ERR_RMA_SYNC = MPI_ERR_RMA_SYNC */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_LOCKTYPE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_LOCKTYPE, __pyx_t_1) < 0) __PYX_ERR(19, 77, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":78 * ERR_ASSERT = MPI_ERR_ASSERT * ERR_LOCKTYPE = MPI_ERR_LOCKTYPE * ERR_RMA_CONFLICT = MPI_ERR_RMA_CONFLICT # <<<<<<<<<<<<<< * ERR_RMA_SYNC = MPI_ERR_RMA_SYNC * ERR_RMA_RANGE = MPI_ERR_RMA_RANGE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_RMA_CONFLICT); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_RMA_CONFLICT, __pyx_t_1) < 0) __PYX_ERR(19, 78, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":79 * ERR_LOCKTYPE = MPI_ERR_LOCKTYPE * ERR_RMA_CONFLICT = MPI_ERR_RMA_CONFLICT * ERR_RMA_SYNC = MPI_ERR_RMA_SYNC # <<<<<<<<<<<<<< * ERR_RMA_RANGE = MPI_ERR_RMA_RANGE * ERR_RMA_ATTACH = MPI_ERR_RMA_ATTACH */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_RMA_SYNC); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 79, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_RMA_SYNC, __pyx_t_1) < 0) __PYX_ERR(19, 79, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":80 * ERR_RMA_CONFLICT = MPI_ERR_RMA_CONFLICT * ERR_RMA_SYNC = MPI_ERR_RMA_SYNC * ERR_RMA_RANGE = MPI_ERR_RMA_RANGE # <<<<<<<<<<<<<< * ERR_RMA_ATTACH = MPI_ERR_RMA_ATTACH * ERR_RMA_SHARED = MPI_ERR_RMA_SHARED */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_RMA_RANGE); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_RMA_RANGE, __pyx_t_1) < 0) __PYX_ERR(19, 80, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":81 * ERR_RMA_SYNC = MPI_ERR_RMA_SYNC * ERR_RMA_RANGE = MPI_ERR_RMA_RANGE * ERR_RMA_ATTACH = MPI_ERR_RMA_ATTACH # <<<<<<<<<<<<<< * ERR_RMA_SHARED = MPI_ERR_RMA_SHARED * ERR_RMA_FLAVOR = MPI_ERR_RMA_FLAVOR */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_RMA_ATTACH); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_RMA_ATTACH, __pyx_t_1) < 0) __PYX_ERR(19, 81, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":82 * ERR_RMA_RANGE = MPI_ERR_RMA_RANGE * ERR_RMA_ATTACH = MPI_ERR_RMA_ATTACH * ERR_RMA_SHARED = MPI_ERR_RMA_SHARED # <<<<<<<<<<<<<< * ERR_RMA_FLAVOR = MPI_ERR_RMA_FLAVOR * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_RMA_SHARED); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_RMA_SHARED, __pyx_t_1) < 0) __PYX_ERR(19, 82, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":83 * ERR_RMA_ATTACH = MPI_ERR_RMA_ATTACH * ERR_RMA_SHARED = MPI_ERR_RMA_SHARED * ERR_RMA_FLAVOR = MPI_ERR_RMA_FLAVOR # <<<<<<<<<<<<<< * * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_ERR_RMA_FLAVOR); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERR_RMA_FLAVOR, __pyx_t_1) < 0) __PYX_ERR(19, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":87 * * * def Get_error_class(int errorcode): # <<<<<<<<<<<<<< * """ * Convert an *error code* into an *error class* */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_5Get_error_class, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Get_error_class, __pyx_t_1) < 0) __PYX_ERR(19, 87, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":95 * return errorclass * * def Get_error_string(int errorcode): # <<<<<<<<<<<<<< * """ * Return the *error string* for a given */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_7Get_error_string, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Get_error_string, __pyx_t_1) < 0) __PYX_ERR(19, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":106 * * * def Add_error_class(): # <<<<<<<<<<<<<< * """ * Add an *error class* to the known error classes */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_9Add_error_class, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Add_error_class, __pyx_t_1) < 0) __PYX_ERR(19, 106, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":114 * return errorclass * * def Add_error_code(int errorclass): # <<<<<<<<<<<<<< * """ * Add an *error code* to an *error class* */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_11Add_error_code, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Add_error_code, __pyx_t_1) < 0) __PYX_ERR(19, 114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Exception.pyx":122 * return errorcode * * def Add_error_string(int errorcode, string): # <<<<<<<<<<<<<< * """ * Associate an *error string* with an */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_13Add_error_string, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Add_error_string, __pyx_t_1) < 0) __PYX_ERR(19, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Errhandler.pyx":45 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Errhandler.pyx":44 * return MPI_Errhandler_c2f(self.ob_mpi) * * @classmethod # <<<<<<<<<<<<<< * def f2py(cls, arg): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler->tp_dict, __pyx_n_s_f2py, __pyx_t_3) < 0) __PYX_ERR(20, 45, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Errhandler); /* "mpi4py/MPI/Errhandler.pyx":54 * * * cdef Errhandler __ERRHANDLER_NULL__ = new_Errhandler(MPI_ERRHANDLER_NULL) # <<<<<<<<<<<<<< * cdef Errhandler __ERRORS_RETURN__ = new_Errhandler(MPI_ERRORS_RETURN) * cdef Errhandler __ERRORS_ARE_FATAL__ = new_Errhandler(MPI_ERRORS_ARE_FATAL) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Errhandler(MPI_ERRHANDLER_NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 54, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___ERRHANDLER_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___ERRHANDLER_NULL__, ((struct PyMPIErrhandlerObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Errhandler.pyx":55 * * cdef Errhandler __ERRHANDLER_NULL__ = new_Errhandler(MPI_ERRHANDLER_NULL) * cdef Errhandler __ERRORS_RETURN__ = new_Errhandler(MPI_ERRORS_RETURN) # <<<<<<<<<<<<<< * cdef Errhandler __ERRORS_ARE_FATAL__ = new_Errhandler(MPI_ERRORS_ARE_FATAL) * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Errhandler(MPI_ERRORS_RETURN)); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___ERRORS_RETURN__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___ERRORS_RETURN__, ((struct PyMPIErrhandlerObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Errhandler.pyx":56 * cdef Errhandler __ERRHANDLER_NULL__ = new_Errhandler(MPI_ERRHANDLER_NULL) * cdef Errhandler __ERRORS_RETURN__ = new_Errhandler(MPI_ERRORS_RETURN) * cdef Errhandler __ERRORS_ARE_FATAL__ = new_Errhandler(MPI_ERRORS_ARE_FATAL) # <<<<<<<<<<<<<< * * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Errhandler(MPI_ERRORS_ARE_FATAL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___ERRORS_ARE_FATAL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___ERRORS_ARE_FATAL__, ((struct PyMPIErrhandlerObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Errhandler.pyx":62 * # ----------------------------- * * ERRHANDLER_NULL = __ERRHANDLER_NULL__ #: Null error handler # <<<<<<<<<<<<<< * ERRORS_RETURN = __ERRORS_RETURN__ #: Errors return error handler * ERRORS_ARE_FATAL = __ERRORS_ARE_FATAL__ #: Errors are fatal error handler */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERRHANDLER_NULL, ((PyObject *)__pyx_v_6mpi4py_3MPI___ERRHANDLER_NULL__)) < 0) __PYX_ERR(20, 62, __pyx_L1_error) /* "mpi4py/MPI/Errhandler.pyx":63 * * ERRHANDLER_NULL = __ERRHANDLER_NULL__ #: Null error handler * ERRORS_RETURN = __ERRORS_RETURN__ #: Errors return error handler # <<<<<<<<<<<<<< * ERRORS_ARE_FATAL = __ERRORS_ARE_FATAL__ #: Errors are fatal error handler */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERRORS_RETURN, ((PyObject *)__pyx_v_6mpi4py_3MPI___ERRORS_RETURN__)) < 0) __PYX_ERR(20, 63, __pyx_L1_error) /* "mpi4py/MPI/Errhandler.pyx":64 * ERRHANDLER_NULL = __ERRHANDLER_NULL__ #: Null error handler * ERRORS_RETURN = __ERRORS_RETURN__ #: Errors return error handler * ERRORS_ARE_FATAL = __ERRORS_ARE_FATAL__ #: Errors are fatal error handler # <<<<<<<<<<<<<< */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_ERRORS_ARE_FATAL, ((PyObject *)__pyx_v_6mpi4py_3MPI___ERRORS_ARE_FATAL__)) < 0) __PYX_ERR(20, 64, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":3 * # Storage order for arrays * # ------------------------ * ORDER_C = MPI_ORDER_C #: C order (a.k.a. row major) # <<<<<<<<<<<<<< * ORDER_FORTRAN = MPI_ORDER_FORTRAN #: Fortran order (a.k.a. column major) * ORDER_F = MPI_ORDER_FORTRAN #: Convenience alias for ORDER_FORTRAN */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_ORDER_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 3, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ORDER_C, __pyx_t_3) < 0) __PYX_ERR(21, 3, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":4 * # ------------------------ * ORDER_C = MPI_ORDER_C #: C order (a.k.a. row major) * ORDER_FORTRAN = MPI_ORDER_FORTRAN #: Fortran order (a.k.a. column major) # <<<<<<<<<<<<<< * ORDER_F = MPI_ORDER_FORTRAN #: Convenience alias for ORDER_FORTRAN * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_ORDER_FORTRAN); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ORDER_FORTRAN, __pyx_t_3) < 0) __PYX_ERR(21, 4, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":5 * ORDER_C = MPI_ORDER_C #: C order (a.k.a. row major) * ORDER_FORTRAN = MPI_ORDER_FORTRAN #: Fortran order (a.k.a. column major) * ORDER_F = MPI_ORDER_FORTRAN #: Convenience alias for ORDER_FORTRAN # <<<<<<<<<<<<<< * * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_ORDER_FORTRAN); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 5, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ORDER_F, __pyx_t_3) < 0) __PYX_ERR(21, 5, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":10 * # Type classes for Fortran datatype matching * # ------------------------------------------ * TYPECLASS_INTEGER = MPI_TYPECLASS_INTEGER # <<<<<<<<<<<<<< * TYPECLASS_REAL = MPI_TYPECLASS_REAL * TYPECLASS_COMPLEX = MPI_TYPECLASS_COMPLEX */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_TYPECLASS_INTEGER); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_TYPECLASS_INTEGER, __pyx_t_3) < 0) __PYX_ERR(21, 10, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":11 * # ------------------------------------------ * TYPECLASS_INTEGER = MPI_TYPECLASS_INTEGER * TYPECLASS_REAL = MPI_TYPECLASS_REAL # <<<<<<<<<<<<<< * TYPECLASS_COMPLEX = MPI_TYPECLASS_COMPLEX * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_TYPECLASS_REAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 11, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_TYPECLASS_REAL, __pyx_t_3) < 0) __PYX_ERR(21, 11, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":12 * TYPECLASS_INTEGER = MPI_TYPECLASS_INTEGER * TYPECLASS_REAL = MPI_TYPECLASS_REAL * TYPECLASS_COMPLEX = MPI_TYPECLASS_COMPLEX # <<<<<<<<<<<<<< * * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_TYPECLASS_COMPLEX); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 12, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_TYPECLASS_COMPLEX, __pyx_t_3) < 0) __PYX_ERR(21, 12, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":17 * # Type of distributions (HPF-like arrays) * # --------------------------------------- * DISTRIBUTE_NONE = MPI_DISTRIBUTE_NONE #: Dimension not distributed # <<<<<<<<<<<<<< * DISTRIBUTE_BLOCK = MPI_DISTRIBUTE_BLOCK #: Block distribution * DISTRIBUTE_CYCLIC = MPI_DISTRIBUTE_CYCLIC #: Cyclic distribution */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_DISTRIBUTE_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_DISTRIBUTE_NONE, __pyx_t_3) < 0) __PYX_ERR(21, 17, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":18 * # --------------------------------------- * DISTRIBUTE_NONE = MPI_DISTRIBUTE_NONE #: Dimension not distributed * DISTRIBUTE_BLOCK = MPI_DISTRIBUTE_BLOCK #: Block distribution # <<<<<<<<<<<<<< * DISTRIBUTE_CYCLIC = MPI_DISTRIBUTE_CYCLIC #: Cyclic distribution * DISTRIBUTE_DFLT_DARG = MPI_DISTRIBUTE_DFLT_DARG #: Default distribution */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_DISTRIBUTE_BLOCK); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_DISTRIBUTE_BLOCK, __pyx_t_3) < 0) __PYX_ERR(21, 18, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":19 * DISTRIBUTE_NONE = MPI_DISTRIBUTE_NONE #: Dimension not distributed * DISTRIBUTE_BLOCK = MPI_DISTRIBUTE_BLOCK #: Block distribution * DISTRIBUTE_CYCLIC = MPI_DISTRIBUTE_CYCLIC #: Cyclic distribution # <<<<<<<<<<<<<< * DISTRIBUTE_DFLT_DARG = MPI_DISTRIBUTE_DFLT_DARG #: Default distribution * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_DISTRIBUTE_CYCLIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_DISTRIBUTE_CYCLIC, __pyx_t_3) < 0) __PYX_ERR(21, 19, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":20 * DISTRIBUTE_BLOCK = MPI_DISTRIBUTE_BLOCK #: Block distribution * DISTRIBUTE_CYCLIC = MPI_DISTRIBUTE_CYCLIC #: Cyclic distribution * DISTRIBUTE_DFLT_DARG = MPI_DISTRIBUTE_DFLT_DARG #: Default distribution # <<<<<<<<<<<<<< * * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_DISTRIBUTE_DFLT_DARG); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_DISTRIBUTE_DFLT_DARG, __pyx_t_3) < 0) __PYX_ERR(21, 20, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":25 * # Combiner values for datatype decoding * # ------------------------------------- * COMBINER_NAMED = MPI_COMBINER_NAMED # <<<<<<<<<<<<<< * COMBINER_DUP = MPI_COMBINER_DUP * COMBINER_CONTIGUOUS = MPI_COMBINER_CONTIGUOUS */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_NAMED); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_NAMED, __pyx_t_3) < 0) __PYX_ERR(21, 25, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":26 * # ------------------------------------- * COMBINER_NAMED = MPI_COMBINER_NAMED * COMBINER_DUP = MPI_COMBINER_DUP # <<<<<<<<<<<<<< * COMBINER_CONTIGUOUS = MPI_COMBINER_CONTIGUOUS * COMBINER_VECTOR = MPI_COMBINER_VECTOR */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_DUP); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_DUP, __pyx_t_3) < 0) __PYX_ERR(21, 26, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":27 * COMBINER_NAMED = MPI_COMBINER_NAMED * COMBINER_DUP = MPI_COMBINER_DUP * COMBINER_CONTIGUOUS = MPI_COMBINER_CONTIGUOUS # <<<<<<<<<<<<<< * COMBINER_VECTOR = MPI_COMBINER_VECTOR * COMBINER_HVECTOR = MPI_COMBINER_HVECTOR */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_CONTIGUOUS); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 27, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_CONTIGUOUS, __pyx_t_3) < 0) __PYX_ERR(21, 27, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":28 * COMBINER_DUP = MPI_COMBINER_DUP * COMBINER_CONTIGUOUS = MPI_COMBINER_CONTIGUOUS * COMBINER_VECTOR = MPI_COMBINER_VECTOR # <<<<<<<<<<<<<< * COMBINER_HVECTOR = MPI_COMBINER_HVECTOR * COMBINER_INDEXED = MPI_COMBINER_INDEXED */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_VECTOR); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_VECTOR, __pyx_t_3) < 0) __PYX_ERR(21, 28, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":29 * COMBINER_CONTIGUOUS = MPI_COMBINER_CONTIGUOUS * COMBINER_VECTOR = MPI_COMBINER_VECTOR * COMBINER_HVECTOR = MPI_COMBINER_HVECTOR # <<<<<<<<<<<<<< * COMBINER_INDEXED = MPI_COMBINER_INDEXED * COMBINER_HINDEXED = MPI_COMBINER_HINDEXED */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_HVECTOR); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 29, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_HVECTOR, __pyx_t_3) < 0) __PYX_ERR(21, 29, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":30 * COMBINER_VECTOR = MPI_COMBINER_VECTOR * COMBINER_HVECTOR = MPI_COMBINER_HVECTOR * COMBINER_INDEXED = MPI_COMBINER_INDEXED # <<<<<<<<<<<<<< * COMBINER_HINDEXED = MPI_COMBINER_HINDEXED * COMBINER_INDEXED_BLOCK = MPI_COMBINER_INDEXED_BLOCK */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_INDEXED); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 30, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_INDEXED, __pyx_t_3) < 0) __PYX_ERR(21, 30, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":31 * COMBINER_HVECTOR = MPI_COMBINER_HVECTOR * COMBINER_INDEXED = MPI_COMBINER_INDEXED * COMBINER_HINDEXED = MPI_COMBINER_HINDEXED # <<<<<<<<<<<<<< * COMBINER_INDEXED_BLOCK = MPI_COMBINER_INDEXED_BLOCK * COMBINER_HINDEXED_BLOCK = MPI_COMBINER_HINDEXED_BLOCK */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_HINDEXED); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 31, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_HINDEXED, __pyx_t_3) < 0) __PYX_ERR(21, 31, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":32 * COMBINER_INDEXED = MPI_COMBINER_INDEXED * COMBINER_HINDEXED = MPI_COMBINER_HINDEXED * COMBINER_INDEXED_BLOCK = MPI_COMBINER_INDEXED_BLOCK # <<<<<<<<<<<<<< * COMBINER_HINDEXED_BLOCK = MPI_COMBINER_HINDEXED_BLOCK * COMBINER_STRUCT = MPI_COMBINER_STRUCT */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_INDEXED_BLOCK); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_INDEXED_BLOCK, __pyx_t_3) < 0) __PYX_ERR(21, 32, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":33 * COMBINER_HINDEXED = MPI_COMBINER_HINDEXED * COMBINER_INDEXED_BLOCK = MPI_COMBINER_INDEXED_BLOCK * COMBINER_HINDEXED_BLOCK = MPI_COMBINER_HINDEXED_BLOCK # <<<<<<<<<<<<<< * COMBINER_STRUCT = MPI_COMBINER_STRUCT * COMBINER_SUBARRAY = MPI_COMBINER_SUBARRAY */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_HINDEXED_BLOCK); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 33, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_HINDEXED_BLOCK, __pyx_t_3) < 0) __PYX_ERR(21, 33, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":34 * COMBINER_INDEXED_BLOCK = MPI_COMBINER_INDEXED_BLOCK * COMBINER_HINDEXED_BLOCK = MPI_COMBINER_HINDEXED_BLOCK * COMBINER_STRUCT = MPI_COMBINER_STRUCT # <<<<<<<<<<<<<< * COMBINER_SUBARRAY = MPI_COMBINER_SUBARRAY * COMBINER_DARRAY = MPI_COMBINER_DARRAY */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_STRUCT); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_STRUCT, __pyx_t_3) < 0) __PYX_ERR(21, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":35 * COMBINER_HINDEXED_BLOCK = MPI_COMBINER_HINDEXED_BLOCK * COMBINER_STRUCT = MPI_COMBINER_STRUCT * COMBINER_SUBARRAY = MPI_COMBINER_SUBARRAY # <<<<<<<<<<<<<< * COMBINER_DARRAY = MPI_COMBINER_DARRAY * COMBINER_RESIZED = MPI_COMBINER_RESIZED */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_SUBARRAY); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_SUBARRAY, __pyx_t_3) < 0) __PYX_ERR(21, 35, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":36 * COMBINER_STRUCT = MPI_COMBINER_STRUCT * COMBINER_SUBARRAY = MPI_COMBINER_SUBARRAY * COMBINER_DARRAY = MPI_COMBINER_DARRAY # <<<<<<<<<<<<<< * COMBINER_RESIZED = MPI_COMBINER_RESIZED * COMBINER_F90_REAL = MPI_COMBINER_F90_REAL */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_DARRAY); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 36, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_DARRAY, __pyx_t_3) < 0) __PYX_ERR(21, 36, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":37 * COMBINER_SUBARRAY = MPI_COMBINER_SUBARRAY * COMBINER_DARRAY = MPI_COMBINER_DARRAY * COMBINER_RESIZED = MPI_COMBINER_RESIZED # <<<<<<<<<<<<<< * COMBINER_F90_REAL = MPI_COMBINER_F90_REAL * COMBINER_F90_COMPLEX = MPI_COMBINER_F90_COMPLEX */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_RESIZED); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 37, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_RESIZED, __pyx_t_3) < 0) __PYX_ERR(21, 37, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":38 * COMBINER_DARRAY = MPI_COMBINER_DARRAY * COMBINER_RESIZED = MPI_COMBINER_RESIZED * COMBINER_F90_REAL = MPI_COMBINER_F90_REAL # <<<<<<<<<<<<<< * COMBINER_F90_COMPLEX = MPI_COMBINER_F90_COMPLEX * COMBINER_F90_INTEGER = MPI_COMBINER_F90_INTEGER */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_F90_REAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_F90_REAL, __pyx_t_3) < 0) __PYX_ERR(21, 38, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":39 * COMBINER_RESIZED = MPI_COMBINER_RESIZED * COMBINER_F90_REAL = MPI_COMBINER_F90_REAL * COMBINER_F90_COMPLEX = MPI_COMBINER_F90_COMPLEX # <<<<<<<<<<<<<< * COMBINER_F90_INTEGER = MPI_COMBINER_F90_INTEGER * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_F90_COMPLEX); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 39, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_F90_COMPLEX, __pyx_t_3) < 0) __PYX_ERR(21, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":40 * COMBINER_F90_REAL = MPI_COMBINER_F90_REAL * COMBINER_F90_COMPLEX = MPI_COMBINER_F90_COMPLEX * COMBINER_F90_INTEGER = MPI_COMBINER_F90_INTEGER # <<<<<<<<<<<<<< * * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMBINER_F90_INTEGER); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 40, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMBINER_F90_INTEGER, __pyx_t_3) < 0) __PYX_ERR(21, 40, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":129 * return datatype * * Create_dup = Dup #: convenience alias # <<<<<<<<<<<<<< * * def Create_contiguous(self, int count): */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Dup); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype->tp_dict, __pyx_n_s_Create_dup, __pyx_t_3) < 0) __PYX_ERR(21, 129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "mpi4py/MPI/Datatype.pyx":219 * * @classmethod * def Create_struct(cls, blocklengths, displacements, datatypes): # <<<<<<<<<<<<<< * """ * Create an datatype from a general set of */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Create_struct); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Datatype.pyx":218 * return datatype * * @classmethod # <<<<<<<<<<<<<< * def Create_struct(cls, blocklengths, displacements, datatypes): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype->tp_dict, __pyx_n_s_Create_struct, __pyx_t_1) < 0) __PYX_ERR(21, 219, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "mpi4py/MPI/Datatype.pyx":240 * * def Create_subarray(self, sizes, subsizes, starts, * int order=ORDER_C): # <<<<<<<<<<<<<< * """ * Create a datatype for a subarray of */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ORDER_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 240, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__26 = __pyx_t_2; /* "mpi4py/MPI/Datatype.pyx":263 * def Create_darray(self, int size, int rank, * gsizes, distribs, dargs, psizes, * int order=ORDER_C): # <<<<<<<<<<<<<< * """ * Create a datatype representing an HPF-like */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ORDER_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(21, 263, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__27 = __pyx_t_2; /* "mpi4py/MPI/Datatype.pyx":286 * * @classmethod * def Create_f90_integer(cls, int r): # <<<<<<<<<<<<<< * """ * Return a bounded integer datatype */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Create_f90_integer); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Datatype.pyx":285 * # ------------------------------------------------ * * @classmethod # <<<<<<<<<<<<<< * def Create_f90_integer(cls, int r): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype->tp_dict, __pyx_n_s_Create_f90_integer, __pyx_t_3) < 0) __PYX_ERR(21, 286, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "mpi4py/MPI/Datatype.pyx":295 * * @classmethod * def Create_f90_real(cls, int p, int r): # <<<<<<<<<<<<<< * """ * Return a bounded real datatype */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Create_f90_real); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Datatype.pyx":294 * return datatype * * @classmethod # <<<<<<<<<<<<<< * def Create_f90_real(cls, int p, int r): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype->tp_dict, __pyx_n_s_Create_f90_real, __pyx_t_1) < 0) __PYX_ERR(21, 295, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "mpi4py/MPI/Datatype.pyx":304 * * @classmethod * def Create_f90_complex(cls, int p, int r): # <<<<<<<<<<<<<< * """ * Return a bounded complex datatype */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Create_f90_complex); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Datatype.pyx":303 * return datatype * * @classmethod # <<<<<<<<<<<<<< * def Create_f90_complex(cls, int p, int r): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype->tp_dict, __pyx_n_s_Create_f90_complex, __pyx_t_3) < 0) __PYX_ERR(21, 304, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "mpi4py/MPI/Datatype.pyx":313 * * @classmethod * def Match_size(cls, int typeclass, int size): # <<<<<<<<<<<<<< * """ * Find a datatype matching a specified size in bytes */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Match_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Datatype.pyx":312 * return datatype * * @classmethod # <<<<<<<<<<<<<< * def Match_size(cls, int typeclass, int size): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype->tp_dict, __pyx_n_s_Match_size, __pyx_t_1) < 0) __PYX_ERR(21, 313, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "mpi4py/MPI/Datatype.pyx":422 * return datatype * * Resized = Create_resized #: compatibility alias # <<<<<<<<<<<<<< * * def Get_true_extent(self): */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Create_resized); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 422, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype->tp_dict, __pyx_n_s_Resized, __pyx_t_1) < 0) __PYX_ERR(21, 422, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "mpi4py/MPI/Datatype.pyx":765 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None, nopython=False): # <<<<<<<<<<<<<< * """ * Create a new attribute key for datatypes */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Create_keyval); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Datatype.pyx":764 * CHKERR( MPI_Type_delete_attr(self.ob_mpi, keyval) ) * * @classmethod # <<<<<<<<<<<<<< * def Create_keyval(cls, copy_fn=None, delete_fn=None, nopython=False): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype->tp_dict, __pyx_n_s_Create_keyval, __pyx_t_3) < 0) __PYX_ERR(21, 765, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "mpi4py/MPI/Datatype.pyx":779 * * @classmethod * def Free_keyval(cls, int keyval): # <<<<<<<<<<<<<< * """ * Free and attribute key for datatypes */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Free_keyval); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Datatype.pyx":778 * return keyval * * @classmethod # <<<<<<<<<<<<<< * def Free_keyval(cls, int keyval): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype->tp_dict, __pyx_n_s_Free_keyval, __pyx_t_1) < 0) __PYX_ERR(21, 779, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "mpi4py/MPI/Datatype.pyx":825 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Datatype.pyx":824 * return MPI_Type_c2f(self.ob_mpi) * * @classmethod # <<<<<<<<<<<<<< * def f2py(cls, arg): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype->tp_dict, __pyx_n_s_f2py, __pyx_t_3) < 0) __PYX_ERR(21, 825, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "mpi4py/MPI/Datatype.pyx":836 * # ----------------- * * def Get_address(location): # <<<<<<<<<<<<<< * """ * Get the address of a location in memory */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_15Get_address, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Get_address, __pyx_t_3) < 0) __PYX_ERR(21, 836, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":847 * return address * * def Aint_add(Aint base, Aint disp): # <<<<<<<<<<<<<< * """ * Return the sum of base address and displacement */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_17Aint_add, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Aint_add, __pyx_t_3) < 0) __PYX_ERR(21, 847, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":853 * return MPI_Aint_add(base, disp) * * def Aint_diff(Aint addr1, Aint addr2): # <<<<<<<<<<<<<< * """ * Return the difference between absolute addresses */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_19Aint_diff, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Aint_diff, __pyx_t_3) < 0) __PYX_ERR(21, 853, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":860 * * * cdef Datatype __DATATYPE_NULL__ = new_Datatype( MPI_DATATYPE_NULL ) # <<<<<<<<<<<<<< * * cdef Datatype __UB__ = new_Datatype( MPI_UB ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_DATATYPE_NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___DATATYPE_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___DATATYPE_NULL__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":862 * cdef Datatype __DATATYPE_NULL__ = new_Datatype( MPI_DATATYPE_NULL ) * * cdef Datatype __UB__ = new_Datatype( MPI_UB ) # <<<<<<<<<<<<<< * cdef Datatype __LB__ = new_Datatype( MPI_LB ) * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_UB)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 862, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___UB__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___UB__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":863 * * cdef Datatype __UB__ = new_Datatype( MPI_UB ) * cdef Datatype __LB__ = new_Datatype( MPI_LB ) # <<<<<<<<<<<<<< * * cdef Datatype __PACKED__ = new_Datatype( MPI_PACKED ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_LB)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LB__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LB__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":865 * cdef Datatype __LB__ = new_Datatype( MPI_LB ) * * cdef Datatype __PACKED__ = new_Datatype( MPI_PACKED ) # <<<<<<<<<<<<<< * cdef Datatype __BYTE__ = new_Datatype( MPI_BYTE ) * cdef Datatype __AINT__ = new_Datatype( MPI_AINT ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_PACKED)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___PACKED__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___PACKED__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":866 * * cdef Datatype __PACKED__ = new_Datatype( MPI_PACKED ) * cdef Datatype __BYTE__ = new_Datatype( MPI_BYTE ) # <<<<<<<<<<<<<< * cdef Datatype __AINT__ = new_Datatype( MPI_AINT ) * cdef Datatype __OFFSET__ = new_Datatype( MPI_OFFSET ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_BYTE)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___BYTE__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___BYTE__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":867 * cdef Datatype __PACKED__ = new_Datatype( MPI_PACKED ) * cdef Datatype __BYTE__ = new_Datatype( MPI_BYTE ) * cdef Datatype __AINT__ = new_Datatype( MPI_AINT ) # <<<<<<<<<<<<<< * cdef Datatype __OFFSET__ = new_Datatype( MPI_OFFSET ) * cdef Datatype __COUNT__ = new_Datatype( MPI_COUNT ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_AINT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___AINT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___AINT__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":868 * cdef Datatype __BYTE__ = new_Datatype( MPI_BYTE ) * cdef Datatype __AINT__ = new_Datatype( MPI_AINT ) * cdef Datatype __OFFSET__ = new_Datatype( MPI_OFFSET ) # <<<<<<<<<<<<<< * cdef Datatype __COUNT__ = new_Datatype( MPI_COUNT ) * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_OFFSET)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___OFFSET__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___OFFSET__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":869 * cdef Datatype __AINT__ = new_Datatype( MPI_AINT ) * cdef Datatype __OFFSET__ = new_Datatype( MPI_OFFSET ) * cdef Datatype __COUNT__ = new_Datatype( MPI_COUNT ) # <<<<<<<<<<<<<< * * cdef Datatype __CHAR__ = new_Datatype( MPI_CHAR ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_COUNT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COUNT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COUNT__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":871 * cdef Datatype __COUNT__ = new_Datatype( MPI_COUNT ) * * cdef Datatype __CHAR__ = new_Datatype( MPI_CHAR ) # <<<<<<<<<<<<<< * cdef Datatype __WCHAR__ = new_Datatype( MPI_WCHAR ) * cdef Datatype __SIGNED_CHAR__ = new_Datatype( MPI_SIGNED_CHAR ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_CHAR)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 871, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___CHAR__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___CHAR__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":872 * * cdef Datatype __CHAR__ = new_Datatype( MPI_CHAR ) * cdef Datatype __WCHAR__ = new_Datatype( MPI_WCHAR ) # <<<<<<<<<<<<<< * cdef Datatype __SIGNED_CHAR__ = new_Datatype( MPI_SIGNED_CHAR ) * cdef Datatype __SHORT__ = new_Datatype( MPI_SHORT ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_WCHAR)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___WCHAR__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___WCHAR__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":873 * cdef Datatype __CHAR__ = new_Datatype( MPI_CHAR ) * cdef Datatype __WCHAR__ = new_Datatype( MPI_WCHAR ) * cdef Datatype __SIGNED_CHAR__ = new_Datatype( MPI_SIGNED_CHAR ) # <<<<<<<<<<<<<< * cdef Datatype __SHORT__ = new_Datatype( MPI_SHORT ) * cdef Datatype __INT__ = new_Datatype( MPI_INT ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_SIGNED_CHAR)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 873, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___SIGNED_CHAR__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___SIGNED_CHAR__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":874 * cdef Datatype __WCHAR__ = new_Datatype( MPI_WCHAR ) * cdef Datatype __SIGNED_CHAR__ = new_Datatype( MPI_SIGNED_CHAR ) * cdef Datatype __SHORT__ = new_Datatype( MPI_SHORT ) # <<<<<<<<<<<<<< * cdef Datatype __INT__ = new_Datatype( MPI_INT ) * cdef Datatype __LONG__ = new_Datatype( MPI_LONG ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_SHORT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 874, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___SHORT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___SHORT__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":875 * cdef Datatype __SIGNED_CHAR__ = new_Datatype( MPI_SIGNED_CHAR ) * cdef Datatype __SHORT__ = new_Datatype( MPI_SHORT ) * cdef Datatype __INT__ = new_Datatype( MPI_INT ) # <<<<<<<<<<<<<< * cdef Datatype __LONG__ = new_Datatype( MPI_LONG ) * cdef Datatype __LONG_LONG__ = new_Datatype( MPI_LONG_LONG ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_INT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INT__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":876 * cdef Datatype __SHORT__ = new_Datatype( MPI_SHORT ) * cdef Datatype __INT__ = new_Datatype( MPI_INT ) * cdef Datatype __LONG__ = new_Datatype( MPI_LONG ) # <<<<<<<<<<<<<< * cdef Datatype __LONG_LONG__ = new_Datatype( MPI_LONG_LONG ) * cdef Datatype __UNSIGNED_CHAR__ = new_Datatype( MPI_UNSIGNED_CHAR ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_LONG)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LONG__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LONG__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":877 * cdef Datatype __INT__ = new_Datatype( MPI_INT ) * cdef Datatype __LONG__ = new_Datatype( MPI_LONG ) * cdef Datatype __LONG_LONG__ = new_Datatype( MPI_LONG_LONG ) # <<<<<<<<<<<<<< * cdef Datatype __UNSIGNED_CHAR__ = new_Datatype( MPI_UNSIGNED_CHAR ) * cdef Datatype __UNSIGNED_SHORT__ = new_Datatype( MPI_UNSIGNED_SHORT ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_LONG_LONG)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_LONG__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LONG_LONG__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":878 * cdef Datatype __LONG__ = new_Datatype( MPI_LONG ) * cdef Datatype __LONG_LONG__ = new_Datatype( MPI_LONG_LONG ) * cdef Datatype __UNSIGNED_CHAR__ = new_Datatype( MPI_UNSIGNED_CHAR ) # <<<<<<<<<<<<<< * cdef Datatype __UNSIGNED_SHORT__ = new_Datatype( MPI_UNSIGNED_SHORT ) * cdef Datatype __UNSIGNED__ = new_Datatype( MPI_UNSIGNED ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_UNSIGNED_CHAR)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 878, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_CHAR__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___UNSIGNED_CHAR__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":879 * cdef Datatype __LONG_LONG__ = new_Datatype( MPI_LONG_LONG ) * cdef Datatype __UNSIGNED_CHAR__ = new_Datatype( MPI_UNSIGNED_CHAR ) * cdef Datatype __UNSIGNED_SHORT__ = new_Datatype( MPI_UNSIGNED_SHORT ) # <<<<<<<<<<<<<< * cdef Datatype __UNSIGNED__ = new_Datatype( MPI_UNSIGNED ) * cdef Datatype __UNSIGNED_LONG__ = new_Datatype( MPI_UNSIGNED_LONG ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_UNSIGNED_SHORT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 879, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_SHORT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___UNSIGNED_SHORT__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":880 * cdef Datatype __UNSIGNED_CHAR__ = new_Datatype( MPI_UNSIGNED_CHAR ) * cdef Datatype __UNSIGNED_SHORT__ = new_Datatype( MPI_UNSIGNED_SHORT ) * cdef Datatype __UNSIGNED__ = new_Datatype( MPI_UNSIGNED ) # <<<<<<<<<<<<<< * cdef Datatype __UNSIGNED_LONG__ = new_Datatype( MPI_UNSIGNED_LONG ) * cdef Datatype __UNSIGNED_LONG_LONG__ = new_Datatype( MPI_UNSIGNED_LONG_LONG ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_UNSIGNED)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___UNSIGNED__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":881 * cdef Datatype __UNSIGNED_SHORT__ = new_Datatype( MPI_UNSIGNED_SHORT ) * cdef Datatype __UNSIGNED__ = new_Datatype( MPI_UNSIGNED ) * cdef Datatype __UNSIGNED_LONG__ = new_Datatype( MPI_UNSIGNED_LONG ) # <<<<<<<<<<<<<< * cdef Datatype __UNSIGNED_LONG_LONG__ = new_Datatype( MPI_UNSIGNED_LONG_LONG ) * cdef Datatype __FLOAT__ = new_Datatype( MPI_FLOAT ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_UNSIGNED_LONG)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 881, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":882 * cdef Datatype __UNSIGNED__ = new_Datatype( MPI_UNSIGNED ) * cdef Datatype __UNSIGNED_LONG__ = new_Datatype( MPI_UNSIGNED_LONG ) * cdef Datatype __UNSIGNED_LONG_LONG__ = new_Datatype( MPI_UNSIGNED_LONG_LONG ) # <<<<<<<<<<<<<< * cdef Datatype __FLOAT__ = new_Datatype( MPI_FLOAT ) * cdef Datatype __DOUBLE__ = new_Datatype( MPI_DOUBLE ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_UNSIGNED_LONG_LONG)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG_LONG__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG_LONG__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":883 * cdef Datatype __UNSIGNED_LONG__ = new_Datatype( MPI_UNSIGNED_LONG ) * cdef Datatype __UNSIGNED_LONG_LONG__ = new_Datatype( MPI_UNSIGNED_LONG_LONG ) * cdef Datatype __FLOAT__ = new_Datatype( MPI_FLOAT ) # <<<<<<<<<<<<<< * cdef Datatype __DOUBLE__ = new_Datatype( MPI_DOUBLE ) * cdef Datatype __LONG_DOUBLE__ = new_Datatype( MPI_LONG_DOUBLE ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_FLOAT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___FLOAT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___FLOAT__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":884 * cdef Datatype __UNSIGNED_LONG_LONG__ = new_Datatype( MPI_UNSIGNED_LONG_LONG ) * cdef Datatype __FLOAT__ = new_Datatype( MPI_FLOAT ) * cdef Datatype __DOUBLE__ = new_Datatype( MPI_DOUBLE ) # <<<<<<<<<<<<<< * cdef Datatype __LONG_DOUBLE__ = new_Datatype( MPI_LONG_DOUBLE ) * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_DOUBLE)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___DOUBLE__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":885 * cdef Datatype __FLOAT__ = new_Datatype( MPI_FLOAT ) * cdef Datatype __DOUBLE__ = new_Datatype( MPI_DOUBLE ) * cdef Datatype __LONG_DOUBLE__ = new_Datatype( MPI_LONG_DOUBLE ) # <<<<<<<<<<<<<< * * cdef Datatype __C_BOOL__ = new_Datatype( MPI_C_BOOL ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_LONG_DOUBLE)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_DOUBLE__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LONG_DOUBLE__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":887 * cdef Datatype __LONG_DOUBLE__ = new_Datatype( MPI_LONG_DOUBLE ) * * cdef Datatype __C_BOOL__ = new_Datatype( MPI_C_BOOL ) # <<<<<<<<<<<<<< * cdef Datatype __INT8_T__ = new_Datatype( MPI_INT8_T ) * cdef Datatype __INT16_T__ = new_Datatype( MPI_INT16_T ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_C_BOOL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___C_BOOL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___C_BOOL__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":888 * * cdef Datatype __C_BOOL__ = new_Datatype( MPI_C_BOOL ) * cdef Datatype __INT8_T__ = new_Datatype( MPI_INT8_T ) # <<<<<<<<<<<<<< * cdef Datatype __INT16_T__ = new_Datatype( MPI_INT16_T ) * cdef Datatype __INT32_T__ = new_Datatype( MPI_INT32_T ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_INT8_T)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INT8_T__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INT8_T__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":889 * cdef Datatype __C_BOOL__ = new_Datatype( MPI_C_BOOL ) * cdef Datatype __INT8_T__ = new_Datatype( MPI_INT8_T ) * cdef Datatype __INT16_T__ = new_Datatype( MPI_INT16_T ) # <<<<<<<<<<<<<< * cdef Datatype __INT32_T__ = new_Datatype( MPI_INT32_T ) * cdef Datatype __INT64_T__ = new_Datatype( MPI_INT64_T ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_INT16_T)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INT16_T__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INT16_T__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":890 * cdef Datatype __INT8_T__ = new_Datatype( MPI_INT8_T ) * cdef Datatype __INT16_T__ = new_Datatype( MPI_INT16_T ) * cdef Datatype __INT32_T__ = new_Datatype( MPI_INT32_T ) # <<<<<<<<<<<<<< * cdef Datatype __INT64_T__ = new_Datatype( MPI_INT64_T ) * cdef Datatype __UINT8_T__ = new_Datatype( MPI_UINT8_T ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_INT32_T)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 890, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INT32_T__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INT32_T__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":891 * cdef Datatype __INT16_T__ = new_Datatype( MPI_INT16_T ) * cdef Datatype __INT32_T__ = new_Datatype( MPI_INT32_T ) * cdef Datatype __INT64_T__ = new_Datatype( MPI_INT64_T ) # <<<<<<<<<<<<<< * cdef Datatype __UINT8_T__ = new_Datatype( MPI_UINT8_T ) * cdef Datatype __UINT16_T__ = new_Datatype( MPI_UINT16_T ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_INT64_T)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INT64_T__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INT64_T__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":892 * cdef Datatype __INT32_T__ = new_Datatype( MPI_INT32_T ) * cdef Datatype __INT64_T__ = new_Datatype( MPI_INT64_T ) * cdef Datatype __UINT8_T__ = new_Datatype( MPI_UINT8_T ) # <<<<<<<<<<<<<< * cdef Datatype __UINT16_T__ = new_Datatype( MPI_UINT16_T ) * cdef Datatype __UINT32_T__ = new_Datatype( MPI_UINT32_T ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_UINT8_T)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___UINT8_T__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___UINT8_T__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":893 * cdef Datatype __INT64_T__ = new_Datatype( MPI_INT64_T ) * cdef Datatype __UINT8_T__ = new_Datatype( MPI_UINT8_T ) * cdef Datatype __UINT16_T__ = new_Datatype( MPI_UINT16_T ) # <<<<<<<<<<<<<< * cdef Datatype __UINT32_T__ = new_Datatype( MPI_UINT32_T ) * cdef Datatype __UINT64_T__ = new_Datatype( MPI_UINT64_T ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_UINT16_T)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___UINT16_T__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___UINT16_T__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":894 * cdef Datatype __UINT8_T__ = new_Datatype( MPI_UINT8_T ) * cdef Datatype __UINT16_T__ = new_Datatype( MPI_UINT16_T ) * cdef Datatype __UINT32_T__ = new_Datatype( MPI_UINT32_T ) # <<<<<<<<<<<<<< * cdef Datatype __UINT64_T__ = new_Datatype( MPI_UINT64_T ) * cdef Datatype __C_COMPLEX__ = new_Datatype( */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_UINT32_T)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___UINT32_T__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___UINT32_T__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":895 * cdef Datatype __UINT16_T__ = new_Datatype( MPI_UINT16_T ) * cdef Datatype __UINT32_T__ = new_Datatype( MPI_UINT32_T ) * cdef Datatype __UINT64_T__ = new_Datatype( MPI_UINT64_T ) # <<<<<<<<<<<<<< * cdef Datatype __C_COMPLEX__ = new_Datatype( * MPI_C_COMPLEX ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_UINT64_T)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___UINT64_T__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___UINT64_T__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":896 * cdef Datatype __UINT32_T__ = new_Datatype( MPI_UINT32_T ) * cdef Datatype __UINT64_T__ = new_Datatype( MPI_UINT64_T ) * cdef Datatype __C_COMPLEX__ = new_Datatype( # <<<<<<<<<<<<<< * MPI_C_COMPLEX ) * cdef Datatype __C_FLOAT_COMPLEX__ = new_Datatype( */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_C_COMPLEX)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___C_COMPLEX__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___C_COMPLEX__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":898 * cdef Datatype __C_COMPLEX__ = new_Datatype( * MPI_C_COMPLEX ) * cdef Datatype __C_FLOAT_COMPLEX__ = new_Datatype( # <<<<<<<<<<<<<< * MPI_C_FLOAT_COMPLEX ) * cdef Datatype __C_DOUBLE_COMPLEX__ = new_Datatype( */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_C_FLOAT_COMPLEX)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 898, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___C_FLOAT_COMPLEX__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___C_FLOAT_COMPLEX__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":900 * cdef Datatype __C_FLOAT_COMPLEX__ = new_Datatype( * MPI_C_FLOAT_COMPLEX ) * cdef Datatype __C_DOUBLE_COMPLEX__ = new_Datatype( # <<<<<<<<<<<<<< * MPI_C_DOUBLE_COMPLEX ) * cdef Datatype __C_LONG_DOUBLE_COMPLEX__ = new_Datatype( */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_C_DOUBLE_COMPLEX)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___C_DOUBLE_COMPLEX__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___C_DOUBLE_COMPLEX__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":902 * cdef Datatype __C_DOUBLE_COMPLEX__ = new_Datatype( * MPI_C_DOUBLE_COMPLEX ) * cdef Datatype __C_LONG_DOUBLE_COMPLEX__ = new_Datatype( # <<<<<<<<<<<<<< * MPI_C_LONG_DOUBLE_COMPLEX ) * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_C_LONG_DOUBLE_COMPLEX)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___C_LONG_DOUBLE_COMPLEX__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___C_LONG_DOUBLE_COMPLEX__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":905 * MPI_C_LONG_DOUBLE_COMPLEX ) * * cdef Datatype __CXX_BOOL__ = new_Datatype( MPI_CXX_BOOL ) # <<<<<<<<<<<<<< * cdef Datatype __CXX_FLOAT_COMPLEX__ = new_Datatype( * MPI_CXX_FLOAT_COMPLEX ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_CXX_BOOL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_BOOL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___CXX_BOOL__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":906 * * cdef Datatype __CXX_BOOL__ = new_Datatype( MPI_CXX_BOOL ) * cdef Datatype __CXX_FLOAT_COMPLEX__ = new_Datatype( # <<<<<<<<<<<<<< * MPI_CXX_FLOAT_COMPLEX ) * cdef Datatype __CXX_DOUBLE_COMPLEX__ = new_Datatype( */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_CXX_FLOAT_COMPLEX)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_FLOAT_COMPLEX__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___CXX_FLOAT_COMPLEX__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":908 * cdef Datatype __CXX_FLOAT_COMPLEX__ = new_Datatype( * MPI_CXX_FLOAT_COMPLEX ) * cdef Datatype __CXX_DOUBLE_COMPLEX__ = new_Datatype( # <<<<<<<<<<<<<< * MPI_CXX_DOUBLE_COMPLEX ) * cdef Datatype __CXX_LONG_DOUBLE_COMPLEX__ = new_Datatype( */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_CXX_DOUBLE_COMPLEX)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_DOUBLE_COMPLEX__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___CXX_DOUBLE_COMPLEX__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":910 * cdef Datatype __CXX_DOUBLE_COMPLEX__ = new_Datatype( * MPI_CXX_DOUBLE_COMPLEX ) * cdef Datatype __CXX_LONG_DOUBLE_COMPLEX__ = new_Datatype( # <<<<<<<<<<<<<< * MPI_CXX_LONG_DOUBLE_COMPLEX ) * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_CXX_LONG_DOUBLE_COMPLEX)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_LONG_DOUBLE_COMPLEX__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___CXX_LONG_DOUBLE_COMPLEX__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":913 * MPI_CXX_LONG_DOUBLE_COMPLEX ) * * cdef Datatype __SHORT_INT__ = new_Datatype( MPI_SHORT_INT ) # <<<<<<<<<<<<<< * cdef Datatype __TWOINT__ = new_Datatype( MPI_2INT ) * cdef Datatype __LONG_INT__ = new_Datatype( MPI_LONG_INT ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_SHORT_INT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___SHORT_INT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___SHORT_INT__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":914 * * cdef Datatype __SHORT_INT__ = new_Datatype( MPI_SHORT_INT ) * cdef Datatype __TWOINT__ = new_Datatype( MPI_2INT ) # <<<<<<<<<<<<<< * cdef Datatype __LONG_INT__ = new_Datatype( MPI_LONG_INT ) * cdef Datatype __FLOAT_INT__ = new_Datatype( MPI_FLOAT_INT ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_2INT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___TWOINT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___TWOINT__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":915 * cdef Datatype __SHORT_INT__ = new_Datatype( MPI_SHORT_INT ) * cdef Datatype __TWOINT__ = new_Datatype( MPI_2INT ) * cdef Datatype __LONG_INT__ = new_Datatype( MPI_LONG_INT ) # <<<<<<<<<<<<<< * cdef Datatype __FLOAT_INT__ = new_Datatype( MPI_FLOAT_INT ) * cdef Datatype __DOUBLE_INT__ = new_Datatype( MPI_DOUBLE_INT ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_LONG_INT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_INT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LONG_INT__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":916 * cdef Datatype __TWOINT__ = new_Datatype( MPI_2INT ) * cdef Datatype __LONG_INT__ = new_Datatype( MPI_LONG_INT ) * cdef Datatype __FLOAT_INT__ = new_Datatype( MPI_FLOAT_INT ) # <<<<<<<<<<<<<< * cdef Datatype __DOUBLE_INT__ = new_Datatype( MPI_DOUBLE_INT ) * cdef Datatype __LONG_DOUBLE_INT__ = new_Datatype( MPI_LONG_DOUBLE_INT ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_FLOAT_INT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___FLOAT_INT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___FLOAT_INT__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":917 * cdef Datatype __LONG_INT__ = new_Datatype( MPI_LONG_INT ) * cdef Datatype __FLOAT_INT__ = new_Datatype( MPI_FLOAT_INT ) * cdef Datatype __DOUBLE_INT__ = new_Datatype( MPI_DOUBLE_INT ) # <<<<<<<<<<<<<< * cdef Datatype __LONG_DOUBLE_INT__ = new_Datatype( MPI_LONG_DOUBLE_INT ) * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_DOUBLE_INT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE_INT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___DOUBLE_INT__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":918 * cdef Datatype __FLOAT_INT__ = new_Datatype( MPI_FLOAT_INT ) * cdef Datatype __DOUBLE_INT__ = new_Datatype( MPI_DOUBLE_INT ) * cdef Datatype __LONG_DOUBLE_INT__ = new_Datatype( MPI_LONG_DOUBLE_INT ) # <<<<<<<<<<<<<< * * cdef Datatype __CHARACTER__ = new_Datatype( MPI_CHARACTER ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_LONG_DOUBLE_INT)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_DOUBLE_INT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LONG_DOUBLE_INT__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":920 * cdef Datatype __LONG_DOUBLE_INT__ = new_Datatype( MPI_LONG_DOUBLE_INT ) * * cdef Datatype __CHARACTER__ = new_Datatype( MPI_CHARACTER ) # <<<<<<<<<<<<<< * cdef Datatype __LOGICAL__ = new_Datatype( MPI_LOGICAL ) * cdef Datatype __INTEGER__ = new_Datatype( MPI_INTEGER ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_CHARACTER)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___CHARACTER__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___CHARACTER__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":921 * * cdef Datatype __CHARACTER__ = new_Datatype( MPI_CHARACTER ) * cdef Datatype __LOGICAL__ = new_Datatype( MPI_LOGICAL ) # <<<<<<<<<<<<<< * cdef Datatype __INTEGER__ = new_Datatype( MPI_INTEGER ) * cdef Datatype __REAL__ = new_Datatype( MPI_REAL ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_LOGICAL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LOGICAL__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":922 * cdef Datatype __CHARACTER__ = new_Datatype( MPI_CHARACTER ) * cdef Datatype __LOGICAL__ = new_Datatype( MPI_LOGICAL ) * cdef Datatype __INTEGER__ = new_Datatype( MPI_INTEGER ) # <<<<<<<<<<<<<< * cdef Datatype __REAL__ = new_Datatype( MPI_REAL ) * cdef Datatype __DOUBLE_PRECISION__ = new_Datatype( MPI_DOUBLE_PRECISION ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_INTEGER)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INTEGER__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":923 * cdef Datatype __LOGICAL__ = new_Datatype( MPI_LOGICAL ) * cdef Datatype __INTEGER__ = new_Datatype( MPI_INTEGER ) * cdef Datatype __REAL__ = new_Datatype( MPI_REAL ) # <<<<<<<<<<<<<< * cdef Datatype __DOUBLE_PRECISION__ = new_Datatype( MPI_DOUBLE_PRECISION ) * cdef Datatype __COMPLEX__ = new_Datatype( MPI_COMPLEX ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_REAL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 923, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___REAL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___REAL__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":924 * cdef Datatype __INTEGER__ = new_Datatype( MPI_INTEGER ) * cdef Datatype __REAL__ = new_Datatype( MPI_REAL ) * cdef Datatype __DOUBLE_PRECISION__ = new_Datatype( MPI_DOUBLE_PRECISION ) # <<<<<<<<<<<<<< * cdef Datatype __COMPLEX__ = new_Datatype( MPI_COMPLEX ) * cdef Datatype __DOUBLE_COMPLEX__ = new_Datatype( MPI_DOUBLE_COMPLEX ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_DOUBLE_PRECISION)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE_PRECISION__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___DOUBLE_PRECISION__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":925 * cdef Datatype __REAL__ = new_Datatype( MPI_REAL ) * cdef Datatype __DOUBLE_PRECISION__ = new_Datatype( MPI_DOUBLE_PRECISION ) * cdef Datatype __COMPLEX__ = new_Datatype( MPI_COMPLEX ) # <<<<<<<<<<<<<< * cdef Datatype __DOUBLE_COMPLEX__ = new_Datatype( MPI_DOUBLE_COMPLEX ) * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_COMPLEX)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMPLEX__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":926 * cdef Datatype __DOUBLE_PRECISION__ = new_Datatype( MPI_DOUBLE_PRECISION ) * cdef Datatype __COMPLEX__ = new_Datatype( MPI_COMPLEX ) * cdef Datatype __DOUBLE_COMPLEX__ = new_Datatype( MPI_DOUBLE_COMPLEX ) # <<<<<<<<<<<<<< * * cdef Datatype __LOGICAL1__ = new_Datatype( MPI_LOGICAL1 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_DOUBLE_COMPLEX)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 926, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE_COMPLEX__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___DOUBLE_COMPLEX__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":928 * cdef Datatype __DOUBLE_COMPLEX__ = new_Datatype( MPI_DOUBLE_COMPLEX ) * * cdef Datatype __LOGICAL1__ = new_Datatype( MPI_LOGICAL1 ) # <<<<<<<<<<<<<< * cdef Datatype __LOGICAL2__ = new_Datatype( MPI_LOGICAL2 ) * cdef Datatype __LOGICAL4__ = new_Datatype( MPI_LOGICAL4 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_LOGICAL1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL1__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LOGICAL1__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":929 * * cdef Datatype __LOGICAL1__ = new_Datatype( MPI_LOGICAL1 ) * cdef Datatype __LOGICAL2__ = new_Datatype( MPI_LOGICAL2 ) # <<<<<<<<<<<<<< * cdef Datatype __LOGICAL4__ = new_Datatype( MPI_LOGICAL4 ) * cdef Datatype __LOGICAL8__ = new_Datatype( MPI_LOGICAL8 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_LOGICAL2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL2__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LOGICAL2__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":930 * cdef Datatype __LOGICAL1__ = new_Datatype( MPI_LOGICAL1 ) * cdef Datatype __LOGICAL2__ = new_Datatype( MPI_LOGICAL2 ) * cdef Datatype __LOGICAL4__ = new_Datatype( MPI_LOGICAL4 ) # <<<<<<<<<<<<<< * cdef Datatype __LOGICAL8__ = new_Datatype( MPI_LOGICAL8 ) * cdef Datatype __INTEGER1__ = new_Datatype( MPI_INTEGER1 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_LOGICAL4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL4__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LOGICAL4__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":931 * cdef Datatype __LOGICAL2__ = new_Datatype( MPI_LOGICAL2 ) * cdef Datatype __LOGICAL4__ = new_Datatype( MPI_LOGICAL4 ) * cdef Datatype __LOGICAL8__ = new_Datatype( MPI_LOGICAL8 ) # <<<<<<<<<<<<<< * cdef Datatype __INTEGER1__ = new_Datatype( MPI_INTEGER1 ) * cdef Datatype __INTEGER2__ = new_Datatype( MPI_INTEGER2 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_LOGICAL8)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL8__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LOGICAL8__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":932 * cdef Datatype __LOGICAL4__ = new_Datatype( MPI_LOGICAL4 ) * cdef Datatype __LOGICAL8__ = new_Datatype( MPI_LOGICAL8 ) * cdef Datatype __INTEGER1__ = new_Datatype( MPI_INTEGER1 ) # <<<<<<<<<<<<<< * cdef Datatype __INTEGER2__ = new_Datatype( MPI_INTEGER2 ) * cdef Datatype __INTEGER4__ = new_Datatype( MPI_INTEGER4 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_INTEGER1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 932, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER1__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INTEGER1__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":933 * cdef Datatype __LOGICAL8__ = new_Datatype( MPI_LOGICAL8 ) * cdef Datatype __INTEGER1__ = new_Datatype( MPI_INTEGER1 ) * cdef Datatype __INTEGER2__ = new_Datatype( MPI_INTEGER2 ) # <<<<<<<<<<<<<< * cdef Datatype __INTEGER4__ = new_Datatype( MPI_INTEGER4 ) * cdef Datatype __INTEGER8__ = new_Datatype( MPI_INTEGER8 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_INTEGER2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER2__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INTEGER2__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":934 * cdef Datatype __INTEGER1__ = new_Datatype( MPI_INTEGER1 ) * cdef Datatype __INTEGER2__ = new_Datatype( MPI_INTEGER2 ) * cdef Datatype __INTEGER4__ = new_Datatype( MPI_INTEGER4 ) # <<<<<<<<<<<<<< * cdef Datatype __INTEGER8__ = new_Datatype( MPI_INTEGER8 ) * cdef Datatype __INTEGER16__ = new_Datatype( MPI_INTEGER16 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_INTEGER4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 934, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER4__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INTEGER4__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":935 * cdef Datatype __INTEGER2__ = new_Datatype( MPI_INTEGER2 ) * cdef Datatype __INTEGER4__ = new_Datatype( MPI_INTEGER4 ) * cdef Datatype __INTEGER8__ = new_Datatype( MPI_INTEGER8 ) # <<<<<<<<<<<<<< * cdef Datatype __INTEGER16__ = new_Datatype( MPI_INTEGER16 ) * cdef Datatype __REAL2__ = new_Datatype( MPI_REAL2 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_INTEGER8)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER8__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INTEGER8__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":936 * cdef Datatype __INTEGER4__ = new_Datatype( MPI_INTEGER4 ) * cdef Datatype __INTEGER8__ = new_Datatype( MPI_INTEGER8 ) * cdef Datatype __INTEGER16__ = new_Datatype( MPI_INTEGER16 ) # <<<<<<<<<<<<<< * cdef Datatype __REAL2__ = new_Datatype( MPI_REAL2 ) * cdef Datatype __REAL4__ = new_Datatype( MPI_REAL4 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_INTEGER16)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER16__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INTEGER16__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":937 * cdef Datatype __INTEGER8__ = new_Datatype( MPI_INTEGER8 ) * cdef Datatype __INTEGER16__ = new_Datatype( MPI_INTEGER16 ) * cdef Datatype __REAL2__ = new_Datatype( MPI_REAL2 ) # <<<<<<<<<<<<<< * cdef Datatype __REAL4__ = new_Datatype( MPI_REAL4 ) * cdef Datatype __REAL8__ = new_Datatype( MPI_REAL8 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_REAL2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___REAL2__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___REAL2__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":938 * cdef Datatype __INTEGER16__ = new_Datatype( MPI_INTEGER16 ) * cdef Datatype __REAL2__ = new_Datatype( MPI_REAL2 ) * cdef Datatype __REAL4__ = new_Datatype( MPI_REAL4 ) # <<<<<<<<<<<<<< * cdef Datatype __REAL8__ = new_Datatype( MPI_REAL8 ) * cdef Datatype __REAL16__ = new_Datatype( MPI_REAL16 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_REAL4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___REAL4__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___REAL4__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":939 * cdef Datatype __REAL2__ = new_Datatype( MPI_REAL2 ) * cdef Datatype __REAL4__ = new_Datatype( MPI_REAL4 ) * cdef Datatype __REAL8__ = new_Datatype( MPI_REAL8 ) # <<<<<<<<<<<<<< * cdef Datatype __REAL16__ = new_Datatype( MPI_REAL16 ) * cdef Datatype __COMPLEX4__ = new_Datatype( MPI_COMPLEX4 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_REAL8)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___REAL8__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___REAL8__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":940 * cdef Datatype __REAL4__ = new_Datatype( MPI_REAL4 ) * cdef Datatype __REAL8__ = new_Datatype( MPI_REAL8 ) * cdef Datatype __REAL16__ = new_Datatype( MPI_REAL16 ) # <<<<<<<<<<<<<< * cdef Datatype __COMPLEX4__ = new_Datatype( MPI_COMPLEX4 ) * cdef Datatype __COMPLEX8__ = new_Datatype( MPI_COMPLEX8 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_REAL16)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___REAL16__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___REAL16__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":941 * cdef Datatype __REAL8__ = new_Datatype( MPI_REAL8 ) * cdef Datatype __REAL16__ = new_Datatype( MPI_REAL16 ) * cdef Datatype __COMPLEX4__ = new_Datatype( MPI_COMPLEX4 ) # <<<<<<<<<<<<<< * cdef Datatype __COMPLEX8__ = new_Datatype( MPI_COMPLEX8 ) * cdef Datatype __COMPLEX16__ = new_Datatype( MPI_COMPLEX16 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_COMPLEX4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX4__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMPLEX4__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":942 * cdef Datatype __REAL16__ = new_Datatype( MPI_REAL16 ) * cdef Datatype __COMPLEX4__ = new_Datatype( MPI_COMPLEX4 ) * cdef Datatype __COMPLEX8__ = new_Datatype( MPI_COMPLEX8 ) # <<<<<<<<<<<<<< * cdef Datatype __COMPLEX16__ = new_Datatype( MPI_COMPLEX16 ) * cdef Datatype __COMPLEX32__ = new_Datatype( MPI_COMPLEX32 ) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_COMPLEX8)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX8__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMPLEX8__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":943 * cdef Datatype __COMPLEX4__ = new_Datatype( MPI_COMPLEX4 ) * cdef Datatype __COMPLEX8__ = new_Datatype( MPI_COMPLEX8 ) * cdef Datatype __COMPLEX16__ = new_Datatype( MPI_COMPLEX16 ) # <<<<<<<<<<<<<< * cdef Datatype __COMPLEX32__ = new_Datatype( MPI_COMPLEX32 ) * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_COMPLEX16)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX16__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMPLEX16__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":944 * cdef Datatype __COMPLEX8__ = new_Datatype( MPI_COMPLEX8 ) * cdef Datatype __COMPLEX16__ = new_Datatype( MPI_COMPLEX16 ) * cdef Datatype __COMPLEX32__ = new_Datatype( MPI_COMPLEX32 ) # <<<<<<<<<<<<<< * * include "typemap.pxi" */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Datatype(MPI_COMPLEX32)); if (unlikely(!__pyx_t_3)) __PYX_ERR(21, 944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX32__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMPLEX32__, ((struct PyMPIDatatypeObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":11 * # ----------------------------------------------------------------------------- * * cdef dict TypeDict = { } # <<<<<<<<<<<<<< * _typedict = TypeDict * */ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(22, 11, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_TypeDict); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_TypeDict, ((PyObject*)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":12 * * cdef dict TypeDict = { } * _typedict = TypeDict # <<<<<<<<<<<<<< * * # boolean (C++) */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_typedict, __pyx_v_6mpi4py_3MPI_TypeDict) < 0) __PYX_ERR(22, 12, __pyx_L1_error) /* "mpi4py/MPI/typemap.pxi":15 * * # boolean (C++) * AddTypeMap(TypeDict, "?" , __CXX_BOOL__ ) # PEP-3118 & NumPy # <<<<<<<<<<<<<< * # boolean (C99) * AddTypeMap(TypeDict, "?" , __C_BOOL__ ) # PEP-3118 & NumPy */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_BOOL__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"?"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 15, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":17 * AddTypeMap(TypeDict, "?" , __CXX_BOOL__ ) # PEP-3118 & NumPy * # boolean (C99) * AddTypeMap(TypeDict, "?" , __C_BOOL__ ) # PEP-3118 & NumPy # <<<<<<<<<<<<<< * # character * AddTypeMap(TypeDict, "c" , __CHAR__ ) # PEP-3118 & NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_BOOL__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"?"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 17, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":19 * AddTypeMap(TypeDict, "?" , __C_BOOL__ ) # PEP-3118 & NumPy * # character * AddTypeMap(TypeDict, "c" , __CHAR__ ) # PEP-3118 & NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "S" , __CHAR__ ) # NumPy * # UCS-2|4 */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___CHAR__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"c"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 19, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":20 * # character * AddTypeMap(TypeDict, "c" , __CHAR__ ) # PEP-3118 & NumPy * AddTypeMap(TypeDict, "S" , __CHAR__ ) # NumPy # <<<<<<<<<<<<<< * # UCS-2|4 * AddTypeMap(TypeDict, "u" , __UNSIGNED_SHORT__ ) # PEP-3118 */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___CHAR__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"S"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 20, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":22 * AddTypeMap(TypeDict, "S" , __CHAR__ ) # NumPy * # UCS-2|4 * AddTypeMap(TypeDict, "u" , __UNSIGNED_SHORT__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "u" , __UINT16_T__ ) # PEP-3118 * AddTypeMap(TypeDict, "w" , __UNSIGNED__ ) # PEP-3118 */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_SHORT__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"u"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 22, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":23 * # UCS-2|4 * AddTypeMap(TypeDict, "u" , __UNSIGNED_SHORT__ ) # PEP-3118 * AddTypeMap(TypeDict, "u" , __UINT16_T__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "w" , __UNSIGNED__ ) # PEP-3118 * AddTypeMap(TypeDict, "w" , __UINT32_T__ ) # PEP-3118 */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT16_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"u"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 23, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":24 * AddTypeMap(TypeDict, "u" , __UNSIGNED_SHORT__ ) # PEP-3118 * AddTypeMap(TypeDict, "u" , __UINT16_T__ ) # PEP-3118 * AddTypeMap(TypeDict, "w" , __UNSIGNED__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "w" , __UINT32_T__ ) # PEP-3118 * # (signed) integer */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"w"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 24, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":25 * AddTypeMap(TypeDict, "u" , __UINT16_T__ ) # PEP-3118 * AddTypeMap(TypeDict, "w" , __UNSIGNED__ ) # PEP-3118 * AddTypeMap(TypeDict, "w" , __UINT32_T__ ) # PEP-3118 # <<<<<<<<<<<<<< * # (signed) integer * AddTypeMap(TypeDict, "b" , __SIGNED_CHAR__ ) # MPI-2 */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT32_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"w"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 25, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":27 * AddTypeMap(TypeDict, "w" , __UINT32_T__ ) # PEP-3118 * # (signed) integer * AddTypeMap(TypeDict, "b" , __SIGNED_CHAR__ ) # MPI-2 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "h" , __SHORT__ ) * AddTypeMap(TypeDict, "i" , __INT__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___SIGNED_CHAR__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"b"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 27, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":28 * # (signed) integer * AddTypeMap(TypeDict, "b" , __SIGNED_CHAR__ ) # MPI-2 * AddTypeMap(TypeDict, "h" , __SHORT__ ) # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i" , __INT__ ) * AddTypeMap(TypeDict, "l" , __LONG__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___SHORT__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"h"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 28, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":29 * AddTypeMap(TypeDict, "b" , __SIGNED_CHAR__ ) # MPI-2 * AddTypeMap(TypeDict, "h" , __SHORT__ ) * AddTypeMap(TypeDict, "i" , __INT__ ) # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "l" , __LONG__ ) * AddTypeMap(TypeDict, "q" , __LONG_LONG__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 29, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":30 * AddTypeMap(TypeDict, "h" , __SHORT__ ) * AddTypeMap(TypeDict, "i" , __INT__ ) * AddTypeMap(TypeDict, "l" , __LONG__ ) # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "q" , __LONG_LONG__ ) * AddTypeMap(TypeDict, "p" , __AINT__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"l"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 30, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":31 * AddTypeMap(TypeDict, "i" , __INT__ ) * AddTypeMap(TypeDict, "l" , __LONG__ ) * AddTypeMap(TypeDict, "q" , __LONG_LONG__ ) # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "p" , __AINT__ ) # NumPy * # unsigned integer */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_LONG__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"q"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 31, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":32 * AddTypeMap(TypeDict, "l" , __LONG__ ) * AddTypeMap(TypeDict, "q" , __LONG_LONG__ ) * AddTypeMap(TypeDict, "p" , __AINT__ ) # NumPy # <<<<<<<<<<<<<< * # unsigned integer * AddTypeMap(TypeDict, "B" , __UNSIGNED_CHAR__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___AINT__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"p"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 32, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":34 * AddTypeMap(TypeDict, "p" , __AINT__ ) # NumPy * # unsigned integer * AddTypeMap(TypeDict, "B" , __UNSIGNED_CHAR__ ) # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "H" , __UNSIGNED_SHORT__ ) * AddTypeMap(TypeDict, "I" , __UNSIGNED__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_CHAR__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"B"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":35 * # unsigned integer * AddTypeMap(TypeDict, "B" , __UNSIGNED_CHAR__ ) * AddTypeMap(TypeDict, "H" , __UNSIGNED_SHORT__ ) # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "I" , __UNSIGNED__ ) * AddTypeMap(TypeDict, "L" , __UNSIGNED_LONG__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_SHORT__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"H"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 35, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":36 * AddTypeMap(TypeDict, "B" , __UNSIGNED_CHAR__ ) * AddTypeMap(TypeDict, "H" , __UNSIGNED_SHORT__ ) * AddTypeMap(TypeDict, "I" , __UNSIGNED__ ) # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "L" , __UNSIGNED_LONG__ ) * AddTypeMap(TypeDict, "Q" , __UNSIGNED_LONG_LONG__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"I"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 36, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":37 * AddTypeMap(TypeDict, "H" , __UNSIGNED_SHORT__ ) * AddTypeMap(TypeDict, "I" , __UNSIGNED__ ) * AddTypeMap(TypeDict, "L" , __UNSIGNED_LONG__ ) # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "Q" , __UNSIGNED_LONG_LONG__ ) * # (real) floating */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"L"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 37, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":38 * AddTypeMap(TypeDict, "I" , __UNSIGNED__ ) * AddTypeMap(TypeDict, "L" , __UNSIGNED_LONG__ ) * AddTypeMap(TypeDict, "Q" , __UNSIGNED_LONG_LONG__ ) # <<<<<<<<<<<<<< * # (real) floating * AddTypeMap(TypeDict, "f" , __FLOAT__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG_LONG__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"Q"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 38, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":40 * AddTypeMap(TypeDict, "Q" , __UNSIGNED_LONG_LONG__ ) * # (real) floating * AddTypeMap(TypeDict, "f" , __FLOAT__ ) # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "d" , __DOUBLE__ ) * AddTypeMap(TypeDict, "g" , __LONG_DOUBLE__ ) # PEP-3118 & NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___FLOAT__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"f"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 40, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":41 * # (real) floating * AddTypeMap(TypeDict, "f" , __FLOAT__ ) * AddTypeMap(TypeDict, "d" , __DOUBLE__ ) # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "g" , __LONG_DOUBLE__ ) # PEP-3118 & NumPy * # complex floating (F77) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"d"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 41, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":42 * AddTypeMap(TypeDict, "f" , __FLOAT__ ) * AddTypeMap(TypeDict, "d" , __DOUBLE__ ) * AddTypeMap(TypeDict, "g" , __LONG_DOUBLE__ ) # PEP-3118 & NumPy # <<<<<<<<<<<<<< * # complex floating (F77) * AddTypeMap(TypeDict, "Zf" , __COMPLEX__ ) # PEP-3118 */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_DOUBLE__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"g"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 42, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":44 * AddTypeMap(TypeDict, "g" , __LONG_DOUBLE__ ) # PEP-3118 & NumPy * # complex floating (F77) * AddTypeMap(TypeDict, "Zf" , __COMPLEX__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "Zd" , __DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "F" , __COMPLEX__ ) # NumPy */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"Zf"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 44, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":45 * # complex floating (F77) * AddTypeMap(TypeDict, "Zf" , __COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zd" , __DOUBLE_COMPLEX__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "F" , __COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "D" , __DOUBLE_COMPLEX__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"Zd"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 45, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":46 * AddTypeMap(TypeDict, "Zf" , __COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zd" , __DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "F" , __COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "D" , __DOUBLE_COMPLEX__ ) # NumPy * # complex floating (F90) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"F"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 46, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":47 * AddTypeMap(TypeDict, "Zd" , __DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "F" , __COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "D" , __DOUBLE_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * # complex floating (F90) * AddTypeMap(TypeDict, "Zf" , __COMPLEX8__ ) # PEP-3118 */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"D"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 47, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":49 * AddTypeMap(TypeDict, "D" , __DOUBLE_COMPLEX__ ) # NumPy * # complex floating (F90) * AddTypeMap(TypeDict, "Zf" , __COMPLEX8__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "Zd" , __COMPLEX16__ ) # PEP-3118 * AddTypeMap(TypeDict, "F" , __COMPLEX8__ ) # NumPy */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX8__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"Zf"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 49, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":50 * # complex floating (F90) * AddTypeMap(TypeDict, "Zf" , __COMPLEX8__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zd" , __COMPLEX16__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "F" , __COMPLEX8__ ) # NumPy * AddTypeMap(TypeDict, "D" , __COMPLEX16__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX16__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"Zd"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 50, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":51 * AddTypeMap(TypeDict, "Zf" , __COMPLEX8__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zd" , __COMPLEX16__ ) # PEP-3118 * AddTypeMap(TypeDict, "F" , __COMPLEX8__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "D" , __COMPLEX16__ ) # NumPy * # complex floating (C++) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX8__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"F"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":52 * AddTypeMap(TypeDict, "Zd" , __COMPLEX16__ ) # PEP-3118 * AddTypeMap(TypeDict, "F" , __COMPLEX8__ ) # NumPy * AddTypeMap(TypeDict, "D" , __COMPLEX16__ ) # NumPy # <<<<<<<<<<<<<< * # complex floating (C++) * AddTypeMap(TypeDict, "Zf" , __CXX_FLOAT_COMPLEX__ ) # PEP-3118 */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX16__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"D"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 52, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":54 * AddTypeMap(TypeDict, "D" , __COMPLEX16__ ) # NumPy * # complex floating (C++) * AddTypeMap(TypeDict, "Zf" , __CXX_FLOAT_COMPLEX__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "Zd" , __CXX_DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zg" , __CXX_LONG_DOUBLE_COMPLEX__ ) # PEP-3118 */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_FLOAT_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"Zf"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 54, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":55 * # complex floating (C++) * AddTypeMap(TypeDict, "Zf" , __CXX_FLOAT_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zd" , __CXX_DOUBLE_COMPLEX__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "Zg" , __CXX_LONG_DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "F" , __CXX_FLOAT_COMPLEX__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"Zd"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 55, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":56 * AddTypeMap(TypeDict, "Zf" , __CXX_FLOAT_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zd" , __CXX_DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zg" , __CXX_LONG_DOUBLE_COMPLEX__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "F" , __CXX_FLOAT_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "D" , __CXX_DOUBLE_COMPLEX__ ) # NumPy */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_LONG_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"Zg"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 56, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":57 * AddTypeMap(TypeDict, "Zd" , __CXX_DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zg" , __CXX_LONG_DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "F" , __CXX_FLOAT_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "D" , __CXX_DOUBLE_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "G" , __CXX_LONG_DOUBLE_COMPLEX__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_FLOAT_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"F"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 57, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":58 * AddTypeMap(TypeDict, "Zg" , __CXX_LONG_DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "F" , __CXX_FLOAT_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "D" , __CXX_DOUBLE_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "G" , __CXX_LONG_DOUBLE_COMPLEX__ ) # NumPy * # complex floating (C99) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"D"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 58, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":59 * AddTypeMap(TypeDict, "F" , __CXX_FLOAT_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "D" , __CXX_DOUBLE_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "G" , __CXX_LONG_DOUBLE_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * # complex floating (C99) * AddTypeMap(TypeDict, "Zf" , __C_FLOAT_COMPLEX__ ) # PEP-3118 */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_LONG_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"G"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 59, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":61 * AddTypeMap(TypeDict, "G" , __CXX_LONG_DOUBLE_COMPLEX__ ) # NumPy * # complex floating (C99) * AddTypeMap(TypeDict, "Zf" , __C_FLOAT_COMPLEX__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "Zd" , __C_DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zg" , __C_LONG_DOUBLE_COMPLEX__ ) # PEP-3118 */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_FLOAT_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"Zf"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 61, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":62 * # complex floating (C99) * AddTypeMap(TypeDict, "Zf" , __C_FLOAT_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zd" , __C_DOUBLE_COMPLEX__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "Zg" , __C_LONG_DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "F" , __C_FLOAT_COMPLEX__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"Zd"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 62, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":63 * AddTypeMap(TypeDict, "Zf" , __C_FLOAT_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zd" , __C_DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zg" , __C_LONG_DOUBLE_COMPLEX__ ) # PEP-3118 # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "F" , __C_FLOAT_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "D" , __C_DOUBLE_COMPLEX__ ) # NumPy */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_LONG_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"Zg"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 63, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":64 * AddTypeMap(TypeDict, "Zd" , __C_DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "Zg" , __C_LONG_DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "F" , __C_FLOAT_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "D" , __C_DOUBLE_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "G" , __C_LONG_DOUBLE_COMPLEX__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_FLOAT_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"F"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 64, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":65 * AddTypeMap(TypeDict, "Zg" , __C_LONG_DOUBLE_COMPLEX__ ) # PEP-3118 * AddTypeMap(TypeDict, "F" , __C_FLOAT_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "D" , __C_DOUBLE_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "G" , __C_LONG_DOUBLE_COMPLEX__ ) # NumPy * */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"D"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 65, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":66 * AddTypeMap(TypeDict, "F" , __C_FLOAT_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "D" , __C_DOUBLE_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "G" , __C_LONG_DOUBLE_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * * # signed and unsigned integer (C) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_LONG_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"G"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 66, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":69 * * # signed and unsigned integer (C) * if sizeof(char) == 1: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i1" , __SIGNED_CHAR__ ) # NumPy * AddTypeMap(TypeDict, "u1" , __UNSIGNED_CHAR__ ) # NumPy */ __pyx_t_19 = (((sizeof(char)) == 1) != 0); if (__pyx_t_19) { /* "mpi4py/MPI/typemap.pxi":70 * # signed and unsigned integer (C) * if sizeof(char) == 1: * AddTypeMap(TypeDict, "i1" , __SIGNED_CHAR__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "u1" , __UNSIGNED_CHAR__ ) # NumPy * if sizeof(short) == 2: */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___SIGNED_CHAR__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i1"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 70, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":71 * if sizeof(char) == 1: * AddTypeMap(TypeDict, "i1" , __SIGNED_CHAR__ ) # NumPy * AddTypeMap(TypeDict, "u1" , __UNSIGNED_CHAR__ ) # NumPy # <<<<<<<<<<<<<< * if sizeof(short) == 2: * AddTypeMap(TypeDict, "i2" , __SHORT__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_CHAR__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"u1"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 71, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":69 * * # signed and unsigned integer (C) * if sizeof(char) == 1: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i1" , __SIGNED_CHAR__ ) # NumPy * AddTypeMap(TypeDict, "u1" , __UNSIGNED_CHAR__ ) # NumPy */ } /* "mpi4py/MPI/typemap.pxi":72 * AddTypeMap(TypeDict, "i1" , __SIGNED_CHAR__ ) # NumPy * AddTypeMap(TypeDict, "u1" , __UNSIGNED_CHAR__ ) # NumPy * if sizeof(short) == 2: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i2" , __SHORT__ ) # NumPy * AddTypeMap(TypeDict, "u2" , __UNSIGNED_SHORT__ ) # NumPy */ __pyx_t_19 = (((sizeof(short)) == 2) != 0); if (__pyx_t_19) { /* "mpi4py/MPI/typemap.pxi":73 * AddTypeMap(TypeDict, "u1" , __UNSIGNED_CHAR__ ) # NumPy * if sizeof(short) == 2: * AddTypeMap(TypeDict, "i2" , __SHORT__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "u2" , __UNSIGNED_SHORT__ ) # NumPy * if sizeof(int) == 4: */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___SHORT__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i2"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 73, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":74 * if sizeof(short) == 2: * AddTypeMap(TypeDict, "i2" , __SHORT__ ) # NumPy * AddTypeMap(TypeDict, "u2" , __UNSIGNED_SHORT__ ) # NumPy # <<<<<<<<<<<<<< * if sizeof(int) == 4: * AddTypeMap(TypeDict, "i4" , __INT__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_SHORT__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"u2"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 74, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":72 * AddTypeMap(TypeDict, "i1" , __SIGNED_CHAR__ ) # NumPy * AddTypeMap(TypeDict, "u1" , __UNSIGNED_CHAR__ ) # NumPy * if sizeof(short) == 2: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i2" , __SHORT__ ) # NumPy * AddTypeMap(TypeDict, "u2" , __UNSIGNED_SHORT__ ) # NumPy */ } /* "mpi4py/MPI/typemap.pxi":75 * AddTypeMap(TypeDict, "i2" , __SHORT__ ) # NumPy * AddTypeMap(TypeDict, "u2" , __UNSIGNED_SHORT__ ) # NumPy * if sizeof(int) == 4: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i4" , __INT__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UNSIGNED__ ) # NumPy */ __pyx_t_19 = (((sizeof(int)) == 4) != 0); if (__pyx_t_19) { /* "mpi4py/MPI/typemap.pxi":76 * AddTypeMap(TypeDict, "u2" , __UNSIGNED_SHORT__ ) # NumPy * if sizeof(int) == 4: * AddTypeMap(TypeDict, "i4" , __INT__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "u4" , __UNSIGNED__ ) # NumPy * elif sizeof(long) == 4: */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i4"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 76, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":77 * if sizeof(int) == 4: * AddTypeMap(TypeDict, "i4" , __INT__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UNSIGNED__ ) # NumPy # <<<<<<<<<<<<<< * elif sizeof(long) == 4: * AddTypeMap(TypeDict, "i4" , __LONG__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"u4"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 77, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":75 * AddTypeMap(TypeDict, "i2" , __SHORT__ ) # NumPy * AddTypeMap(TypeDict, "u2" , __UNSIGNED_SHORT__ ) # NumPy * if sizeof(int) == 4: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i4" , __INT__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UNSIGNED__ ) # NumPy */ goto __pyx_L74; } /* "mpi4py/MPI/typemap.pxi":78 * AddTypeMap(TypeDict, "i4" , __INT__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UNSIGNED__ ) # NumPy * elif sizeof(long) == 4: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i4" , __LONG__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UNSIGNED_LONG__ ) # NumPy */ __pyx_t_19 = (((sizeof(long)) == 4) != 0); if (__pyx_t_19) { /* "mpi4py/MPI/typemap.pxi":79 * AddTypeMap(TypeDict, "u4" , __UNSIGNED__ ) # NumPy * elif sizeof(long) == 4: * AddTypeMap(TypeDict, "i4" , __LONG__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "u4" , __UNSIGNED_LONG__ ) # NumPy * if sizeof(long) == 8: */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i4"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 79, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":80 * elif sizeof(long) == 4: * AddTypeMap(TypeDict, "i4" , __LONG__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UNSIGNED_LONG__ ) # NumPy # <<<<<<<<<<<<<< * if sizeof(long) == 8: * AddTypeMap(TypeDict, "i8" , __LONG__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"u4"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 80, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":78 * AddTypeMap(TypeDict, "i4" , __INT__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UNSIGNED__ ) # NumPy * elif sizeof(long) == 4: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i4" , __LONG__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UNSIGNED_LONG__ ) # NumPy */ } __pyx_L74:; /* "mpi4py/MPI/typemap.pxi":81 * AddTypeMap(TypeDict, "i4" , __LONG__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UNSIGNED_LONG__ ) # NumPy * if sizeof(long) == 8: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i8" , __LONG__ ) # NumPy * AddTypeMap(TypeDict, "u8" , __UNSIGNED_LONG__ ) # NumPy */ __pyx_t_19 = (((sizeof(long)) == 8) != 0); if (__pyx_t_19) { /* "mpi4py/MPI/typemap.pxi":82 * AddTypeMap(TypeDict, "u4" , __UNSIGNED_LONG__ ) # NumPy * if sizeof(long) == 8: * AddTypeMap(TypeDict, "i8" , __LONG__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "u8" , __UNSIGNED_LONG__ ) # NumPy * elif sizeof(long long) == 8: */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i8"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 82, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":83 * if sizeof(long) == 8: * AddTypeMap(TypeDict, "i8" , __LONG__ ) # NumPy * AddTypeMap(TypeDict, "u8" , __UNSIGNED_LONG__ ) # NumPy # <<<<<<<<<<<<<< * elif sizeof(long long) == 8: * AddTypeMap(TypeDict, "i8" , __LONG_LONG__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"u8"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":81 * AddTypeMap(TypeDict, "i4" , __LONG__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UNSIGNED_LONG__ ) # NumPy * if sizeof(long) == 8: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i8" , __LONG__ ) # NumPy * AddTypeMap(TypeDict, "u8" , __UNSIGNED_LONG__ ) # NumPy */ goto __pyx_L75; } /* "mpi4py/MPI/typemap.pxi":84 * AddTypeMap(TypeDict, "i8" , __LONG__ ) # NumPy * AddTypeMap(TypeDict, "u8" , __UNSIGNED_LONG__ ) # NumPy * elif sizeof(long long) == 8: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i8" , __LONG_LONG__ ) # NumPy * AddTypeMap(TypeDict, "u8" , __UNSIGNED_LONG_LONG__ ) # NumPy */ __pyx_t_19 = (((sizeof(PY_LONG_LONG)) == 8) != 0); if (__pyx_t_19) { /* "mpi4py/MPI/typemap.pxi":85 * AddTypeMap(TypeDict, "u8" , __UNSIGNED_LONG__ ) # NumPy * elif sizeof(long long) == 8: * AddTypeMap(TypeDict, "i8" , __LONG_LONG__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "u8" , __UNSIGNED_LONG_LONG__ ) # NumPy * # signed integer (C99) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_LONG__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i8"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 85, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":86 * elif sizeof(long long) == 8: * AddTypeMap(TypeDict, "i8" , __LONG_LONG__ ) # NumPy * AddTypeMap(TypeDict, "u8" , __UNSIGNED_LONG_LONG__ ) # NumPy # <<<<<<<<<<<<<< * # signed integer (C99) * AddTypeMap(TypeDict, "i1" , __INT8_T__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG_LONG__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"u8"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 86, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":84 * AddTypeMap(TypeDict, "i8" , __LONG__ ) # NumPy * AddTypeMap(TypeDict, "u8" , __UNSIGNED_LONG__ ) # NumPy * elif sizeof(long long) == 8: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i8" , __LONG_LONG__ ) # NumPy * AddTypeMap(TypeDict, "u8" , __UNSIGNED_LONG_LONG__ ) # NumPy */ } __pyx_L75:; /* "mpi4py/MPI/typemap.pxi":88 * AddTypeMap(TypeDict, "u8" , __UNSIGNED_LONG_LONG__ ) # NumPy * # signed integer (C99) * AddTypeMap(TypeDict, "i1" , __INT8_T__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i2" , __INT16_T__ ) # NumPy * AddTypeMap(TypeDict, "i4" , __INT32_T__ ) # NumPy */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT8_T__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i1"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 88, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":89 * # signed integer (C99) * AddTypeMap(TypeDict, "i1" , __INT8_T__ ) # NumPy * AddTypeMap(TypeDict, "i2" , __INT16_T__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i4" , __INT32_T__ ) # NumPy * AddTypeMap(TypeDict, "i8" , __INT64_T__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT16_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"i2"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 89, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":90 * AddTypeMap(TypeDict, "i1" , __INT8_T__ ) # NumPy * AddTypeMap(TypeDict, "i2" , __INT16_T__ ) # NumPy * AddTypeMap(TypeDict, "i4" , __INT32_T__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "i8" , __INT64_T__ ) # NumPy * # unsigned integer (C99) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT32_T__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i4"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 90, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":91 * AddTypeMap(TypeDict, "i2" , __INT16_T__ ) # NumPy * AddTypeMap(TypeDict, "i4" , __INT32_T__ ) # NumPy * AddTypeMap(TypeDict, "i8" , __INT64_T__ ) # NumPy # <<<<<<<<<<<<<< * # unsigned integer (C99) * AddTypeMap(TypeDict, "u1" , __UINT8_T__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT64_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"i8"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 91, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":93 * AddTypeMap(TypeDict, "i8" , __INT64_T__ ) # NumPy * # unsigned integer (C99) * AddTypeMap(TypeDict, "u1" , __UINT8_T__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "u2" , __UINT16_T__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UINT32_T__ ) # NumPy */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT8_T__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"u1"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 93, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":94 * # unsigned integer (C99) * AddTypeMap(TypeDict, "u1" , __UINT8_T__ ) # NumPy * AddTypeMap(TypeDict, "u2" , __UINT16_T__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "u4" , __UINT32_T__ ) # NumPy * AddTypeMap(TypeDict, "u8" , __UINT64_T__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT16_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"u2"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 94, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":95 * AddTypeMap(TypeDict, "u1" , __UINT8_T__ ) # NumPy * AddTypeMap(TypeDict, "u2" , __UINT16_T__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UINT32_T__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "u8" , __UINT64_T__ ) # NumPy * # real (C) and complex (C99) floating */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT32_T__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"u4"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":96 * AddTypeMap(TypeDict, "u2" , __UINT16_T__ ) # NumPy * AddTypeMap(TypeDict, "u4" , __UINT32_T__ ) # NumPy * AddTypeMap(TypeDict, "u8" , __UINT64_T__ ) # NumPy # <<<<<<<<<<<<<< * # real (C) and complex (C99) floating * if sizeof(float) == 4: */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT64_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"u8"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 96, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":98 * AddTypeMap(TypeDict, "u8" , __UINT64_T__ ) # NumPy * # real (C) and complex (C99) floating * if sizeof(float) == 4: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "f4" , __FLOAT__ ) # NumPy * AddTypeMap(TypeDict, "c8" , __CXX_FLOAT_COMPLEX__ ) # NumPy */ __pyx_t_19 = (((sizeof(float)) == 4) != 0); if (__pyx_t_19) { /* "mpi4py/MPI/typemap.pxi":99 * # real (C) and complex (C99) floating * if sizeof(float) == 4: * AddTypeMap(TypeDict, "f4" , __FLOAT__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "c8" , __CXX_FLOAT_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "c8" , __C_FLOAT_COMPLEX__ ) # NumPy */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___FLOAT__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"f4"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 99, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":100 * if sizeof(float) == 4: * AddTypeMap(TypeDict, "f4" , __FLOAT__ ) # NumPy * AddTypeMap(TypeDict, "c8" , __CXX_FLOAT_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "c8" , __C_FLOAT_COMPLEX__ ) # NumPy * if sizeof(double) == 8: */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_FLOAT_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"c8"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 100, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":101 * AddTypeMap(TypeDict, "f4" , __FLOAT__ ) # NumPy * AddTypeMap(TypeDict, "c8" , __CXX_FLOAT_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "c8" , __C_FLOAT_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * if sizeof(double) == 8: * AddTypeMap(TypeDict, "f8" , __DOUBLE__ ) # NumPy */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_FLOAT_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"c8"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 101, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":98 * AddTypeMap(TypeDict, "u8" , __UINT64_T__ ) # NumPy * # real (C) and complex (C99) floating * if sizeof(float) == 4: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "f4" , __FLOAT__ ) # NumPy * AddTypeMap(TypeDict, "c8" , __CXX_FLOAT_COMPLEX__ ) # NumPy */ } /* "mpi4py/MPI/typemap.pxi":102 * AddTypeMap(TypeDict, "c8" , __CXX_FLOAT_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "c8" , __C_FLOAT_COMPLEX__ ) # NumPy * if sizeof(double) == 8: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "f8" , __DOUBLE__ ) # NumPy * AddTypeMap(TypeDict, "c16" , __CXX_DOUBLE_COMPLEX__ ) # NumPy */ __pyx_t_19 = (((sizeof(double)) == 8) != 0); if (__pyx_t_19) { /* "mpi4py/MPI/typemap.pxi":103 * AddTypeMap(TypeDict, "c8" , __C_FLOAT_COMPLEX__ ) # NumPy * if sizeof(double) == 8: * AddTypeMap(TypeDict, "f8" , __DOUBLE__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "c16" , __CXX_DOUBLE_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"f8"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":104 * if sizeof(double) == 8: * AddTypeMap(TypeDict, "f8" , __DOUBLE__ ) # NumPy * AddTypeMap(TypeDict, "c16" , __CXX_DOUBLE_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) # NumPy * if sizeof(long double) == 16: */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"c16"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":105 * AddTypeMap(TypeDict, "f8" , __DOUBLE__ ) # NumPy * AddTypeMap(TypeDict, "c16" , __CXX_DOUBLE_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * if sizeof(long double) == 16: * AddTypeMap(TypeDict, "f16" , __LONG_DOUBLE__ ) # NumPy */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"c16"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 105, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":102 * AddTypeMap(TypeDict, "c8" , __CXX_FLOAT_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "c8" , __C_FLOAT_COMPLEX__ ) # NumPy * if sizeof(double) == 8: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "f8" , __DOUBLE__ ) # NumPy * AddTypeMap(TypeDict, "c16" , __CXX_DOUBLE_COMPLEX__ ) # NumPy */ } /* "mpi4py/MPI/typemap.pxi":106 * AddTypeMap(TypeDict, "c16" , __CXX_DOUBLE_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) # NumPy * if sizeof(long double) == 16: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "f16" , __LONG_DOUBLE__ ) # NumPy * AddTypeMap(TypeDict, "c32" , __CXX_LONG_DOUBLE_COMPLEX__ ) # NumPy */ __pyx_t_19 = (((sizeof(long double)) == 16) != 0); if (__pyx_t_19) { /* "mpi4py/MPI/typemap.pxi":107 * AddTypeMap(TypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) # NumPy * if sizeof(long double) == 16: * AddTypeMap(TypeDict, "f16" , __LONG_DOUBLE__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "c32" , __CXX_LONG_DOUBLE_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "c32" , __C_LONG_DOUBLE_COMPLEX__ ) # NumPy */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_DOUBLE__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"f16"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 107, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":108 * if sizeof(long double) == 16: * AddTypeMap(TypeDict, "f16" , __LONG_DOUBLE__ ) # NumPy * AddTypeMap(TypeDict, "c32" , __CXX_LONG_DOUBLE_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "c32" , __C_LONG_DOUBLE_COMPLEX__ ) # NumPy * */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_LONG_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"c32"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 108, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":109 * AddTypeMap(TypeDict, "f16" , __LONG_DOUBLE__ ) # NumPy * AddTypeMap(TypeDict, "c32" , __CXX_LONG_DOUBLE_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "c32" , __C_LONG_DOUBLE_COMPLEX__ ) # NumPy # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_TypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_LONG_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"c32"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 109, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":106 * AddTypeMap(TypeDict, "c16" , __CXX_DOUBLE_COMPLEX__ ) # NumPy * AddTypeMap(TypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) # NumPy * if sizeof(long double) == 16: # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "f16" , __LONG_DOUBLE__ ) # NumPy * AddTypeMap(TypeDict, "c32" , __CXX_LONG_DOUBLE_COMPLEX__ ) # NumPy */ } /* "mpi4py/MPI/typemap.pxi":113 * # ----------------------------------------------------------------------------- * * cdef dict CTypeDict = { } # <<<<<<<<<<<<<< * _typedict_c = CTypeDict * */ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_CTypeDict); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_CTypeDict, ((PyObject*)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":114 * * cdef dict CTypeDict = { } * _typedict_c = CTypeDict # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "?" , __C_BOOL__ ) */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_typedict_c, __pyx_v_6mpi4py_3MPI_CTypeDict) < 0) __PYX_ERR(22, 114, __pyx_L1_error) /* "mpi4py/MPI/typemap.pxi":116 * _typedict_c = CTypeDict * * AddTypeMap(CTypeDict, "?" , __C_BOOL__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "b" , __SIGNED_CHAR__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_BOOL__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"?"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":118 * AddTypeMap(CTypeDict, "?" , __C_BOOL__ ) * * AddTypeMap(CTypeDict, "b" , __SIGNED_CHAR__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "h" , __SHORT__ ) * AddTypeMap(CTypeDict, "i" , __INT__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___SIGNED_CHAR__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"b"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 118, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":119 * * AddTypeMap(CTypeDict, "b" , __SIGNED_CHAR__ ) * AddTypeMap(CTypeDict, "h" , __SHORT__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "i" , __INT__ ) * AddTypeMap(CTypeDict, "l" , __LONG__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___SHORT__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"h"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 119, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":120 * AddTypeMap(CTypeDict, "b" , __SIGNED_CHAR__ ) * AddTypeMap(CTypeDict, "h" , __SHORT__ ) * AddTypeMap(CTypeDict, "i" , __INT__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "l" , __LONG__ ) * AddTypeMap(CTypeDict, "q" , __LONG_LONG__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 120, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":121 * AddTypeMap(CTypeDict, "h" , __SHORT__ ) * AddTypeMap(CTypeDict, "i" , __INT__ ) * AddTypeMap(CTypeDict, "l" , __LONG__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "q" , __LONG_LONG__ ) * */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"l"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 121, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":122 * AddTypeMap(CTypeDict, "i" , __INT__ ) * AddTypeMap(CTypeDict, "l" , __LONG__ ) * AddTypeMap(CTypeDict, "q" , __LONG_LONG__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "B" , __UNSIGNED_CHAR__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_LONG__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"q"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":124 * AddTypeMap(CTypeDict, "q" , __LONG_LONG__ ) * * AddTypeMap(CTypeDict, "B" , __UNSIGNED_CHAR__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "H" , __UNSIGNED_SHORT__ ) * AddTypeMap(CTypeDict, "I" , __UNSIGNED__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_CHAR__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"B"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 124, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":125 * * AddTypeMap(CTypeDict, "B" , __UNSIGNED_CHAR__ ) * AddTypeMap(CTypeDict, "H" , __UNSIGNED_SHORT__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "I" , __UNSIGNED__ ) * AddTypeMap(CTypeDict, "L" , __UNSIGNED_LONG__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_SHORT__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"H"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 125, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":126 * AddTypeMap(CTypeDict, "B" , __UNSIGNED_CHAR__ ) * AddTypeMap(CTypeDict, "H" , __UNSIGNED_SHORT__ ) * AddTypeMap(CTypeDict, "I" , __UNSIGNED__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "L" , __UNSIGNED_LONG__ ) * AddTypeMap(CTypeDict, "Q" , __UNSIGNED_LONG_LONG__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"I"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 126, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":127 * AddTypeMap(CTypeDict, "H" , __UNSIGNED_SHORT__ ) * AddTypeMap(CTypeDict, "I" , __UNSIGNED__ ) * AddTypeMap(CTypeDict, "L" , __UNSIGNED_LONG__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "Q" , __UNSIGNED_LONG_LONG__ ) * */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"L"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 127, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":128 * AddTypeMap(CTypeDict, "I" , __UNSIGNED__ ) * AddTypeMap(CTypeDict, "L" , __UNSIGNED_LONG__ ) * AddTypeMap(CTypeDict, "Q" , __UNSIGNED_LONG_LONG__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "f" , __FLOAT__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG_LONG__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"Q"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":130 * AddTypeMap(CTypeDict, "Q" , __UNSIGNED_LONG_LONG__ ) * * AddTypeMap(CTypeDict, "f" , __FLOAT__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "d" , __DOUBLE__ ) * AddTypeMap(CTypeDict, "g" , __LONG_DOUBLE__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___FLOAT__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"f"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 130, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":131 * * AddTypeMap(CTypeDict, "f" , __FLOAT__ ) * AddTypeMap(CTypeDict, "d" , __DOUBLE__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "g" , __LONG_DOUBLE__ ) * */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"d"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 131, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":132 * AddTypeMap(CTypeDict, "f" , __FLOAT__ ) * AddTypeMap(CTypeDict, "d" , __DOUBLE__ ) * AddTypeMap(CTypeDict, "g" , __LONG_DOUBLE__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "F" , __C_FLOAT_COMPLEX__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_DOUBLE__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"g"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":134 * AddTypeMap(CTypeDict, "g" , __LONG_DOUBLE__ ) * * AddTypeMap(CTypeDict, "F" , __C_FLOAT_COMPLEX__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "D" , __C_DOUBLE_COMPLEX__ ) * AddTypeMap(CTypeDict, "G" , __C_LONG_DOUBLE_COMPLEX__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_FLOAT_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"F"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":135 * * AddTypeMap(CTypeDict, "F" , __C_FLOAT_COMPLEX__ ) * AddTypeMap(CTypeDict, "D" , __C_DOUBLE_COMPLEX__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "G" , __C_LONG_DOUBLE_COMPLEX__ ) * */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"D"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 135, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":136 * AddTypeMap(CTypeDict, "F" , __C_FLOAT_COMPLEX__ ) * AddTypeMap(CTypeDict, "D" , __C_DOUBLE_COMPLEX__ ) * AddTypeMap(CTypeDict, "G" , __C_LONG_DOUBLE_COMPLEX__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "i1" , __INT8_T__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_LONG_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"G"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 136, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":138 * AddTypeMap(CTypeDict, "G" , __C_LONG_DOUBLE_COMPLEX__ ) * * AddTypeMap(CTypeDict, "i1" , __INT8_T__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "i2" , __INT16_T__ ) * AddTypeMap(CTypeDict, "i4" , __INT32_T__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT8_T__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i1"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 138, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":139 * * AddTypeMap(CTypeDict, "i1" , __INT8_T__ ) * AddTypeMap(CTypeDict, "i2" , __INT16_T__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "i4" , __INT32_T__ ) * AddTypeMap(CTypeDict, "i8" , __INT64_T__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT16_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"i2"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 139, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":140 * AddTypeMap(CTypeDict, "i1" , __INT8_T__ ) * AddTypeMap(CTypeDict, "i2" , __INT16_T__ ) * AddTypeMap(CTypeDict, "i4" , __INT32_T__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "i8" , __INT64_T__ ) * */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT32_T__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i4"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 140, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":141 * AddTypeMap(CTypeDict, "i2" , __INT16_T__ ) * AddTypeMap(CTypeDict, "i4" , __INT32_T__ ) * AddTypeMap(CTypeDict, "i8" , __INT64_T__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "u1" , __UINT8_T__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT64_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"i8"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 141, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":143 * AddTypeMap(CTypeDict, "i8" , __INT64_T__ ) * * AddTypeMap(CTypeDict, "u1" , __UINT8_T__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "u2" , __UINT16_T__ ) * AddTypeMap(CTypeDict, "u4" , __UINT32_T__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT8_T__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"u1"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 143, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":144 * * AddTypeMap(CTypeDict, "u1" , __UINT8_T__ ) * AddTypeMap(CTypeDict, "u2" , __UINT16_T__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "u4" , __UINT32_T__ ) * AddTypeMap(CTypeDict, "u8" , __UINT64_T__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT16_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"u2"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 144, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":145 * AddTypeMap(CTypeDict, "u1" , __UINT8_T__ ) * AddTypeMap(CTypeDict, "u2" , __UINT16_T__ ) * AddTypeMap(CTypeDict, "u4" , __UINT32_T__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "u8" , __UINT64_T__ ) * */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT32_T__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"u4"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 145, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":146 * AddTypeMap(CTypeDict, "u2" , __UINT16_T__ ) * AddTypeMap(CTypeDict, "u4" , __UINT32_T__ ) * AddTypeMap(CTypeDict, "u8" , __UINT64_T__ ) # <<<<<<<<<<<<<< * * if sizeof(float) == 4: */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT64_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"u8"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 146, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":148 * AddTypeMap(CTypeDict, "u8" , __UINT64_T__ ) * * if sizeof(float) == 4: # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "f4" , __FLOAT__ ) * AddTypeMap(CTypeDict, "c8" , __C_FLOAT_COMPLEX__ ) */ __pyx_t_19 = (((sizeof(float)) == 4) != 0); if (__pyx_t_19) { /* "mpi4py/MPI/typemap.pxi":149 * * if sizeof(float) == 4: * AddTypeMap(CTypeDict, "f4" , __FLOAT__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "c8" , __C_FLOAT_COMPLEX__ ) * if sizeof(double) == 8: */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___FLOAT__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"f4"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 149, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":150 * if sizeof(float) == 4: * AddTypeMap(CTypeDict, "f4" , __FLOAT__ ) * AddTypeMap(CTypeDict, "c8" , __C_FLOAT_COMPLEX__ ) # <<<<<<<<<<<<<< * if sizeof(double) == 8: * AddTypeMap(CTypeDict, "f8" , __DOUBLE__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_FLOAT_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"c8"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 150, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":148 * AddTypeMap(CTypeDict, "u8" , __UINT64_T__ ) * * if sizeof(float) == 4: # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "f4" , __FLOAT__ ) * AddTypeMap(CTypeDict, "c8" , __C_FLOAT_COMPLEX__ ) */ } /* "mpi4py/MPI/typemap.pxi":151 * AddTypeMap(CTypeDict, "f4" , __FLOAT__ ) * AddTypeMap(CTypeDict, "c8" , __C_FLOAT_COMPLEX__ ) * if sizeof(double) == 8: # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "f8" , __DOUBLE__ ) * AddTypeMap(CTypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) */ __pyx_t_19 = (((sizeof(double)) == 8) != 0); if (__pyx_t_19) { /* "mpi4py/MPI/typemap.pxi":152 * AddTypeMap(CTypeDict, "c8" , __C_FLOAT_COMPLEX__ ) * if sizeof(double) == 8: * AddTypeMap(CTypeDict, "f8" , __DOUBLE__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) * if sizeof(long double) == 16: */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"f8"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 152, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":153 * if sizeof(double) == 8: * AddTypeMap(CTypeDict, "f8" , __DOUBLE__ ) * AddTypeMap(CTypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) # <<<<<<<<<<<<<< * if sizeof(long double) == 16: * AddTypeMap(CTypeDict, "f16" , __LONG_DOUBLE__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"c16"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":151 * AddTypeMap(CTypeDict, "f4" , __FLOAT__ ) * AddTypeMap(CTypeDict, "c8" , __C_FLOAT_COMPLEX__ ) * if sizeof(double) == 8: # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "f8" , __DOUBLE__ ) * AddTypeMap(CTypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) */ } /* "mpi4py/MPI/typemap.pxi":154 * AddTypeMap(CTypeDict, "f8" , __DOUBLE__ ) * AddTypeMap(CTypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) * if sizeof(long double) == 16: # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "f16" , __LONG_DOUBLE__ ) * AddTypeMap(CTypeDict, "c32" , __C_LONG_DOUBLE_COMPLEX__ ) */ __pyx_t_19 = (((sizeof(long double)) == 16) != 0); if (__pyx_t_19) { /* "mpi4py/MPI/typemap.pxi":155 * AddTypeMap(CTypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) * if sizeof(long double) == 16: * AddTypeMap(CTypeDict, "f16" , __LONG_DOUBLE__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "c32" , __C_LONG_DOUBLE_COMPLEX__ ) * */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_DOUBLE__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"f16"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 155, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":156 * if sizeof(long double) == 16: * AddTypeMap(CTypeDict, "f16" , __LONG_DOUBLE__ ) * AddTypeMap(CTypeDict, "c32" , __C_LONG_DOUBLE_COMPLEX__ ) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_LONG_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"c32"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 156, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":154 * AddTypeMap(CTypeDict, "f8" , __DOUBLE__ ) * AddTypeMap(CTypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) * if sizeof(long double) == 16: # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "f16" , __LONG_DOUBLE__ ) * AddTypeMap(CTypeDict, "c32" , __C_LONG_DOUBLE_COMPLEX__ ) */ } /* "mpi4py/MPI/typemap.pxi":160 * # ----------------------------------------------------------------------------- * * cdef dict FTypeDict = { } # <<<<<<<<<<<<<< * _typedict_f = FTypeDict * */ __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(22, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_FTypeDict); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_FTypeDict, ((PyObject*)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":161 * * cdef dict FTypeDict = { } * _typedict_f = FTypeDict # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "?" , __LOGICAL__ ) */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_typedict_f, __pyx_v_6mpi4py_3MPI_FTypeDict) < 0) __PYX_ERR(22, 161, __pyx_L1_error) /* "mpi4py/MPI/typemap.pxi":163 * _typedict_f = FTypeDict * * AddTypeMap(FTypeDict, "?" , __LOGICAL__ ) # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "i" , __INTEGER__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"?"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 163, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":165 * AddTypeMap(FTypeDict, "?" , __LOGICAL__ ) * * AddTypeMap(FTypeDict, "i" , __INTEGER__ ) # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "s" , __REAL__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"i"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 165, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":167 * AddTypeMap(FTypeDict, "i" , __INTEGER__ ) * * AddTypeMap(FTypeDict, "s" , __REAL__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "r" , __REAL__ ) * AddTypeMap(FTypeDict, "d" , __DOUBLE_PRECISION__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"s"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 167, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":168 * * AddTypeMap(FTypeDict, "s" , __REAL__ ) * AddTypeMap(FTypeDict, "r" , __REAL__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "d" , __DOUBLE_PRECISION__ ) * AddTypeMap(FTypeDict, "c" , __COMPLEX__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"r"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 168, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":169 * AddTypeMap(FTypeDict, "s" , __REAL__ ) * AddTypeMap(FTypeDict, "r" , __REAL__ ) * AddTypeMap(FTypeDict, "d" , __DOUBLE_PRECISION__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "c" , __COMPLEX__ ) * AddTypeMap(FTypeDict, "z" , __DOUBLE_COMPLEX__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE_PRECISION__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"d"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 169, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":170 * AddTypeMap(FTypeDict, "r" , __REAL__ ) * AddTypeMap(FTypeDict, "d" , __DOUBLE_PRECISION__ ) * AddTypeMap(FTypeDict, "c" , __COMPLEX__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "z" , __DOUBLE_COMPLEX__ ) * */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"c"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 170, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":171 * AddTypeMap(FTypeDict, "d" , __DOUBLE_PRECISION__ ) * AddTypeMap(FTypeDict, "c" , __COMPLEX__ ) * AddTypeMap(FTypeDict, "z" , __DOUBLE_COMPLEX__ ) # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "?1" , __LOGICAL1__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"z"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":173 * AddTypeMap(FTypeDict, "z" , __DOUBLE_COMPLEX__ ) * * AddTypeMap(FTypeDict, "?1" , __LOGICAL1__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "?2" , __LOGICAL2__ ) * AddTypeMap(FTypeDict, "?4" , __LOGICAL4__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL1__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"?1"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 173, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":174 * * AddTypeMap(FTypeDict, "?1" , __LOGICAL1__ ) * AddTypeMap(FTypeDict, "?2" , __LOGICAL2__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "?4" , __LOGICAL4__ ) * AddTypeMap(FTypeDict, "?8" , __LOGICAL8__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL2__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"?2"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 174, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":175 * AddTypeMap(FTypeDict, "?1" , __LOGICAL1__ ) * AddTypeMap(FTypeDict, "?2" , __LOGICAL2__ ) * AddTypeMap(FTypeDict, "?4" , __LOGICAL4__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "?8" , __LOGICAL8__ ) * */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL4__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"?4"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 175, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":176 * AddTypeMap(FTypeDict, "?2" , __LOGICAL2__ ) * AddTypeMap(FTypeDict, "?4" , __LOGICAL4__ ) * AddTypeMap(FTypeDict, "?8" , __LOGICAL8__ ) # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "i1" , __INTEGER1__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL8__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"?8"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 176, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":178 * AddTypeMap(FTypeDict, "?8" , __LOGICAL8__ ) * * AddTypeMap(FTypeDict, "i1" , __INTEGER1__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "i2" , __INTEGER2__ ) * AddTypeMap(FTypeDict, "i4" , __INTEGER4__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER1__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"i1"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 178, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":179 * * AddTypeMap(FTypeDict, "i1" , __INTEGER1__ ) * AddTypeMap(FTypeDict, "i2" , __INTEGER2__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "i4" , __INTEGER4__ ) * AddTypeMap(FTypeDict, "i8" , __INTEGER8__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER2__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i2"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 179, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":180 * AddTypeMap(FTypeDict, "i1" , __INTEGER1__ ) * AddTypeMap(FTypeDict, "i2" , __INTEGER2__ ) * AddTypeMap(FTypeDict, "i4" , __INTEGER4__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "i8" , __INTEGER8__ ) * AddTypeMap(FTypeDict, "i16" , __INTEGER16__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER4__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"i4"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 180, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":181 * AddTypeMap(FTypeDict, "i2" , __INTEGER2__ ) * AddTypeMap(FTypeDict, "i4" , __INTEGER4__ ) * AddTypeMap(FTypeDict, "i8" , __INTEGER8__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "i16" , __INTEGER16__ ) * */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER8__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"i8"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 181, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":182 * AddTypeMap(FTypeDict, "i4" , __INTEGER4__ ) * AddTypeMap(FTypeDict, "i8" , __INTEGER8__ ) * AddTypeMap(FTypeDict, "i16" , __INTEGER16__ ) # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "r2" , __REAL2__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER16__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"i16"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 182, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":184 * AddTypeMap(FTypeDict, "i16" , __INTEGER16__ ) * * AddTypeMap(FTypeDict, "r2" , __REAL2__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "r4" , __REAL4__ ) * AddTypeMap(FTypeDict, "r8" , __REAL8__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL2__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"r2"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 184, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":185 * * AddTypeMap(FTypeDict, "r2" , __REAL2__ ) * AddTypeMap(FTypeDict, "r4" , __REAL4__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "r8" , __REAL8__ ) * AddTypeMap(FTypeDict, "r16" , __REAL16__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL4__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"r4"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 185, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":186 * AddTypeMap(FTypeDict, "r2" , __REAL2__ ) * AddTypeMap(FTypeDict, "r4" , __REAL4__ ) * AddTypeMap(FTypeDict, "r8" , __REAL8__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "r16" , __REAL16__ ) * */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL8__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"r8"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 186, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":187 * AddTypeMap(FTypeDict, "r4" , __REAL4__ ) * AddTypeMap(FTypeDict, "r8" , __REAL8__ ) * AddTypeMap(FTypeDict, "r16" , __REAL16__ ) # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "c4" , __COMPLEX4__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL16__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"r16"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 187, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":189 * AddTypeMap(FTypeDict, "r16" , __REAL16__ ) * * AddTypeMap(FTypeDict, "c4" , __COMPLEX4__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "c8" , __COMPLEX8__ ) * AddTypeMap(FTypeDict, "c16" , __COMPLEX16__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX4__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"c4"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 189, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":190 * * AddTypeMap(FTypeDict, "c4" , __COMPLEX4__ ) * AddTypeMap(FTypeDict, "c8" , __COMPLEX8__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "c16" , __COMPLEX16__ ) * AddTypeMap(FTypeDict, "c32" , __COMPLEX32__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX8__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"c8"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 190, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typemap.pxi":191 * AddTypeMap(FTypeDict, "c4" , __COMPLEX4__ ) * AddTypeMap(FTypeDict, "c8" , __COMPLEX8__ ) * AddTypeMap(FTypeDict, "c16" , __COMPLEX16__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "c32" , __COMPLEX32__ ) * */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX16__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), ((char const *)"c16"), ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 191, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/typemap.pxi":192 * AddTypeMap(FTypeDict, "c8" , __COMPLEX8__ ) * AddTypeMap(FTypeDict, "c16" , __COMPLEX16__ ) * AddTypeMap(FTypeDict, "c32" , __COMPLEX32__ ) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX32__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), ((char const *)"c32"), ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(22, 192, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/typestr.pxi":3 * # ----------------------------------------------------------------------------- * * def _typecode(Datatype datatype): # <<<<<<<<<<<<<< * """ * Map MPI datatype to typecode string */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_21_typecode, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(23, 3, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_typecode_2, __pyx_t_3) < 0) __PYX_ERR(23, 3, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Datatype.pyx":953 * # --------------------------- * * DATATYPE_NULL = __DATATYPE_NULL__ #: Null datatype handle # <<<<<<<<<<<<<< * # Deprecated datatypes (since MPI-2) * UB = __UB__ #: upper-bound marker */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_DATATYPE_NULL, ((PyObject *)__pyx_v_6mpi4py_3MPI___DATATYPE_NULL__)) < 0) __PYX_ERR(21, 953, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":955 * DATATYPE_NULL = __DATATYPE_NULL__ #: Null datatype handle * # Deprecated datatypes (since MPI-2) * UB = __UB__ #: upper-bound marker # <<<<<<<<<<<<<< * LB = __LB__ #: lower-bound marker * # MPI-specific datatypes */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UB, ((PyObject *)__pyx_v_6mpi4py_3MPI___UB__)) < 0) __PYX_ERR(21, 955, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":956 * # Deprecated datatypes (since MPI-2) * UB = __UB__ #: upper-bound marker * LB = __LB__ #: lower-bound marker # <<<<<<<<<<<<<< * # MPI-specific datatypes * PACKED = __PACKED__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LB, ((PyObject *)__pyx_v_6mpi4py_3MPI___LB__)) < 0) __PYX_ERR(21, 956, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":958 * LB = __LB__ #: lower-bound marker * # MPI-specific datatypes * PACKED = __PACKED__ # <<<<<<<<<<<<<< * BYTE = __BYTE__ * AINT = __AINT__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_PACKED, ((PyObject *)__pyx_v_6mpi4py_3MPI___PACKED__)) < 0) __PYX_ERR(21, 958, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":959 * # MPI-specific datatypes * PACKED = __PACKED__ * BYTE = __BYTE__ # <<<<<<<<<<<<<< * AINT = __AINT__ * OFFSET = __OFFSET__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_BYTE, ((PyObject *)__pyx_v_6mpi4py_3MPI___BYTE__)) < 0) __PYX_ERR(21, 959, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":960 * PACKED = __PACKED__ * BYTE = __BYTE__ * AINT = __AINT__ # <<<<<<<<<<<<<< * OFFSET = __OFFSET__ * COUNT = __COUNT__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_AINT, ((PyObject *)__pyx_v_6mpi4py_3MPI___AINT__)) < 0) __PYX_ERR(21, 960, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":961 * BYTE = __BYTE__ * AINT = __AINT__ * OFFSET = __OFFSET__ # <<<<<<<<<<<<<< * COUNT = __COUNT__ * # Elementary C datatypes */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_OFFSET, ((PyObject *)__pyx_v_6mpi4py_3MPI___OFFSET__)) < 0) __PYX_ERR(21, 961, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":962 * AINT = __AINT__ * OFFSET = __OFFSET__ * COUNT = __COUNT__ # <<<<<<<<<<<<<< * # Elementary C datatypes * CHAR = __CHAR__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_COUNT, ((PyObject *)__pyx_v_6mpi4py_3MPI___COUNT__)) < 0) __PYX_ERR(21, 962, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":964 * COUNT = __COUNT__ * # Elementary C datatypes * CHAR = __CHAR__ # <<<<<<<<<<<<<< * WCHAR = __WCHAR__ * SIGNED_CHAR = __SIGNED_CHAR__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_CHAR, ((PyObject *)__pyx_v_6mpi4py_3MPI___CHAR__)) < 0) __PYX_ERR(21, 964, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":965 * # Elementary C datatypes * CHAR = __CHAR__ * WCHAR = __WCHAR__ # <<<<<<<<<<<<<< * SIGNED_CHAR = __SIGNED_CHAR__ * SHORT = __SHORT__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_WCHAR, ((PyObject *)__pyx_v_6mpi4py_3MPI___WCHAR__)) < 0) __PYX_ERR(21, 965, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":966 * CHAR = __CHAR__ * WCHAR = __WCHAR__ * SIGNED_CHAR = __SIGNED_CHAR__ # <<<<<<<<<<<<<< * SHORT = __SHORT__ * INT = __INT__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SIGNED_CHAR, ((PyObject *)__pyx_v_6mpi4py_3MPI___SIGNED_CHAR__)) < 0) __PYX_ERR(21, 966, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":967 * WCHAR = __WCHAR__ * SIGNED_CHAR = __SIGNED_CHAR__ * SHORT = __SHORT__ # <<<<<<<<<<<<<< * INT = __INT__ * LONG = __LONG__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SHORT, ((PyObject *)__pyx_v_6mpi4py_3MPI___SHORT__)) < 0) __PYX_ERR(21, 967, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":968 * SIGNED_CHAR = __SIGNED_CHAR__ * SHORT = __SHORT__ * INT = __INT__ # <<<<<<<<<<<<<< * LONG = __LONG__ * LONG_LONG = __LONG_LONG__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INT, ((PyObject *)__pyx_v_6mpi4py_3MPI___INT__)) < 0) __PYX_ERR(21, 968, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":969 * SHORT = __SHORT__ * INT = __INT__ * LONG = __LONG__ # <<<<<<<<<<<<<< * LONG_LONG = __LONG_LONG__ * UNSIGNED_CHAR = __UNSIGNED_CHAR__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LONG, ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG__)) < 0) __PYX_ERR(21, 969, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":970 * INT = __INT__ * LONG = __LONG__ * LONG_LONG = __LONG_LONG__ # <<<<<<<<<<<<<< * UNSIGNED_CHAR = __UNSIGNED_CHAR__ * UNSIGNED_SHORT = __UNSIGNED_SHORT__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LONG_LONG, ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_LONG__)) < 0) __PYX_ERR(21, 970, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":971 * LONG = __LONG__ * LONG_LONG = __LONG_LONG__ * UNSIGNED_CHAR = __UNSIGNED_CHAR__ # <<<<<<<<<<<<<< * UNSIGNED_SHORT = __UNSIGNED_SHORT__ * UNSIGNED = __UNSIGNED__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNSIGNED_CHAR, ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_CHAR__)) < 0) __PYX_ERR(21, 971, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":972 * LONG_LONG = __LONG_LONG__ * UNSIGNED_CHAR = __UNSIGNED_CHAR__ * UNSIGNED_SHORT = __UNSIGNED_SHORT__ # <<<<<<<<<<<<<< * UNSIGNED = __UNSIGNED__ * UNSIGNED_LONG = __UNSIGNED_LONG__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNSIGNED_SHORT, ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_SHORT__)) < 0) __PYX_ERR(21, 972, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":973 * UNSIGNED_CHAR = __UNSIGNED_CHAR__ * UNSIGNED_SHORT = __UNSIGNED_SHORT__ * UNSIGNED = __UNSIGNED__ # <<<<<<<<<<<<<< * UNSIGNED_LONG = __UNSIGNED_LONG__ * UNSIGNED_LONG_LONG = __UNSIGNED_LONG_LONG__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNSIGNED, ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED__)) < 0) __PYX_ERR(21, 973, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":974 * UNSIGNED_SHORT = __UNSIGNED_SHORT__ * UNSIGNED = __UNSIGNED__ * UNSIGNED_LONG = __UNSIGNED_LONG__ # <<<<<<<<<<<<<< * UNSIGNED_LONG_LONG = __UNSIGNED_LONG_LONG__ * FLOAT = __FLOAT__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNSIGNED_LONG, ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG__)) < 0) __PYX_ERR(21, 974, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":975 * UNSIGNED = __UNSIGNED__ * UNSIGNED_LONG = __UNSIGNED_LONG__ * UNSIGNED_LONG_LONG = __UNSIGNED_LONG_LONG__ # <<<<<<<<<<<<<< * FLOAT = __FLOAT__ * DOUBLE = __DOUBLE__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNSIGNED_LONG_LONG, ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED_LONG_LONG__)) < 0) __PYX_ERR(21, 975, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":976 * UNSIGNED_LONG = __UNSIGNED_LONG__ * UNSIGNED_LONG_LONG = __UNSIGNED_LONG_LONG__ * FLOAT = __FLOAT__ # <<<<<<<<<<<<<< * DOUBLE = __DOUBLE__ * LONG_DOUBLE = __LONG_DOUBLE__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_FLOAT, ((PyObject *)__pyx_v_6mpi4py_3MPI___FLOAT__)) < 0) __PYX_ERR(21, 976, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":977 * UNSIGNED_LONG_LONG = __UNSIGNED_LONG_LONG__ * FLOAT = __FLOAT__ * DOUBLE = __DOUBLE__ # <<<<<<<<<<<<<< * LONG_DOUBLE = __LONG_DOUBLE__ * # C99 datatypes */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_DOUBLE, ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE__)) < 0) __PYX_ERR(21, 977, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":978 * FLOAT = __FLOAT__ * DOUBLE = __DOUBLE__ * LONG_DOUBLE = __LONG_DOUBLE__ # <<<<<<<<<<<<<< * # C99 datatypes * C_BOOL = __C_BOOL__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LONG_DOUBLE, ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_DOUBLE__)) < 0) __PYX_ERR(21, 978, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":980 * LONG_DOUBLE = __LONG_DOUBLE__ * # C99 datatypes * C_BOOL = __C_BOOL__ # <<<<<<<<<<<<<< * INT8_T = __INT8_T__ * INT16_T = __INT16_T__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_C_BOOL, ((PyObject *)__pyx_v_6mpi4py_3MPI___C_BOOL__)) < 0) __PYX_ERR(21, 980, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":981 * # C99 datatypes * C_BOOL = __C_BOOL__ * INT8_T = __INT8_T__ # <<<<<<<<<<<<<< * INT16_T = __INT16_T__ * INT32_T = __INT32_T__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INT8_T, ((PyObject *)__pyx_v_6mpi4py_3MPI___INT8_T__)) < 0) __PYX_ERR(21, 981, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":982 * C_BOOL = __C_BOOL__ * INT8_T = __INT8_T__ * INT16_T = __INT16_T__ # <<<<<<<<<<<<<< * INT32_T = __INT32_T__ * INT64_T = __INT64_T__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INT16_T, ((PyObject *)__pyx_v_6mpi4py_3MPI___INT16_T__)) < 0) __PYX_ERR(21, 982, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":983 * INT8_T = __INT8_T__ * INT16_T = __INT16_T__ * INT32_T = __INT32_T__ # <<<<<<<<<<<<<< * INT64_T = __INT64_T__ * UINT8_T = __UINT8_T__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INT32_T, ((PyObject *)__pyx_v_6mpi4py_3MPI___INT32_T__)) < 0) __PYX_ERR(21, 983, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":984 * INT16_T = __INT16_T__ * INT32_T = __INT32_T__ * INT64_T = __INT64_T__ # <<<<<<<<<<<<<< * UINT8_T = __UINT8_T__ * UINT16_T = __UINT16_T__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INT64_T, ((PyObject *)__pyx_v_6mpi4py_3MPI___INT64_T__)) < 0) __PYX_ERR(21, 984, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":985 * INT32_T = __INT32_T__ * INT64_T = __INT64_T__ * UINT8_T = __UINT8_T__ # <<<<<<<<<<<<<< * UINT16_T = __UINT16_T__ * UINT32_T = __UINT32_T__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UINT8_T, ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT8_T__)) < 0) __PYX_ERR(21, 985, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":986 * INT64_T = __INT64_T__ * UINT8_T = __UINT8_T__ * UINT16_T = __UINT16_T__ # <<<<<<<<<<<<<< * UINT32_T = __UINT32_T__ * UINT64_T = __UINT64_T__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UINT16_T, ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT16_T__)) < 0) __PYX_ERR(21, 986, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":987 * UINT8_T = __UINT8_T__ * UINT16_T = __UINT16_T__ * UINT32_T = __UINT32_T__ # <<<<<<<<<<<<<< * UINT64_T = __UINT64_T__ * C_COMPLEX = __C_COMPLEX__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UINT32_T, ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT32_T__)) < 0) __PYX_ERR(21, 987, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":988 * UINT16_T = __UINT16_T__ * UINT32_T = __UINT32_T__ * UINT64_T = __UINT64_T__ # <<<<<<<<<<<<<< * C_COMPLEX = __C_COMPLEX__ * C_FLOAT_COMPLEX = __C_FLOAT_COMPLEX__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UINT64_T, ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT64_T__)) < 0) __PYX_ERR(21, 988, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":989 * UINT32_T = __UINT32_T__ * UINT64_T = __UINT64_T__ * C_COMPLEX = __C_COMPLEX__ # <<<<<<<<<<<<<< * C_FLOAT_COMPLEX = __C_FLOAT_COMPLEX__ * C_DOUBLE_COMPLEX = __C_DOUBLE_COMPLEX__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_C_COMPLEX, ((PyObject *)__pyx_v_6mpi4py_3MPI___C_COMPLEX__)) < 0) __PYX_ERR(21, 989, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":990 * UINT64_T = __UINT64_T__ * C_COMPLEX = __C_COMPLEX__ * C_FLOAT_COMPLEX = __C_FLOAT_COMPLEX__ # <<<<<<<<<<<<<< * C_DOUBLE_COMPLEX = __C_DOUBLE_COMPLEX__ * C_LONG_DOUBLE_COMPLEX = __C_LONG_DOUBLE_COMPLEX__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_C_FLOAT_COMPLEX, ((PyObject *)__pyx_v_6mpi4py_3MPI___C_FLOAT_COMPLEX__)) < 0) __PYX_ERR(21, 990, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":991 * C_COMPLEX = __C_COMPLEX__ * C_FLOAT_COMPLEX = __C_FLOAT_COMPLEX__ * C_DOUBLE_COMPLEX = __C_DOUBLE_COMPLEX__ # <<<<<<<<<<<<<< * C_LONG_DOUBLE_COMPLEX = __C_LONG_DOUBLE_COMPLEX__ * # C++ datatypes */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_C_DOUBLE_COMPLEX, ((PyObject *)__pyx_v_6mpi4py_3MPI___C_DOUBLE_COMPLEX__)) < 0) __PYX_ERR(21, 991, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":992 * C_FLOAT_COMPLEX = __C_FLOAT_COMPLEX__ * C_DOUBLE_COMPLEX = __C_DOUBLE_COMPLEX__ * C_LONG_DOUBLE_COMPLEX = __C_LONG_DOUBLE_COMPLEX__ # <<<<<<<<<<<<<< * # C++ datatypes * CXX_BOOL = __CXX_BOOL__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_C_LONG_DOUBLE_COMPLEX, ((PyObject *)__pyx_v_6mpi4py_3MPI___C_LONG_DOUBLE_COMPLEX__)) < 0) __PYX_ERR(21, 992, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":994 * C_LONG_DOUBLE_COMPLEX = __C_LONG_DOUBLE_COMPLEX__ * # C++ datatypes * CXX_BOOL = __CXX_BOOL__ # <<<<<<<<<<<<<< * CXX_FLOAT_COMPLEX = __CXX_FLOAT_COMPLEX__ * CXX_DOUBLE_COMPLEX = __CXX_DOUBLE_COMPLEX__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_CXX_BOOL, ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_BOOL__)) < 0) __PYX_ERR(21, 994, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":995 * # C++ datatypes * CXX_BOOL = __CXX_BOOL__ * CXX_FLOAT_COMPLEX = __CXX_FLOAT_COMPLEX__ # <<<<<<<<<<<<<< * CXX_DOUBLE_COMPLEX = __CXX_DOUBLE_COMPLEX__ * CXX_LONG_DOUBLE_COMPLEX = __CXX_LONG_DOUBLE_COMPLEX__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_CXX_FLOAT_COMPLEX, ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_FLOAT_COMPLEX__)) < 0) __PYX_ERR(21, 995, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":996 * CXX_BOOL = __CXX_BOOL__ * CXX_FLOAT_COMPLEX = __CXX_FLOAT_COMPLEX__ * CXX_DOUBLE_COMPLEX = __CXX_DOUBLE_COMPLEX__ # <<<<<<<<<<<<<< * CXX_LONG_DOUBLE_COMPLEX = __CXX_LONG_DOUBLE_COMPLEX__ * # C Datatypes for reduction operations */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_CXX_DOUBLE_COMPLEX, ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_DOUBLE_COMPLEX__)) < 0) __PYX_ERR(21, 996, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":997 * CXX_FLOAT_COMPLEX = __CXX_FLOAT_COMPLEX__ * CXX_DOUBLE_COMPLEX = __CXX_DOUBLE_COMPLEX__ * CXX_LONG_DOUBLE_COMPLEX = __CXX_LONG_DOUBLE_COMPLEX__ # <<<<<<<<<<<<<< * # C Datatypes for reduction operations * SHORT_INT = __SHORT_INT__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_CXX_LONG_DOUBLE_COMPLEX, ((PyObject *)__pyx_v_6mpi4py_3MPI___CXX_LONG_DOUBLE_COMPLEX__)) < 0) __PYX_ERR(21, 997, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":999 * CXX_LONG_DOUBLE_COMPLEX = __CXX_LONG_DOUBLE_COMPLEX__ * # C Datatypes for reduction operations * SHORT_INT = __SHORT_INT__ # <<<<<<<<<<<<<< * INT_INT = TWOINT = __TWOINT__ * LONG_INT = __LONG_INT__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SHORT_INT, ((PyObject *)__pyx_v_6mpi4py_3MPI___SHORT_INT__)) < 0) __PYX_ERR(21, 999, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1000 * # C Datatypes for reduction operations * SHORT_INT = __SHORT_INT__ * INT_INT = TWOINT = __TWOINT__ # <<<<<<<<<<<<<< * LONG_INT = __LONG_INT__ * FLOAT_INT = __FLOAT_INT__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INT_INT, ((PyObject *)__pyx_v_6mpi4py_3MPI___TWOINT__)) < 0) __PYX_ERR(21, 1000, __pyx_L1_error) if (PyDict_SetItem(__pyx_d, __pyx_n_s_TWOINT, ((PyObject *)__pyx_v_6mpi4py_3MPI___TWOINT__)) < 0) __PYX_ERR(21, 1000, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1001 * SHORT_INT = __SHORT_INT__ * INT_INT = TWOINT = __TWOINT__ * LONG_INT = __LONG_INT__ # <<<<<<<<<<<<<< * FLOAT_INT = __FLOAT_INT__ * DOUBLE_INT = __DOUBLE_INT__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LONG_INT, ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_INT__)) < 0) __PYX_ERR(21, 1001, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1002 * INT_INT = TWOINT = __TWOINT__ * LONG_INT = __LONG_INT__ * FLOAT_INT = __FLOAT_INT__ # <<<<<<<<<<<<<< * DOUBLE_INT = __DOUBLE_INT__ * LONG_DOUBLE_INT = __LONG_DOUBLE_INT__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_FLOAT_INT, ((PyObject *)__pyx_v_6mpi4py_3MPI___FLOAT_INT__)) < 0) __PYX_ERR(21, 1002, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1003 * LONG_INT = __LONG_INT__ * FLOAT_INT = __FLOAT_INT__ * DOUBLE_INT = __DOUBLE_INT__ # <<<<<<<<<<<<<< * LONG_DOUBLE_INT = __LONG_DOUBLE_INT__ * # Elementary Fortran datatypes */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_DOUBLE_INT, ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE_INT__)) < 0) __PYX_ERR(21, 1003, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1004 * FLOAT_INT = __FLOAT_INT__ * DOUBLE_INT = __DOUBLE_INT__ * LONG_DOUBLE_INT = __LONG_DOUBLE_INT__ # <<<<<<<<<<<<<< * # Elementary Fortran datatypes * CHARACTER = __CHARACTER__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LONG_DOUBLE_INT, ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_DOUBLE_INT__)) < 0) __PYX_ERR(21, 1004, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1006 * LONG_DOUBLE_INT = __LONG_DOUBLE_INT__ * # Elementary Fortran datatypes * CHARACTER = __CHARACTER__ # <<<<<<<<<<<<<< * LOGICAL = __LOGICAL__ * INTEGER = __INTEGER__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_CHARACTER, ((PyObject *)__pyx_v_6mpi4py_3MPI___CHARACTER__)) < 0) __PYX_ERR(21, 1006, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1007 * # Elementary Fortran datatypes * CHARACTER = __CHARACTER__ * LOGICAL = __LOGICAL__ # <<<<<<<<<<<<<< * INTEGER = __INTEGER__ * REAL = __REAL__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOGICAL, ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL__)) < 0) __PYX_ERR(21, 1007, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1008 * CHARACTER = __CHARACTER__ * LOGICAL = __LOGICAL__ * INTEGER = __INTEGER__ # <<<<<<<<<<<<<< * REAL = __REAL__ * DOUBLE_PRECISION = __DOUBLE_PRECISION__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INTEGER, ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER__)) < 0) __PYX_ERR(21, 1008, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1009 * LOGICAL = __LOGICAL__ * INTEGER = __INTEGER__ * REAL = __REAL__ # <<<<<<<<<<<<<< * DOUBLE_PRECISION = __DOUBLE_PRECISION__ * COMPLEX = __COMPLEX__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_REAL, ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL__)) < 0) __PYX_ERR(21, 1009, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1010 * INTEGER = __INTEGER__ * REAL = __REAL__ * DOUBLE_PRECISION = __DOUBLE_PRECISION__ # <<<<<<<<<<<<<< * COMPLEX = __COMPLEX__ * DOUBLE_COMPLEX = __DOUBLE_COMPLEX__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_DOUBLE_PRECISION, ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE_PRECISION__)) < 0) __PYX_ERR(21, 1010, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1011 * REAL = __REAL__ * DOUBLE_PRECISION = __DOUBLE_PRECISION__ * COMPLEX = __COMPLEX__ # <<<<<<<<<<<<<< * DOUBLE_COMPLEX = __DOUBLE_COMPLEX__ * # Size-specific Fortran datatypes */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMPLEX, ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX__)) < 0) __PYX_ERR(21, 1011, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1012 * DOUBLE_PRECISION = __DOUBLE_PRECISION__ * COMPLEX = __COMPLEX__ * DOUBLE_COMPLEX = __DOUBLE_COMPLEX__ # <<<<<<<<<<<<<< * # Size-specific Fortran datatypes * LOGICAL1 = __LOGICAL1__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_DOUBLE_COMPLEX, ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE_COMPLEX__)) < 0) __PYX_ERR(21, 1012, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1014 * DOUBLE_COMPLEX = __DOUBLE_COMPLEX__ * # Size-specific Fortran datatypes * LOGICAL1 = __LOGICAL1__ # <<<<<<<<<<<<<< * LOGICAL2 = __LOGICAL2__ * LOGICAL4 = __LOGICAL4__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOGICAL1, ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL1__)) < 0) __PYX_ERR(21, 1014, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1015 * # Size-specific Fortran datatypes * LOGICAL1 = __LOGICAL1__ * LOGICAL2 = __LOGICAL2__ # <<<<<<<<<<<<<< * LOGICAL4 = __LOGICAL4__ * LOGICAL8 = __LOGICAL8__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOGICAL2, ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL2__)) < 0) __PYX_ERR(21, 1015, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1016 * LOGICAL1 = __LOGICAL1__ * LOGICAL2 = __LOGICAL2__ * LOGICAL4 = __LOGICAL4__ # <<<<<<<<<<<<<< * LOGICAL8 = __LOGICAL8__ * INTEGER1 = __INTEGER1__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOGICAL4, ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL4__)) < 0) __PYX_ERR(21, 1016, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1017 * LOGICAL2 = __LOGICAL2__ * LOGICAL4 = __LOGICAL4__ * LOGICAL8 = __LOGICAL8__ # <<<<<<<<<<<<<< * INTEGER1 = __INTEGER1__ * INTEGER2 = __INTEGER2__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOGICAL8, ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL8__)) < 0) __PYX_ERR(21, 1017, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1018 * LOGICAL4 = __LOGICAL4__ * LOGICAL8 = __LOGICAL8__ * INTEGER1 = __INTEGER1__ # <<<<<<<<<<<<<< * INTEGER2 = __INTEGER2__ * INTEGER4 = __INTEGER4__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INTEGER1, ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER1__)) < 0) __PYX_ERR(21, 1018, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1019 * LOGICAL8 = __LOGICAL8__ * INTEGER1 = __INTEGER1__ * INTEGER2 = __INTEGER2__ # <<<<<<<<<<<<<< * INTEGER4 = __INTEGER4__ * INTEGER8 = __INTEGER8__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INTEGER2, ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER2__)) < 0) __PYX_ERR(21, 1019, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1020 * INTEGER1 = __INTEGER1__ * INTEGER2 = __INTEGER2__ * INTEGER4 = __INTEGER4__ # <<<<<<<<<<<<<< * INTEGER8 = __INTEGER8__ * INTEGER16 = __INTEGER16__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INTEGER4, ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER4__)) < 0) __PYX_ERR(21, 1020, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1021 * INTEGER2 = __INTEGER2__ * INTEGER4 = __INTEGER4__ * INTEGER8 = __INTEGER8__ # <<<<<<<<<<<<<< * INTEGER16 = __INTEGER16__ * REAL2 = __REAL2__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INTEGER8, ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER8__)) < 0) __PYX_ERR(21, 1021, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1022 * INTEGER4 = __INTEGER4__ * INTEGER8 = __INTEGER8__ * INTEGER16 = __INTEGER16__ # <<<<<<<<<<<<<< * REAL2 = __REAL2__ * REAL4 = __REAL4__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INTEGER16, ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER16__)) < 0) __PYX_ERR(21, 1022, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1023 * INTEGER8 = __INTEGER8__ * INTEGER16 = __INTEGER16__ * REAL2 = __REAL2__ # <<<<<<<<<<<<<< * REAL4 = __REAL4__ * REAL8 = __REAL8__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_REAL2, ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL2__)) < 0) __PYX_ERR(21, 1023, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1024 * INTEGER16 = __INTEGER16__ * REAL2 = __REAL2__ * REAL4 = __REAL4__ # <<<<<<<<<<<<<< * REAL8 = __REAL8__ * REAL16 = __REAL16__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_REAL4, ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL4__)) < 0) __PYX_ERR(21, 1024, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1025 * REAL2 = __REAL2__ * REAL4 = __REAL4__ * REAL8 = __REAL8__ # <<<<<<<<<<<<<< * REAL16 = __REAL16__ * COMPLEX4 = __COMPLEX4__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_REAL8, ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL8__)) < 0) __PYX_ERR(21, 1025, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1026 * REAL4 = __REAL4__ * REAL8 = __REAL8__ * REAL16 = __REAL16__ # <<<<<<<<<<<<<< * COMPLEX4 = __COMPLEX4__ * COMPLEX8 = __COMPLEX8__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_REAL16, ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL16__)) < 0) __PYX_ERR(21, 1026, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1027 * REAL8 = __REAL8__ * REAL16 = __REAL16__ * COMPLEX4 = __COMPLEX4__ # <<<<<<<<<<<<<< * COMPLEX8 = __COMPLEX8__ * COMPLEX16 = __COMPLEX16__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMPLEX4, ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX4__)) < 0) __PYX_ERR(21, 1027, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1028 * REAL16 = __REAL16__ * COMPLEX4 = __COMPLEX4__ * COMPLEX8 = __COMPLEX8__ # <<<<<<<<<<<<<< * COMPLEX16 = __COMPLEX16__ * COMPLEX32 = __COMPLEX32__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMPLEX8, ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX8__)) < 0) __PYX_ERR(21, 1028, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1029 * COMPLEX4 = __COMPLEX4__ * COMPLEX8 = __COMPLEX8__ * COMPLEX16 = __COMPLEX16__ # <<<<<<<<<<<<<< * COMPLEX32 = __COMPLEX32__ * */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMPLEX16, ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX16__)) < 0) __PYX_ERR(21, 1029, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1030 * COMPLEX8 = __COMPLEX8__ * COMPLEX16 = __COMPLEX16__ * COMPLEX32 = __COMPLEX32__ # <<<<<<<<<<<<<< * * # Convenience aliases */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMPLEX32, ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX32__)) < 0) __PYX_ERR(21, 1030, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1033 * * # Convenience aliases * UNSIGNED_INT = __UNSIGNED__ # <<<<<<<<<<<<<< * SIGNED_SHORT = __SHORT__ * SIGNED_INT = __INT__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNSIGNED_INT, ((PyObject *)__pyx_v_6mpi4py_3MPI___UNSIGNED__)) < 0) __PYX_ERR(21, 1033, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1034 * # Convenience aliases * UNSIGNED_INT = __UNSIGNED__ * SIGNED_SHORT = __SHORT__ # <<<<<<<<<<<<<< * SIGNED_INT = __INT__ * SIGNED_LONG = __LONG__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SIGNED_SHORT, ((PyObject *)__pyx_v_6mpi4py_3MPI___SHORT__)) < 0) __PYX_ERR(21, 1034, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1035 * UNSIGNED_INT = __UNSIGNED__ * SIGNED_SHORT = __SHORT__ * SIGNED_INT = __INT__ # <<<<<<<<<<<<<< * SIGNED_LONG = __LONG__ * SIGNED_LONG_LONG = __LONG_LONG__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SIGNED_INT, ((PyObject *)__pyx_v_6mpi4py_3MPI___INT__)) < 0) __PYX_ERR(21, 1035, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1036 * SIGNED_SHORT = __SHORT__ * SIGNED_INT = __INT__ * SIGNED_LONG = __LONG__ # <<<<<<<<<<<<<< * SIGNED_LONG_LONG = __LONG_LONG__ * BOOL = __C_BOOL__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SIGNED_LONG, ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG__)) < 0) __PYX_ERR(21, 1036, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1037 * SIGNED_INT = __INT__ * SIGNED_LONG = __LONG__ * SIGNED_LONG_LONG = __LONG_LONG__ # <<<<<<<<<<<<<< * BOOL = __C_BOOL__ * SINT8_T = __INT8_T__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SIGNED_LONG_LONG, ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_LONG__)) < 0) __PYX_ERR(21, 1037, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1038 * SIGNED_LONG = __LONG__ * SIGNED_LONG_LONG = __LONG_LONG__ * BOOL = __C_BOOL__ # <<<<<<<<<<<<<< * SINT8_T = __INT8_T__ * SINT16_T = __INT16_T__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_BOOL, ((PyObject *)__pyx_v_6mpi4py_3MPI___C_BOOL__)) < 0) __PYX_ERR(21, 1038, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1039 * SIGNED_LONG_LONG = __LONG_LONG__ * BOOL = __C_BOOL__ * SINT8_T = __INT8_T__ # <<<<<<<<<<<<<< * SINT16_T = __INT16_T__ * SINT32_T = __INT32_T__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SINT8_T, ((PyObject *)__pyx_v_6mpi4py_3MPI___INT8_T__)) < 0) __PYX_ERR(21, 1039, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1040 * BOOL = __C_BOOL__ * SINT8_T = __INT8_T__ * SINT16_T = __INT16_T__ # <<<<<<<<<<<<<< * SINT32_T = __INT32_T__ * SINT64_T = __INT64_T__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SINT16_T, ((PyObject *)__pyx_v_6mpi4py_3MPI___INT16_T__)) < 0) __PYX_ERR(21, 1040, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1041 * SINT8_T = __INT8_T__ * SINT16_T = __INT16_T__ * SINT32_T = __INT32_T__ # <<<<<<<<<<<<<< * SINT64_T = __INT64_T__ * F_BOOL = __LOGICAL__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SINT32_T, ((PyObject *)__pyx_v_6mpi4py_3MPI___INT32_T__)) < 0) __PYX_ERR(21, 1041, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1042 * SINT16_T = __INT16_T__ * SINT32_T = __INT32_T__ * SINT64_T = __INT64_T__ # <<<<<<<<<<<<<< * F_BOOL = __LOGICAL__ * F_INT = __INTEGER__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SINT64_T, ((PyObject *)__pyx_v_6mpi4py_3MPI___INT64_T__)) < 0) __PYX_ERR(21, 1042, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1043 * SINT32_T = __INT32_T__ * SINT64_T = __INT64_T__ * F_BOOL = __LOGICAL__ # <<<<<<<<<<<<<< * F_INT = __INTEGER__ * F_FLOAT = __REAL__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_F_BOOL, ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL__)) < 0) __PYX_ERR(21, 1043, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1044 * SINT64_T = __INT64_T__ * F_BOOL = __LOGICAL__ * F_INT = __INTEGER__ # <<<<<<<<<<<<<< * F_FLOAT = __REAL__ * F_DOUBLE = __DOUBLE_PRECISION__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_F_INT, ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER__)) < 0) __PYX_ERR(21, 1044, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1045 * F_BOOL = __LOGICAL__ * F_INT = __INTEGER__ * F_FLOAT = __REAL__ # <<<<<<<<<<<<<< * F_DOUBLE = __DOUBLE_PRECISION__ * F_COMPLEX = __COMPLEX__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_F_FLOAT, ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL__)) < 0) __PYX_ERR(21, 1045, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1046 * F_INT = __INTEGER__ * F_FLOAT = __REAL__ * F_DOUBLE = __DOUBLE_PRECISION__ # <<<<<<<<<<<<<< * F_COMPLEX = __COMPLEX__ * F_FLOAT_COMPLEX = __COMPLEX__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_F_DOUBLE, ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE_PRECISION__)) < 0) __PYX_ERR(21, 1046, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1047 * F_FLOAT = __REAL__ * F_DOUBLE = __DOUBLE_PRECISION__ * F_COMPLEX = __COMPLEX__ # <<<<<<<<<<<<<< * F_FLOAT_COMPLEX = __COMPLEX__ * F_DOUBLE_COMPLEX = __DOUBLE_COMPLEX__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_F_COMPLEX, ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX__)) < 0) __PYX_ERR(21, 1047, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1048 * F_DOUBLE = __DOUBLE_PRECISION__ * F_COMPLEX = __COMPLEX__ * F_FLOAT_COMPLEX = __COMPLEX__ # <<<<<<<<<<<<<< * F_DOUBLE_COMPLEX = __DOUBLE_COMPLEX__ */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_F_FLOAT_COMPLEX, ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX__)) < 0) __PYX_ERR(21, 1048, __pyx_L1_error) /* "mpi4py/MPI/Datatype.pyx":1049 * F_COMPLEX = __COMPLEX__ * F_FLOAT_COMPLEX = __COMPLEX__ * F_DOUBLE_COMPLEX = __DOUBLE_COMPLEX__ # <<<<<<<<<<<<<< */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_F_DOUBLE_COMPLEX, ((PyObject *)__pyx_v_6mpi4py_3MPI___DOUBLE_COMPLEX__)) < 0) __PYX_ERR(21, 1049, __pyx_L1_error) /* "mpi4py/MPI/Status.pyx":81 * self.Set_error(value) * * def Get_count(self, Datatype datatype=BYTE): # <<<<<<<<<<<<<< * """ * Get the number of *top level* elements */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_BYTE); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Datatype))))) __PYX_ERR(24, 81, __pyx_L1_error) __pyx_k__28 = ((struct PyMPIDatatypeObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Status.pyx":156 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Status, __pyx_n_s_f2py); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Status.pyx":155 * return [f_status[i] for i from 0 <= i < n] * * @classmethod # <<<<<<<<<<<<<< * def f2py(cls, arg): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Status->tp_dict, __pyx_n_s_f2py, __pyx_t_1) < 0) __PYX_ERR(24, 156, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Status); /* "mpi4py/MPI/Request.pyx":75 * * @classmethod * def Waitany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for any previously initiated request to complete */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_Waitany); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 75, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Request.pyx":74 * # -------------------- * * @classmethod # <<<<<<<<<<<<<< * def Waitany(cls, requests, Status status=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request->tp_dict, __pyx_n_s_Waitany, __pyx_t_3) < 0) __PYX_ERR(25, 75, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "mpi4py/MPI/Request.pyx":93 * * @classmethod * def Testany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Test for completion of any previously initiated request */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_Testany); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Request.pyx":92 * return index * * @classmethod # <<<<<<<<<<<<<< * def Testany(cls, requests, Status status=None): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request->tp_dict, __pyx_n_s_Testany, __pyx_t_1) < 0) __PYX_ERR(25, 93, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "mpi4py/MPI/Request.pyx":113 * * @classmethod * def Waitall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Wait for all previously initiated requests to complete */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_Waitall); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Request.pyx":112 * return (index, flag) * * @classmethod # <<<<<<<<<<<<<< * def Waitall(cls, requests, statuses=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request->tp_dict, __pyx_n_s_Waitall, __pyx_t_3) < 0) __PYX_ERR(25, 113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "mpi4py/MPI/Request.pyx":131 * * @classmethod * def Testall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Test for completion of all previously initiated requests */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_Testall); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Request.pyx":130 * return True * * @classmethod # <<<<<<<<<<<<<< * def Testall(cls, requests, statuses=None): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request->tp_dict, __pyx_n_s_Testall, __pyx_t_1) < 0) __PYX_ERR(25, 131, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "mpi4py/MPI/Request.pyx":150 * * @classmethod * def Waitsome(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Wait for some previously initiated requests to complete */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_Waitsome); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Request.pyx":149 * return flag * * @classmethod # <<<<<<<<<<<<<< * def Waitsome(cls, requests, statuses=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request->tp_dict, __pyx_n_s_Waitsome, __pyx_t_3) < 0) __PYX_ERR(25, 150, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "mpi4py/MPI/Request.pyx":175 * * @classmethod * def Testsome(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Test for completion of some previously initiated requests */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_Testsome); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Request.pyx":174 * return indices * * @classmethod # <<<<<<<<<<<<<< * def Testsome(cls, requests, statuses=None): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request->tp_dict, __pyx_n_s_Testsome, __pyx_t_1) < 0) __PYX_ERR(25, 175, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "mpi4py/MPI/Request.pyx":217 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 217, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Request.pyx":216 * return MPI_Request_c2f(self.ob_mpi) * * @classmethod # <<<<<<<<<<<<<< * def f2py(cls, arg): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request->tp_dict, __pyx_n_s_f2py, __pyx_t_3) < 0) __PYX_ERR(25, 217, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "mpi4py/MPI/Request.pyx":247 * # * @classmethod * def waitany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for any previously initiated request to complete */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_waitany); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Request.pyx":246 * return (flag, msg) * # * @classmethod # <<<<<<<<<<<<<< * def waitany(cls, requests, Status status=None): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request->tp_dict, __pyx_n_s_waitany, __pyx_t_1) < 0) __PYX_ERR(25, 247, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "mpi4py/MPI/Request.pyx":256 * # * @classmethod * def testany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Test for completion of any previously initiated request */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_testany); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Request.pyx":255 * return (index, msg) * # * @classmethod # <<<<<<<<<<<<<< * def testany(cls, requests, Status status=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request->tp_dict, __pyx_n_s_testany, __pyx_t_3) < 0) __PYX_ERR(25, 256, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "mpi4py/MPI/Request.pyx":266 * # * @classmethod * def waitall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Wait for all previously initiated requests to complete */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_waitall); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Request.pyx":265 * return (index, flag, msg) * # * @classmethod # <<<<<<<<<<<<<< * def waitall(cls, requests, statuses=None): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request->tp_dict, __pyx_n_s_waitall, __pyx_t_1) < 0) __PYX_ERR(25, 266, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "mpi4py/MPI/Request.pyx":274 * # * @classmethod * def testall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Test for completion of all previously initiated requests */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_testall); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Request.pyx":273 * return msg * # * @classmethod # <<<<<<<<<<<<<< * def testall(cls, requests, statuses=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request->tp_dict, __pyx_n_s_testall, __pyx_t_3) < 0) __PYX_ERR(25, 274, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "mpi4py/MPI/Request.pyx":300 * * @classmethod * def Startall(cls, requests): # <<<<<<<<<<<<<< * """ * Start a collection of persistent requests */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Prequest, __pyx_n_s_Startall); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Request.pyx":299 * with nogil: CHKERR( MPI_Start(&self.ob_mpi) ) * * @classmethod # <<<<<<<<<<<<<< * def Startall(cls, requests): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Prequest->tp_dict, __pyx_n_s_Startall, __pyx_t_1) < 0) __PYX_ERR(25, 300, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Prequest); /* "mpi4py/MPI/Request.pyx":327 * * @classmethod * def Start(cls, query_fn, free_fn, cancel_fn, # <<<<<<<<<<<<<< * args=None, kargs=None): * """ */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Grequest, __pyx_n_s_Start); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Request.pyx":326 * (request) * * @classmethod # <<<<<<<<<<<<<< * def Start(cls, query_fn, free_fn, cancel_fn, * args=None, kargs=None): */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Grequest->tp_dict, __pyx_n_s_Start, __pyx_t_3) < 0) __PYX_ERR(25, 327, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Grequest); /* "mpi4py/MPI/Request.pyx":356 * * * cdef Request __REQUEST_NULL__ = new_Request(MPI_REQUEST_NULL) # <<<<<<<<<<<<<< * * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Request(MPI_REQUEST_NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___REQUEST_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___REQUEST_NULL__, ((struct PyMPIRequestObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Request.pyx":362 * # -------------------------- * * REQUEST_NULL = __REQUEST_NULL__ #: Null request handle # <<<<<<<<<<<<<< */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_REQUEST_NULL, ((PyObject *)__pyx_v_6mpi4py_3MPI___REQUEST_NULL__)) < 0) __PYX_ERR(25, 362, __pyx_L1_error) /* "mpi4py/MPI/Message.pyx":34 * @classmethod * def Probe(cls, Comm comm, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): # <<<<<<<<<<<<<< * """ * Blocking test for a matched message */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__29 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 34, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__30 = __pyx_t_2; /* "mpi4py/MPI/Message.pyx":33 * * @classmethod * def Probe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """ */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Message, __pyx_n_s_Probe); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 33, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Message.pyx":32 * # -------------- * * @classmethod # <<<<<<<<<<<<<< * def Probe(cls, Comm comm, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message->tp_dict, __pyx_n_s_Probe, __pyx_t_1) < 0) __PYX_ERR(26, 33, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Message); /* "mpi4py/MPI/Message.pyx":48 * @classmethod * def Iprobe(cls, Comm comm, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): # <<<<<<<<<<<<<< * """ * Nonblocking test for a matched message */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 48, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__31 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 48, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__32 = __pyx_t_2; /* "mpi4py/MPI/Message.pyx":47 * * @classmethod * def Iprobe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """ */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Message, __pyx_n_s_Iprobe); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Message.pyx":46 * return message * * @classmethod # <<<<<<<<<<<<<< * def Iprobe(cls, Comm comm, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message->tp_dict, __pyx_n_s_Iprobe, __pyx_t_3) < 0) __PYX_ERR(26, 47, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Message); /* "mpi4py/MPI/Message.pyx":104 * @classmethod * def probe(cls, Comm comm, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): # <<<<<<<<<<<<<< * """Blocking test for a matched message""" * cdef Message message = Message.__new__(cls) */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__33 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__34 = __pyx_t_2; /* "mpi4py/MPI/Message.pyx":103 * # * @classmethod * def probe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """Blocking test for a matched message""" */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Message, __pyx_n_s_probe); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Message.pyx":102 * # -------------------- * # * @classmethod # <<<<<<<<<<<<<< * def probe(cls, Comm comm, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message->tp_dict, __pyx_n_s_probe, __pyx_t_1) < 0) __PYX_ERR(26, 103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Message); /* "mpi4py/MPI/Message.pyx":114 * @classmethod * def iprobe(cls, Comm comm, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): # <<<<<<<<<<<<<< * """Nonblocking test for a matched message""" * cdef int flag = 0 */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__35 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(26, 114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__36 = __pyx_t_2; /* "mpi4py/MPI/Message.pyx":113 * # * @classmethod * def iprobe(cls, Comm comm, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """Nonblocking test for a matched message""" */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Message, __pyx_n_s_iprobe); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Message.pyx":112 * return message * # * @classmethod # <<<<<<<<<<<<<< * def iprobe(cls, Comm comm, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message->tp_dict, __pyx_n_s_iprobe, __pyx_t_3) < 0) __PYX_ERR(26, 113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Message); /* "mpi4py/MPI/Message.pyx":153 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Message, __pyx_n_s_f2py); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Message.pyx":152 * return MPI_Message_c2f(self.ob_mpi) * * @classmethod # <<<<<<<<<<<<<< * def f2py(cls, arg): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message->tp_dict, __pyx_n_s_f2py, __pyx_t_1) < 0) __PYX_ERR(26, 153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Message); /* "mpi4py/MPI/Message.pyx":161 * * * cdef Message __MESSAGE_NULL__ = new_Message ( MPI_MESSAGE_NULL ) # <<<<<<<<<<<<<< * cdef Message __MESSAGE_NO_PROC__ = new_Message ( MPI_MESSAGE_NO_PROC ) * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Message(MPI_MESSAGE_NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___MESSAGE_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___MESSAGE_NULL__, ((struct PyMPIMessageObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Message.pyx":162 * * cdef Message __MESSAGE_NULL__ = new_Message ( MPI_MESSAGE_NULL ) * cdef Message __MESSAGE_NO_PROC__ = new_Message ( MPI_MESSAGE_NO_PROC ) # <<<<<<<<<<<<<< * * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Message(MPI_MESSAGE_NO_PROC)); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___MESSAGE_NO_PROC__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___MESSAGE_NO_PROC__, ((struct PyMPIMessageObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Message.pyx":168 * # -------------------------- * * MESSAGE_NULL = __MESSAGE_NULL__ #: Null message handle # <<<<<<<<<<<<<< * MESSAGE_NO_PROC = __MESSAGE_NO_PROC__ #: No-proc message handle */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_NULL, ((PyObject *)__pyx_v_6mpi4py_3MPI___MESSAGE_NULL__)) < 0) __PYX_ERR(26, 168, __pyx_L1_error) /* "mpi4py/MPI/Message.pyx":169 * * MESSAGE_NULL = __MESSAGE_NULL__ #: Null message handle * MESSAGE_NO_PROC = __MESSAGE_NO_PROC__ #: No-proc message handle # <<<<<<<<<<<<<< */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_MESSAGE_NO_PROC, ((PyObject *)__pyx_v_6mpi4py_3MPI___MESSAGE_NO_PROC__)) < 0) __PYX_ERR(26, 169, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":29 * * @classmethod * def Create(cls): # <<<<<<<<<<<<<< * """ * Create a new, empty info object */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Info, __pyx_n_s_Create); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 29, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Info.pyx":28 * return self.ob_mpi != MPI_INFO_NULL * * @classmethod # <<<<<<<<<<<<<< * def Create(cls): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Info->tp_dict, __pyx_n_s_Create, __pyx_t_3) < 0) __PYX_ERR(27, 29, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Info); /* "mpi4py/MPI/Info.pyx":116 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Info, __pyx_n_s_f2py); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Info.pyx":115 * return MPI_Info_c2f(self.ob_mpi) * * @classmethod # <<<<<<<<<<<<<< * def f2py(cls, arg): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Info->tp_dict, __pyx_n_s_f2py, __pyx_t_1) < 0) __PYX_ERR(27, 116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Info); /* "mpi4py/MPI/Info.pyx":229 * * * cdef Info __INFO_NULL__ = new_Info(MPI_INFO_NULL) # <<<<<<<<<<<<<< * cdef Info __INFO_ENV__ = new_Info(MPI_INFO_ENV) * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Info(MPI_INFO_NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INFO_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INFO_NULL__, ((struct PyMPIInfoObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Info.pyx":230 * * cdef Info __INFO_NULL__ = new_Info(MPI_INFO_NULL) * cdef Info __INFO_ENV__ = new_Info(MPI_INFO_ENV) # <<<<<<<<<<<<<< * * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Info(MPI_INFO_ENV)); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INFO_ENV__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INFO_ENV__, ((struct PyMPIInfoObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Info.pyx":236 * # ----------------------- * * INFO_NULL = __INFO_NULL__ #: Null info handle # <<<<<<<<<<<<<< * INFO_ENV = __INFO_ENV__ #: Environment info handle */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INFO_NULL, ((PyObject *)__pyx_v_6mpi4py_3MPI___INFO_NULL__)) < 0) __PYX_ERR(27, 236, __pyx_L1_error) /* "mpi4py/MPI/Info.pyx":237 * * INFO_NULL = __INFO_NULL__ #: Null info handle * INFO_ENV = __INFO_ENV__ #: Environment info handle # <<<<<<<<<<<<<< */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_INFO_ENV, ((PyObject *)__pyx_v_6mpi4py_3MPI___INFO_ENV__)) < 0) __PYX_ERR(27, 237, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":38 * * @classmethod * def Create(cls, function, bint commute=False): # <<<<<<<<<<<<<< * """ * Create a user-defined operation */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Op, __pyx_n_s_Create); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Op.pyx":37 * return op_user_py(self.ob_usrid, x, y, None) * * @classmethod # <<<<<<<<<<<<<< * def Create(cls, function, bint commute=False): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 37, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Op->tp_dict, __pyx_n_s_Create, __pyx_t_3) < 0) __PYX_ERR(28, 38, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Op); /* "mpi4py/MPI/Op.pyx":132 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Op, __pyx_n_s_f2py); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Op.pyx":131 * return MPI_Op_c2f(self.ob_mpi) * * @classmethod # <<<<<<<<<<<<<< * def f2py(cls, arg): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Op->tp_dict, __pyx_n_s_f2py, __pyx_t_1) < 0) __PYX_ERR(28, 132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Op); /* "mpi4py/MPI/Op.pyx":141 * * * cdef Op __OP_NULL__ = new_Op( MPI_OP_NULL ) # <<<<<<<<<<<<<< * cdef Op __MAX__ = new_Op( MPI_MAX ) * cdef Op __MIN__ = new_Op( MPI_MIN ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_OP_NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___OP_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___OP_NULL__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":142 * * cdef Op __OP_NULL__ = new_Op( MPI_OP_NULL ) * cdef Op __MAX__ = new_Op( MPI_MAX ) # <<<<<<<<<<<<<< * cdef Op __MIN__ = new_Op( MPI_MIN ) * cdef Op __SUM__ = new_Op( MPI_SUM ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_MAX)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___MAX__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___MAX__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":143 * cdef Op __OP_NULL__ = new_Op( MPI_OP_NULL ) * cdef Op __MAX__ = new_Op( MPI_MAX ) * cdef Op __MIN__ = new_Op( MPI_MIN ) # <<<<<<<<<<<<<< * cdef Op __SUM__ = new_Op( MPI_SUM ) * cdef Op __PROD__ = new_Op( MPI_PROD ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_MIN)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___MIN__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___MIN__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":144 * cdef Op __MAX__ = new_Op( MPI_MAX ) * cdef Op __MIN__ = new_Op( MPI_MIN ) * cdef Op __SUM__ = new_Op( MPI_SUM ) # <<<<<<<<<<<<<< * cdef Op __PROD__ = new_Op( MPI_PROD ) * cdef Op __LAND__ = new_Op( MPI_LAND ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_SUM)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___SUM__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___SUM__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":145 * cdef Op __MIN__ = new_Op( MPI_MIN ) * cdef Op __SUM__ = new_Op( MPI_SUM ) * cdef Op __PROD__ = new_Op( MPI_PROD ) # <<<<<<<<<<<<<< * cdef Op __LAND__ = new_Op( MPI_LAND ) * cdef Op __BAND__ = new_Op( MPI_BAND ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_PROD)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___PROD__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___PROD__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":146 * cdef Op __SUM__ = new_Op( MPI_SUM ) * cdef Op __PROD__ = new_Op( MPI_PROD ) * cdef Op __LAND__ = new_Op( MPI_LAND ) # <<<<<<<<<<<<<< * cdef Op __BAND__ = new_Op( MPI_BAND ) * cdef Op __LOR__ = new_Op( MPI_LOR ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_LAND)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LAND__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LAND__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":147 * cdef Op __PROD__ = new_Op( MPI_PROD ) * cdef Op __LAND__ = new_Op( MPI_LAND ) * cdef Op __BAND__ = new_Op( MPI_BAND ) # <<<<<<<<<<<<<< * cdef Op __LOR__ = new_Op( MPI_LOR ) * cdef Op __BOR__ = new_Op( MPI_BOR ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_BAND)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___BAND__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___BAND__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":148 * cdef Op __LAND__ = new_Op( MPI_LAND ) * cdef Op __BAND__ = new_Op( MPI_BAND ) * cdef Op __LOR__ = new_Op( MPI_LOR ) # <<<<<<<<<<<<<< * cdef Op __BOR__ = new_Op( MPI_BOR ) * cdef Op __LXOR__ = new_Op( MPI_LXOR ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_LOR)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LOR__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LOR__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":149 * cdef Op __BAND__ = new_Op( MPI_BAND ) * cdef Op __LOR__ = new_Op( MPI_LOR ) * cdef Op __BOR__ = new_Op( MPI_BOR ) # <<<<<<<<<<<<<< * cdef Op __LXOR__ = new_Op( MPI_LXOR ) * cdef Op __BXOR__ = new_Op( MPI_BXOR ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_BOR)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___BOR__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___BOR__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":150 * cdef Op __LOR__ = new_Op( MPI_LOR ) * cdef Op __BOR__ = new_Op( MPI_BOR ) * cdef Op __LXOR__ = new_Op( MPI_LXOR ) # <<<<<<<<<<<<<< * cdef Op __BXOR__ = new_Op( MPI_BXOR ) * cdef Op __MAXLOC__ = new_Op( MPI_MAXLOC ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_LXOR)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LXOR__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LXOR__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":151 * cdef Op __BOR__ = new_Op( MPI_BOR ) * cdef Op __LXOR__ = new_Op( MPI_LXOR ) * cdef Op __BXOR__ = new_Op( MPI_BXOR ) # <<<<<<<<<<<<<< * cdef Op __MAXLOC__ = new_Op( MPI_MAXLOC ) * cdef Op __MINLOC__ = new_Op( MPI_MINLOC ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_BXOR)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___BXOR__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___BXOR__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":152 * cdef Op __LXOR__ = new_Op( MPI_LXOR ) * cdef Op __BXOR__ = new_Op( MPI_BXOR ) * cdef Op __MAXLOC__ = new_Op( MPI_MAXLOC ) # <<<<<<<<<<<<<< * cdef Op __MINLOC__ = new_Op( MPI_MINLOC ) * cdef Op __REPLACE__ = new_Op( MPI_REPLACE ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_MAXLOC)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___MAXLOC__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___MAXLOC__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":153 * cdef Op __BXOR__ = new_Op( MPI_BXOR ) * cdef Op __MAXLOC__ = new_Op( MPI_MAXLOC ) * cdef Op __MINLOC__ = new_Op( MPI_MINLOC ) # <<<<<<<<<<<<<< * cdef Op __REPLACE__ = new_Op( MPI_REPLACE ) * cdef Op __NO_OP__ = new_Op( MPI_NO_OP ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_MINLOC)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___MINLOC__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___MINLOC__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":154 * cdef Op __MAXLOC__ = new_Op( MPI_MAXLOC ) * cdef Op __MINLOC__ = new_Op( MPI_MINLOC ) * cdef Op __REPLACE__ = new_Op( MPI_REPLACE ) # <<<<<<<<<<<<<< * cdef Op __NO_OP__ = new_Op( MPI_NO_OP ) * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_REPLACE)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___REPLACE__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___REPLACE__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":155 * cdef Op __MINLOC__ = new_Op( MPI_MINLOC ) * cdef Op __REPLACE__ = new_Op( MPI_REPLACE ) * cdef Op __NO_OP__ = new_Op( MPI_NO_OP ) # <<<<<<<<<<<<<< * * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_NO_OP)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___NO_OP__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___NO_OP__, ((struct PyMPIOpObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Op.pyx":161 * # ---------------------------- * * OP_NULL = __OP_NULL__ #: Null # <<<<<<<<<<<<<< * MAX = __MAX__ #: Maximum * MIN = __MIN__ #: Minimum */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_OP_NULL, ((PyObject *)__pyx_v_6mpi4py_3MPI___OP_NULL__)) < 0) __PYX_ERR(28, 161, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":162 * * OP_NULL = __OP_NULL__ #: Null * MAX = __MAX__ #: Maximum # <<<<<<<<<<<<<< * MIN = __MIN__ #: Minimum * SUM = __SUM__ #: Sum */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX, ((PyObject *)__pyx_v_6mpi4py_3MPI___MAX__)) < 0) __PYX_ERR(28, 162, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":163 * OP_NULL = __OP_NULL__ #: Null * MAX = __MAX__ #: Maximum * MIN = __MIN__ #: Minimum # <<<<<<<<<<<<<< * SUM = __SUM__ #: Sum * PROD = __PROD__ #: Product */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_MIN, ((PyObject *)__pyx_v_6mpi4py_3MPI___MIN__)) < 0) __PYX_ERR(28, 163, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":164 * MAX = __MAX__ #: Maximum * MIN = __MIN__ #: Minimum * SUM = __SUM__ #: Sum # <<<<<<<<<<<<<< * PROD = __PROD__ #: Product * LAND = __LAND__ #: Logical and */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SUM, ((PyObject *)__pyx_v_6mpi4py_3MPI___SUM__)) < 0) __PYX_ERR(28, 164, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":165 * MIN = __MIN__ #: Minimum * SUM = __SUM__ #: Sum * PROD = __PROD__ #: Product # <<<<<<<<<<<<<< * LAND = __LAND__ #: Logical and * BAND = __BAND__ #: Bit-wise and */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_PROD, ((PyObject *)__pyx_v_6mpi4py_3MPI___PROD__)) < 0) __PYX_ERR(28, 165, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":166 * SUM = __SUM__ #: Sum * PROD = __PROD__ #: Product * LAND = __LAND__ #: Logical and # <<<<<<<<<<<<<< * BAND = __BAND__ #: Bit-wise and * LOR = __LOR__ #: Logical or */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LAND, ((PyObject *)__pyx_v_6mpi4py_3MPI___LAND__)) < 0) __PYX_ERR(28, 166, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":167 * PROD = __PROD__ #: Product * LAND = __LAND__ #: Logical and * BAND = __BAND__ #: Bit-wise and # <<<<<<<<<<<<<< * LOR = __LOR__ #: Logical or * BOR = __BOR__ #: Bit-wise or */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_BAND, ((PyObject *)__pyx_v_6mpi4py_3MPI___BAND__)) < 0) __PYX_ERR(28, 167, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":168 * LAND = __LAND__ #: Logical and * BAND = __BAND__ #: Bit-wise and * LOR = __LOR__ #: Logical or # <<<<<<<<<<<<<< * BOR = __BOR__ #: Bit-wise or * LXOR = __LXOR__ #: Logical xor */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOR, ((PyObject *)__pyx_v_6mpi4py_3MPI___LOR__)) < 0) __PYX_ERR(28, 168, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":169 * BAND = __BAND__ #: Bit-wise and * LOR = __LOR__ #: Logical or * BOR = __BOR__ #: Bit-wise or # <<<<<<<<<<<<<< * LXOR = __LXOR__ #: Logical xor * BXOR = __BXOR__ #: Bit-wise xor */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_BOR, ((PyObject *)__pyx_v_6mpi4py_3MPI___BOR__)) < 0) __PYX_ERR(28, 169, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":170 * LOR = __LOR__ #: Logical or * BOR = __BOR__ #: Bit-wise or * LXOR = __LXOR__ #: Logical xor # <<<<<<<<<<<<<< * BXOR = __BXOR__ #: Bit-wise xor * MAXLOC = __MAXLOC__ #: Maximum and location */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_LXOR, ((PyObject *)__pyx_v_6mpi4py_3MPI___LXOR__)) < 0) __PYX_ERR(28, 170, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":171 * BOR = __BOR__ #: Bit-wise or * LXOR = __LXOR__ #: Logical xor * BXOR = __BXOR__ #: Bit-wise xor # <<<<<<<<<<<<<< * MAXLOC = __MAXLOC__ #: Maximum and location * MINLOC = __MINLOC__ #: Minimum and location */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_BXOR, ((PyObject *)__pyx_v_6mpi4py_3MPI___BXOR__)) < 0) __PYX_ERR(28, 171, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":172 * LXOR = __LXOR__ #: Logical xor * BXOR = __BXOR__ #: Bit-wise xor * MAXLOC = __MAXLOC__ #: Maximum and location # <<<<<<<<<<<<<< * MINLOC = __MINLOC__ #: Minimum and location * REPLACE = __REPLACE__ #: Replace (for RMA) */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAXLOC, ((PyObject *)__pyx_v_6mpi4py_3MPI___MAXLOC__)) < 0) __PYX_ERR(28, 172, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":173 * BXOR = __BXOR__ #: Bit-wise xor * MAXLOC = __MAXLOC__ #: Maximum and location * MINLOC = __MINLOC__ #: Minimum and location # <<<<<<<<<<<<<< * REPLACE = __REPLACE__ #: Replace (for RMA) * NO_OP = __NO_OP__ #: No-op (for RMA) */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_MINLOC, ((PyObject *)__pyx_v_6mpi4py_3MPI___MINLOC__)) < 0) __PYX_ERR(28, 173, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":174 * MAXLOC = __MAXLOC__ #: Maximum and location * MINLOC = __MINLOC__ #: Minimum and location * REPLACE = __REPLACE__ #: Replace (for RMA) # <<<<<<<<<<<<<< * NO_OP = __NO_OP__ #: No-op (for RMA) */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_REPLACE, ((PyObject *)__pyx_v_6mpi4py_3MPI___REPLACE__)) < 0) __PYX_ERR(28, 174, __pyx_L1_error) /* "mpi4py/MPI/Op.pyx":175 * MINLOC = __MINLOC__ #: Minimum and location * REPLACE = __REPLACE__ #: Replace (for RMA) * NO_OP = __NO_OP__ #: No-op (for RMA) # <<<<<<<<<<<<<< */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_NO_OP, ((PyObject *)__pyx_v_6mpi4py_3MPI___NO_OP__)) < 0) __PYX_ERR(28, 175, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":58 * * @classmethod * def Translate_ranks(cls, Group group1, ranks1, Group group2=None): # <<<<<<<<<<<<<< * """ * Translate the ranks of processes in */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_Translate_ranks); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Group.pyx":57 * return self.Get_rank() * * @classmethod # <<<<<<<<<<<<<< * def Translate_ranks(cls, Group group1, ranks1, Group group2=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 57, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group->tp_dict, __pyx_n_s_Translate_ranks, __pyx_t_3) < 0) __PYX_ERR(29, 58, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "mpi4py/MPI/Group.pyx":85 * * @classmethod * def Compare(cls, Group group1, Group group2): # <<<<<<<<<<<<<< * """ * Compare two groups */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_Compare); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Group.pyx":84 * return ranks2 * * @classmethod # <<<<<<<<<<<<<< * def Compare(cls, Group group1, Group group2): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group->tp_dict, __pyx_n_s_Compare, __pyx_t_1) < 0) __PYX_ERR(29, 85, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "mpi4py/MPI/Group.pyx":105 * * @classmethod * def Union(cls, Group group1, Group group2): # <<<<<<<<<<<<<< * """ * Produce a group by combining */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_Union); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Group.pyx":104 * return group * * @classmethod # <<<<<<<<<<<<<< * def Union(cls, Group group1, Group group2): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group->tp_dict, __pyx_n_s_Union, __pyx_t_3) < 0) __PYX_ERR(29, 105, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "mpi4py/MPI/Group.pyx":116 * * @classmethod * def Intersection(cls, Group group1, Group group2): # <<<<<<<<<<<<<< * """ * Produce a group as the intersection */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_Intersection); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Group.pyx":115 * return group * * @classmethod # <<<<<<<<<<<<<< * def Intersection(cls, Group group1, Group group2): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group->tp_dict, __pyx_n_s_Intersection, __pyx_t_1) < 0) __PYX_ERR(29, 116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "mpi4py/MPI/Group.pyx":126 * return group * * Intersect = Intersection # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_Intersection); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group->tp_dict, __pyx_n_s_Intersect, __pyx_t_1) < 0) __PYX_ERR(29, 126, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "mpi4py/MPI/Group.pyx":129 * * @classmethod * def Difference(cls, Group group1, Group group2): # <<<<<<<<<<<<<< * """ * Produce a group from the difference */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_Difference); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Group.pyx":128 * Intersect = Intersection * * @classmethod # <<<<<<<<<<<<<< * def Difference(cls, Group group1, Group group2): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group->tp_dict, __pyx_n_s_Difference, __pyx_t_3) < 0) __PYX_ERR(29, 129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "mpi4py/MPI/Group.pyx":212 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_f2py); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Group.pyx":211 * return MPI_Group_c2f(self.ob_mpi) * * @classmethod # <<<<<<<<<<<<<< * def f2py(cls, arg): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group->tp_dict, __pyx_n_s_f2py, __pyx_t_1) < 0) __PYX_ERR(29, 212, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "mpi4py/MPI/Group.pyx":221 * * * cdef Group __GROUP_NULL__ = new_Group ( MPI_GROUP_NULL ) # <<<<<<<<<<<<<< * cdef Group __GROUP_EMPTY__ = new_Group ( MPI_GROUP_EMPTY ) * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Group(MPI_GROUP_NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___GROUP_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___GROUP_NULL__, ((struct PyMPIGroupObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Group.pyx":222 * * cdef Group __GROUP_NULL__ = new_Group ( MPI_GROUP_NULL ) * cdef Group __GROUP_EMPTY__ = new_Group ( MPI_GROUP_EMPTY ) # <<<<<<<<<<<<<< * * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Group(MPI_GROUP_EMPTY)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___GROUP_EMPTY__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___GROUP_EMPTY__, ((struct PyMPIGroupObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Group.pyx":228 * # ------------------------ * * GROUP_NULL = __GROUP_NULL__ #: Null group handle # <<<<<<<<<<<<<< * GROUP_EMPTY = __GROUP_EMPTY__ #: Empty group handle */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_GROUP_NULL, ((PyObject *)__pyx_v_6mpi4py_3MPI___GROUP_NULL__)) < 0) __PYX_ERR(29, 228, __pyx_L1_error) /* "mpi4py/MPI/Group.pyx":229 * * GROUP_NULL = __GROUP_NULL__ #: Null group handle * GROUP_EMPTY = __GROUP_EMPTY__ #: Empty group handle # <<<<<<<<<<<<<< */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_GROUP_EMPTY, ((PyObject *)__pyx_v_6mpi4py_3MPI___GROUP_EMPTY__)) < 0) __PYX_ERR(29, 229, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":4 * # ------------------------ * * IDENT = MPI_IDENT #: Groups are identical, contexts are the same # <<<<<<<<<<<<<< * CONGRUENT = MPI_CONGRUENT #: Groups are identical, contexts are different * SIMILAR = MPI_SIMILAR #: Groups are similar, rank order differs */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_IDENT); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_IDENT, __pyx_t_1) < 0) __PYX_ERR(7, 4, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":5 * * IDENT = MPI_IDENT #: Groups are identical, contexts are the same * CONGRUENT = MPI_CONGRUENT #: Groups are identical, contexts are different # <<<<<<<<<<<<<< * SIMILAR = MPI_SIMILAR #: Groups are similar, rank order differs * UNEQUAL = MPI_UNEQUAL #: Groups are different */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_CONGRUENT); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 5, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_CONGRUENT, __pyx_t_1) < 0) __PYX_ERR(7, 5, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":6 * IDENT = MPI_IDENT #: Groups are identical, contexts are the same * CONGRUENT = MPI_CONGRUENT #: Groups are identical, contexts are different * SIMILAR = MPI_SIMILAR #: Groups are similar, rank order differs # <<<<<<<<<<<<<< * UNEQUAL = MPI_UNEQUAL #: Groups are different * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_SIMILAR); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 6, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_SIMILAR, __pyx_t_1) < 0) __PYX_ERR(7, 6, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":7 * CONGRUENT = MPI_CONGRUENT #: Groups are identical, contexts are different * SIMILAR = MPI_SIMILAR #: Groups are similar, rank order differs * UNEQUAL = MPI_UNEQUAL #: Groups are different # <<<<<<<<<<<<<< * * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_UNEQUAL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNEQUAL, __pyx_t_1) < 0) __PYX_ERR(7, 7, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":13 * # ----------------------- * * CART = MPI_CART #: Cartesian topology # <<<<<<<<<<<<<< * GRAPH = MPI_GRAPH #: General graph topology * DIST_GRAPH = MPI_DIST_GRAPH #: Distributed graph topology */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_CART); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 13, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_CART, __pyx_t_1) < 0) __PYX_ERR(7, 13, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":14 * * CART = MPI_CART #: Cartesian topology * GRAPH = MPI_GRAPH #: General graph topology # <<<<<<<<<<<<<< * DIST_GRAPH = MPI_DIST_GRAPH #: Distributed graph topology * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_GRAPH); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_GRAPH, __pyx_t_1) < 0) __PYX_ERR(7, 14, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":15 * CART = MPI_CART #: Cartesian topology * GRAPH = MPI_GRAPH #: General graph topology * DIST_GRAPH = MPI_DIST_GRAPH #: Distributed graph topology # <<<<<<<<<<<<<< * * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_DIST_GRAPH); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 15, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_DIST_GRAPH, __pyx_t_1) < 0) __PYX_ERR(7, 15, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":21 * # -------------------------- * * UNWEIGHTED = __UNWEIGHTED__ #: Unweighted graph # <<<<<<<<<<<<<< * WEIGHTS_EMPTY = __WEIGHTS_EMPTY__ #: Empty graph weights * */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNWEIGHTED, __pyx_v_6mpi4py_3MPI___UNWEIGHTED__) < 0) __PYX_ERR(7, 21, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":22 * * UNWEIGHTED = __UNWEIGHTED__ #: Unweighted graph * WEIGHTS_EMPTY = __WEIGHTS_EMPTY__ #: Empty graph weights # <<<<<<<<<<<<<< * * */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_WEIGHTS_EMPTY, __pyx_v_6mpi4py_3MPI___WEIGHTS_EMPTY__) < 0) __PYX_ERR(7, 22, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":28 * # ----------------------- * * COMM_TYPE_SHARED = MPI_COMM_TYPE_SHARED # <<<<<<<<<<<<<< * * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_COMM_TYPE_SHARED); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMM_TYPE_SHARED, __pyx_t_1) < 0) __PYX_ERR(7, 28, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":104 * * @classmethod * def Compare(cls, Comm comm1, Comm comm2): # <<<<<<<<<<<<<< * """ * Compare two communicators */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm, __pyx_n_s_Compare); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Comm.pyx":103 * return self.Get_rank() * * @classmethod # <<<<<<<<<<<<<< * def Compare(cls, Comm comm1, Comm comm2): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm->tp_dict, __pyx_n_s_Compare, __pyx_t_3) < 0) __PYX_ERR(7, 104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Comm); /* "mpi4py/MPI/Comm.pyx":205 * * def Split_type(self, int split_type, int key=0, * Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Split communicator by color and key */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(7, 205, __pyx_L1_error) __pyx_k__38 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":276 * dest, tag, self.ob_mpi) ) * * def Recv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 276, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__39 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 276, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__40 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":293 * * def Sendrecv(self, sendbuf, int dest, int sendtag=0, * recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 293, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__41 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 293, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__42 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":315 * * def Sendrecv_replace(self, buf, int dest, int sendtag=0, * int source=ANY_SOURCE, int recvtag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 315, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__43 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 315, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__44 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":353 * return request * * def Irecv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG): # <<<<<<<<<<<<<< * """ * Nonblocking receive */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 353, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 353, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__45 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 353, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 353, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__46 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":368 * # ----- * * def Probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 368, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__47 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 368, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__48 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":380 * return True * * def Iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 380, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__49 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 380, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__50 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":394 * # -------------- * * def Mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 394, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 394, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__51 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 394, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 394, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__52 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":407 * return message * * def Improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 407, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__53 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 407, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__54 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":437 * return request * * def Recv_init(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG): # <<<<<<<<<<<<<< * """ * Create a persistent request for a receive */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 437, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__55 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 437, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__56 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":698 * # --------------------------- * * def Reduce(self, sendbuf, recvbuf, Op op=SUM, int root=0): # <<<<<<<<<<<<<< * """ * Reduce */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(7, 698, __pyx_L1_error) __pyx_k__57 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":708 * op.ob_mpi, root, self.ob_mpi) ) * * def Allreduce(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * All Reduce */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(7, 708, __pyx_L1_error) __pyx_k__58 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":718 * op.ob_mpi, self.ob_mpi) ) * * def Reduce_scatter_block(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Reduce-Scatter Block (regular, non-vector version) */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(7, 718, __pyx_L1_error) __pyx_k__59 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":728 * op.ob_mpi, self.ob_mpi) ) * * def Reduce_scatter(self, sendbuf, recvbuf, recvcounts=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Reduce-Scatter (vector version) */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(7, 728, __pyx_L1_error) __pyx_k__60 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":888 * return request * * def Ireduce(self, sendbuf, recvbuf, Op op=SUM, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Reduce */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(7, 888, __pyx_L1_error) __pyx_k__61 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":900 * return request * * def Iallreduce(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Nonblocking All Reduce */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(7, 900, __pyx_L1_error) __pyx_k__62 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":912 * return request * * def Ireduce_scatter_block(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Nonblocking Reduce-Scatter Block (regular, non-vector version) */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(7, 912, __pyx_L1_error) __pyx_k__63 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":924 * return request * * def Ireduce_scatter(self, sendbuf, recvbuf, recvcounts=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Nonblocking Reduce-Scatter (vector version) */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(7, 924, __pyx_L1_error) __pyx_k__64 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Comm.pyx":987 * * @classmethod * def Get_parent(cls): # <<<<<<<<<<<<<< * """ * Return the parent intercommunicator for this process */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm, __pyx_n_s_Get_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Comm.pyx":986 * # ------------------------------- * * @classmethod # <<<<<<<<<<<<<< * def Get_parent(cls): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm->tp_dict, __pyx_n_s_Get_parent, __pyx_t_1) < 0) __PYX_ERR(7, 987, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Comm); /* "mpi4py/MPI/Comm.pyx":1003 * * @classmethod * def Join(cls, int fd): # <<<<<<<<<<<<<< * """ * Create a intercommunicator by joining */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm, __pyx_n_s_Join); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Comm.pyx":1002 * with nogil: CHKERR( MPI_Comm_disconnect(&self.ob_mpi) ) * * @classmethod # <<<<<<<<<<<<<< * def Join(cls, int fd): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm->tp_dict, __pyx_n_s_Join, __pyx_t_3) < 0) __PYX_ERR(7, 1003, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Comm); /* "mpi4py/MPI/Comm.pyx":1052 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None, nopython=False): # <<<<<<<<<<<<<< * """ * Create a new attribute key for communicators */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm, __pyx_n_s_Create_keyval); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Comm.pyx":1051 * CHKERR( MPI_Comm_delete_attr(self.ob_mpi, keyval) ) * * @classmethod # <<<<<<<<<<<<<< * def Create_keyval(cls, copy_fn=None, delete_fn=None, nopython=False): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm->tp_dict, __pyx_n_s_Create_keyval, __pyx_t_1) < 0) __PYX_ERR(7, 1052, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Comm); /* "mpi4py/MPI/Comm.pyx":1066 * * @classmethod * def Free_keyval(cls, int keyval): # <<<<<<<<<<<<<< * """ * Free and attribute key for communicators */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm, __pyx_n_s_Free_keyval); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Comm.pyx":1065 * return keyval * * @classmethod # <<<<<<<<<<<<<< * def Free_keyval(cls, int keyval): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm->tp_dict, __pyx_n_s_Free_keyval, __pyx_t_3) < 0) __PYX_ERR(7, 1066, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Comm); /* "mpi4py/MPI/Comm.pyx":1144 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm, __pyx_n_s_f2py); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Comm.pyx":1143 * return MPI_Comm_c2f(self.ob_mpi) * * @classmethod # <<<<<<<<<<<<<< * def f2py(cls, arg): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm->tp_dict, __pyx_n_s_f2py, __pyx_t_1) < 0) __PYX_ERR(7, 1144, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Comm); /* "mpi4py/MPI/Comm.pyx":1168 * return PyMPI_ssend(obj, dest, tag, comm) * # * def recv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Receive""" */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1168, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__65 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1168, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__66 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":1176 * # * def sendrecv(self, sendobj, int dest, int sendtag=0, * recvbuf=None, int source=ANY_SOURCE, int recvtag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Send and Receive""" */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1176, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__67 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1176, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__68 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":1206 * return request * # * def irecv(self, buf=None, int source=ANY_SOURCE, int tag=ANY_TAG): # <<<<<<<<<<<<<< * """Nonblocking receive""" * cdef MPI_Comm comm = self.ob_mpi */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1206, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__69 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1206, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__70 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":1213 * return request * # * def probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Blocking test for a message""" */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1213, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__71 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1213, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__72 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":1220 * return PyMPI_probe(source, tag, comm, statusp) * # * def iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Nonblocking test for a message""" */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1220, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__73 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1220, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__74 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":1227 * return PyMPI_iprobe(source, tag, comm, statusp) * # * def mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Blocking test for a matched message""" */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1227, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__75 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1227, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__76 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":1237 * return message * # * def improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Nonblocking test for a matched message""" */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1237, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__77 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1237, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__78 = __pyx_t_2; /* "mpi4py/MPI/Comm.pyx":1279 * return PyMPI_alltoall(sendobj, comm) * # * def reduce(self, sendobj, op=SUM, int root=0): # <<<<<<<<<<<<<< * """Reduce""" * if op is None: op = SUM */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_k__79 = __pyx_t_1; __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1285 * return PyMPI_reduce(sendobj, op, root, comm) * # * def allreduce(self, sendobj, op=SUM): # <<<<<<<<<<<<<< * """Reduce to All""" * if op is None: op = SUM */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_k__80 = __pyx_t_1; __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1344 * def Create_dist_graph_adjacent(self, sources, destinations, * sourceweights=None, destweights=None, * Info info=INFO_NULL, bint reorder=False): # <<<<<<<<<<<<<< * """ * Create distributed graph communicator */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(7, 1344, __pyx_L1_error) __pyx_k__82 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1372 * * def Create_dist_graph(self, sources, degrees, destinations, weights=None, * Info info=INFO_NULL, bint reorder=False): # <<<<<<<<<<<<<< * """ * Create distributed graph communicator */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(7, 1372, __pyx_L1_error) __pyx_k__83 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1448 * # Inclusive Scan * * def Scan(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Inclusive Scan */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(7, 1448, __pyx_L1_error) __pyx_k__84 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1460 * # Exclusive Scan * * def Exscan(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Exclusive Scan */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(7, 1460, __pyx_L1_error) __pyx_k__85 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1472 * # Nonblocking * * def Iscan(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Inclusive Scan */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(7, 1472, __pyx_L1_error) __pyx_k__86 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1484 * return request * * def Iexscan(self, sendbuf, recvbuf, Op op=SUM): # <<<<<<<<<<<<<< * """ * Inclusive Scan */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(7, 1484, __pyx_L1_error) __pyx_k__87 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1498 * # Python Communication * # * def scan(self, sendobj, op=SUM): # <<<<<<<<<<<<<< * """Inclusive Scan""" * if op is None: op = SUM */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_k__88 = __pyx_t_1; __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1504 * return PyMPI_scan(sendobj, op, comm) * # * def exscan(self, sendobj, op=SUM): # <<<<<<<<<<<<<< * """Exclusive Scan""" * if op is None: op = SUM */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_k__89 = __pyx_t_1; __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1516 * * def Spawn(self, command, args=None, int maxprocs=1, * Info info=INFO_NULL, int root=0, errcodes=None): # <<<<<<<<<<<<<< * """ * Spawn instances of a single MPI application */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(7, 1516, __pyx_L1_error) __pyx_k__90 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1546 * * def Spawn_multiple(self, command, args=None, maxprocs=None, * info=INFO_NULL, int root=0, errcodes=None): # <<<<<<<<<<<<<< * """ * Spawn instances of multiple MPI applications */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_k__92 = __pyx_t_1; __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1591 * # Server Routines * * def Accept(self, port_name, Info info=INFO_NULL, int root=0): # <<<<<<<<<<<<<< * """ * Accept a request to form a new intercommunicator */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(7, 1591, __pyx_L1_error) __pyx_k__93 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1609 * # Client Routines * * def Connect(self, port_name, Info info=INFO_NULL, int root=0): # <<<<<<<<<<<<<< * """ * Make a request to form a new intercommunicator */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(7, 1609, __pyx_L1_error) __pyx_k__94 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":1971 * # Cartesian Convenience Function * * def Compute_dims(int nnodes, dims): # <<<<<<<<<<<<<< * """ * Return a balanced distribution of */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_23Compute_dims, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Compute_dims, __pyx_t_1) < 0) __PYX_ERR(7, 1971, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2216 * * * cdef Comm __COMM_NULL__ = new_Comm ( MPI_COMM_NULL ) # <<<<<<<<<<<<<< * cdef Intracomm __COMM_SELF__ = new_Intracomm ( MPI_COMM_SELF ) * cdef Intracomm __COMM_WORLD__ = new_Intracomm ( MPI_COMM_WORLD ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Comm(MPI_COMM_NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMM_NULL__, ((struct PyMPICommObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2217 * * cdef Comm __COMM_NULL__ = new_Comm ( MPI_COMM_NULL ) * cdef Intracomm __COMM_SELF__ = new_Intracomm ( MPI_COMM_SELF ) # <<<<<<<<<<<<<< * cdef Intracomm __COMM_WORLD__ = new_Intracomm ( MPI_COMM_WORLD ) * cdef Intercomm __COMM_PARENT__ = new_Intercomm ( MPI_COMM_NULL ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Intracomm(MPI_COMM_SELF)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2217, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_SELF__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMM_SELF__, ((struct PyMPIIntracommObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2218 * cdef Comm __COMM_NULL__ = new_Comm ( MPI_COMM_NULL ) * cdef Intracomm __COMM_SELF__ = new_Intracomm ( MPI_COMM_SELF ) * cdef Intracomm __COMM_WORLD__ = new_Intracomm ( MPI_COMM_WORLD ) # <<<<<<<<<<<<<< * cdef Intercomm __COMM_PARENT__ = new_Intercomm ( MPI_COMM_NULL ) * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Intracomm(MPI_COMM_WORLD)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_WORLD__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMM_WORLD__, ((struct PyMPIIntracommObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2219 * cdef Intracomm __COMM_SELF__ = new_Intracomm ( MPI_COMM_SELF ) * cdef Intracomm __COMM_WORLD__ = new_Intracomm ( MPI_COMM_WORLD ) * cdef Intercomm __COMM_PARENT__ = new_Intercomm ( MPI_COMM_NULL ) # <<<<<<<<<<<<<< * * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Intercomm(MPI_COMM_NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_PARENT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMM_PARENT__, ((struct PyMPIIntercommObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2225 * # ------------------------ * * COMM_NULL = __COMM_NULL__ #: Null communicator handle # <<<<<<<<<<<<<< * COMM_SELF = __COMM_SELF__ #: Self communicator handle * COMM_WORLD = __COMM_WORLD__ #: World communicator handle */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMM_NULL, ((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_NULL__)) < 0) __PYX_ERR(7, 2225, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2226 * * COMM_NULL = __COMM_NULL__ #: Null communicator handle * COMM_SELF = __COMM_SELF__ #: Self communicator handle # <<<<<<<<<<<<<< * COMM_WORLD = __COMM_WORLD__ #: World communicator handle * */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMM_SELF, ((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_SELF__)) < 0) __PYX_ERR(7, 2226, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2227 * COMM_NULL = __COMM_NULL__ #: Null communicator handle * COMM_SELF = __COMM_SELF__ #: Self communicator handle * COMM_WORLD = __COMM_WORLD__ #: World communicator handle # <<<<<<<<<<<<<< * * */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMM_WORLD, ((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_WORLD__)) < 0) __PYX_ERR(7, 2227, __pyx_L1_error) /* "mpi4py/MPI/Comm.pyx":2233 * # --------------------------- * * BSEND_OVERHEAD = MPI_BSEND_OVERHEAD # <<<<<<<<<<<<<< * #: Upper bound of memory overhead for sending in buffered mode * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_BSEND_OVERHEAD); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_BSEND_OVERHEAD, __pyx_t_1) < 0) __PYX_ERR(7, 2233, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2236 * #: Upper bound of memory overhead for sending in buffered mode * * def Attach_buffer(buf): # <<<<<<<<<<<<<< * """ * Attach a user-provided buffer for */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_25Attach_buffer, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Attach_buffer, __pyx_t_1) < 0) __PYX_ERR(7, 2236, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2246 * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) * * def Detach_buffer(): # <<<<<<<<<<<<<< * """ * Remove an existing attached buffer */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_27Detach_buffer, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Detach_buffer, __pyx_t_1) < 0) __PYX_ERR(7, 2246, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2263 * # --------------- * * def Open_port(Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Return an address that can be used to establish */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(7, 2263, __pyx_L1_error) __pyx_k__102 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_29Open_port, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Open_port, __pyx_t_1) < 0) __PYX_ERR(7, 2263, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2273 * return mpistr(cportname) * * def Close_port(port_name): # <<<<<<<<<<<<<< * """ * Close a port */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_31Close_port, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Close_port, __pyx_t_1) < 0) __PYX_ERR(7, 2273, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2284 * # --------------- * * def Publish_name(service_name, port_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Publish a service name */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_k__103 = __pyx_t_1; __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_33Publish_name, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Publish_name, __pyx_t_1) < 0) __PYX_ERR(7, 2284, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2297 * with nogil: CHKERR( MPI_Publish_name(csrvcname, cinfo, cportname) ) * * def Unpublish_name(service_name, port_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Unpublish a service name */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_k__104 = __pyx_t_1; __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_35Unpublish_name, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Unpublish_name, __pyx_t_1) < 0) __PYX_ERR(7, 2297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Comm.pyx":2310 * with nogil: CHKERR( MPI_Unpublish_name(csrvcname, cinfo, cportname) ) * * def Lookup_name(service_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Lookup a port name given a service name */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_k__105 = __pyx_t_1; __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_37Lookup_name, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Lookup_name, __pyx_t_1) < 0) __PYX_ERR(7, 2310, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":3 * # Create flavors * # -------------- * WIN_FLAVOR_CREATE = MPI_WIN_FLAVOR_CREATE # <<<<<<<<<<<<<< * WIN_FLAVOR_ALLOCATE = MPI_WIN_FLAVOR_ALLOCATE * WIN_FLAVOR_DYNAMIC = MPI_WIN_FLAVOR_DYNAMIC */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WIN_FLAVOR_CREATE); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 3, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_FLAVOR_CREATE, __pyx_t_1) < 0) __PYX_ERR(30, 3, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":4 * # -------------- * WIN_FLAVOR_CREATE = MPI_WIN_FLAVOR_CREATE * WIN_FLAVOR_ALLOCATE = MPI_WIN_FLAVOR_ALLOCATE # <<<<<<<<<<<<<< * WIN_FLAVOR_DYNAMIC = MPI_WIN_FLAVOR_DYNAMIC * WIN_FLAVOR_SHARED = MPI_WIN_FLAVOR_SHARED */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WIN_FLAVOR_ALLOCATE); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_FLAVOR_ALLOCATE, __pyx_t_1) < 0) __PYX_ERR(30, 4, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":5 * WIN_FLAVOR_CREATE = MPI_WIN_FLAVOR_CREATE * WIN_FLAVOR_ALLOCATE = MPI_WIN_FLAVOR_ALLOCATE * WIN_FLAVOR_DYNAMIC = MPI_WIN_FLAVOR_DYNAMIC # <<<<<<<<<<<<<< * WIN_FLAVOR_SHARED = MPI_WIN_FLAVOR_SHARED * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WIN_FLAVOR_DYNAMIC); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 5, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_FLAVOR_DYNAMIC, __pyx_t_1) < 0) __PYX_ERR(30, 5, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":6 * WIN_FLAVOR_ALLOCATE = MPI_WIN_FLAVOR_ALLOCATE * WIN_FLAVOR_DYNAMIC = MPI_WIN_FLAVOR_DYNAMIC * WIN_FLAVOR_SHARED = MPI_WIN_FLAVOR_SHARED # <<<<<<<<<<<<<< * * # Memory model */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WIN_FLAVOR_SHARED); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 6, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_FLAVOR_SHARED, __pyx_t_1) < 0) __PYX_ERR(30, 6, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":10 * # Memory model * # ------------ * WIN_SEPARATE = MPI_WIN_SEPARATE # <<<<<<<<<<<<<< * WIN_UNIFIED = MPI_WIN_UNIFIED * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WIN_SEPARATE); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_SEPARATE, __pyx_t_1) < 0) __PYX_ERR(30, 10, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":11 * # ------------ * WIN_SEPARATE = MPI_WIN_SEPARATE * WIN_UNIFIED = MPI_WIN_UNIFIED # <<<<<<<<<<<<<< * * # Assertion modes */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_WIN_UNIFIED); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 11, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_UNIFIED, __pyx_t_1) < 0) __PYX_ERR(30, 11, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":15 * # Assertion modes * # --------------- * MODE_NOCHECK = MPI_MODE_NOCHECK # <<<<<<<<<<<<<< * MODE_NOSTORE = MPI_MODE_NOSTORE * MODE_NOPUT = MPI_MODE_NOPUT */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MODE_NOCHECK); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 15, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_NOCHECK, __pyx_t_1) < 0) __PYX_ERR(30, 15, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":16 * # --------------- * MODE_NOCHECK = MPI_MODE_NOCHECK * MODE_NOSTORE = MPI_MODE_NOSTORE # <<<<<<<<<<<<<< * MODE_NOPUT = MPI_MODE_NOPUT * MODE_NOPRECEDE = MPI_MODE_NOPRECEDE */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MODE_NOSTORE); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_NOSTORE, __pyx_t_1) < 0) __PYX_ERR(30, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":17 * MODE_NOCHECK = MPI_MODE_NOCHECK * MODE_NOSTORE = MPI_MODE_NOSTORE * MODE_NOPUT = MPI_MODE_NOPUT # <<<<<<<<<<<<<< * MODE_NOPRECEDE = MPI_MODE_NOPRECEDE * MODE_NOSUCCEED = MPI_MODE_NOSUCCEED */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MODE_NOPUT); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_NOPUT, __pyx_t_1) < 0) __PYX_ERR(30, 17, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":18 * MODE_NOSTORE = MPI_MODE_NOSTORE * MODE_NOPUT = MPI_MODE_NOPUT * MODE_NOPRECEDE = MPI_MODE_NOPRECEDE # <<<<<<<<<<<<<< * MODE_NOSUCCEED = MPI_MODE_NOSUCCEED * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MODE_NOPRECEDE); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_NOPRECEDE, __pyx_t_1) < 0) __PYX_ERR(30, 18, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":19 * MODE_NOPUT = MPI_MODE_NOPUT * MODE_NOPRECEDE = MPI_MODE_NOPRECEDE * MODE_NOSUCCEED = MPI_MODE_NOSUCCEED # <<<<<<<<<<<<<< * * # Lock types */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MODE_NOSUCCEED); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_NOSUCCEED, __pyx_t_1) < 0) __PYX_ERR(30, 19, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":23 * # Lock types * # ---------- * LOCK_EXCLUSIVE = MPI_LOCK_EXCLUSIVE # <<<<<<<<<<<<<< * LOCK_SHARED = MPI_LOCK_SHARED * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_LOCK_EXCLUSIVE); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOCK_EXCLUSIVE, __pyx_t_1) < 0) __PYX_ERR(30, 23, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":24 * # ---------- * LOCK_EXCLUSIVE = MPI_LOCK_EXCLUSIVE * LOCK_SHARED = MPI_LOCK_SHARED # <<<<<<<<<<<<<< * * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_LOCK_SHARED); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOCK_SHARED, __pyx_t_1) < 0) __PYX_ERR(30, 24, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":60 * @classmethod * def Create(cls, memory, int disp_unit=1, * Info info=INFO_NULL, Intracomm comm=COMM_SELF): # <<<<<<<<<<<<<< * """ * Create an window object for one-sided communication */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(30, 60, __pyx_L1_error) __pyx_k__106 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_COMM_SELF); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Intracomm))))) __PYX_ERR(30, 60, __pyx_L1_error) __pyx_k__107 = ((struct PyMPIIntracommObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":59 * * @classmethod * def Create(cls, memory, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, Intracomm comm=COMM_SELF): * """ */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_Create); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Win.pyx":58 * # --------------- * * @classmethod # <<<<<<<<<<<<<< * def Create(cls, memory, int disp_unit=1, * Info info=INFO_NULL, Intracomm comm=COMM_SELF): */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win->tp_dict, __pyx_n_s_Create, __pyx_t_3) < 0) __PYX_ERR(30, 59, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "mpi4py/MPI/Win.pyx":81 * @classmethod * def Allocate(cls, Aint size, int disp_unit=1, * Info info=INFO_NULL, Intracomm comm=COMM_SELF): # <<<<<<<<<<<<<< * """ * Create an window object for one-sided communication */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(30, 81, __pyx_L1_error) __pyx_k__108 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_COMM_SELF); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Intracomm))))) __PYX_ERR(30, 81, __pyx_L1_error) __pyx_k__109 = ((struct PyMPIIntracommObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Win.pyx":80 * * @classmethod * def Allocate(cls, Aint size, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, Intracomm comm=COMM_SELF): * """ */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_Allocate); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Win.pyx":79 * return win * * @classmethod # <<<<<<<<<<<<<< * def Allocate(cls, Aint size, int disp_unit=1, * Info info=INFO_NULL, Intracomm comm=COMM_SELF): */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 79, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win->tp_dict, __pyx_n_s_Allocate, __pyx_t_1) < 0) __PYX_ERR(30, 80, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "mpi4py/MPI/Win.pyx":95 * @classmethod * def Allocate_shared(cls, Aint size, int disp_unit=1, * Info info=INFO_NULL, Intracomm comm=COMM_SELF): # <<<<<<<<<<<<<< * """ * Create an window object for one-sided communication */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(30, 95, __pyx_L1_error) __pyx_k__110 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_COMM_SELF); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Intracomm))))) __PYX_ERR(30, 95, __pyx_L1_error) __pyx_k__111 = ((struct PyMPIIntracommObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":94 * * @classmethod * def Allocate_shared(cls, Aint size, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, Intracomm comm=COMM_SELF): * """ */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_Allocate_shared); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Win.pyx":93 * return win * * @classmethod # <<<<<<<<<<<<<< * def Allocate_shared(cls, Aint size, int disp_unit=1, * Info info=INFO_NULL, Intracomm comm=COMM_SELF): */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win->tp_dict, __pyx_n_s_Allocate_shared, __pyx_t_3) < 0) __PYX_ERR(30, 94, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "mpi4py/MPI/Win.pyx":122 * * @classmethod * def Create_dynamic(cls, Info info=INFO_NULL, Intracomm comm=COMM_SELF): # <<<<<<<<<<<<<< * """ * Create an window object for one-sided communication */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(30, 122, __pyx_L1_error) __pyx_k__112 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_COMM_SELF); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Intracomm))))) __PYX_ERR(30, 122, __pyx_L1_error) __pyx_k__113 = ((struct PyMPIIntracommObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Win.pyx":121 * return (asbuffer(self, base, size, 0), disp_unit) * * @classmethod # <<<<<<<<<<<<<< * def Create_dynamic(cls, Info info=INFO_NULL, Intracomm comm=COMM_SELF): * """ */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_Create_dynamic); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win->tp_dict, __pyx_n_s_Create_dynamic, __pyx_t_1) < 0) __PYX_ERR(30, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "mpi4py/MPI/Win.pyx":244 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None, nopython=False): # <<<<<<<<<<<<<< * """ * Create a new attribute key for windows */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_Create_keyval); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Win.pyx":243 * CHKERR( MPI_Win_delete_attr(self.ob_mpi, keyval) ) * * @classmethod # <<<<<<<<<<<<<< * def Create_keyval(cls, copy_fn=None, delete_fn=None, nopython=False): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win->tp_dict, __pyx_n_s_Create_keyval, __pyx_t_3) < 0) __PYX_ERR(30, 244, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "mpi4py/MPI/Win.pyx":258 * * @classmethod * def Free_keyval(cls, int keyval): # <<<<<<<<<<<<<< * """ * Free and attribute key for windows */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_Free_keyval); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/Win.pyx":257 * return keyval * * @classmethod # <<<<<<<<<<<<<< * def Free_keyval(cls, int keyval): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win->tp_dict, __pyx_n_s_Free_keyval, __pyx_t_1) < 0) __PYX_ERR(30, 258, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "mpi4py/MPI/Win.pyx":372 * * def Accumulate(self, origin, int target_rank, * target=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Accumulate data into the target process */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(30, 372, __pyx_L1_error) __pyx_k__114 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":385 * * def Get_accumulate(self, origin, result, int target_rank, * target=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Fetch-and-accumulate data into the target process */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 385, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(30, 385, __pyx_L1_error) __pyx_k__115 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":399 * * def Fetch_and_op(self, origin, result,int target_rank, * Aint target_disp=0, Op op=SUM): # <<<<<<<<<<<<<< * """ * Perform one-sided read-modify-write */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 399, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(30, 399, __pyx_L1_error) __pyx_k__116 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":455 * * def Raccumulate(self, origin, int target_rank, * target=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Fetch-and-accumulate data into the target process */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(30, 455, __pyx_L1_error) __pyx_k__117 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":471 * * def Rget_accumulate(self, origin, result, int target_rank, * target=None, Op op=SUM): # <<<<<<<<<<<<<< * """ * Accumulate data into the target process */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Op))))) __PYX_ERR(30, 471, __pyx_L1_error) __pyx_k__118 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/Win.pyx":540 * # ---- * * def Lock(self, int rank, int lock_type=LOCK_EXCLUSIVE, int assertion=0): # <<<<<<<<<<<<<< * """ * Begin an RMA access epoch at the target process */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_LOCK_EXCLUSIVE); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(30, 540, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__119 = __pyx_t_2; /* "mpi4py/MPI/Win.pyx":659 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "mpi4py/MPI/Win.pyx":658 * return MPI_Win_c2f(self.ob_mpi) * * @classmethod # <<<<<<<<<<<<<< * def f2py(cls, arg): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win->tp_dict, __pyx_n_s_f2py, __pyx_t_3) < 0) __PYX_ERR(30, 659, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "mpi4py/MPI/Win.pyx":668 * * * cdef Win __WIN_NULL__ = new_Win(MPI_WIN_NULL) # <<<<<<<<<<<<<< * * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Win(MPI_WIN_NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___WIN_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___WIN_NULL__, ((struct PyMPIWinObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/Win.pyx":674 * # ------------------------- * * WIN_NULL = __WIN_NULL__ #: Null window handle # <<<<<<<<<<<<<< */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_NULL, ((PyObject *)__pyx_v_6mpi4py_3MPI___WIN_NULL__)) < 0) __PYX_ERR(30, 674, __pyx_L1_error) /* "mpi4py/MPI/File.pyx":4 * # ------------- * * MODE_RDONLY = MPI_MODE_RDONLY # <<<<<<<<<<<<<< * #: Read only * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MODE_RDONLY); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_RDONLY, __pyx_t_3) < 0) __PYX_ERR(31, 4, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":7 * #: Read only * * MODE_WRONLY = MPI_MODE_WRONLY # <<<<<<<<<<<<<< * #: Write only * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MODE_WRONLY); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_WRONLY, __pyx_t_3) < 0) __PYX_ERR(31, 7, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":10 * #: Write only * * MODE_RDWR = MPI_MODE_RDWR # <<<<<<<<<<<<<< * #: Reading and writing * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MODE_RDWR); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_RDWR, __pyx_t_3) < 0) __PYX_ERR(31, 10, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":13 * #: Reading and writing * * MODE_CREATE = MPI_MODE_CREATE # <<<<<<<<<<<<<< * #: Create the file if it does not exist * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MODE_CREATE); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 13, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_CREATE, __pyx_t_3) < 0) __PYX_ERR(31, 13, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":16 * #: Create the file if it does not exist * * MODE_EXCL = MPI_MODE_EXCL # <<<<<<<<<<<<<< * #: Error if creating file that already exists * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MODE_EXCL); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_EXCL, __pyx_t_3) < 0) __PYX_ERR(31, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":19 * #: Error if creating file that already exists * * MODE_DELETE_ON_CLOSE = MPI_MODE_DELETE_ON_CLOSE # <<<<<<<<<<<<<< * #: Delete file on close * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MODE_DELETE_ON_CLOSE); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_DELETE_ON_CLOSE, __pyx_t_3) < 0) __PYX_ERR(31, 19, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":22 * #: Delete file on close * * MODE_UNIQUE_OPEN = MPI_MODE_UNIQUE_OPEN # <<<<<<<<<<<<<< * #: File will not be concurrently opened elsewhere * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MODE_UNIQUE_OPEN); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_UNIQUE_OPEN, __pyx_t_3) < 0) __PYX_ERR(31, 22, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":25 * #: File will not be concurrently opened elsewhere * * MODE_SEQUENTIAL = MPI_MODE_SEQUENTIAL # <<<<<<<<<<<<<< * #: File will only be accessed sequentially * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MODE_SEQUENTIAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_SEQUENTIAL, __pyx_t_3) < 0) __PYX_ERR(31, 25, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":28 * #: File will only be accessed sequentially * * MODE_APPEND = MPI_MODE_APPEND # <<<<<<<<<<<<<< * #: Set initial position of all file pointers to end of file * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MODE_APPEND); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_APPEND, __pyx_t_3) < 0) __PYX_ERR(31, 28, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":35 * # ----------- * * SEEK_SET = MPI_SEEK_SET # <<<<<<<<<<<<<< * #: File pointer is set to offset * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_SEEK_SET); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_SEEK_SET, __pyx_t_3) < 0) __PYX_ERR(31, 35, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":38 * #: File pointer is set to offset * * SEEK_CUR = MPI_SEEK_CUR # <<<<<<<<<<<<<< * #: File pointer is set to the current position plus offset * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_SEEK_CUR); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_SEEK_CUR, __pyx_t_3) < 0) __PYX_ERR(31, 38, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":41 * #: File pointer is set to the current position plus offset * * SEEK_END = MPI_SEEK_END # <<<<<<<<<<<<<< * #: File pointer is set to the end plus offset * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_SEEK_END); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_SEEK_END, __pyx_t_3) < 0) __PYX_ERR(31, 41, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":44 * #: File pointer is set to the end plus offset * * DISPLACEMENT_CURRENT = MPI_DISPLACEMENT_CURRENT # <<<<<<<<<<<<<< * #: Special displacement value for files opened in sequential mode * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_DISPLACEMENT_CURRENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_DISPLACEMENT_CURRENT, __pyx_t_3) < 0) __PYX_ERR(31, 44, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":47 * #: Special displacement value for files opened in sequential mode * * DISP_CUR = MPI_DISPLACEMENT_CURRENT # <<<<<<<<<<<<<< * #: Convenience alias for `DISPLACEMENT_CURRENT` * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_DISPLACEMENT_CURRENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_DISP_CUR, __pyx_t_3) < 0) __PYX_ERR(31, 47, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":83 * @classmethod * def Open(cls, Intracomm comm, filename, * int amode=MODE_RDONLY, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Open a file */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_MODE_RDONLY); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(31, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__121 = __pyx_t_2; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(31, 83, __pyx_L1_error) __pyx_k__120 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":82 * * @classmethod * def Open(cls, Intracomm comm, filename, # <<<<<<<<<<<<<< * int amode=MODE_RDONLY, Info info=INFO_NULL): * """ */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_File, __pyx_n_s_Open); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/File.pyx":81 * # ----------------- * * @classmethod # <<<<<<<<<<<<<< * def Open(cls, Intracomm comm, filename, * int amode=MODE_RDONLY, Info info=INFO_NULL): */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_File->tp_dict, __pyx_n_s_Open, __pyx_t_1) < 0) __PYX_ERR(31, 82, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_File); /* "mpi4py/MPI/File.pyx":102 * * @classmethod * def Delete(cls, filename, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Delete a file */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(31, 102, __pyx_L1_error) __pyx_k__122 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":101 * with nogil: CHKERR( MPI_File_close(&self.ob_mpi) ) * * @classmethod # <<<<<<<<<<<<<< * def Delete(cls, filename, Info info=INFO_NULL): * """ */ __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_6mpi4py_3MPI_File, __pyx_n_s_Delete); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_File->tp_dict, __pyx_n_s_Delete, __pyx_t_3) < 0) __PYX_ERR(31, 102, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_File); /* "mpi4py/MPI/File.pyx":196 * def Set_view(self, Offset disp=0, * Datatype etype=None, Datatype filetype=None, * object datarep=None, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Set the file view */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(31, 196, __pyx_L1_error) __pyx_k__123 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "mpi4py/MPI/File.pyx":394 * return request * * def Seek(self, Offset offset, int whence=SEEK_SET): # <<<<<<<<<<<<<< * """ * Update the individual file pointer */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SEEK_SET); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 394, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(31, 394, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__124 = __pyx_t_2; /* "mpi4py/MPI/File.pyx":480 * self.ob_mpi, m.buf, m.count, m.dtype, statusp) ) * * def Seek_shared(self, Offset offset, int whence=SEEK_SET): # <<<<<<<<<<<<<< * """ * Update the shared file pointer */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SEEK_SET); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 480, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(31, 480, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__125 = __pyx_t_2; /* "mpi4py/MPI/File.pyx":691 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __Pyx_GetNameInClass(__pyx_t_3, (PyObject *)__pyx_ptype_6mpi4py_3MPI_File, __pyx_n_s_f2py); if (unlikely(!__pyx_t_3)) __PYX_ERR(31, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "mpi4py/MPI/File.pyx":690 * return MPI_File_c2f(self.ob_mpi) * * @classmethod # <<<<<<<<<<<<<< * def f2py(cls, arg): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_File->tp_dict, __pyx_n_s_f2py, __pyx_t_1) < 0) __PYX_ERR(31, 691, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_File); /* "mpi4py/MPI/File.pyx":700 * * * cdef File __FILE_NULL__ = new_File(MPI_FILE_NULL) # <<<<<<<<<<<<<< * * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_File(MPI_FILE_NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___FILE_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___FILE_NULL__, ((struct PyMPIFileObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/File.pyx":706 * # ----------------------- * * FILE_NULL = __FILE_NULL__ #: Null file handle # <<<<<<<<<<<<<< * * */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_FILE_NULL, ((PyObject *)__pyx_v_6mpi4py_3MPI___FILE_NULL__)) < 0) __PYX_ERR(31, 706, __pyx_L1_error) /* "mpi4py/MPI/File.pyx":712 * # --------------------------------- * * def Register_datarep(datarep, read_fn, write_fn, extent_fn): # <<<<<<<<<<<<<< * """ * Register user-defined data representations */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_39Register_datarep, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(31, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Register_datarep, __pyx_t_1) < 0) __PYX_ERR(31, 712, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":90 * # ----------------- * * def Alloc_mem(Aint size, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Allocate memory for message passing and RMA */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Info))))) __PYX_ERR(8, 90, __pyx_L1_error) __pyx_k__126 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_41Alloc_mem, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Alloc_mem, __pyx_t_1) < 0) __PYX_ERR(8, 90, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":98 * return tomemory(base, size) * * def Free_mem(mem): # <<<<<<<<<<<<<< * """ * Free memory allocated with `Alloc_mem()` */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_43Free_mem, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 98, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Free_mem, __pyx_t_1) < 0) __PYX_ERR(8, 98, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":110 * # ----------------------- * * def Init(): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_45Init, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Init, __pyx_t_1) < 0) __PYX_ERR(8, 110, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":117 * initialize() * * def Finalize(): # <<<<<<<<<<<<<< * """ * Terminate the MPI execution environment */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_47Finalize, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Finalize, __pyx_t_1) < 0) __PYX_ERR(8, 117, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":127 * # ------------------------------- * * THREAD_SINGLE = MPI_THREAD_SINGLE # <<<<<<<<<<<<<< * #: Only one thread will execute * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_THREAD_SINGLE); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_THREAD_SINGLE, __pyx_t_1) < 0) __PYX_ERR(8, 127, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":130 * #: Only one thread will execute * * THREAD_FUNNELED = MPI_THREAD_FUNNELED # <<<<<<<<<<<<<< * #: MPI calls are *funneled* to the main thread * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_THREAD_FUNNELED); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_THREAD_FUNNELED, __pyx_t_1) < 0) __PYX_ERR(8, 130, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":133 * #: MPI calls are *funneled* to the main thread * * THREAD_SERIALIZED = MPI_THREAD_SERIALIZED # <<<<<<<<<<<<<< * #: MPI calls are *serialized* * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_THREAD_SERIALIZED); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_THREAD_SERIALIZED, __pyx_t_1) < 0) __PYX_ERR(8, 133, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":136 * #: MPI calls are *serialized* * * THREAD_MULTIPLE = MPI_THREAD_MULTIPLE # <<<<<<<<<<<<<< * #: Multiple threads may call MPI * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_THREAD_MULTIPLE); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_THREAD_MULTIPLE, __pyx_t_1) < 0) __PYX_ERR(8, 136, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":139 * #: Multiple threads may call MPI * * def Init_thread(int required=THREAD_MULTIPLE): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_THREAD_MULTIPLE); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(8, 139, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__127 = __pyx_t_2; __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_49Init_thread, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Init_thread, __pyx_t_1) < 0) __PYX_ERR(8, 139, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":148 * return provided * * def Query_thread(): # <<<<<<<<<<<<<< * """ * Return the level of thread support */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_51Query_thread, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Query_thread, __pyx_t_1) < 0) __PYX_ERR(8, 148, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":157 * return provided * * def Is_thread_main(): # <<<<<<<<<<<<<< * """ * Indicate whether this thread called */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_53Is_thread_main, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Is_thread_main, __pyx_t_1) < 0) __PYX_ERR(8, 157, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":166 * return flag * * def Is_initialized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Init`` has been called */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_55Is_initialized, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Is_initialized, __pyx_t_1) < 0) __PYX_ERR(8, 166, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":174 * return flag * * def Is_finalized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Finalize`` has completed */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_57Is_finalized, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Is_finalized, __pyx_t_1) < 0) __PYX_ERR(8, 174, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":188 * # ----------------- * * VERSION = MPI_VERSION # <<<<<<<<<<<<<< * SUBVERSION = MPI_SUBVERSION * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_VERSION); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_VERSION, __pyx_t_1) < 0) __PYX_ERR(8, 188, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":189 * * VERSION = MPI_VERSION * SUBVERSION = MPI_SUBVERSION # <<<<<<<<<<<<<< * * def Get_version(): */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_SUBVERSION); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_SUBVERSION, __pyx_t_1) < 0) __PYX_ERR(8, 189, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":191 * SUBVERSION = MPI_SUBVERSION * * def Get_version(): # <<<<<<<<<<<<<< * """ * Obtain the version number of the MPI standard supported */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_59Get_version, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Get_version, __pyx_t_1) < 0) __PYX_ERR(8, 191, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":201 * return (version, subversion) * * def Get_library_version(): # <<<<<<<<<<<<<< * """ * Obtain the version string of the MPI library */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_61Get_library_version, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Get_library_version, __pyx_t_1) < 0) __PYX_ERR(8, 201, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":213 * # ---------------------- * * def Get_processor_name(): # <<<<<<<<<<<<<< * """ * Obtain the name of the calling processor */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_63Get_processor_name, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Get_processor_name, __pyx_t_1) < 0) __PYX_ERR(8, 213, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":225 * # -------------------------- * * def Wtime(): # <<<<<<<<<<<<<< * """ * Return an elapsed time on the calling processor */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_65Wtime, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Wtime, __pyx_t_1) < 0) __PYX_ERR(8, 225, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":231 * return MPI_Wtime() * * def Wtick(): # <<<<<<<<<<<<<< * """ * Return the resolution of ``Wtime`` */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_67Wtick, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Wtick, __pyx_t_1) < 0) __PYX_ERR(8, 231, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":240 * # -------------------- * * def Pcontrol(int level): # <<<<<<<<<<<<<< * """ * Control profiling */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_69Pcontrol, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Pcontrol, __pyx_t_1) < 0) __PYX_ERR(8, 240, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":252 * * # MPI-1 * MAX_PROCESSOR_NAME = MPI_MAX_PROCESSOR_NAME # <<<<<<<<<<<<<< * MAX_ERROR_STRING = MPI_MAX_ERROR_STRING * # MPI-2 */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MAX_PROCESSOR_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_PROCESSOR_NAME, __pyx_t_1) < 0) __PYX_ERR(8, 252, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":253 * # MPI-1 * MAX_PROCESSOR_NAME = MPI_MAX_PROCESSOR_NAME * MAX_ERROR_STRING = MPI_MAX_ERROR_STRING # <<<<<<<<<<<<<< * # MPI-2 * MAX_PORT_NAME = MPI_MAX_PORT_NAME */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MAX_ERROR_STRING); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_ERROR_STRING, __pyx_t_1) < 0) __PYX_ERR(8, 253, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":255 * MAX_ERROR_STRING = MPI_MAX_ERROR_STRING * # MPI-2 * MAX_PORT_NAME = MPI_MAX_PORT_NAME # <<<<<<<<<<<<<< * MAX_INFO_KEY = MPI_MAX_INFO_KEY * MAX_INFO_VAL = MPI_MAX_INFO_VAL */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MAX_PORT_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_PORT_NAME, __pyx_t_1) < 0) __PYX_ERR(8, 255, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":256 * # MPI-2 * MAX_PORT_NAME = MPI_MAX_PORT_NAME * MAX_INFO_KEY = MPI_MAX_INFO_KEY # <<<<<<<<<<<<<< * MAX_INFO_VAL = MPI_MAX_INFO_VAL * MAX_OBJECT_NAME = MPI_MAX_OBJECT_NAME */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MAX_INFO_KEY); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_INFO_KEY, __pyx_t_1) < 0) __PYX_ERR(8, 256, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":257 * MAX_PORT_NAME = MPI_MAX_PORT_NAME * MAX_INFO_KEY = MPI_MAX_INFO_KEY * MAX_INFO_VAL = MPI_MAX_INFO_VAL # <<<<<<<<<<<<<< * MAX_OBJECT_NAME = MPI_MAX_OBJECT_NAME * MAX_DATAREP_STRING = MPI_MAX_DATAREP_STRING */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MAX_INFO_VAL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_INFO_VAL, __pyx_t_1) < 0) __PYX_ERR(8, 257, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":258 * MAX_INFO_KEY = MPI_MAX_INFO_KEY * MAX_INFO_VAL = MPI_MAX_INFO_VAL * MAX_OBJECT_NAME = MPI_MAX_OBJECT_NAME # <<<<<<<<<<<<<< * MAX_DATAREP_STRING = MPI_MAX_DATAREP_STRING * # MPI-3 */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MAX_OBJECT_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_OBJECT_NAME, __pyx_t_1) < 0) __PYX_ERR(8, 258, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":259 * MAX_INFO_VAL = MPI_MAX_INFO_VAL * MAX_OBJECT_NAME = MPI_MAX_OBJECT_NAME * MAX_DATAREP_STRING = MPI_MAX_DATAREP_STRING # <<<<<<<<<<<<<< * # MPI-3 * MAX_LIBRARY_VERSION_STRING = MPI_MAX_LIBRARY_VERSION_STRING */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MAX_DATAREP_STRING); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_DATAREP_STRING, __pyx_t_1) < 0) __PYX_ERR(8, 259, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":261 * MAX_DATAREP_STRING = MPI_MAX_DATAREP_STRING * # MPI-3 * MAX_LIBRARY_VERSION_STRING = MPI_MAX_LIBRARY_VERSION_STRING # <<<<<<<<<<<<<< * * # -------------------------------------------------------------------- */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MAX_LIBRARY_VERSION_STRING); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_LIBRARY_VERSION_STRING, __pyx_t_1) < 0) __PYX_ERR(8, 261, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":268 * int PyMPI_Get_vendor(const char**,int*,int*,int*) nogil * * def get_vendor(): # <<<<<<<<<<<<<< * """ * Infomation about the underlying MPI implementation */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_71get_vendor, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_vendor, __pyx_t_1) < 0) __PYX_ERR(8, 268, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":294 * return 0 * * def _sizeof(arg): # <<<<<<<<<<<<<< * """ * Size in bytes of the underlying MPI handle */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_73_sizeof, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_sizeof, __pyx_t_1) < 0) __PYX_ERR(8, 294, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":311 * raise TypeError("expecting an MPI type or instance") * * def _addressof(arg): # <<<<<<<<<<<<<< * """ * Memory address of the underlying MPI handle */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_75_addressof, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_addressof, __pyx_t_1) < 0) __PYX_ERR(8, 311, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "mpi4py/MPI/MPI.pyx":342 * return PyLong_FromVoidPtr(ptr) * * def _handleof(arg): # <<<<<<<<<<<<<< * """ * Unsigned integer value with the underlying MPI handle */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_77_handleof, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_handleof, __pyx_t_1) < 0) __PYX_ERR(8, 342, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /*--- Wrapped vars code ---*/ if (__Pyx_RegisterCleanup()) __PYX_ERR(32, 1, __pyx_L1_error); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_11); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_XDECREF(__pyx_t_17); __Pyx_XDECREF(__pyx_t_18); if (__pyx_m) { if (__pyx_d) { __Pyx_AddTraceback("init mpi4py.MPI", __pyx_clineno, __pyx_lineno, __pyx_filename); } Py_CLEAR(__pyx_m); } else if (!PyErr_Occurred()) { PyErr_SetString(PyExc_ImportError, "init mpi4py.MPI"); } __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 } static CYTHON_SMALL_CODE void __Pyx_CleanupGlobals(void) { Py_CLEAR(__pyx_tuple_); Py_CLEAR(__pyx_tuple__2); Py_CLEAR(__pyx_tuple__3); Py_CLEAR(__pyx_tuple__4); Py_CLEAR(__pyx_tuple__5); Py_CLEAR(__pyx_tuple__6); Py_CLEAR(__pyx_tuple__7); Py_CLEAR(__pyx_tuple__8); Py_CLEAR(__pyx_tuple__9); Py_CLEAR(__pyx_tuple__10); Py_CLEAR(__pyx_tuple__11); Py_CLEAR(__pyx_tuple__12); Py_CLEAR(__pyx_tuple__13); Py_CLEAR(__pyx_tuple__14); Py_CLEAR(__pyx_tuple__15); Py_CLEAR(__pyx_tuple__16); Py_CLEAR(__pyx_tuple__17); Py_CLEAR(__pyx_tuple__18); Py_CLEAR(__pyx_tuple__19); Py_CLEAR(__pyx_tuple__20); Py_CLEAR(__pyx_tuple__21); Py_CLEAR(__pyx_tuple__22); Py_CLEAR(__pyx_tuple__24); Py_CLEAR(__pyx_tuple__25); Py_CLEAR(__pyx_tuple__37); Py_CLEAR(__pyx_tuple__81); Py_CLEAR(__pyx_slice__91); Py_CLEAR(__pyx_tuple__95); Py_CLEAR(__pyx_slice__96); Py_CLEAR(__pyx_tuple__97); Py_CLEAR(__pyx_tuple__98); Py_CLEAR(__pyx_tuple__99); Py_CLEAR(__pyx_tuple__100); Py_CLEAR(__pyx_tuple__101); Py_CLEAR(__pyx_tuple__128); Py_CLEAR(__pyx_tuple__129); Py_CLEAR(__pyx_tuple__130); Py_CLEAR(__pyx_codeobj__131); Py_CLEAR(__pyx_tuple__132); Py_CLEAR(__pyx_codeobj__133); Py_CLEAR(__pyx_tuple__134); Py_CLEAR(__pyx_codeobj__135); Py_CLEAR(__pyx_tuple__136); Py_CLEAR(__pyx_codeobj__137); Py_CLEAR(__pyx_tuple__138); Py_CLEAR(__pyx_tuple__139); Py_CLEAR(__pyx_codeobj__140); Py_CLEAR(__pyx_tuple__141); Py_CLEAR(__pyx_codeobj__142); Py_CLEAR(__pyx_tuple__143); Py_CLEAR(__pyx_codeobj__144); Py_CLEAR(__pyx_tuple__145); Py_CLEAR(__pyx_codeobj__146); Py_CLEAR(__pyx_tuple__147); Py_CLEAR(__pyx_codeobj__148); Py_CLEAR(__pyx_tuple__149); Py_CLEAR(__pyx_codeobj__150); Py_CLEAR(__pyx_tuple__151); Py_CLEAR(__pyx_codeobj__152); Py_CLEAR(__pyx_tuple__153); Py_CLEAR(__pyx_codeobj__154); Py_CLEAR(__pyx_tuple__155); Py_CLEAR(__pyx_codeobj__156); Py_CLEAR(__pyx_tuple__157); Py_CLEAR(__pyx_codeobj__158); Py_CLEAR(__pyx_tuple__159); Py_CLEAR(__pyx_codeobj__160); Py_CLEAR(__pyx_tuple__161); Py_CLEAR(__pyx_codeobj__162); Py_CLEAR(__pyx_tuple__163); Py_CLEAR(__pyx_codeobj__164); Py_CLEAR(__pyx_tuple__165); Py_CLEAR(__pyx_codeobj__166); Py_CLEAR(__pyx_tuple__167); Py_CLEAR(__pyx_codeobj__168); Py_CLEAR(__pyx_tuple__169); Py_CLEAR(__pyx_codeobj__170); Py_CLEAR(__pyx_tuple__171); Py_CLEAR(__pyx_codeobj__172); Py_CLEAR(__pyx_tuple__173); Py_CLEAR(__pyx_codeobj__174); Py_CLEAR(__pyx_tuple__175); Py_CLEAR(__pyx_codeobj__176); Py_CLEAR(__pyx_tuple__177); Py_CLEAR(__pyx_codeobj__178); Py_CLEAR(__pyx_tuple__179); Py_CLEAR(__pyx_codeobj__180); Py_CLEAR(__pyx_tuple__181); Py_CLEAR(__pyx_codeobj__182); Py_CLEAR(__pyx_tuple__183); Py_CLEAR(__pyx_codeobj__184); Py_CLEAR(__pyx_tuple__185); Py_CLEAR(__pyx_codeobj__186); Py_CLEAR(__pyx_tuple__187); Py_CLEAR(__pyx_codeobj__188); Py_CLEAR(__pyx_tuple__189); Py_CLEAR(__pyx_codeobj__190); Py_CLEAR(__pyx_tuple__191); Py_CLEAR(__pyx_codeobj__192); Py_CLEAR(__pyx_tuple__193); Py_CLEAR(__pyx_codeobj__194); Py_CLEAR(__pyx_tuple__195); Py_CLEAR(__pyx_codeobj__196); Py_CLEAR(__pyx_tuple__197); Py_CLEAR(__pyx_codeobj__198); Py_CLEAR(__pyx_tuple__199); Py_CLEAR(__pyx_codeobj__200); Py_CLEAR(__pyx_tuple__201); Py_CLEAR(__pyx_codeobj__202); Py_CLEAR(__pyx_tuple__203); Py_CLEAR(__pyx_codeobj__204); Py_CLEAR(__pyx_tuple__205); Py_CLEAR(__pyx_codeobj__206); Py_CLEAR(__pyx_tuple__207); Py_CLEAR(__pyx_codeobj__208); Py_CLEAR(__pyx_codeobj__209); Py_CLEAR(__pyx_codeobj__210); Py_CLEAR(__pyx_tuple__211); Py_CLEAR(__pyx_codeobj__212); Py_CLEAR(__pyx_tuple__213); Py_CLEAR(__pyx_codeobj__214); Py_CLEAR(__pyx_tuple__215); Py_CLEAR(__pyx_codeobj__216); Py_CLEAR(__pyx_tuple__217); Py_CLEAR(__pyx_codeobj__218); Py_CLEAR(__pyx_tuple__219); Py_CLEAR(__pyx_codeobj__220); Py_CLEAR(__pyx_tuple__221); Py_CLEAR(__pyx_codeobj__222); Py_CLEAR(__pyx_tuple__223); Py_CLEAR(__pyx_codeobj__224); Py_CLEAR(__pyx_tuple__225); Py_CLEAR(__pyx_codeobj__226); Py_CLEAR(__pyx_codeobj__227); Py_CLEAR(__pyx_codeobj__228); Py_CLEAR(__pyx_tuple__229); Py_CLEAR(__pyx_codeobj__230); Py_CLEAR(__pyx_tuple__231); Py_CLEAR(__pyx_codeobj__232); Py_CLEAR(__pyx_tuple__233); Py_CLEAR(__pyx_codeobj__234); Py_CLEAR(__pyx_tuple__235); Py_CLEAR(__pyx_codeobj__236); Py_CLEAR(__pyx_tuple__237); Py_CLEAR(__pyx_codeobj__238); /* CodeObjectCache.cleanup */ if (__pyx_code_cache.entries) { __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; int i, count = __pyx_code_cache.count; __pyx_code_cache.count = 0; __pyx_code_cache.max_count = 0; __pyx_code_cache.entries = NULL; for (i=0; itp_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; } /* 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 ((1) && (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; } /* 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, Py_ssize_t 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, (int)nargs, k, (int)nk, d, (int)nd, kwdefs, closure); #else result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, args, (int)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 = Py_TYPE(func)->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 (__Pyx_PyFastCFunction_Check(func)) { 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 /* 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 /* 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; } /* 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 /* BytesEquals */ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { #if CYTHON_COMPILING_IN_PYPY return PyObject_RichCompareBool(s1, s2, equals); #else if (s1 == s2) { return (equals == Py_EQ); } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { const char *ps1, *ps2; Py_ssize_t length = PyBytes_GET_SIZE(s1); if (length != PyBytes_GET_SIZE(s2)) return (equals == Py_NE); ps1 = PyBytes_AS_STRING(s1); ps2 = PyBytes_AS_STRING(s2); if (ps1[0] != ps2[0]) { return (equals == Py_NE); } else if (length == 1) { return (equals == Py_EQ); } else { int result; #if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) Py_hash_t hash1, hash2; hash1 = ((PyBytesObject*)s1)->ob_shash; hash2 = ((PyBytesObject*)s2)->ob_shash; if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { return (equals == Py_NE); } #endif result = memcmp(ps1, ps2, (size_t)length); return (equals == Py_EQ) ? (result == 0) : (result != 0); } } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { return (equals == Py_NE); } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { return (equals == Py_NE); } else { int result; PyObject* py_result = PyObject_RichCompare(s1, s2, equals); if (!py_result) return -1; result = __Pyx_PyObject_IsTrue(py_result); Py_DECREF(py_result); return result; } #endif } /* UnicodeEquals */ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { #if CYTHON_COMPILING_IN_PYPY return PyObject_RichCompareBool(s1, s2, equals); #else #if PY_MAJOR_VERSION < 3 PyObject* owned_ref = NULL; #endif int s1_is_unicode, s2_is_unicode; if (s1 == s2) { goto return_eq; } s1_is_unicode = PyUnicode_CheckExact(s1); s2_is_unicode = PyUnicode_CheckExact(s2); #if PY_MAJOR_VERSION < 3 if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { owned_ref = PyUnicode_FromObject(s2); if (unlikely(!owned_ref)) return -1; s2 = owned_ref; s2_is_unicode = 1; } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { owned_ref = PyUnicode_FromObject(s1); if (unlikely(!owned_ref)) return -1; s1 = owned_ref; s1_is_unicode = 1; } else if (((!s2_is_unicode) & (!s1_is_unicode))) { return __Pyx_PyBytes_Equals(s1, s2, equals); } #endif if (s1_is_unicode & s2_is_unicode) { Py_ssize_t length; int kind; void *data1, *data2; if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) return -1; length = __Pyx_PyUnicode_GET_LENGTH(s1); if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { goto return_ne; } #if CYTHON_USE_UNICODE_INTERNALS { Py_hash_t hash1, hash2; #if CYTHON_PEP393_ENABLED hash1 = ((PyASCIIObject*)s1)->hash; hash2 = ((PyASCIIObject*)s2)->hash; #else hash1 = ((PyUnicodeObject*)s1)->hash; hash2 = ((PyUnicodeObject*)s2)->hash; #endif if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { goto return_ne; } } #endif kind = __Pyx_PyUnicode_KIND(s1); if (kind != __Pyx_PyUnicode_KIND(s2)) { goto return_ne; } data1 = __Pyx_PyUnicode_DATA(s1); data2 = __Pyx_PyUnicode_DATA(s2); if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { goto return_ne; } else if (length == 1) { goto return_eq; } else { int result = memcmp(data1, data2, (size_t)(length * kind)); #if PY_MAJOR_VERSION < 3 Py_XDECREF(owned_ref); #endif return (equals == Py_EQ) ? (result == 0) : (result != 0); } } else if ((s1 == Py_None) & s2_is_unicode) { goto return_ne; } else if ((s2 == Py_None) & s1_is_unicode) { goto return_ne; } else { int result; PyObject* py_result = PyObject_RichCompare(s1, s2, equals); #if PY_MAJOR_VERSION < 3 Py_XDECREF(owned_ref); #endif if (!py_result) return -1; result = __Pyx_PyObject_IsTrue(py_result); Py_DECREF(py_result); return result; } return_eq: #if PY_MAJOR_VERSION < 3 Py_XDECREF(owned_ref); #endif return (equals == Py_EQ); return_ne: #if PY_MAJOR_VERSION < 3 Py_XDECREF(owned_ref); #endif return (equals == Py_NE); #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 /* 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_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 (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(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 (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(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; } /* 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); } /* 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 /* 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 } /* 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; icurexc_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 /* 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; } /* 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 /* 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; } /* 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)); } /* ExtTypeTest */ static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { if (unlikely(!type)) { PyErr_SetString(PyExc_SystemError, "Missing type object"); return 0; } if (likely(__Pyx_TypeCheck(obj, type))) return 1; PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", Py_TYPE(obj)->tp_name, type->tp_name); return 0; } /* 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); } /* 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 /* UnpackUnboundCMethod */ static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) { PyObject *method; method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name); if (unlikely(!method)) return -1; target->method = method; #if CYTHON_COMPILING_IN_CPYTHON #if PY_MAJOR_VERSION >= 3 if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type))) #endif { PyMethodDescrObject *descr = (PyMethodDescrObject*) method; target->func = descr->d_method->ml_meth; target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS); } #endif return 0; } /* CallUnboundCMethod2 */ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030600B1 static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2) { if (likely(cfunc->func)) { PyObject *args[2] = {arg1, arg2}; if (cfunc->flag == METH_FASTCALL) { #if PY_VERSION_HEX >= 0x030700A0 return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, args, 2); #else return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, 2, NULL); #endif } #if PY_VERSION_HEX >= 0x030700A0 if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS)) return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, 2, NULL); #endif } return __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2); } #endif static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2){ PyObject *args, *result = NULL; if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; #if CYTHON_COMPILING_IN_CPYTHON if (cfunc->func && (cfunc->flag & METH_VARARGS)) { args = PyTuple_New(2); if (unlikely(!args)) goto bad; Py_INCREF(arg1); PyTuple_SET_ITEM(args, 0, arg1); Py_INCREF(arg2); PyTuple_SET_ITEM(args, 1, arg2); if (cfunc->flag & METH_KEYWORDS) result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL); else result = (*cfunc->func)(self, args); } else { args = PyTuple_New(3); if (unlikely(!args)) goto bad; Py_INCREF(self); PyTuple_SET_ITEM(args, 0, self); Py_INCREF(arg1); PyTuple_SET_ITEM(args, 1, arg1); Py_INCREF(arg2); PyTuple_SET_ITEM(args, 2, arg2); result = __Pyx_PyObject_Call(cfunc->method, args, NULL); } #else args = PyTuple_Pack(3, self, arg1, arg2); if (unlikely(!args)) goto bad; result = __Pyx_PyObject_Call(cfunc->method, args, NULL); #endif bad: Py_XDECREF(args); return result; } /* 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; } /* CallUnboundCMethod1 */ #if CYTHON_COMPILING_IN_CPYTHON static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg) { if (likely(cfunc->func)) { int flag = cfunc->flag; if (flag == METH_O) { return (*(cfunc->func))(self, arg); } else if (PY_VERSION_HEX >= 0x030600B1 && flag == METH_FASTCALL) { if (PY_VERSION_HEX >= 0x030700A0) { return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, &arg, 1); } else { return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); } } else if (PY_VERSION_HEX >= 0x030700A0 && flag == (METH_FASTCALL | METH_KEYWORDS)) { return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); } } return __Pyx__CallUnboundCMethod1(cfunc, self, arg); } #endif static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg){ PyObject *args, *result = NULL; if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; #if CYTHON_COMPILING_IN_CPYTHON if (cfunc->func && (cfunc->flag & METH_VARARGS)) { args = PyTuple_New(1); if (unlikely(!args)) goto bad; Py_INCREF(arg); PyTuple_SET_ITEM(args, 0, arg); if (cfunc->flag & METH_KEYWORDS) result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL); else result = (*cfunc->func)(self, args); } else { args = PyTuple_New(2); if (unlikely(!args)) goto bad; Py_INCREF(self); PyTuple_SET_ITEM(args, 0, self); Py_INCREF(arg); PyTuple_SET_ITEM(args, 1, arg); result = __Pyx_PyObject_Call(cfunc->method, args, NULL); } #else args = PyTuple_Pack(2, self, arg); if (unlikely(!args)) goto bad; result = __Pyx_PyObject_Call(cfunc->method, args, NULL); #endif bad: Py_XDECREF(args); return result; } /* dict_getitem_default */ static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value) { PyObject* value; #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY value = PyDict_GetItemWithError(d, key); if (unlikely(!value)) { if (unlikely(PyErr_Occurred())) return NULL; value = default_value; } Py_INCREF(value); if ((1)); #else if (PyString_CheckExact(key) || PyUnicode_CheckExact(key) || PyInt_CheckExact(key)) { value = PyDict_GetItem(d, key); if (unlikely(!value)) { value = default_value; } Py_INCREF(value); } #endif else { if (default_value == Py_None) value = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_get, d, key); else value = __Pyx_CallUnboundCMethod2(&__pyx_umethod_PyDict_Type_get, d, key, default_value); } return value; } /* 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; } /* 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); } /* pop_index */ static PyObject* __Pyx__PyObject_PopNewIndex(PyObject* L, PyObject* py_ix) { PyObject *r; if (unlikely(!py_ix)) return NULL; r = __Pyx__PyObject_PopIndex(L, py_ix); Py_DECREF(py_ix); return r; } static PyObject* __Pyx__PyObject_PopIndex(PyObject* L, PyObject* py_ix) { return __Pyx_PyObject_CallMethod1(L, __pyx_n_s_pop, py_ix); } #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS static PyObject* __Pyx__PyList_PopIndex(PyObject* L, PyObject* py_ix, Py_ssize_t ix) { Py_ssize_t size = PyList_GET_SIZE(L); if (likely(size > (((PyListObject*)L)->allocated >> 1))) { Py_ssize_t cix = ix; if (cix < 0) { cix += size; } if (likely(__Pyx_is_valid_index(cix, size))) { PyObject* v = PyList_GET_ITEM(L, cix); __Pyx_SET_SIZE(L, Py_SIZE(L) - 1); size -= 1; memmove(&PyList_GET_ITEM(L, cix), &PyList_GET_ITEM(L, cix+1), (size_t)(size-cix)*sizeof(PyObject*)); return v; } } if (py_ix == Py_None) { return __Pyx__PyObject_PopNewIndex(L, PyInt_FromSsize_t(ix)); } else { return __Pyx__PyObject_PopIndex(L, py_ix); } } #endif /* 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 /* 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); } /* 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; } } /* 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 /* CallUnboundCMethod0 */ static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) { PyObject *args, *result = NULL; if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; #if CYTHON_ASSUME_SAFE_MACROS args = PyTuple_New(1); if (unlikely(!args)) goto bad; Py_INCREF(self); PyTuple_SET_ITEM(args, 0, self); #else args = PyTuple_Pack(1, self); if (unlikely(!args)) goto bad; #endif result = __Pyx_PyObject_Call(cfunc->method, args, NULL); Py_DECREF(args); bad: return result; } /* py_dict_items */ static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d) { if (PY_MAJOR_VERSION >= 3) return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_items, d); else return PyDict_Items(d); } /* 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); } /* 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; } /* 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; } /* append */ static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) { if (likely(PyList_CheckExact(L))) { if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1; } else { PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_n_s_append, x); if (unlikely(!retval)) return -1; Py_DECREF(retval); } return 0; } /* 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 /* 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; } /* 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; } /* 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; } /* CythonFunctionShared */ #include 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 Py_INCREF(m->func_qualname); return m->func_qualname; #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_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { if (unlikely(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_size = 0; op->defaults = NULL; op->defaults_tuple = NULL; op->defaults_kwdict = NULL; op->defaults_getter = NULL; op->func_annotations = NULL; 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) { #if PY_MAJOR_VERSION < 3 __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; #endif return __Pyx_PyMethod_New(func, obj, type); } static PyObject* __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) { #if PY_MAJOR_VERSION >= 3 return PyUnicode_FromFormat("", op->func_qualname, (void *)op); #else return PyString_FromFormat("", 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); PyErr_Format(PyExc_TypeError, "unbound method %.200S() needs an argument", cyfunc->func_qualname); return NULL; } result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); Py_DECREF(new_args); } else { result = __Pyx_CyFunction_Call(func, args, kw); } return result; } 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 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) 0, #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, #endif #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 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; m->defaults_size = size; return m->defaults; } static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->defaults_tuple = tuple; Py_INCREF(tuple); } static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->defaults_kwdict = dict; Py_INCREF(dict); } static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->func_annotations = dict; Py_INCREF(dict); } /* CythonFunction */ static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { PyObject *op = __Pyx_CyFunction_Init( PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), ml, flags, qualname, closure, module, globals, code ); if (likely(op)) { PyObject_GC_Track(op); } return op; } /* 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; } /* 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 #if PY_MAJOR_VERSION == 2 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); } #else PyTypeObject *methoddescr_type = &PyMethodDescr_Type; #endif 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 { return PyClassMethod_New(method); } } /* RegisterModuleCleanup */ #if PY_MAJOR_VERSION < 3 || CYTHON_COMPILING_IN_PYPY static PyObject* __pyx_module_cleanup_atexit(PyObject *module, CYTHON_UNUSED PyObject *unused) { __pyx_module_cleanup(module); Py_INCREF(Py_None); return Py_None; } static int __Pyx_RegisterCleanup(void) { static PyMethodDef cleanup_def = { "__cleanup", (PyCFunction)__pyx_module_cleanup_atexit, METH_NOARGS, 0}; PyObject *cleanup_func = 0; PyObject *atexit = 0; PyObject *reg = 0; PyObject *args = 0; PyObject *res = 0; int ret = -1; cleanup_func = PyCFunction_New(&cleanup_def, 0); if (!cleanup_func) goto bad; atexit = PyImport_ImportModule("atexit"); if (!atexit) goto bad; reg = PyObject_GetAttrString(atexit, "_exithandlers"); if (reg && PyList_Check(reg)) { PyObject *a, *kw; a = PyTuple_New(0); kw = PyDict_New(); if (!a || !kw) { Py_XDECREF(a); Py_XDECREF(kw); goto bad; } args = PyTuple_Pack(3, cleanup_func, a, kw); Py_DECREF(a); Py_DECREF(kw); if (!args) goto bad; ret = PyList_Insert(reg, 0, args); } else { if (!reg) PyErr_Clear(); Py_XDECREF(reg); reg = PyObject_GetAttrString(atexit, "register"); if (!reg) goto bad; args = PyTuple_Pack(1, cleanup_func); if (!args) goto bad; res = PyObject_CallObject(reg, args); if (!res) goto bad; ret = 0; } bad: Py_XDECREF(cleanup_func); Py_XDECREF(atexit); Py_XDECREF(reg); Py_XDECREF(args); Py_XDECREF(res); return ret; } #endif /* CLineInTraceback */ #ifndef CYTHON_CLINE_IN_TRACEBACK static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED 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; (void) 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" #if PY_VERSION_HEX >= 0x030b00a6 #ifndef Py_BUILD_CORE #define Py_BUILD_CORE 1 #endif #include "internal/pycore_frame.h" #endif static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( const char *funcname, int c_line, int py_line, const char *filename) { PyCodeObject *py_code = NULL; PyObject *py_funcname = NULL; #if PY_MAJOR_VERSION < 3 PyObject *py_srcfile = NULL; py_srcfile = PyString_FromString(filename); if (!py_srcfile) goto bad; #endif if (c_line) { #if PY_MAJOR_VERSION < 3 py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); if (!py_funcname) goto bad; #else py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); if (!py_funcname) goto bad; funcname = PyUnicode_AsUTF8(py_funcname); if (!funcname) goto bad; #endif } else { #if PY_MAJOR_VERSION < 3 py_funcname = PyString_FromString(funcname); if (!py_funcname) goto bad; #endif } #if PY_MAJOR_VERSION < 3 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); #else py_code = PyCode_NewEmpty(filename, funcname, py_line); #endif Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline return py_code; bad: Py_XDECREF(py_funcname); #if PY_MAJOR_VERSION < 3 Py_XDECREF(py_srcfile); #endif return NULL; } static void __Pyx_AddTraceback(const char *funcname, int c_line, int py_line, const char *filename) { PyCodeObject *py_code = 0; PyFrameObject *py_frame = 0; PyThreadState *tstate = __Pyx_PyThreadState_Current; PyObject *ptype, *pvalue, *ptraceback; if (c_line) { c_line = __Pyx_CLineForTraceback(tstate, c_line); } py_code = __pyx_find_code_object(c_line ? -c_line : py_line); if (!py_code) { __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); py_code = __Pyx_CreateCodeObjectForTraceback( funcname, c_line, py_line, filename); if (!py_code) { /* If the code object creation fails, then we should clear the fetched exception references and propagate the new exception */ Py_XDECREF(ptype); Py_XDECREF(pvalue); Py_XDECREF(ptraceback); goto bad; } __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); } py_frame = PyFrame_New( tstate, /*PyThreadState *tstate,*/ py_code, /*PyCodeObject *code,*/ __pyx_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); } /* 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;\ } /* CIntFromPy */ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const int neg_one = (int) -1, const_zero = (int) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; #if 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; } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Aint(MPI_Aint value) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const MPI_Aint neg_one = (MPI_Aint) -1, const_zero = (MPI_Aint) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; if (is_unsigned) { if (sizeof(MPI_Aint) < sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(MPI_Aint) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Aint) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); #endif } } else { if (sizeof(MPI_Aint) <= sizeof(long)) { return PyInt_FromLong((long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Aint) <= 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(MPI_Aint), little, !is_unsigned); } } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const int neg_one = (int) -1, const_zero = (int) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; if (is_unsigned) { if (sizeof(int) < sizeof(long)) { return 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); } } /* CIntFromPy */ static CYTHON_INLINE MPI_Aint __Pyx_PyInt_As_MPI_Aint(PyObject *x) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const MPI_Aint neg_one = (MPI_Aint) -1, const_zero = (MPI_Aint) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; #if PY_MAJOR_VERSION < 3 if (likely(PyInt_Check(x))) { if (sizeof(MPI_Aint) < sizeof(long)) { __PYX_VERIFY_RETURN_INT(MPI_Aint, long, PyInt_AS_LONG(x)) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { goto raise_neg_overflow; } return (MPI_Aint) 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 (MPI_Aint) 0; case 1: __PYX_VERIFY_RETURN_INT(MPI_Aint, digit, digits[0]) case 2: if (8 * sizeof(MPI_Aint) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Aint, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Aint) >= 2 * PyLong_SHIFT) { return (MPI_Aint) (((((MPI_Aint)digits[1]) << PyLong_SHIFT) | (MPI_Aint)digits[0])); } } break; case 3: if (8 * sizeof(MPI_Aint) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Aint, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Aint) >= 3 * PyLong_SHIFT) { return (MPI_Aint) (((((((MPI_Aint)digits[2]) << PyLong_SHIFT) | (MPI_Aint)digits[1]) << PyLong_SHIFT) | (MPI_Aint)digits[0])); } } break; case 4: if (8 * sizeof(MPI_Aint) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Aint, 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(MPI_Aint) >= 4 * PyLong_SHIFT) { return (MPI_Aint) (((((((((MPI_Aint)digits[3]) << PyLong_SHIFT) | (MPI_Aint)digits[2]) << PyLong_SHIFT) | (MPI_Aint)digits[1]) << PyLong_SHIFT) | (MPI_Aint)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 (MPI_Aint) -1; if (unlikely(result == 1)) goto raise_neg_overflow; } #endif if (sizeof(MPI_Aint) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Aint, unsigned long, PyLong_AsUnsignedLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Aint) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Aint, 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 (MPI_Aint) 0; case -1: __PYX_VERIFY_RETURN_INT(MPI_Aint, sdigit, (sdigit) (-(sdigit)digits[0])) case 1: __PYX_VERIFY_RETURN_INT(MPI_Aint, digit, +digits[0]) case -2: if (8 * sizeof(MPI_Aint) - 1 > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Aint, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Aint) - 1 > 2 * PyLong_SHIFT) { return (MPI_Aint) (((MPI_Aint)-1)*(((((MPI_Aint)digits[1]) << PyLong_SHIFT) | (MPI_Aint)digits[0]))); } } break; case 2: if (8 * sizeof(MPI_Aint) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Aint, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Aint) - 1 > 2 * PyLong_SHIFT) { return (MPI_Aint) ((((((MPI_Aint)digits[1]) << PyLong_SHIFT) | (MPI_Aint)digits[0]))); } } break; case -3: if (8 * sizeof(MPI_Aint) - 1 > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Aint, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Aint) - 1 > 3 * PyLong_SHIFT) { return (MPI_Aint) (((MPI_Aint)-1)*(((((((MPI_Aint)digits[2]) << PyLong_SHIFT) | (MPI_Aint)digits[1]) << PyLong_SHIFT) | (MPI_Aint)digits[0]))); } } break; case 3: if (8 * sizeof(MPI_Aint) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Aint, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Aint) - 1 > 3 * PyLong_SHIFT) { return (MPI_Aint) ((((((((MPI_Aint)digits[2]) << PyLong_SHIFT) | (MPI_Aint)digits[1]) << PyLong_SHIFT) | (MPI_Aint)digits[0]))); } } break; case -4: if (8 * sizeof(MPI_Aint) - 1 > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Aint, 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(MPI_Aint) - 1 > 4 * PyLong_SHIFT) { return (MPI_Aint) (((MPI_Aint)-1)*(((((((((MPI_Aint)digits[3]) << PyLong_SHIFT) | (MPI_Aint)digits[2]) << PyLong_SHIFT) | (MPI_Aint)digits[1]) << PyLong_SHIFT) | (MPI_Aint)digits[0]))); } } break; case 4: if (8 * sizeof(MPI_Aint) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Aint, 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(MPI_Aint) - 1 > 4 * PyLong_SHIFT) { return (MPI_Aint) ((((((((((MPI_Aint)digits[3]) << PyLong_SHIFT) | (MPI_Aint)digits[2]) << PyLong_SHIFT) | (MPI_Aint)digits[1]) << PyLong_SHIFT) | (MPI_Aint)digits[0]))); } } break; } #endif if (sizeof(MPI_Aint) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Aint, long, PyLong_AsLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Aint) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Aint, 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 MPI_Aint 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 (MPI_Aint) -1; } } else { MPI_Aint val; PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); if (!tmp) return (MPI_Aint) -1; val = __Pyx_PyInt_As_MPI_Aint(tmp); Py_DECREF(tmp); return val; } raise_overflow: PyErr_SetString(PyExc_OverflowError, "value too large to convert to MPI_Aint"); return (MPI_Aint) -1; raise_neg_overflow: PyErr_SetString(PyExc_OverflowError, "can't convert negative value to MPI_Aint"); return (MPI_Aint) -1; } /* CIntFromPy */ static CYTHON_INLINE MPI_Count __Pyx_PyInt_As_MPI_Count(PyObject *x) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const MPI_Count neg_one = (MPI_Count) -1, const_zero = (MPI_Count) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; #if PY_MAJOR_VERSION < 3 if (likely(PyInt_Check(x))) { if (sizeof(MPI_Count) < sizeof(long)) { __PYX_VERIFY_RETURN_INT(MPI_Count, long, PyInt_AS_LONG(x)) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { goto raise_neg_overflow; } return (MPI_Count) 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 (MPI_Count) 0; case 1: __PYX_VERIFY_RETURN_INT(MPI_Count, digit, digits[0]) case 2: if (8 * sizeof(MPI_Count) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Count, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Count) >= 2 * PyLong_SHIFT) { return (MPI_Count) (((((MPI_Count)digits[1]) << PyLong_SHIFT) | (MPI_Count)digits[0])); } } break; case 3: if (8 * sizeof(MPI_Count) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Count, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Count) >= 3 * PyLong_SHIFT) { return (MPI_Count) (((((((MPI_Count)digits[2]) << PyLong_SHIFT) | (MPI_Count)digits[1]) << PyLong_SHIFT) | (MPI_Count)digits[0])); } } break; case 4: if (8 * sizeof(MPI_Count) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Count, 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(MPI_Count) >= 4 * PyLong_SHIFT) { return (MPI_Count) (((((((((MPI_Count)digits[3]) << PyLong_SHIFT) | (MPI_Count)digits[2]) << PyLong_SHIFT) | (MPI_Count)digits[1]) << PyLong_SHIFT) | (MPI_Count)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 (MPI_Count) -1; if (unlikely(result == 1)) goto raise_neg_overflow; } #endif if (sizeof(MPI_Count) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Count, unsigned long, PyLong_AsUnsignedLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Count) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Count, 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 (MPI_Count) 0; case -1: __PYX_VERIFY_RETURN_INT(MPI_Count, sdigit, (sdigit) (-(sdigit)digits[0])) case 1: __PYX_VERIFY_RETURN_INT(MPI_Count, digit, +digits[0]) case -2: if (8 * sizeof(MPI_Count) - 1 > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Count, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Count) - 1 > 2 * PyLong_SHIFT) { return (MPI_Count) (((MPI_Count)-1)*(((((MPI_Count)digits[1]) << PyLong_SHIFT) | (MPI_Count)digits[0]))); } } break; case 2: if (8 * sizeof(MPI_Count) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Count, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Count) - 1 > 2 * PyLong_SHIFT) { return (MPI_Count) ((((((MPI_Count)digits[1]) << PyLong_SHIFT) | (MPI_Count)digits[0]))); } } break; case -3: if (8 * sizeof(MPI_Count) - 1 > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Count, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Count) - 1 > 3 * PyLong_SHIFT) { return (MPI_Count) (((MPI_Count)-1)*(((((((MPI_Count)digits[2]) << PyLong_SHIFT) | (MPI_Count)digits[1]) << PyLong_SHIFT) | (MPI_Count)digits[0]))); } } break; case 3: if (8 * sizeof(MPI_Count) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Count, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Count) - 1 > 3 * PyLong_SHIFT) { return (MPI_Count) ((((((((MPI_Count)digits[2]) << PyLong_SHIFT) | (MPI_Count)digits[1]) << PyLong_SHIFT) | (MPI_Count)digits[0]))); } } break; case -4: if (8 * sizeof(MPI_Count) - 1 > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Count, 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(MPI_Count) - 1 > 4 * PyLong_SHIFT) { return (MPI_Count) (((MPI_Count)-1)*(((((((((MPI_Count)digits[3]) << PyLong_SHIFT) | (MPI_Count)digits[2]) << PyLong_SHIFT) | (MPI_Count)digits[1]) << PyLong_SHIFT) | (MPI_Count)digits[0]))); } } break; case 4: if (8 * sizeof(MPI_Count) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Count, 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(MPI_Count) - 1 > 4 * PyLong_SHIFT) { return (MPI_Count) ((((((((((MPI_Count)digits[3]) << PyLong_SHIFT) | (MPI_Count)digits[2]) << PyLong_SHIFT) | (MPI_Count)digits[1]) << PyLong_SHIFT) | (MPI_Count)digits[0]))); } } break; } #endif if (sizeof(MPI_Count) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Count, long, PyLong_AsLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Count) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Count, 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 MPI_Count 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 (MPI_Count) -1; } } else { MPI_Count val; PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); if (!tmp) return (MPI_Count) -1; val = __Pyx_PyInt_As_MPI_Count(tmp); Py_DECREF(tmp); return val; } raise_overflow: PyErr_SetString(PyExc_OverflowError, "value too large to convert to MPI_Count"); return (MPI_Count) -1; raise_neg_overflow: PyErr_SetString(PyExc_OverflowError, "can't convert negative value to MPI_Count"); return (MPI_Count) -1; } /* CIntFromPy */ static CYTHON_INLINE MPI_Offset __Pyx_PyInt_As_MPI_Offset(PyObject *x) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const MPI_Offset neg_one = (MPI_Offset) -1, const_zero = (MPI_Offset) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; #if PY_MAJOR_VERSION < 3 if (likely(PyInt_Check(x))) { if (sizeof(MPI_Offset) < sizeof(long)) { __PYX_VERIFY_RETURN_INT(MPI_Offset, long, PyInt_AS_LONG(x)) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { goto raise_neg_overflow; } return (MPI_Offset) 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 (MPI_Offset) 0; case 1: __PYX_VERIFY_RETURN_INT(MPI_Offset, digit, digits[0]) case 2: if (8 * sizeof(MPI_Offset) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Offset, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Offset) >= 2 * PyLong_SHIFT) { return (MPI_Offset) (((((MPI_Offset)digits[1]) << PyLong_SHIFT) | (MPI_Offset)digits[0])); } } break; case 3: if (8 * sizeof(MPI_Offset) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Offset, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Offset) >= 3 * PyLong_SHIFT) { return (MPI_Offset) (((((((MPI_Offset)digits[2]) << PyLong_SHIFT) | (MPI_Offset)digits[1]) << PyLong_SHIFT) | (MPI_Offset)digits[0])); } } break; case 4: if (8 * sizeof(MPI_Offset) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Offset, 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(MPI_Offset) >= 4 * PyLong_SHIFT) { return (MPI_Offset) (((((((((MPI_Offset)digits[3]) << PyLong_SHIFT) | (MPI_Offset)digits[2]) << PyLong_SHIFT) | (MPI_Offset)digits[1]) << PyLong_SHIFT) | (MPI_Offset)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 (MPI_Offset) -1; if (unlikely(result == 1)) goto raise_neg_overflow; } #endif if (sizeof(MPI_Offset) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Offset, unsigned long, PyLong_AsUnsignedLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Offset) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Offset, 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 (MPI_Offset) 0; case -1: __PYX_VERIFY_RETURN_INT(MPI_Offset, sdigit, (sdigit) (-(sdigit)digits[0])) case 1: __PYX_VERIFY_RETURN_INT(MPI_Offset, digit, +digits[0]) case -2: if (8 * sizeof(MPI_Offset) - 1 > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Offset, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Offset) - 1 > 2 * PyLong_SHIFT) { return (MPI_Offset) (((MPI_Offset)-1)*(((((MPI_Offset)digits[1]) << PyLong_SHIFT) | (MPI_Offset)digits[0]))); } } break; case 2: if (8 * sizeof(MPI_Offset) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Offset, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Offset) - 1 > 2 * PyLong_SHIFT) { return (MPI_Offset) ((((((MPI_Offset)digits[1]) << PyLong_SHIFT) | (MPI_Offset)digits[0]))); } } break; case -3: if (8 * sizeof(MPI_Offset) - 1 > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Offset, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Offset) - 1 > 3 * PyLong_SHIFT) { return (MPI_Offset) (((MPI_Offset)-1)*(((((((MPI_Offset)digits[2]) << PyLong_SHIFT) | (MPI_Offset)digits[1]) << PyLong_SHIFT) | (MPI_Offset)digits[0]))); } } break; case 3: if (8 * sizeof(MPI_Offset) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Offset, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Offset) - 1 > 3 * PyLong_SHIFT) { return (MPI_Offset) ((((((((MPI_Offset)digits[2]) << PyLong_SHIFT) | (MPI_Offset)digits[1]) << PyLong_SHIFT) | (MPI_Offset)digits[0]))); } } break; case -4: if (8 * sizeof(MPI_Offset) - 1 > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Offset, 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(MPI_Offset) - 1 > 4 * PyLong_SHIFT) { return (MPI_Offset) (((MPI_Offset)-1)*(((((((((MPI_Offset)digits[3]) << PyLong_SHIFT) | (MPI_Offset)digits[2]) << PyLong_SHIFT) | (MPI_Offset)digits[1]) << PyLong_SHIFT) | (MPI_Offset)digits[0]))); } } break; case 4: if (8 * sizeof(MPI_Offset) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Offset, 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(MPI_Offset) - 1 > 4 * PyLong_SHIFT) { return (MPI_Offset) ((((((((((MPI_Offset)digits[3]) << PyLong_SHIFT) | (MPI_Offset)digits[2]) << PyLong_SHIFT) | (MPI_Offset)digits[1]) << PyLong_SHIFT) | (MPI_Offset)digits[0]))); } } break; } #endif if (sizeof(MPI_Offset) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Offset, long, PyLong_AsLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Offset) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Offset, 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 MPI_Offset 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 (MPI_Offset) -1; } } else { MPI_Offset val; PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); if (!tmp) return (MPI_Offset) -1; val = __Pyx_PyInt_As_MPI_Offset(tmp); Py_DECREF(tmp); return val; } raise_overflow: PyErr_SetString(PyExc_OverflowError, "value too large to convert to MPI_Offset"); return (MPI_Offset) -1; raise_neg_overflow: PyErr_SetString(PyExc_OverflowError, "can't convert negative value to MPI_Offset"); return (MPI_Offset) -1; } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const long neg_one = (long) -1, const_zero = (long) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; if (is_unsigned) { if (sizeof(long) < sizeof(long)) { return 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); } } /* CIntFromPy */ static CYTHON_INLINE unsigned char __Pyx_PyInt_As_unsigned_char(PyObject *x) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const unsigned char neg_one = (unsigned char) -1, const_zero = (unsigned char) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; #if PY_MAJOR_VERSION < 3 if (likely(PyInt_Check(x))) { if (sizeof(unsigned char) < sizeof(long)) { __PYX_VERIFY_RETURN_INT(unsigned char, long, PyInt_AS_LONG(x)) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { goto raise_neg_overflow; } return (unsigned 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 (unsigned char) 0; case 1: __PYX_VERIFY_RETURN_INT(unsigned char, digit, digits[0]) case 2: if (8 * sizeof(unsigned char) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(unsigned char) >= 2 * PyLong_SHIFT) { return (unsigned char) (((((unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])); } } break; case 3: if (8 * sizeof(unsigned char) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(unsigned char) >= 3 * PyLong_SHIFT) { return (unsigned char) (((((((unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])); } } break; case 4: if (8 * sizeof(unsigned char) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(unsigned 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(unsigned char) >= 4 * PyLong_SHIFT) { return (unsigned char) (((((((((unsigned char)digits[3]) << PyLong_SHIFT) | (unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned 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 (unsigned char) -1; if (unlikely(result == 1)) goto raise_neg_overflow; } #endif if (sizeof(unsigned char) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(unsigned char, unsigned long, PyLong_AsUnsignedLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(unsigned char) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(unsigned 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 (unsigned char) 0; case -1: __PYX_VERIFY_RETURN_INT(unsigned char, sdigit, (sdigit) (-(sdigit)digits[0])) case 1: __PYX_VERIFY_RETURN_INT(unsigned char, digit, +digits[0]) case -2: if (8 * sizeof(unsigned char) - 1 > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(unsigned char, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(unsigned char) - 1 > 2 * PyLong_SHIFT) { return (unsigned char) (((unsigned char)-1)*(((((unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]))); } } break; case 2: if (8 * sizeof(unsigned char) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(unsigned char) - 1 > 2 * PyLong_SHIFT) { return (unsigned char) ((((((unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]))); } } break; case -3: if (8 * sizeof(unsigned char) - 1 > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(unsigned char, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(unsigned char) - 1 > 3 * PyLong_SHIFT) { return (unsigned char) (((unsigned char)-1)*(((((((unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]))); } } break; case 3: if (8 * sizeof(unsigned char) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(unsigned char) - 1 > 3 * PyLong_SHIFT) { return (unsigned char) ((((((((unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]))); } } break; case -4: if (8 * sizeof(unsigned char) - 1 > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(unsigned 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(unsigned char) - 1 > 4 * PyLong_SHIFT) { return (unsigned char) (((unsigned char)-1)*(((((((((unsigned char)digits[3]) << PyLong_SHIFT) | (unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]))); } } break; case 4: if (8 * sizeof(unsigned char) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(unsigned 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(unsigned char) - 1 > 4 * PyLong_SHIFT) { return (unsigned char) ((((((((((unsigned char)digits[3]) << PyLong_SHIFT) | (unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]))); } } break; } #endif if (sizeof(unsigned char) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(unsigned char, long, PyLong_AsLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(unsigned char) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(unsigned 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 unsigned 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 (unsigned char) -1; } } else { unsigned char val; PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); if (!tmp) return (unsigned char) -1; val = __Pyx_PyInt_As_unsigned_char(tmp); Py_DECREF(tmp); return val; } raise_overflow: PyErr_SetString(PyExc_OverflowError, "value too large to convert to unsigned char"); return (unsigned char) -1; raise_neg_overflow: PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned char"); return (unsigned char) -1; } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Offset(MPI_Offset value) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const MPI_Offset neg_one = (MPI_Offset) -1, const_zero = (MPI_Offset) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; if (is_unsigned) { if (sizeof(MPI_Offset) < sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(MPI_Offset) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Offset) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); #endif } } else { if (sizeof(MPI_Offset) <= sizeof(long)) { return PyInt_FromLong((long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Offset) <= 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(MPI_Offset), little, !is_unsigned); } } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Fint(MPI_Fint value) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const MPI_Fint neg_one = (MPI_Fint) -1, const_zero = (MPI_Fint) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; if (is_unsigned) { if (sizeof(MPI_Fint) < sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(MPI_Fint) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Fint) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); #endif } } else { if (sizeof(MPI_Fint) <= sizeof(long)) { return PyInt_FromLong((long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Fint) <= 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(MPI_Fint), little, !is_unsigned); } } /* CIntFromPy */ static CYTHON_INLINE MPI_Fint __Pyx_PyInt_As_MPI_Fint(PyObject *x) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const MPI_Fint neg_one = (MPI_Fint) -1, const_zero = (MPI_Fint) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; #if PY_MAJOR_VERSION < 3 if (likely(PyInt_Check(x))) { if (sizeof(MPI_Fint) < sizeof(long)) { __PYX_VERIFY_RETURN_INT(MPI_Fint, long, PyInt_AS_LONG(x)) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { goto raise_neg_overflow; } return (MPI_Fint) 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 (MPI_Fint) 0; case 1: __PYX_VERIFY_RETURN_INT(MPI_Fint, digit, digits[0]) case 2: if (8 * sizeof(MPI_Fint) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Fint, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Fint) >= 2 * PyLong_SHIFT) { return (MPI_Fint) (((((MPI_Fint)digits[1]) << PyLong_SHIFT) | (MPI_Fint)digits[0])); } } break; case 3: if (8 * sizeof(MPI_Fint) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Fint, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Fint) >= 3 * PyLong_SHIFT) { return (MPI_Fint) (((((((MPI_Fint)digits[2]) << PyLong_SHIFT) | (MPI_Fint)digits[1]) << PyLong_SHIFT) | (MPI_Fint)digits[0])); } } break; case 4: if (8 * sizeof(MPI_Fint) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Fint, 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(MPI_Fint) >= 4 * PyLong_SHIFT) { return (MPI_Fint) (((((((((MPI_Fint)digits[3]) << PyLong_SHIFT) | (MPI_Fint)digits[2]) << PyLong_SHIFT) | (MPI_Fint)digits[1]) << PyLong_SHIFT) | (MPI_Fint)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 (MPI_Fint) -1; if (unlikely(result == 1)) goto raise_neg_overflow; } #endif if (sizeof(MPI_Fint) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Fint, unsigned long, PyLong_AsUnsignedLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Fint) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Fint, 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 (MPI_Fint) 0; case -1: __PYX_VERIFY_RETURN_INT(MPI_Fint, sdigit, (sdigit) (-(sdigit)digits[0])) case 1: __PYX_VERIFY_RETURN_INT(MPI_Fint, digit, +digits[0]) case -2: if (8 * sizeof(MPI_Fint) - 1 > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Fint, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Fint) - 1 > 2 * PyLong_SHIFT) { return (MPI_Fint) (((MPI_Fint)-1)*(((((MPI_Fint)digits[1]) << PyLong_SHIFT) | (MPI_Fint)digits[0]))); } } break; case 2: if (8 * sizeof(MPI_Fint) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Fint, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Fint) - 1 > 2 * PyLong_SHIFT) { return (MPI_Fint) ((((((MPI_Fint)digits[1]) << PyLong_SHIFT) | (MPI_Fint)digits[0]))); } } break; case -3: if (8 * sizeof(MPI_Fint) - 1 > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Fint, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Fint) - 1 > 3 * PyLong_SHIFT) { return (MPI_Fint) (((MPI_Fint)-1)*(((((((MPI_Fint)digits[2]) << PyLong_SHIFT) | (MPI_Fint)digits[1]) << PyLong_SHIFT) | (MPI_Fint)digits[0]))); } } break; case 3: if (8 * sizeof(MPI_Fint) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Fint, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(MPI_Fint) - 1 > 3 * PyLong_SHIFT) { return (MPI_Fint) ((((((((MPI_Fint)digits[2]) << PyLong_SHIFT) | (MPI_Fint)digits[1]) << PyLong_SHIFT) | (MPI_Fint)digits[0]))); } } break; case -4: if (8 * sizeof(MPI_Fint) - 1 > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Fint, 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(MPI_Fint) - 1 > 4 * PyLong_SHIFT) { return (MPI_Fint) (((MPI_Fint)-1)*(((((((((MPI_Fint)digits[3]) << PyLong_SHIFT) | (MPI_Fint)digits[2]) << PyLong_SHIFT) | (MPI_Fint)digits[1]) << PyLong_SHIFT) | (MPI_Fint)digits[0]))); } } break; case 4: if (8 * sizeof(MPI_Fint) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(MPI_Fint, 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(MPI_Fint) - 1 > 4 * PyLong_SHIFT) { return (MPI_Fint) ((((((((((MPI_Fint)digits[3]) << PyLong_SHIFT) | (MPI_Fint)digits[2]) << PyLong_SHIFT) | (MPI_Fint)digits[1]) << PyLong_SHIFT) | (MPI_Fint)digits[0]))); } } break; } #endif if (sizeof(MPI_Fint) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Fint, long, PyLong_AsLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Fint) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(MPI_Fint, 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 MPI_Fint 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 (MPI_Fint) -1; } } else { MPI_Fint val; PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); if (!tmp) return (MPI_Fint) -1; val = __Pyx_PyInt_As_MPI_Fint(tmp); Py_DECREF(tmp); return val; } raise_overflow: PyErr_SetString(PyExc_OverflowError, "value too large to convert to MPI_Fint"); return (MPI_Fint) -1; raise_neg_overflow: PyErr_SetString(PyExc_OverflowError, "can't convert negative value to MPI_Fint"); return (MPI_Fint) -1; } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Count(MPI_Count value) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const MPI_Count neg_one = (MPI_Count) -1, const_zero = (MPI_Count) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; if (is_unsigned) { if (sizeof(MPI_Count) < sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(MPI_Count) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Count) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); #endif } } else { if (sizeof(MPI_Count) <= sizeof(long)) { return PyInt_FromLong((long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(MPI_Count) <= 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(MPI_Count), little, !is_unsigned); } } /* CIntFromPy */ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif const long neg_one = (long) -1, const_zero = (long) 0; #ifdef __Pyx_HAS_GCC_DIAGNOSTIC #pragma GCC diagnostic pop #endif const int is_unsigned = neg_one > const_zero; #if 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; } /* 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 '9'); break; } if (rt_from_call[i] != ctversion[i]) { same = 0; break; } } if (!same) { char rtversion[5] = {'\0'}; char message[200]; for (i=0; i<4; ++i) { if (rt_from_call[i] == '.') { if (found_dot) break; found_dot = 1; } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') { break; } rtversion[i] = rt_from_call[i]; } 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; } /* FunctionExport */ static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) { PyObject *d = 0; PyObject *cobj = 0; union { void (*fp)(void); void *p; } tmp; d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__"); if (!d) { PyErr_Clear(); d = PyDict_New(); if (!d) goto bad; Py_INCREF(d); if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0) goto bad; } tmp.fp = f; #if PY_VERSION_HEX >= 0x02070000 cobj = PyCapsule_New(tmp.p, sig, 0); #else cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0); #endif if (!cobj) goto bad; if (PyDict_SetItemString(d, name, cobj) < 0) goto bad; Py_DECREF(cobj); Py_DECREF(d); return 0; bad: Py_XDECREF(cobj); Py_XDECREF(d); return -1; } /* 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 Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); #if PY_MAJOR_VERSION < 3 } else if (likely(PyInt_CheckExact(o))) { return PyInt_AS_LONG(o); #endif } else { Py_ssize_t ival; PyObject *x; x = PyNumber_Index(o); if (!x) return -1; ival = PyInt_AsLong(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 */