/* Generated by Cython 0.25.2 */ #define PY_SSIZE_T_CLEAN #include "Python.h" #ifndef Py_PYTHON_H #error Python headers needed to compile C extensions, please install development version of Python. #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000) #error Cython requires Python 2.6+ or Python 3.2+. #else #define CYTHON_ABI "0_25_2" #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 #ifndef HAVE_LONG_LONG #if PY_VERSION_HEX >= 0x03030000 || (PY_MAJOR_VERSION == 2 && PY_VERSION_HEX >= 0x02070000) #define HAVE_LONG_LONG #endif #endif #ifndef PY_LONG_LONG #define PY_LONG_LONG LONG_LONG #endif #ifndef Py_HUGE_VAL #define Py_HUGE_VAL HUGE_VAL #endif #ifdef PYPY_VERSION #define CYTHON_COMPILING_IN_PYPY 1 #define CYTHON_COMPILING_IN_PYSTON 0 #define CYTHON_COMPILING_IN_CPYTHON 0 #undef CYTHON_USE_TYPE_SLOTS #define CYTHON_USE_TYPE_SLOTS 0 #undef CYTHON_USE_ASYNC_SLOTS #define CYTHON_USE_ASYNC_SLOTS 0 #undef CYTHON_USE_PYLIST_INTERNALS #define CYTHON_USE_PYLIST_INTERNALS 0 #undef CYTHON_USE_UNICODE_INTERNALS #define CYTHON_USE_UNICODE_INTERNALS 0 #undef CYTHON_USE_UNICODE_WRITER #define CYTHON_USE_UNICODE_WRITER 0 #undef CYTHON_USE_PYLONG_INTERNALS #define CYTHON_USE_PYLONG_INTERNALS 0 #undef CYTHON_AVOID_BORROWED_REFS #define CYTHON_AVOID_BORROWED_REFS 1 #undef CYTHON_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 #elif defined(PYSTON_VERSION) #define CYTHON_COMPILING_IN_PYPY 0 #define CYTHON_COMPILING_IN_PYSTON 1 #define CYTHON_COMPILING_IN_CPYTHON 0 #ifndef CYTHON_USE_TYPE_SLOTS #define CYTHON_USE_TYPE_SLOTS 1 #endif #undef CYTHON_USE_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 #else #define CYTHON_COMPILING_IN_PYPY 0 #define CYTHON_COMPILING_IN_PYSTON 0 #define CYTHON_COMPILING_IN_CPYTHON 1 #ifndef CYTHON_USE_TYPE_SLOTS #define CYTHON_USE_TYPE_SLOTS 1 #endif #if PY_MAJOR_VERSION < 3 #undef CYTHON_USE_ASYNC_SLOTS #define CYTHON_USE_ASYNC_SLOTS 0 #elif !defined(CYTHON_USE_ASYNC_SLOTS) #define CYTHON_USE_ASYNC_SLOTS 1 #endif #if PY_VERSION_HEX < 0x02070000 #undef CYTHON_USE_PYLONG_INTERNALS #define CYTHON_USE_PYLONG_INTERNALS 0 #elif !defined(CYTHON_USE_PYLONG_INTERNALS) #define CYTHON_USE_PYLONG_INTERNALS 1 #endif #ifndef CYTHON_USE_PYLIST_INTERNALS #define CYTHON_USE_PYLIST_INTERNALS 1 #endif #ifndef CYTHON_USE_UNICODE_INTERNALS #define CYTHON_USE_UNICODE_INTERNALS 1 #endif #if PY_VERSION_HEX < 0x030300F0 #undef CYTHON_USE_UNICODE_WRITER #define CYTHON_USE_UNICODE_WRITER 0 #elif !defined(CYTHON_USE_UNICODE_WRITER) #define CYTHON_USE_UNICODE_WRITER 1 #endif #ifndef CYTHON_AVOID_BORROWED_REFS #define CYTHON_AVOID_BORROWED_REFS 0 #endif #ifndef CYTHON_ASSUME_SAFE_MACROS #define CYTHON_ASSUME_SAFE_MACROS 1 #endif #ifndef CYTHON_UNPACK_METHODS #define CYTHON_UNPACK_METHODS 1 #endif #ifndef CYTHON_FAST_THREAD_STATE #define CYTHON_FAST_THREAD_STATE 1 #endif #ifndef CYTHON_FAST_PYCALL #define CYTHON_FAST_PYCALL 1 #endif #endif #if !defined(CYTHON_FAST_PYCCALL) #define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) #endif #if CYTHON_USE_PYLONG_INTERNALS #include "longintrepr.h" #undef SHIFT #undef BASE #undef MASK #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_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 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_FASTCALL #define METH_FASTCALL 0x80 typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames); #else #define __Pyx_PyCFunctionFast _PyCFunctionFast #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))))) #else #define __Pyx_PyFastCFunction_Check(func) 0 #endif #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) #define CYTHON_PEP393_ENABLED 1 #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ 0 : _PyUnicode_Ready((PyObject *)(op))) #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) #else #define CYTHON_PEP393_ENABLED 0 #define PyUnicode_1BYTE_KIND 1 #define PyUnicode_2BYTE_KIND 2 #define PyUnicode_4BYTE_KIND 4 #define __Pyx_PyUnicode_READY(op) (0) #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) #endif #if CYTHON_COMPILING_IN_PYPY #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) #else #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) #endif #if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) #endif #if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) #endif #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) #endif #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_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 #define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) #define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None)) ? 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 #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 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) #define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) #if PY_MAJOR_VERSION >= 3 #define PyIntObject PyLongObject #define PyInt_Type PyLong_Type #define PyInt_Check(op) PyLong_Check(op) #define PyInt_CheckExact(op) PyLong_CheckExact(op) #define PyInt_FromString PyLong_FromString #define PyInt_FromUnicode PyLong_FromUnicode #define PyInt_FromLong PyLong_FromLong #define PyInt_FromSize_t PyLong_FromSize_t #define PyInt_FromSsize_t PyLong_FromSsize_t #define PyInt_AsLong PyLong_AsLong #define PyInt_AS_LONG PyLong_AS_LONG #define PyInt_AsSsize_t PyLong_AsSsize_t #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask #define PyNumber_Int PyNumber_Long #endif #if PY_MAJOR_VERSION >= 3 #define PyBoolObject PyLongObject #endif #if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY #ifndef PyUnicode_InternFromString #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) #endif #endif #if PY_VERSION_HEX < 0x030200A4 typedef long Py_hash_t; #define __Pyx_PyInt_FromHash_t PyInt_FromLong #define __Pyx_PyInt_AsHash_t PyInt_AsLong #else #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t #endif #if PY_MAJOR_VERSION >= 3 #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(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 typedef struct { unaryfunc am_await; unaryfunc am_aiter; unaryfunc am_anext; } __Pyx_PyAsyncMethodsStruct; #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) #endif #else #define __Pyx_PyType_AsAsync(obj) NULL #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) #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 defined(WIN32) || defined(MS_WINDOWS) #define _USE_MATH_DEFINES #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_ERR(f_index, lineno, Ln_error) \ { \ __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \ } #if PY_MAJOR_VERSION >= 3 #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 #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 #include "mpi.h" #include "atimport.h" #ifdef _OPENMP #include #endif /* _OPENMP */ #ifdef PYREX_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_DEFAULT 0 #define __PYX_DEFAULT_STRING_ENCODING "" #define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString #define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize #define __Pyx_uchar_cast(c) ((unsigned char)c) #define __Pyx_long_cast(x) ((long)x) #define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ (sizeof(type) < sizeof(Py_ssize_t)) ||\ (sizeof(type) > sizeof(Py_ssize_t) &&\ likely(v < (type)PY_SSIZE_T_MAX ||\ v == (type)PY_SSIZE_T_MAX) &&\ (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ v == (type)PY_SSIZE_T_MIN))) ||\ (sizeof(type) == sizeof(Py_ssize_t) &&\ (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ v == (type)PY_SSIZE_T_MAX))) ) #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) && defined (_M_X64) #define __Pyx_sst_abs(value) _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 char* __Pyx_PyObject_AsString(PyObject*); static CYTHON_INLINE 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_PyObject_AsSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) #define __Pyx_PyObject_AsUString(s) ((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) #if PY_MAJOR_VERSION < 3 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); } #else #define __Pyx_Py_UNICODE_strlen Py_UNICODE_strlen #endif #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) #define __Pyx_PyBool_FromLong(b) ((b) ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False)) static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); #if CYTHON_ASSUME_SAFE_MACROS #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) #else #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) #endif #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) #if PY_MAJOR_VERSION >= 3 #define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) #else #define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) #endif #define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII static int __Pyx_sys_getdefaultencoding_not_ascii; static int __Pyx_init_sys_getdefaultencoding_params(void) { PyObject* sys; PyObject* default_encoding = NULL; PyObject* ascii_chars_u = NULL; PyObject* ascii_chars_b = NULL; const char* default_encoding_c; sys = PyImport_ImportModule("sys"); if (!sys) goto bad; default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); Py_DECREF(sys); if (!default_encoding) goto bad; default_encoding_c = PyBytes_AsString(default_encoding); if (!default_encoding_c) goto bad; if (strcmp(default_encoding_c, "ascii") == 0) { __Pyx_sys_getdefaultencoding_not_ascii = 0; } else { char ascii_chars[128]; int c; for (c = 0; c < 128; c++) { ascii_chars[c] = c; } __Pyx_sys_getdefaultencoding_not_ascii = 1; ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); if (!ascii_chars_u) goto bad; ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { PyErr_Format( PyExc_ValueError, "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", default_encoding_c); goto bad; } Py_DECREF(ascii_chars_u); Py_DECREF(ascii_chars_b); } Py_DECREF(default_encoding); return 0; bad: Py_XDECREF(default_encoding); Py_XDECREF(ascii_chars_u); Py_XDECREF(ascii_chars_b); return -1; } #endif #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) #else #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT static char* __PYX_DEFAULT_STRING_ENCODING; static int __Pyx_init_sys_getdefaultencoding_params(void) { PyObject* sys; PyObject* default_encoding = NULL; char* default_encoding_c; sys = PyImport_ImportModule("sys"); if (!sys) goto bad; default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); Py_DECREF(sys); if (!default_encoding) goto bad; default_encoding_c = PyBytes_AsString(default_encoding); if (!default_encoding_c) goto bad; __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c)); 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 PyObject *__pyx_m; static PyObject *__pyx_d; static PyObject *__pyx_b; 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[] = { "MPI/asbuffer.pxi", "MPI/ExceptionP.pyx", "MPI/asmemory.pxi", "MPI/asarray.pxi", "MPI/msgbuffer.pxi", "MPI/Errhandler.pyx", "MPI/Datatype.pyx", "MPI/Comm.pyx", "MPI/MPI.pyx", "MPI/atimport.pxi", "MPI/asmpistr.pxi", "MPI/helpers.pxi", "MPI/typeimpl.pxi", "MPI/reqimpl.pxi", "MPI/opimpl.pxi", "MPI/commimpl.pxi", "MPI/winimpl.pxi", "MPI/drepimpl.pxi", "MPI/mpierrhdl.pxi", "MPI/msgpickle.pxi", "MPI/CAPI.pxi", "MPI/Exception.pyx", "MPI/typemap.pxi", "MPI/Status.pyx", "MPI/Request.pyx", "MPI/Message.pyx", "MPI/Info.pyx", "MPI/Op.pyx", "MPI/Group.pyx", "MPI/Win.pyx", "MPI/File.pyx", "mpi4py.MPI.pyx", }; /*--- 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__p_buffer; struct __pyx_obj_6mpi4py_3MPI__p_mem; struct __pyx_obj_6mpi4py_3MPI__p_keyval; struct __pyx_obj_6mpi4py_3MPI__p_greq; struct __pyx_obj_6mpi4py_3MPI__p_datarep; 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; /* "MPI/helpers.pxi":13 * #------------------------------------------------------------------------------ * * cdef enum PyMPI_OBJECT_FLAGS: # <<<<<<<<<<<<<< * PyMPI_OWNED = 1<<1 * */ enum __pyx_t_6mpi4py_3MPI_PyMPI_OBJECT_FLAGS { /* "MPI/helpers.pxi":14 * * cdef enum PyMPI_OBJECT_FLAGS: * PyMPI_OWNED = 1<<1 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_e_6mpi4py_3MPI_PyMPI_OWNED = (1 << 1) }; /* "MPI/atimport.pxi":21 * 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; 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; /* "MPI/asbuffer.pxi":130 * @cython.final * @cython.internal * cdef class _p_buffer: # <<<<<<<<<<<<<< * * cdef Py_buffer view */ struct __pyx_obj_6mpi4py_3MPI__p_buffer { PyObject_HEAD Py_buffer view; }; /* "MPI/asmemory.pxi":36 * @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; }; /* "MPI/helpers.pxi":20 * @cython.final * @cython.internal * cdef class _p_keyval: # <<<<<<<<<<<<<< * cdef object copy_fn * cdef object delete_fn */ struct __pyx_obj_6mpi4py_3MPI__p_keyval { PyObject_HEAD PyObject *copy_fn; PyObject *delete_fn; }; /* "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; }; /* "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; }; /* "MPI/msgbuffer.pxi":56 * @cython.final * @cython.internal * cdef class _p_message: # <<<<<<<<<<<<<< * cdef _p_buffer buf * cdef object count */ struct __pyx_obj_6mpi4py_3MPI__p_message { PyObject_HEAD struct __pyx_obj_6mpi4py_3MPI__p_buffer *buf; PyObject *count; PyObject *displ; struct PyMPIDatatypeObject *type; }; /* "MPI/msgbuffer.pxi":374 * @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; }; /* "MPI/msgbuffer.pxi":418 * @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; }; /* "MPI/msgbuffer.pxi":843 * @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; }; /* "MPI/msgbuffer.pxi":915 * @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 *raddr; int rcount; MPI_Datatype rtype; MPI_Aint tdisp; int tcount; MPI_Datatype ttype; PyObject *_origin; PyObject *_result; PyObject *_target; }; /* "MPI/msgbuffer.pxi":1007 * @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; }; /* "MPI/msgpickle.pxi":41 * @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_PROTOCOL; }; /* "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); /* "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 *); /* "MPI/msgbuffer.pxi":374 * @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); /* "MPI/msgbuffer.pxi":418 * @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); /* "MPI/msgbuffer.pxi":843 * @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); /* "MPI/msgbuffer.pxi":915 * @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 (*for_get_acc)(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, PyObject *, int, PyObject *); }; 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_for_get_acc(struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *, PyObject *, PyObject *, int, PyObject *); /* "MPI/msgbuffer.pxi":1007 * @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 *); /* "MPI/msgpickle.pxi":41 * @cython.final * @cython.internal * cdef class Pickle: # <<<<<<<<<<<<<< * * """ */ struct __pyx_vtabstruct_6mpi4py_3MPI_Pickle { PyObject *(*dump)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, void **, int *); PyObject *(*alloc)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void **, int); PyObject *(*load)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *); PyObject *(*dumpv)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, void **, int, int *, int *); PyObject *(*allocv)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void **, int, int *, int *); PyObject *(*loadv)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, int, int *, int *); }; static struct __pyx_vtabstruct_6mpi4py_3MPI_Pickle *__pyx_vtabptr_6mpi4py_3MPI_Pickle; static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_dump(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, void **, int *); static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_alloc(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void **, int); static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_load(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *); 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_allocv(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void **, int, int *, int *); static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_loadv(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, 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) { PyTypeObject* tp = Py_TYPE(obj); if (likely(tp->tp_getattro)) return tp->tp_getattro(obj, attr_name); #if PY_MAJOR_VERSION < 3 if (likely(tp->tp_getattr)) return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); #endif return PyObject_GetAttr(obj, attr_name); } #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, int nargs, PyObject *kwargs); #else #define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) #endif #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 /* 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); /* PyThreadStateGet.proto */ #if CYTHON_FAST_THREAD_STATE #define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; #define __Pyx_PyThreadState_assign __pyx_tstate = PyThreadState_GET(); #else #define __Pyx_PyThreadState_declare #define __Pyx_PyThreadState_assign #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_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); #else #define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) #define __Pyx_ErrFetchWithState(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); /* ForceInitThreads.proto */ #ifndef __PYX_FORCE_INIT_THREADS #define __PYX_FORCE_INIT_THREADS 0 #endif /* 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); /* 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); /* 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 /* 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); /* KeywordStringCheck.proto */ static CYTHON_INLINE 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 CYTHON_INLINE 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 CYTHON_INLINE 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); /* 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); /* 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 /* ListCompAppend.proto */ #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) { PyListObject* L = (PyListObject*) list; Py_ssize_t len = Py_SIZE(list); if (likely(L->allocated > len)) { Py_INCREF(x); PyList_SET_ITEM(list, len, x); Py_SIZE(list) = len+1; return 0; } return PyList_Append(list, x); } #else #define __Pyx_ListComp_Append(L,x) PyList_Append(L,x) #endif /* DictGetItem.proto */ #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()) { PyObject* args = PyTuple_Pack(1, key); if (likely(args)) PyErr_SetObject(PyExc_KeyError, args); Py_XDECREF(args); } return NULL; } Py_INCREF(value); return value; } #else #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) #endif /* 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) { 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); } #else #define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n) #define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) #endif /* ArgTypeTest.proto */ static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, const char *name, int exact); /* PyDictContains.proto */ static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) { int result = PyDict_Contains(dict, item); return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); } /* dict_getitem_default.proto */ static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value); /* 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); Py_SIZE(list) = len+1; return 0; } return PyList_Append(list, x); } #else #define __Pyx_PyList_Append(L,x) PyList_Append(L,x) #endif /* py_dict_items.proto */ static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d); /* UnpackUnboundCMethod.proto */ typedef struct { PyObject *type; PyObject **method_name; PyCFunction func; PyObject *method; int flag; } __Pyx_CachedCFunction; /* 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) :\ (likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ? ((*(PyCFunctionWithKeywords)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\ ((cfunc)->flag == METH_VARARGS ? (*((cfunc)->func))(self, __pyx_empty_tuple) :\ (PY_VERSION_HEX >= 0x030600B1 && (cfunc)->flag == METH_FASTCALL ? (*(__Pyx_PyCFunctionFast)(cfunc)->func)(self, &PyTuple_GET_ITEM(__pyx_empty_tuple, 0), 0, NULL) :\ __Pyx__CallUnboundCMethod0(cfunc, self))))) :\ __Pyx__CallUnboundCMethod0(cfunc, self)) #else #define __Pyx_CallUnboundCMethod0(cfunc, self) __Pyx__CallUnboundCMethod0(cfunc, self) #endif /* GetModuleGlobalName.proto */ static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name); /* 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); /* SetVTable.proto */ static int __Pyx_SetVtable(PyObject *dict, void *vtable); /* CalculateMetaclass.proto */ static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases); /* FetchCommonType.proto */ static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); /* CythonFunction.proto */ #define __Pyx_CyFunction_USED 1 #include #define __Pyx_CYFUNCTION_STATICMETHOD 0x01 #define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 #define __Pyx_CYFUNCTION_CCLASS 0x04 #define __Pyx_CyFunction_GetClosure(f)\ (((__pyx_CyFunctionObject *) (f))->func_closure) #define __Pyx_CyFunction_GetClassObj(f)\ (((__pyx_CyFunctionObject *) (f))->func_classobj) #define __Pyx_CyFunction_Defaults(type, f)\ ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) #define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) typedef struct { PyCFunctionObject func; #if PY_VERSION_HEX < 0x030500A0 PyObject *func_weakreflist; #endif PyObject *func_dict; PyObject *func_name; PyObject *func_qualname; PyObject *func_doc; PyObject *func_globals; PyObject *func_code; PyObject *func_closure; PyObject *func_classobj; void *defaults; int defaults_pyobjects; int flags; PyObject *defaults_tuple; PyObject *defaults_kwdict; PyObject *(*defaults_getter)(PyObject *); PyObject *func_annotations; } __pyx_CyFunctionObject; static PyTypeObject *__pyx_CyFunctionType = 0; #define __Pyx_CyFunction_NewEx(ml, flags, qualname, self, module, globals, code)\ __Pyx_CyFunction_New(__pyx_CyFunctionType, ml, flags, qualname, self, module, globals, code) static PyObject *__Pyx_CyFunction_New(PyTypeObject *, PyMethodDef *ml, int flags, PyObject* qualname, PyObject *self, PyObject *module, PyObject *globals, PyObject* code); static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, size_t size, int pyobjects); static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, PyObject *tuple); static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, PyObject *dict); static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, PyObject *dict); static int __pyx_CyFunction_init(void); /* 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); /* GetNameInClass.proto */ static PyObject *__Pyx_GetNameInClass(PyObject *nmspace, PyObject *name); /* ClassMethod.proto */ #include "descrobject.h" static PyObject* __Pyx_Method_ClassMethod(PyObject *method); /* PyIdentifierFromString.proto */ #if !defined(__Pyx_PyIdentifier_FromString) #if PY_MAJOR_VERSION < 3 #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s) #else #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s) #endif #endif /* ModuleImport.proto */ static PyObject *__Pyx_ImportModule(const char *name); /* RegisterModuleCleanup.proto */ static void __pyx_module_cleanup(PyObject *self); static int __Pyx_RegisterCleanup(void); /* 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); /* 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); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); /* 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); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Count(MPI_Count value); /* CIntFromPy.proto */ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); /* CIntFromPy.proto */ static CYTHON_INLINE unsigned char __Pyx_PyInt_As_unsigned_char(PyObject *); /* 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 *); /* CIntFromPy.proto */ static CYTHON_INLINE MPI_Fint __Pyx_PyInt_As_MPI_Fint(PyObject *); /* CIntFromPy.proto */ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); /* 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_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_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_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_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_load(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_buf); /* 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_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*/ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_loadv(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_obj, 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__p_buffer = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI__p_mem = 0; static PyTypeObject *__pyx_ptype_6mpi4py_3MPI__p_keyval = 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_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 PyObject *__pyx_v_6mpi4py_3MPI_MPIException = 0; 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 PyObject *__pyx_v_6mpi4py_3MPI_type_keyval = 0; static MPI_Status __pyx_v_6mpi4py_3MPI_empty_status; static PyObject *__pyx_v_6mpi4py_3MPI_op_user_registry = 0; static PyObject *__pyx_v_6mpi4py_3MPI_comm_keyval = 0; static struct __pyx_obj_6mpi4py_3MPI__p_buffer *__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_win_keyval = 0; static PyObject *__pyx_v_6mpi4py_3MPI_datarep_registry = 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_PyStringIO_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 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 int __pyx_f_6mpi4py_3MPI_PyPy_GetBuffer(PyObject *, Py_buffer *, int); /*proto*/ static int __pyx_f_6mpi4py_3MPI_PyObject_GetBufferEx(PyObject *, Py_buffer *, int); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_f_6mpi4py_3MPI_newbuffer(void); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_f_6mpi4py_3MPI_tobuffer(void *, Py_ssize_t); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_f_6mpi4py_3MPI_getbuffer(PyObject *, int, int); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_getformat(struct __pyx_obj_6mpi4py_3MPI__p_buffer *); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_f_6mpi4py_3MPI_getbuffer_r(PyObject *, void **, MPI_Aint *); /*proto*/ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_f_6mpi4py_3MPI_getbuffer_w(PyObject *, void **, MPI_Aint *); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asmemory(PyObject *, void **, MPI_Aint *); /*proto*/ static CYTHON_INLINE PyObject *__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 struct __pyx_obj_6mpi4py_3MPI__p_mem *__pyx_f_6mpi4py_3MPI_allocate_int(int, int **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_newarray_int(Py_ssize_t, int **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_getarray_int(PyObject *, int *, int **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_chkarray_int(PyObject *, int, int **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_mkarray_int(Py_ssize_t, int **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_int(PyObject *, Py_ssize_t, int **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_Aint(PyObject *, Py_ssize_t, MPI_Aint **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_Datatype(PyObject *, Py_ssize_t, MPI_Datatype **); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_Info(PyObject *, Py_ssize_t, MPI_Info **); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_is_string(PyObject *); /*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 *, Py_ssize_t, char ****); /*proto*/ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_nprocs(PyObject *, Py_ssize_t, int **); /*proto*/ static CYTHON_INLINE MPI_Status *__pyx_f_6mpi4py_3MPI_arg_Status(PyObject *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_equal_Status(MPI_Status *, MPI_Status *); /*proto*/ static CYTHON_INLINE void __pyx_f_6mpi4py_3MPI_copy_Status(MPI_Status *, MPI_Status *); /*proto*/ static CYTHON_INLINE struct PyMPIDatatypeObject *__pyx_f_6mpi4py_3MPI_newtype(MPI_Datatype); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_type_attr_copy(MPI_Datatype, int, void *, void *, void *, int *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_type_attr_copy_cb(MPI_Datatype, int, void *, void *, void *, int *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_type_attr_delete(MPI_Datatype, int, void *, void *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_type_attr_delete_cb(MPI_Datatype, int, void *, void *); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_type_attr_copy_fn(MPI_Datatype, int, void *, void *, void *, int *); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_type_attr_delete_fn(MPI_Datatype, int, void *, void *); /*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 struct PyMPICommObject *__pyx_f_6mpi4py_3MPI_newcomm(MPI_Comm); /*proto*/ static int __pyx_f_6mpi4py_3MPI_comm_attr_copy(MPI_Comm, int, void *, void *, void *, int *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_comm_attr_copy_cb(MPI_Comm, int, void *, void *, void *, int *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_comm_attr_delete(MPI_Comm, int, void *, void *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_comm_attr_delete_cb(MPI_Comm, int, void *, void *); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_comm_attr_copy_fn(MPI_Comm, int, void *, void *, void *, int *); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_comm_attr_delete_fn(MPI_Comm, int, void *, void *); /*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 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 struct PyMPIWinObject *__pyx_f_6mpi4py_3MPI_newwin(MPI_Win); /*proto*/ static int __pyx_f_6mpi4py_3MPI_win_attr_copy(MPI_Win, int, void *, void *, void *, int *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_win_attr_copy_cb(MPI_Win, int, void *, void *, void *, int *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_win_attr_delete(MPI_Win, int, void *, void *); /*proto*/ static int __pyx_f_6mpi4py_3MPI_win_attr_delete_cb(MPI_Win, int, void *, void *); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_win_attr_copy_fn(MPI_Win, int, void *, void *, void *, int *); /*proto*/ static int MPIAPI __pyx_f_6mpi4py_3MPI_win_attr_delete_fn(MPI_Win, int, void *, void *); /*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_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 PyObject *__pyx_f_6mpi4py_3MPI_message_vecw_I(PyObject *, int, int, void **, int **, int **, MPI_Datatype **); /*proto*/ static PyObject *__pyx_f_6mpi4py_3MPI_message_vecw_A(PyObject *, int, int, void **, int **, MPI_Aint **, 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 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(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 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 *, PyObject *, struct PyMPIDatatypeObject *); /*proto*/ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI__mpi_type(PyObject *, PyTypeObject *); /*proto*/ #define __Pyx_MODULE_NAME "mpi4py.MPI" int __pyx_module_is_main_mpi4py__MPI = 0; /* Implementation of 'mpi4py.MPI' */ static PyObject *__pyx_builtin_ImportError; static PyObject *__pyx_builtin_RuntimeError; static PyObject *__pyx_builtin_property; static PyObject *__pyx_builtin_SystemError; static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_IndexError; static PyObject *__pyx_builtin_AttributeError; static PyObject *__pyx_builtin_MemoryError; static PyObject *__pyx_builtin_ValueError; static PyObject *__pyx_builtin_OverflowError; static PyObject *__pyx_builtin_NotImplemented; static PyObject *__pyx_builtin_KeyError; static PyObject *__pyx_builtin_range; static PyObject *__pyx_builtin_NotImplementedError; static const char __pyx_k_1[] = "?1"; static const char __pyx_k_2[] = "?2"; static const char __pyx_k_4[] = "?4"; static const char __pyx_k_8[] = "?8"; static const char __pyx_k_B[] = "B"; static const char __pyx_k_D[] = "D"; static const char __pyx_k_F[] = "F"; static const char __pyx_k_G[] = "G"; static const char __pyx_k_H[] = "H"; static const char __pyx_k_I[] = "I"; static const char __pyx_k_L[] = "L"; static const char __pyx_k_Q[] = "Q"; static const char __pyx_k_S[] = "S"; static const char __pyx_k_b[] = "b"; static const char __pyx_k_c[] = "c"; static const char __pyx_k_d[] = "d"; static const char __pyx_k_f[] = "f"; static const char __pyx_k_g[] = "g"; static const char __pyx_k_h[] = "h"; static const char __pyx_k_i[] = "i"; static const char __pyx_k_l[] = "l"; static const char __pyx_k_n[] = "n"; static const char __pyx_k_p[] = "p"; static const char __pyx_k_q[] = "q"; static const char __pyx_k_r[] = "r"; static const char __pyx_k_s[] = "s"; static const char __pyx_k_x[] = "x"; static const char __pyx_k_y[] = "y"; static const char __pyx_k_z[] = "z"; static const char __pyx_k_IO[] = "IO"; static const char __pyx_k_LB[] = "LB"; static const char __pyx_k_UB[] = "UB"; static const char __pyx_k_Zd[] = "Zd"; static const char __pyx_k_Zf[] = "Zf"; static const char __pyx_k_Zg[] = "Zg"; static const char __pyx_k_c4[] = "c4"; static const char __pyx_k_c8[] = "c8"; static const char __pyx_k_eq[] = "__eq__"; static const char __pyx_k_ex[] = "ex"; static const char __pyx_k_f4[] = "f4"; static const char __pyx_k_f8[] = "f8"; 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_i1[] = "i1"; static const char __pyx_k_i2[] = "i2"; static const char __pyx_k_i4[] = "i4"; static const char __pyx_k_i8[] = "i8"; 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_r2[] = "r2"; static const char __pyx_k_r4[] = "r4"; static const char __pyx_k_r8[] = "r8"; static const char __pyx_k_rc[] = "rc"; static const char __pyx_k_rd[] = "rd"; static const char __pyx_k_u1[] = "u1"; static const char __pyx_k_u2[] = "u2"; static const char __pyx_k_u4[] = "u4"; static const char __pyx_k_u8[] = "u8"; 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__29[] = ""; static const char __pyx_k_arg[] = "arg"; static const char __pyx_k_buf[] = "buf"; static const char __pyx_k_c16[] = "c16"; static const char __pyx_k_c32[] = "c32"; static const char __pyx_k_doc[] = "__doc__"; static const char __pyx_k_f16[] = "f16"; static const char __pyx_k_get[] = "get"; static const char __pyx_k_i16[] = "i16"; static const char __pyx_k_int[] = "__int__"; static const char __pyx_k_key[] = "key"; 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_r16[] = "r16"; 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_HOST[] = "HOST"; 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__181[] = "?"; 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_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_read[] = "read"; 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_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_amode[] = "amode"; static const char __pyx_k_array[] = "array"; 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_error[] = "error"; static const char __pyx_k_etype[] = "etype"; static const char __pyx_k_fatal[] = "fatal"; 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_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_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_rcount[] = "rcount"; static const char __pyx_k_result[] = "result"; static const char __pyx_k_scount[] = "scount"; 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_whence[] = "whence"; static const char __pyx_k_ANY_TAG[] = "ANY_TAG"; 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_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_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_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_reorder[] = "reorder"; static const char __pyx_k_request[] = "request"; 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_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_DISP_CUR[] = "DISP_CUR"; 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_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_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_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_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_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_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_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_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_INFO_NULL[] = "INFO_NULL"; static const char __pyx_k_INTEGER16[] = "INTEGER16"; static const char __pyx_k_Intersect[] = "Intersect"; 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_assertion[] = "assertion"; 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_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_get_vendor[] = "get_vendor"; static const char __pyx_k_initialize[] = "initialize"; static const char __pyx_k_inoutedges[] = "inoutedges"; 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_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_MPI_MPI_pyx[] = "MPI/MPI.pyx"; 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_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_recv_mprobe[] = "recv_mprobe"; static const char __pyx_k_remain_dims[] = "remain_dims"; 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_MPI_Comm_pyx[] = "MPI/Comm.pyx"; static const char __pyx_k_MPI_File_pyx[] = "MPI/File.pyx"; 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_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_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_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_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_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_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_MPI_Datatype_pyx[] = "MPI/Datatype.pyx"; 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_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_MPI_Exception_pyx[] = "MPI/Exception.pyx"; 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_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_MPI_ExceptionP_pyx[] = "MPI/ExceptionP.pyx"; 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_index_out_of_range[] = "index out of range"; 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_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_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_object_is_not_writeable[] = "object is not writeable"; 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_target_expecting_3_items[] = "target: expecting 3 items"; 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_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_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_expecting_an_intercommunicator[] = "expecting an intercommunicator"; static const char __pyx_k_expecting_an_intracommunicator[] = "expecting an intracommunicator"; static const char __pyx_k_message_expecting_2_to_4_items[] = "message: expecting 2 to 4 items"; static const char __pyx_k_message_expecting_3_to_4_items[] = "message: expecting 3 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_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_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_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_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_kp_s_1; static PyObject *__pyx_kp_s_2; static PyObject *__pyx_kp_s_4; static PyObject *__pyx_kp_s_8; 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_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_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_Close_port; 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_D; 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_Delete; static PyObject *__pyx_n_s_Detach_buffer; static PyObject *__pyx_n_s_Difference; 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_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_F; 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_Finalize; static PyObject *__pyx_n_s_Free_keyval; static PyObject *__pyx_n_s_Free_mem; static PyObject *__pyx_n_s_G; 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_H; 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_I; 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_Init; static PyObject *__pyx_n_s_Init_thread; static PyObject *__pyx_n_s_Intersect; static PyObject *__pyx_n_s_Intersection; 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_L; 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_Comm_pyx; static PyObject *__pyx_kp_s_MPI_Datatype_pyx; static PyObject *__pyx_kp_s_MPI_ExceptionP_pyx; static PyObject *__pyx_kp_s_MPI_Exception_d; static PyObject *__pyx_kp_s_MPI_Exception_pyx; static PyObject *__pyx_kp_s_MPI_File_pyx; 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_kp_s_MPI_MPI_pyx; static PyObject *__pyx_n_s_Match_size; static PyObject *__pyx_n_s_MemoryError; 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_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_Probe; static PyObject *__pyx_n_s_Publish_name; static PyObject *__pyx_n_s_Q; 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_Resized; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_n_s_S; 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_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_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_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_Wtick; static PyObject *__pyx_n_s_Wtime; static PyObject *__pyx_n_s_Zd; static PyObject *__pyx_n_s_Zf; static PyObject *__pyx_n_s_Zg; static PyObject *__pyx_kp_s__181; static PyObject *__pyx_kp_b__29; static PyObject *__pyx_kp_s_accessing_non_existent_buffer_se; static PyObject *__pyx_n_s_address; static PyObject *__pyx_n_s_addressof; 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_b; static PyObject *__pyx_n_s_base; static PyObject *__pyx_n_s_baseptr; 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_c; static PyObject *__pyx_n_s_c16; static PyObject *__pyx_n_s_c32; static PyObject *__pyx_n_s_c4; static PyObject *__pyx_n_s_c8; 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_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_n_s_commute; 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_d; 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_dumps; static PyObject *__pyx_n_s_edges; static PyObject *__pyx_kp_s_empty_weights_but_nonzero_degree; 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_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_n_s_extent; static PyObject *__pyx_n_s_extent_fn; static PyObject *__pyx_n_s_f; static PyObject *__pyx_n_s_f16; static PyObject *__pyx_n_s_f2py; static PyObject *__pyx_n_s_f4; static PyObject *__pyx_n_s_f8; 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_flush; static PyObject *__pyx_n_s_free_fn; static PyObject *__pyx_n_s_function; static PyObject *__pyx_n_s_funneled; static PyObject *__pyx_n_s_g; 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_h; 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_i1; static PyObject *__pyx_n_s_i16; static PyObject *__pyx_n_s_i2; static PyObject *__pyx_n_s_i4; static PyObject *__pyx_n_s_i8; 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_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_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_l; 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_type; static PyObject *__pyx_n_s_lt; 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_memory; static PyObject *__pyx_kp_s_memory_allocation_size_too_large; static PyObject *__pyx_kp_s_memory_allocation_with_negative; 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_3_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_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_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_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_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_kp_s_object_is_not_writeable; 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_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_q; static PyObject *__pyx_n_s_qualname; static PyObject *__pyx_n_s_query_fn; static PyObject *__pyx_n_s_r; static PyObject *__pyx_n_s_r16; static PyObject *__pyx_n_s_r2; static PyObject *__pyx_n_s_r4; static PyObject *__pyx_n_s_r8; 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_rcount; static PyObject *__pyx_n_s_rd; static PyObject *__pyx_n_s_read; static PyObject *__pyx_n_s_read_fn; 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_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_n_s_resultlen; static PyObject *__pyx_n_s_root; static PyObject *__pyx_n_s_s; static PyObject *__pyx_n_s_scount; 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_single; static PyObject *__pyx_n_s_size; static PyObject *__pyx_n_s_sizeof; static PyObject *__pyx_n_s_sizes; 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_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_kp_s_target_expecting_3_items; static PyObject *__pyx_kp_s_target_expecting_integral_or_lis; static PyObject *__pyx_n_s_target_rank; static PyObject *__pyx_n_s_testall; static PyObject *__pyx_n_s_testany; 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_typedict; static PyObject *__pyx_n_s_typedict_c; static PyObject *__pyx_n_s_typedict_f; static PyObject *__pyx_n_s_u1; static PyObject *__pyx_n_s_u2; static PyObject *__pyx_n_s_u4; static PyObject *__pyx_n_s_u8; 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_n_s_z; static void __pyx_pf_6mpi4py_3MPI_9_p_buffer___dealloc__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_9_p_buffer_2__getbuffer__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self, Py_buffer *__pyx_v_view, int __pyx_v_flags); /* proto */ static void __pyx_pf_6mpi4py_3MPI_9_p_buffer_4__releasebuffer__(CYTHON_UNUSED struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self, Py_buffer *__pyx_v_view); /* proto */ #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_9_p_buffer_6__getsegcount__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self, Py_ssize_t *__pyx_v_lenp); /* proto */ #endif #if PY_MAJOR_VERSION < 3 static Py_ssize_t __pyx_pf_6mpi4py_3MPI_9_p_buffer_8__getreadbuffer__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__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_9_p_buffer_10__getwritebuffer__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_p); /* proto */ #endif static Py_ssize_t __pyx_pf_6mpi4py_3MPI_9_p_buffer_12__len__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_9_p_buffer_14__getitem__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self, Py_ssize_t __pyx_v_i); /* proto */ static int __pyx_pf_6mpi4py_3MPI_9_p_buffer_16__setitem__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self, Py_ssize_t __pyx_v_i, unsigned char __pyx_v_v); /* 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_9_p_keyval___cinit__(struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_self, PyObject *__pyx_v_copy_fn, PyObject *__pyx_v_delete_fn); /* 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 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_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_5dumps___get__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6Pickle_5dumps_2__set__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_dumps); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6Pickle_5dumps_4__del__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Pickle_5loads___get__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6Pickle_5loads_2__set__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_loads); /* proto */ static int __pyx_pf_6mpi4py_3MPI_6Pickle_5loads_4__del__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self); /* 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 int __pyx_pf_6mpi4py_3MPI_6Pickle_8PROTOCOL_4__del__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self); /* 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_Get_error_class(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_errorcode); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_2Get_error_string(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_errorcode); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_4Add_error_class(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_6Add_error_code(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_errorclass); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_8Add_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__(PyObject *__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__(PyObject *__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); /* 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_10Get_address(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_location); /* 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__(PyObject *__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__(PyObject *__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__(PyObject *__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__(PyObject *__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_50clear(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__(PyObject *__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__(PyObject *__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__(PyObject *__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); /* 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_12Compute_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_14Attach_buffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memory); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_16Detach_buffer(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_18Open_port(CYTHON_UNUSED PyObject *__pyx_self, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_20Close_port(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_port_name); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_22Publish_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_24Unpublish_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_26Lookup_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__(PyObject *__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); /* 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_6memory___get__(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_40Put(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_42Get(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_44Accumulate(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_46Get_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_48Rput(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_50Rget(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_52Raccumulate(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_54Rget_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_56Fence(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_assertion); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_58Start(struct PyMPIWinObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group, int __pyx_v_assertion); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_60Complete(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_62Post(struct PyMPIWinObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group, int __pyx_v_assertion); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_64Wait(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_66Test(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_68Lock(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_70Unlock(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_72Lock_all(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_assertion); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_74Unlock_all(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_76Flush(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_78Flush_all(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_80Flush_local(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_82Flush_local_all(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_84Sync(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_86Get_errhandler(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_88Set_errhandler(struct PyMPIWinObject *__pyx_v_self, struct PyMPIErrhandlerObject *__pyx_v_errhandler); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_90Call_errhandler(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_errorcode); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_92Get_name(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_94Set_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_96py2f(struct PyMPIWinObject *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_98f2py(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__(PyObject *__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_28Register_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_30Alloc_mem(CYTHON_UNUSED PyObject *__pyx_self, MPI_Aint __pyx_v_size, struct PyMPIInfoObject *__pyx_v_info); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_32Free_mem(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memory); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_34Init(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_36Finalize(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_38Init_thread(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_required); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_40Query_thread(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_42Is_thread_main(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_44Is_initialized(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_46Is_finalized(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_48Get_version(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_50Get_library_version(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_52Get_processor_name(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_54Wtime(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_56Wtick(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_58Pcontrol(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_level); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_60get_vendor(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_62_sizeof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arg); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_64_addressof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_arg); /* proto */ static PyObject *__pyx_pf_6mpi4py_3MPI_66_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__p_buffer(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_keyval(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_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_items = {0, &__pyx_n_s_items, 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__31; static int __pyx_k__32; static struct PyMPIDatatypeObject *__pyx_k__33; static int __pyx_k__34; static int __pyx_k__35; static int __pyx_k__36; static int __pyx_k__37; static int __pyx_k__38; static int __pyx_k__39; static int __pyx_k__40; static int __pyx_k__41; static struct PyMPIInfoObject *__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 int __pyx_k__57; static int __pyx_k__58; static int __pyx_k__59; static int __pyx_k__60; static int __pyx_k__61; static int __pyx_k__62; static struct PyMPIOpObject *__pyx_k__63; static struct PyMPIOpObject *__pyx_k__64; static struct PyMPIOpObject *__pyx_k__65; static struct PyMPIOpObject *__pyx_k__66; static struct PyMPIOpObject *__pyx_k__67; static struct PyMPIOpObject *__pyx_k__68; static struct PyMPIOpObject *__pyx_k__69; static struct PyMPIOpObject *__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 int __pyx_k__79; static int __pyx_k__80; static int __pyx_k__81; static int __pyx_k__82; static int __pyx_k__83; static int __pyx_k__84; static PyObject *__pyx_k__85; static PyObject *__pyx_k__86; static struct PyMPIInfoObject *__pyx_k__88; static struct PyMPIInfoObject *__pyx_k__89; static struct PyMPIOpObject *__pyx_k__90; static struct PyMPIOpObject *__pyx_k__91; static struct PyMPIOpObject *__pyx_k__92; static struct PyMPIOpObject *__pyx_k__93; static PyObject *__pyx_k__94; static PyObject *__pyx_k__95; static struct PyMPIInfoObject *__pyx_k__96; static PyObject *__pyx_k__98; static struct PyMPIInfoObject *__pyx_k__100; static struct PyMPIInfoObject *__pyx_k__101; static struct PyMPIInfoObject *__pyx_k__111; static PyObject *__pyx_k__112; static PyObject *__pyx_k__113; static PyObject *__pyx_k__114; static struct PyMPIInfoObject *__pyx_k__115; static struct PyMPIIntracommObject *__pyx_k__116; static struct PyMPIInfoObject *__pyx_k__117; static struct PyMPIIntracommObject *__pyx_k__118; static struct PyMPIInfoObject *__pyx_k__119; static struct PyMPIIntracommObject *__pyx_k__120; static struct PyMPIInfoObject *__pyx_k__121; static struct PyMPIIntracommObject *__pyx_k__122; static struct PyMPIOpObject *__pyx_k__123; static struct PyMPIOpObject *__pyx_k__124; static struct PyMPIOpObject *__pyx_k__125; static struct PyMPIOpObject *__pyx_k__126; static int __pyx_k__127; static struct PyMPIInfoObject *__pyx_k__128; static int __pyx_k__129; static struct PyMPIInfoObject *__pyx_k__130; static struct PyMPIInfoObject *__pyx_k__131; static int __pyx_k__132; static int __pyx_k__133; static struct PyMPIInfoObject *__pyx_k__134; static int __pyx_k__135; 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__97; static PyObject *__pyx_slice__99; static PyObject *__pyx_tuple__10; static PyObject *__pyx_tuple__11; static PyObject *__pyx_tuple__12; static PyObject *__pyx_tuple__13; static PyObject *__pyx_tuple__14; static PyObject *__pyx_tuple__15; static PyObject *__pyx_tuple__16; static PyObject *__pyx_tuple__17; static PyObject *__pyx_tuple__18; static PyObject *__pyx_tuple__19; static PyObject *__pyx_tuple__20; static PyObject *__pyx_tuple__21; static PyObject *__pyx_tuple__22; static PyObject *__pyx_tuple__23; static PyObject *__pyx_tuple__24; static PyObject *__pyx_tuple__25; static PyObject *__pyx_tuple__26; static PyObject *__pyx_tuple__27; static PyObject *__pyx_tuple__28; static PyObject *__pyx_tuple__30; static PyObject *__pyx_tuple__42; static PyObject *__pyx_tuple__43; static PyObject *__pyx_tuple__87; static PyObject *__pyx_slice__103; static PyObject *__pyx_slice__105; static PyObject *__pyx_tuple__102; static PyObject *__pyx_tuple__104; static PyObject *__pyx_tuple__106; static PyObject *__pyx_tuple__107; static PyObject *__pyx_tuple__108; static PyObject *__pyx_tuple__109; static PyObject *__pyx_tuple__110; static PyObject *__pyx_tuple__136; static PyObject *__pyx_tuple__137; 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__182; static PyObject *__pyx_tuple__184; static PyObject *__pyx_tuple__186; static PyObject *__pyx_tuple__188; static PyObject *__pyx_tuple__190; static PyObject *__pyx_tuple__192; static PyObject *__pyx_tuple__194; static PyObject *__pyx_tuple__196; static PyObject *__pyx_tuple__198; static PyObject *__pyx_tuple__200; static PyObject *__pyx_tuple__202; static PyObject *__pyx_tuple__206; static PyObject *__pyx_tuple__208; static PyObject *__pyx_tuple__210; static PyObject *__pyx_tuple__212; static PyObject *__pyx_tuple__214; static PyObject *__pyx_tuple__216; static PyObject *__pyx_tuple__218; static PyObject *__pyx_tuple__220; static PyObject *__pyx_tuple__224; static PyObject *__pyx_tuple__226; static PyObject *__pyx_tuple__228; static PyObject *__pyx_tuple__230; static PyObject *__pyx_tuple__232; 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__183; static PyObject *__pyx_codeobj__185; static PyObject *__pyx_codeobj__187; static PyObject *__pyx_codeobj__189; static PyObject *__pyx_codeobj__191; static PyObject *__pyx_codeobj__193; static PyObject *__pyx_codeobj__195; static PyObject *__pyx_codeobj__197; static PyObject *__pyx_codeobj__199; static PyObject *__pyx_codeobj__201; static PyObject *__pyx_codeobj__203; static PyObject *__pyx_codeobj__204; static PyObject *__pyx_codeobj__205; static PyObject *__pyx_codeobj__207; static PyObject *__pyx_codeobj__209; static PyObject *__pyx_codeobj__211; static PyObject *__pyx_codeobj__213; static PyObject *__pyx_codeobj__215; static PyObject *__pyx_codeobj__217; static PyObject *__pyx_codeobj__219; static PyObject *__pyx_codeobj__221; static PyObject *__pyx_codeobj__222; static PyObject *__pyx_codeobj__223; static PyObject *__pyx_codeobj__225; static PyObject *__pyx_codeobj__227; static PyObject *__pyx_codeobj__229; static PyObject *__pyx_codeobj__231; static PyObject *__pyx_codeobj__233; /* "MPI/atimport.pxi":39 * 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; PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("warnOpt", 0); /* "MPI/atimport.pxi":41 * 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, 41, __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, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 41, __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, 41, __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; /* "MPI/atimport.pxi":42 * 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, 42, __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, 42, __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); } } if (!__pyx_t_4) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 42, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 42, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 42, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "MPI/atimport.pxi":39 * 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_XDECREF(__pyx_t_5); __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; } /* "MPI/atimport.pxi":44 * 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; __Pyx_RefNannySetupContext("getOptions", 0); /* "MPI/atimport.pxi":46 * 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; /* "MPI/atimport.pxi":47 * cdef object rc * opts.initialize = 1 * opts.threads = 1 # <<<<<<<<<<<<<< * opts.thread_level = MPI_THREAD_MULTIPLE * opts.finalize = 1 */ __pyx_v_opts->threads = 1; /* "MPI/atimport.pxi":48 * 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; /* "MPI/atimport.pxi":49 * 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; /* "MPI/atimport.pxi":50 * 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; /* "MPI/atimport.pxi":51 * 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; /* "MPI/atimport.pxi":52 * opts.fast_reduce = 1 * opts.recv_mprobe = 1 * opts.errors = 1 # <<<<<<<<<<<<<< * try: from mpi4py import rc * except: return 0 */ __pyx_v_opts->errors = 1; /* "MPI/atimport.pxi":53 * 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, 53, __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, -1); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 53, __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, 53, __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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /* "MPI/atimport.pxi":54 * 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, 54, __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:; /* "MPI/atimport.pxi":53 * opts.recv_mprobe = 1 * opts.errors = 1 * try: from mpi4py import rc # <<<<<<<<<<<<<< * except: return 0 * # */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/atimport.pxi":56 * 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; /* "MPI/atimport.pxi":57 * # * 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; /* "MPI/atimport.pxi":58 * 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; /* "MPI/atimport.pxi":59 * 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; /* "MPI/atimport.pxi":60 * 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; /* "MPI/atimport.pxi":61 * 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; /* "MPI/atimport.pxi":62 * 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; /* "MPI/atimport.pxi":63 * 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, 63, __pyx_L13_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_L20_try_end; __pyx_L13_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "MPI/atimport.pxi":64 * cdef object errors = 'exception' * try: initialize = rc.initialize * except: pass # <<<<<<<<<<<<<< * try: threads = rc.threads * except: pass */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L14_exception_handled; } __pyx_L14_exception_handled:; __Pyx_PyThreadState_assign __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_L20_try_end:; } /* "MPI/atimport.pxi":65 * 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, 65, __pyx_L21_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_L28_try_end; __pyx_L21_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "MPI/atimport.pxi":66 * except: pass * try: threads = rc.threads * except: pass # <<<<<<<<<<<<<< * try: threads = rc.threaded # backward * except: pass # compatibility */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L22_exception_handled; } __pyx_L22_exception_handled:; __Pyx_PyThreadState_assign __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_L28_try_end:; } /* "MPI/atimport.pxi":67 * 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, 67, __pyx_L29_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_L36_try_end; __pyx_L29_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "MPI/atimport.pxi":68 * 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_L30_exception_handled; } __pyx_L30_exception_handled:; __Pyx_PyThreadState_assign __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_L36_try_end:; } /* "MPI/atimport.pxi":69 * 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, 69, __pyx_L37_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_L44_try_end; __pyx_L37_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "MPI/atimport.pxi":70 * 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_L38_exception_handled; } __pyx_L38_exception_handled:; __Pyx_PyThreadState_assign __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_L44_try_end:; } /* "MPI/atimport.pxi":71 * 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, 71, __pyx_L45_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_L52_try_end; __pyx_L45_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "MPI/atimport.pxi":72 * except: pass * try: finalize = rc.finalize * except: pass # <<<<<<<<<<<<<< * try: fast_reduce = rc.fast_reduce * except: pass */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L46_exception_handled; } __pyx_L46_exception_handled:; __Pyx_PyThreadState_assign __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:; } /* "MPI/atimport.pxi":73 * 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, 73, __pyx_L53_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_L60_try_end; __pyx_L53_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "MPI/atimport.pxi":74 * 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_L54_exception_handled; } __pyx_L54_exception_handled:; __Pyx_PyThreadState_assign __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_L60_try_end:; } /* "MPI/atimport.pxi":75 * 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, 75, __pyx_L61_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_L68_try_end; __pyx_L61_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "MPI/atimport.pxi":76 * except: pass * try: recv_mprobe = rc.recv_mprobe * except: pass # <<<<<<<<<<<<<< * try: errors = rc.errors * except: pass */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L62_exception_handled; } __pyx_L62_exception_handled:; __Pyx_PyThreadState_assign __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_L68_try_end:; } /* "MPI/atimport.pxi":77 * 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, 77, __pyx_L69_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_L76_try_end; __pyx_L69_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "MPI/atimport.pxi":78 * except: pass * try: errors = rc.errors * except: pass # <<<<<<<<<<<<<< * # * if initialize in (True, 'yes'): */ /*except:*/ { __Pyx_ErrRestore(0,0,0); goto __pyx_L70_exception_handled; } __pyx_L70_exception_handled:; __Pyx_PyThreadState_assign __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_L76_try_end:; } /* "MPI/atimport.pxi":80 * 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, 80, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 80, __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_yes, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 80, __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) { /* "MPI/atimport.pxi":81 * # * if initialize in (True, 'yes'): * opts.initialize = 1 # <<<<<<<<<<<<<< * elif initialize in (False, 'no'): * opts.initialize = 0 */ __pyx_v_opts->initialize = 1; /* "MPI/atimport.pxi":80 * except: pass * # * if initialize in (True, 'yes'): # <<<<<<<<<<<<<< * opts.initialize = 1 * elif initialize in (False, 'no'): */ goto __pyx_L77; } /* "MPI/atimport.pxi":82 * 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, 82, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 82, __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_L80_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, 82, __pyx_L1_error) __pyx_t_8 = __pyx_t_7; __pyx_L80_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { /* "MPI/atimport.pxi":83 * opts.initialize = 1 * elif initialize in (False, 'no'): * opts.initialize = 0 # <<<<<<<<<<<<<< * else: * warnOpt("initialize", initialize) */ __pyx_v_opts->initialize = 0; /* "MPI/atimport.pxi":82 * if initialize in (True, 'yes'): * opts.initialize = 1 * elif initialize in (False, 'no'): # <<<<<<<<<<<<<< * opts.initialize = 0 * else: */ goto __pyx_L77; } /* "MPI/atimport.pxi":85 * 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 == -1)) __PYX_ERR(9, 85, __pyx_L1_error) } __pyx_L77:; /* "MPI/atimport.pxi":87 * 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, 87, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 87, __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_yes, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 87, __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) { /* "MPI/atimport.pxi":88 * # * if threads in (True, 'yes'): * opts.threads = 1 # <<<<<<<<<<<<<< * elif threads in (False, 'no'): * opts.threads = 0 */ __pyx_v_opts->threads = 1; /* "MPI/atimport.pxi":87 * warnOpt("initialize", initialize) * # * if threads in (True, 'yes'): # <<<<<<<<<<<<<< * opts.threads = 1 * elif threads in (False, 'no'): */ goto __pyx_L82; } /* "MPI/atimport.pxi":89 * 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, 89, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 89, __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_L85_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, 89, __pyx_L1_error) __pyx_t_8 = __pyx_t_7; __pyx_L85_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { /* "MPI/atimport.pxi":90 * opts.threads = 1 * elif threads in (False, 'no'): * opts.threads = 0 # <<<<<<<<<<<<<< * else: * warnOpt("threads", threads) */ __pyx_v_opts->threads = 0; /* "MPI/atimport.pxi":89 * if threads in (True, 'yes'): * opts.threads = 1 * elif threads in (False, 'no'): # <<<<<<<<<<<<<< * opts.threads = 0 * else: */ goto __pyx_L82; } /* "MPI/atimport.pxi":92 * 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 == -1)) __PYX_ERR(9, 92, __pyx_L1_error) } __pyx_L82:; /* "MPI/atimport.pxi":94 * 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, 94, __pyx_L1_error) if (__pyx_t_7) { /* "MPI/atimport.pxi":95 * # * 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; /* "MPI/atimport.pxi":94 * warnOpt("threads", threads) * # * if thread_level == 'single': # <<<<<<<<<<<<<< * opts.thread_level = MPI_THREAD_SINGLE * elif thread_level == 'funneled': */ goto __pyx_L87; } /* "MPI/atimport.pxi":96 * 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, 96, __pyx_L1_error) if (__pyx_t_7) { /* "MPI/atimport.pxi":97 * 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; /* "MPI/atimport.pxi":96 * 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_L87; } /* "MPI/atimport.pxi":98 * 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, 98, __pyx_L1_error) if (__pyx_t_7) { /* "MPI/atimport.pxi":99 * 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; /* "MPI/atimport.pxi":98 * 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_L87; } /* "MPI/atimport.pxi":100 * 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, 100, __pyx_L1_error) if (__pyx_t_7) { /* "MPI/atimport.pxi":101 * 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; /* "MPI/atimport.pxi":100 * elif thread_level == 'serialized': * opts.thread_level = MPI_THREAD_SERIALIZED * elif thread_level == 'multiple': # <<<<<<<<<<<<<< * opts.thread_level = MPI_THREAD_MULTIPLE * else: */ goto __pyx_L87; } /* "MPI/atimport.pxi":103 * 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 == -1)) __PYX_ERR(9, 103, __pyx_L1_error) } __pyx_L87:; /* "MPI/atimport.pxi":105 * 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) { /* "MPI/atimport.pxi":106 * # * 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; /* "MPI/atimport.pxi":105 * warnOpt("thread_level", thread_level) * # * if finalize is None: # <<<<<<<<<<<<<< * opts.finalize = opts.initialize * elif finalize in (True, 'yes'): */ goto __pyx_L88; } /* "MPI/atimport.pxi":107 * 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, 107, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 107, __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_L89_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, 107, __pyx_L1_error) __pyx_t_8 = __pyx_t_7; __pyx_L89_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { /* "MPI/atimport.pxi":108 * 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; /* "MPI/atimport.pxi":107 * if finalize is None: * opts.finalize = opts.initialize * elif finalize in (True, 'yes'): # <<<<<<<<<<<<<< * opts.finalize = 1 * elif finalize in (False, 'no'): */ goto __pyx_L88; } /* "MPI/atimport.pxi":109 * 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, 109, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 109, __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_L91_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, 109, __pyx_L1_error) __pyx_t_7 = __pyx_t_8; __pyx_L91_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { /* "MPI/atimport.pxi":110 * opts.finalize = 1 * elif finalize in (False, 'no'): * opts.finalize = 0 # <<<<<<<<<<<<<< * else: * warnOpt("finalize", finalize) */ __pyx_v_opts->finalize = 0; /* "MPI/atimport.pxi":109 * elif finalize in (True, 'yes'): * opts.finalize = 1 * elif finalize in (False, 'no'): # <<<<<<<<<<<<<< * opts.finalize = 0 * else: */ goto __pyx_L88; } /* "MPI/atimport.pxi":112 * 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 == -1)) __PYX_ERR(9, 112, __pyx_L1_error) } __pyx_L88:; /* "MPI/atimport.pxi":114 * 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, 114, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 114, __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_L94_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, 114, __pyx_L1_error) __pyx_t_8 = __pyx_t_7; __pyx_L94_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { /* "MPI/atimport.pxi":115 * # * 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; /* "MPI/atimport.pxi":114 * warnOpt("finalize", finalize) * # * if fast_reduce in (True, 'yes'): # <<<<<<<<<<<<<< * opts.fast_reduce = 1 * elif fast_reduce in (False, 'no'): */ goto __pyx_L93; } /* "MPI/atimport.pxi":116 * 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, 116, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 116, __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_L96_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, 116, __pyx_L1_error) __pyx_t_7 = __pyx_t_8; __pyx_L96_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { /* "MPI/atimport.pxi":117 * 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; /* "MPI/atimport.pxi":116 * if fast_reduce in (True, 'yes'): * opts.fast_reduce = 1 * elif fast_reduce in (False, 'no'): # <<<<<<<<<<<<<< * opts.fast_reduce = 0 * else: */ goto __pyx_L93; } /* "MPI/atimport.pxi":119 * 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 == -1)) __PYX_ERR(9, 119, __pyx_L1_error) } __pyx_L93:; /* "MPI/atimport.pxi":121 * 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, 121, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(9, 121, __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_L99_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, 121, __pyx_L1_error) __pyx_t_8 = __pyx_t_7; __pyx_L99_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = (__pyx_t_8 != 0); if (__pyx_t_7) { /* "MPI/atimport.pxi":122 * # * 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; /* "MPI/atimport.pxi":121 * 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_L98; } /* "MPI/atimport.pxi":123 * 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, 123, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(9, 123, __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_L101_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, 123, __pyx_L1_error) __pyx_t_7 = __pyx_t_8; __pyx_L101_bool_binop_done:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = (__pyx_t_7 != 0); if (__pyx_t_8) { /* "MPI/atimport.pxi":124 * 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; /* "MPI/atimport.pxi":123 * 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_L98; } /* "MPI/atimport.pxi":126 * 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 == -1)) __PYX_ERR(9, 126, __pyx_L1_error) } __pyx_L98:; /* "MPI/atimport.pxi":128 * 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, 128, __pyx_L1_error) if (__pyx_t_8) { /* "MPI/atimport.pxi":129 * # * if errors == 'default': * opts.errors = 0 # <<<<<<<<<<<<<< * elif errors == 'exception': * opts.errors = 1 */ __pyx_v_opts->errors = 0; /* "MPI/atimport.pxi":128 * warnOpt("recv_mprobe", recv_mprobe) * # * if errors == 'default': # <<<<<<<<<<<<<< * opts.errors = 0 * elif errors == 'exception': */ goto __pyx_L103; } /* "MPI/atimport.pxi":130 * 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, 130, __pyx_L1_error) if (__pyx_t_8) { /* "MPI/atimport.pxi":131 * opts.errors = 0 * elif errors == 'exception': * opts.errors = 1 # <<<<<<<<<<<<<< * elif errors == 'fatal': * opts.errors = 2 */ __pyx_v_opts->errors = 1; /* "MPI/atimport.pxi":130 * if errors == 'default': * opts.errors = 0 * elif errors == 'exception': # <<<<<<<<<<<<<< * opts.errors = 1 * elif errors == 'fatal': */ goto __pyx_L103; } /* "MPI/atimport.pxi":132 * 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, 132, __pyx_L1_error) if (__pyx_t_8) { /* "MPI/atimport.pxi":133 * opts.errors = 1 * elif errors == 'fatal': * opts.errors = 2 # <<<<<<<<<<<<<< * else: * warnOpt("errors", errors) */ __pyx_v_opts->errors = 2; /* "MPI/atimport.pxi":132 * elif errors == 'exception': * opts.errors = 1 * elif errors == 'fatal': # <<<<<<<<<<<<<< * opts.errors = 2 * else: */ goto __pyx_L103; } /* "MPI/atimport.pxi":135 * 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 == -1)) __PYX_ERR(9, 135, __pyx_L1_error) } __pyx_L103:; /* "MPI/atimport.pxi":137 * warnOpt("errors", errors) * # * return 0 # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = 0; goto __pyx_L0; /* "MPI/atimport.pxi":44 * 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; } /* "MPI/atimport.pxi":144 * 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; __Pyx_RefNannySetupContext("bootstrap", 0); /* "MPI/atimport.pxi":146 * 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 == -1)) __PYX_ERR(9, 146, __pyx_L1_error) /* "MPI/atimport.pxi":148 * 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()\n", 0) */ __pyx_t_2 = ((Py_AtExit(__pyx_f_6mpi4py_3MPI_atexit) < 0) != 0); if (__pyx_t_2) { /* "MPI/atimport.pxi":149 * # 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()\n", 0) * # Do we have to initialize MPI? */ PySys_WriteStderr(((char *)"warning: could not register cleanup with Py_AtExit()\n"), 0); /* "MPI/atimport.pxi":148 * 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()\n", 0) */ } /* "MPI/atimport.pxi":152 * b"cleanup with Py_AtExit()\n", 0) * # Do we have to initialize MPI? * cdef int initialized = 1 # <<<<<<<<<<<<<< * MPI_Initialized(&initialized) * if initialized: */ __pyx_v_initialized = 1; /* "MPI/atimport.pxi":153 * # Do we have to initialize MPI? * cdef int initialized = 1 * MPI_Initialized(&initialized) # <<<<<<<<<<<<<< * if initialized: * options.finalize = 0 */ ((void)MPI_Initialized((&__pyx_v_initialized))); /* "MPI/atimport.pxi":154 * 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) { /* "MPI/atimport.pxi":155 * MPI_Initialized(&initialized) * if initialized: * options.finalize = 0 # <<<<<<<<<<<<<< * return 0 * if not options.initialize: */ __pyx_v_6mpi4py_3MPI_options.finalize = 0; /* "MPI/atimport.pxi":156 * if initialized: * options.finalize = 0 * return 0 # <<<<<<<<<<<<<< * if not options.initialize: * return 0 */ __pyx_r = 0; goto __pyx_L0; /* "MPI/atimport.pxi":154 * cdef int initialized = 1 * MPI_Initialized(&initialized) * if initialized: # <<<<<<<<<<<<<< * options.finalize = 0 * return 0 */ } /* "MPI/atimport.pxi":157 * 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) { /* "MPI/atimport.pxi":158 * return 0 * if not options.initialize: * return 0 # <<<<<<<<<<<<<< * # MPI initialization * cdef int ierr = MPI_SUCCESS */ __pyx_r = 0; goto __pyx_L0; /* "MPI/atimport.pxi":157 * options.finalize = 0 * return 0 * if not options.initialize: # <<<<<<<<<<<<<< * return 0 * # MPI initialization */ } /* "MPI/atimport.pxi":160 * 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; /* "MPI/atimport.pxi":161 * # 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; /* "MPI/atimport.pxi":162 * 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; /* "MPI/atimport.pxi":163 * 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) { /* "MPI/atimport.pxi":164 * 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; /* "MPI/atimport.pxi":165 * 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)); /* "MPI/atimport.pxi":166 * 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 (__pyx_t_2) { /* "MPI/atimport.pxi":167 * 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, 167, __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, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/atimport.pxi":166 * 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 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 166, __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(9, 166, __pyx_L1_error) } /* "MPI/atimport.pxi":163 * 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; } /* "MPI/atimport.pxi":169 * "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); /* "MPI/atimport.pxi":170 * 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 (__pyx_t_2) { /* "MPI/atimport.pxi":171 * ierr = MPI_Init(NULL, NULL) * if ierr != MPI_SUCCESS: raise RuntimeError( * "MPI_Init() failed [error code: %d]" % ierr) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_ierr); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_MPI_Init_failed_error_code_d, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/atimport.pxi":170 * else: * ierr = MPI_Init(NULL, NULL) * if ierr != MPI_SUCCESS: raise RuntimeError( # <<<<<<<<<<<<<< * "MPI_Init() failed [error code: %d]" % ierr) * return 0 */ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 170, __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; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 170, __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, 170, __pyx_L1_error) } } __pyx_L6:; /* "MPI/atimport.pxi":172 * 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; /* "MPI/atimport.pxi":144 * 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; } /* "MPI/atimport.pxi":174 * 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; /* "MPI/atimport.pxi":175 * * cdef inline int mpi_active() nogil: * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * # MPI initialized ? * cdef int initialized = 0 */ __pyx_v_ierr = MPI_SUCCESS; /* "MPI/atimport.pxi":177 * 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; /* "MPI/atimport.pxi":178 * # 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)); /* "MPI/atimport.pxi":179 * 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; } /* "MPI/atimport.pxi":181 * 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; /* "MPI/atimport.pxi":182 * # 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)); /* "MPI/atimport.pxi":183 * 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; } /* "MPI/atimport.pxi":185 * 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; /* "MPI/atimport.pxi":174 * return 0 * * cdef inline int mpi_active() nogil: # <<<<<<<<<<<<<< * cdef int ierr = MPI_SUCCESS * # MPI initialized ? */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "MPI/atimport.pxi":187 * 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; /* "MPI/atimport.pxi":188 * * 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; } /* "MPI/atimport.pxi":189 * 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 == -1)) __PYX_ERR(9, 189, __pyx_L1_error) /* "MPI/atimport.pxi":190 * 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 == -1)) __PYX_ERR(9, 190, __pyx_L1_error) /* "MPI/atimport.pxi":191 * comm_set_eh(MPI_COMM_SELF) * comm_set_eh(MPI_COMM_WORLD) * return 0 # <<<<<<<<<<<<<< * * cdef void finalize() nogil: */ __pyx_r = 0; goto __pyx_L0; /* "MPI/atimport.pxi":187 * 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 = PyGILState_Ensure(); #endif __Pyx_AddTraceback("mpi4py.MPI.initialize", __pyx_clineno, __pyx_lineno, __pyx_filename); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif } __pyx_r = -1; __pyx_L0:; return __pyx_r; } /* "MPI/atimport.pxi":193 * 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; /* "MPI/atimport.pxi":194 * * 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; } /* "MPI/atimport.pxi":195 * cdef void finalize() nogil: * if not mpi_active(): return * PyMPI_Commctx_finalize() # <<<<<<<<<<<<<< * * cdef void atexit() nogil: */ ((void)PyMPI_Commctx_finalize()); /* "MPI/atimport.pxi":193 * return 0 * * cdef void finalize() nogil: # <<<<<<<<<<<<<< * if not mpi_active(): return * PyMPI_Commctx_finalize() */ /* function exit code */ __pyx_L0:; } /* "MPI/atimport.pxi":197 * PyMPI_Commctx_finalize() * * cdef void atexit() nogil: # <<<<<<<<<<<<<< * if not mpi_active(): return * finalize() */ static void __pyx_f_6mpi4py_3MPI_atexit(void) { int __pyx_t_1; /* "MPI/atimport.pxi":198 * * cdef void atexit() nogil: * if not mpi_active(): return # <<<<<<<<<<<<<< * finalize() * if options.finalize: */ __pyx_t_1 = ((!(__pyx_f_6mpi4py_3MPI_mpi_active() != 0)) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "MPI/atimport.pxi":199 * cdef void atexit() nogil: * if not mpi_active(): return * finalize() # <<<<<<<<<<<<<< * if options.finalize: * MPI_Finalize() */ __pyx_f_6mpi4py_3MPI_finalize(); /* "MPI/atimport.pxi":200 * if not mpi_active(): return * finalize() * if options.finalize: # <<<<<<<<<<<<<< * MPI_Finalize() * */ __pyx_t_1 = (__pyx_v_6mpi4py_3MPI_options.finalize != 0); if (__pyx_t_1) { /* "MPI/atimport.pxi":201 * finalize() * if options.finalize: * MPI_Finalize() # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ ((void)MPI_Finalize()); /* "MPI/atimport.pxi":200 * if not mpi_active(): return * finalize() * if options.finalize: # <<<<<<<<<<<<<< * MPI_Finalize() * */ } /* "MPI/atimport.pxi":197 * PyMPI_Commctx_finalize() * * cdef void atexit() nogil: # <<<<<<<<<<<<<< * if not mpi_active(): return * finalize() */ /* function exit code */ __pyx_L0:; } /* "MPI/atimport.pxi":217 * 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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("PyMPI_Raise", 0); /* "MPI/atimport.pxi":218 * * 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) { /* "MPI/atimport.pxi":219 * 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; /* "MPI/atimport.pxi":220 * 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; /* "MPI/atimport.pxi":218 * * cdef int PyMPI_Raise(int ierr) except -1 with gil: * if ierr == PyMPI_ERR_UNAVAILABLE: # <<<<<<<<<<<<<< * PyErr_SetObject(PyExc_NotImplementedError, None) * return 0 */ } /* "MPI/atimport.pxi":221 * 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) { /* "MPI/atimport.pxi":222 * 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, 222, __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; /* "MPI/atimport.pxi":221 * PyErr_SetObject(PyExc_NotImplementedError, None) * return 0 * if (MPIException) != NULL: # <<<<<<<<<<<<<< * PyErr_SetObject(MPIException, ierr) * else: */ goto __pyx_L4; } /* "MPI/atimport.pxi":224 * 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, 224, __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:; /* "MPI/atimport.pxi":225 * else: * PyErr_SetObject(PyExc_RuntimeError, ierr) * return 0 # <<<<<<<<<<<<<< * * cdef inline int CHKERR(int ierr) nogil except -1: */ __pyx_r = 0; goto __pyx_L0; /* "MPI/atimport.pxi":217 * 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 PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "MPI/atimport.pxi":227 * 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; /* "MPI/atimport.pxi":228 * * 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; } /* "MPI/atimport.pxi":229 * 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 == -1)) __PYX_ERR(9, 229, __pyx_L1_error) /* "MPI/atimport.pxi":230 * if ierr == MPI_SUCCESS: return 0 * PyMPI_Raise(ierr) * return -1 # <<<<<<<<<<<<<< * * cdef inline void print_traceback(): */ __pyx_r = -1; goto __pyx_L0; /* "MPI/atimport.pxi":227 * 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 = PyGILState_Ensure(); #endif __Pyx_AddTraceback("mpi4py.MPI.CHKERR", __pyx_clineno, __pyx_lineno, __pyx_filename); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif } __pyx_r = -1; __pyx_L0:; return __pyx_r; } /* "MPI/atimport.pxi":232 * 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; __Pyx_RefNannySetupContext("print_traceback", 0); /* "MPI/atimport.pxi":234 * 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, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 234, __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, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_traceback = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/atimport.pxi":235 * 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, 235, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 235, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 235, __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; /* "MPI/atimport.pxi":236 * 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, 236, __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, 236, __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); } } if (__pyx_t_2) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 236, __pyx_L3_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 236, __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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/atimport.pxi":237 * 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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/atimport.pxi":232 * 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, 0, 0); __pyx_L0:; __Pyx_XDECREF(__pyx_v_sys); __Pyx_XDECREF(__pyx_v_traceback); __Pyx_RefNannyFinishContext(); } /* "MPI/asmpistr.pxi":10 * #------------------------------------------------------------------------------ * * cdef inline object asmpistr(object ob, char *s[]): # <<<<<<<<<<<<<< * cdef const char *buf = NULL * ob = PyMPIString_AsStringAndSize(ob, &buf, NULL) */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asmpistr(PyObject *__pyx_v_ob, char **__pyx_v_s) { char const *__pyx_v_buf; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; __Pyx_RefNannySetupContext("asmpistr", 0); __Pyx_INCREF(__pyx_v_ob); /* "MPI/asmpistr.pxi":11 * * cdef inline object asmpistr(object ob, char *s[]): * cdef const char *buf = NULL # <<<<<<<<<<<<<< * ob = PyMPIString_AsStringAndSize(ob, &buf, NULL) * if s != NULL: s[0] = buf */ __pyx_v_buf = NULL; /* "MPI/asmpistr.pxi":12 * cdef inline object asmpistr(object ob, char *s[]): * cdef const char *buf = NULL * ob = PyMPIString_AsStringAndSize(ob, &buf, NULL) # <<<<<<<<<<<<<< * if s != NULL: s[0] = buf * return ob */ __pyx_t_1 = PyMPIString_AsStringAndSize(__pyx_v_ob, (&__pyx_v_buf), NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 12, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_ob, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/asmpistr.pxi":13 * cdef const char *buf = NULL * ob = PyMPIString_AsStringAndSize(ob, &buf, NULL) * if s != NULL: s[0] = buf # <<<<<<<<<<<<<< * return ob * */ __pyx_t_2 = ((__pyx_v_s != NULL) != 0); if (__pyx_t_2) { (__pyx_v_s[0]) = ((char *)__pyx_v_buf); } /* "MPI/asmpistr.pxi":14 * ob = PyMPIString_AsStringAndSize(ob, &buf, NULL) * if s != NULL: s[0] = buf * 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; /* "MPI/asmpistr.pxi":10 * #------------------------------------------------------------------------------ * * cdef inline object asmpistr(object ob, char *s[]): # <<<<<<<<<<<<<< * cdef const char *buf = NULL * ob = PyMPIString_AsStringAndSize(ob, &buf, NULL) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __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; } /* "MPI/asmpistr.pxi":16 * return ob * * cdef inline object tompistr(const char s[], int n): # <<<<<<<<<<<<<< * return PyMPIString_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; __Pyx_RefNannySetupContext("tompistr", 0); /* "MPI/asmpistr.pxi":17 * * cdef inline object tompistr(const char s[], int n): * return PyMPIString_FromStringAndSize(s, n) # <<<<<<<<<<<<<< * * cdef inline object mpistr(const char s[]): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyMPIString_FromStringAndSize(__pyx_v_s, __pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/asmpistr.pxi":16 * return ob * * cdef inline object tompistr(const char s[], int n): # <<<<<<<<<<<<<< * return PyMPIString_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; } /* "MPI/asmpistr.pxi":19 * return PyMPIString_FromStringAndSize(s, n) * * cdef inline object mpistr(const char s[]): # <<<<<<<<<<<<<< * return PyMPIString_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; __Pyx_RefNannySetupContext("mpistr", 0); /* "MPI/asmpistr.pxi":20 * * cdef inline object mpistr(const char s[]): * return PyMPIString_FromString(s) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyMPIString_FromString(__pyx_v_s); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/asmpistr.pxi":19 * return PyMPIString_FromStringAndSize(s, n) * * cdef inline object mpistr(const char s[]): # <<<<<<<<<<<<<< * return PyMPIString_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; } /* "MPI/asbuffer.pxi":65 * pass * * cdef int \ # <<<<<<<<<<<<<< * PyPy_GetBuffer(object obj, Py_buffer *view, int flags) \ * except -1: */ 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 int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; char *__pyx_t_4; 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; PyObject *(*__pyx_t_10)(PyObject *); int __pyx_t_11; __Pyx_RefNannySetupContext("PyPy_GetBuffer", 0); /* "MPI/asbuffer.pxi":69 * except -1: * cdef object addr * cdef void *buf = NULL # <<<<<<<<<<<<<< * cdef Py_ssize_t size = 0 * cdef bint readonly = 0 */ __pyx_v_buf = NULL; /* "MPI/asbuffer.pxi":70 * cdef object addr * cdef void *buf = NULL * cdef Py_ssize_t size = 0 # <<<<<<<<<<<<<< * cdef bint readonly = 0 * if PyObject_CheckBuffer(obj): */ __pyx_v_size = 0; /* "MPI/asbuffer.pxi":71 * cdef void *buf = NULL * cdef Py_ssize_t size = 0 * cdef bint readonly = 0 # <<<<<<<<<<<<<< * if PyObject_CheckBuffer(obj): * return PyObject_GetBuffer(obj, view, flags) */ __pyx_v_readonly = 0; /* "MPI/asbuffer.pxi":72 * cdef Py_ssize_t size = 0 * cdef bint readonly = 0 * if PyObject_CheckBuffer(obj): # <<<<<<<<<<<<<< * return PyObject_GetBuffer(obj, view, flags) * if isinstance(obj, bytes): */ __pyx_t_1 = (PyObject_CheckBuffer(__pyx_v_obj) != 0); if (__pyx_t_1) { /* "MPI/asbuffer.pxi":73 * cdef bint readonly = 0 * if PyObject_CheckBuffer(obj): * return PyObject_GetBuffer(obj, view, flags) # <<<<<<<<<<<<<< * if isinstance(obj, bytes): * buf = PyBytes_AsString(obj) */ __pyx_t_2 = PyObject_GetBuffer(__pyx_v_obj, __pyx_v_view, __pyx_v_flags); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(0, 73, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "MPI/asbuffer.pxi":72 * cdef Py_ssize_t size = 0 * cdef bint readonly = 0 * if PyObject_CheckBuffer(obj): # <<<<<<<<<<<<<< * return PyObject_GetBuffer(obj, view, flags) * if isinstance(obj, bytes): */ } /* "MPI/asbuffer.pxi":74 * if PyObject_CheckBuffer(obj): * return PyObject_GetBuffer(obj, view, flags) * if isinstance(obj, bytes): # <<<<<<<<<<<<<< * buf = PyBytes_AsString(obj) * size = PyBytes_Size(obj) */ __pyx_t_1 = PyBytes_Check(__pyx_v_obj); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* "MPI/asbuffer.pxi":75 * return PyObject_GetBuffer(obj, view, flags) * if isinstance(obj, bytes): * buf = PyBytes_AsString(obj) # <<<<<<<<<<<<<< * size = PyBytes_Size(obj) * readonly = 1 */ __pyx_t_4 = PyBytes_AsString(__pyx_v_obj); if (unlikely(__pyx_t_4 == NULL)) __PYX_ERR(0, 75, __pyx_L1_error) __pyx_v_buf = __pyx_t_4; /* "MPI/asbuffer.pxi":76 * if isinstance(obj, bytes): * buf = PyBytes_AsString(obj) * size = PyBytes_Size(obj) # <<<<<<<<<<<<<< * readonly = 1 * #elif isinstance(obj, bytearray): */ __pyx_t_5 = PyBytes_Size(__pyx_v_obj); if (unlikely(__pyx_t_5 == -1L)) __PYX_ERR(0, 76, __pyx_L1_error) __pyx_v_size = __pyx_t_5; /* "MPI/asbuffer.pxi":77 * buf = PyBytes_AsString(obj) * size = PyBytes_Size(obj) * readonly = 1 # <<<<<<<<<<<<<< * #elif isinstance(obj, bytearray): * # buf = PyByteArray_AsString(obj) */ __pyx_v_readonly = 1; /* "MPI/asbuffer.pxi":74 * if PyObject_CheckBuffer(obj): * return PyObject_GetBuffer(obj, view, flags) * if isinstance(obj, bytes): # <<<<<<<<<<<<<< * buf = PyBytes_AsString(obj) * size = PyBytes_Size(obj) */ goto __pyx_L4; } /* "MPI/asbuffer.pxi":82 * # size = PyByteArray_Size(obj) * # readonly = 0 * elif isinstance(obj, array_array): # <<<<<<<<<<<<<< * addr, size = obj.buffer_info() * buf = PyLong_AsVoidPtr(addr) */ __pyx_t_6 = ((PyObject *)__pyx_v_6mpi4py_3MPI_array_array); __Pyx_INCREF(__pyx_t_6); __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_obj, __pyx_t_6); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_1 = (__pyx_t_3 != 0); if (__pyx_t_1) { /* "MPI/asbuffer.pxi":83 * # readonly = 0 * elif isinstance(obj, array_array): * addr, size = obj.buffer_info() # <<<<<<<<<<<<<< * buf = PyLong_AsVoidPtr(addr) * size *= obj.itemsize */ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_buffer_info); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 83, __pyx_L1_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); } } if (__pyx_t_8) { __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else { __pyx_t_6 = __Pyx_PyObject_CallNoArg(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 83, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) { PyObject* sequence = __pyx_t_6; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 83, __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(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else { Py_ssize_t index = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext; index = 0; __pyx_t_7 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_7)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); index = 1; __pyx_t_8 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_8); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) __PYX_ERR(0, 83, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 83, __pyx_L1_error) __pyx_L6_unpacking_done:; } __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_8); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_addr = __pyx_t_7; __pyx_t_7 = 0; __pyx_v_size = __pyx_t_5; /* "MPI/asbuffer.pxi":84 * 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); /* "MPI/asbuffer.pxi":85 * 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_6 = PyInt_FromSsize_t(__pyx_v_size); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = PyNumber_InPlaceMultiply(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_7); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_size = __pyx_t_5; /* "MPI/asbuffer.pxi":86 * 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; /* "MPI/asbuffer.pxi":82 * # size = PyByteArray_Size(obj) * # readonly = 0 * elif isinstance(obj, array_array): # <<<<<<<<<<<<<< * addr, size = obj.buffer_info() * buf = PyLong_AsVoidPtr(addr) */ goto __pyx_L4; } /* "MPI/asbuffer.pxi":87 * 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_3 = (__pyx_v_6mpi4py_3MPI_pypy_have_numpy != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L7_bool_binop_done; } __pyx_t_7 = ((PyObject *)__pyx_v_6mpi4py_3MPI_numpy_array); __Pyx_INCREF(__pyx_t_7); __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_obj, __pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_11 = (__pyx_t_3 != 0); __pyx_t_1 = __pyx_t_11; __pyx_L7_bool_binop_done:; if (__pyx_t_1) { /* "MPI/asbuffer.pxi":88 * 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_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_array_interface); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyObject_GetItem(__pyx_t_7, __pyx_n_s_data); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) { PyObject* sequence = __pyx_t_8; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 88, __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_6 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_7 = PyList_GET_ITEM(sequence, 0); __pyx_t_6 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); #else __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else { Py_ssize_t index = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext; index = 0; __pyx_t_7 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_7)) goto __pyx_L9_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); index = 1; __pyx_t_6 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_6)) goto __pyx_L9_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) __PYX_ERR(0, 88, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L10_unpacking_done; __pyx_L9_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 88, __pyx_L1_error) __pyx_L10_unpacking_done:; } __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_addr = __pyx_t_7; __pyx_t_7 = 0; __pyx_v_readonly = __pyx_t_1; /* "MPI/asbuffer.pxi":89 * 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); /* "MPI/asbuffer.pxi":90 * addr, readonly = obj.__array_interface__['data'] * buf = PyLong_AsVoidPtr(addr) * size = obj.nbytes # <<<<<<<<<<<<<< * else: * if (flags & PyBUF_WRITABLE) == PyBUF_WRITABLE: */ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_nbytes); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_8); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 90, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_size = __pyx_t_5; /* "MPI/asbuffer.pxi":87 * 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_L4; } /* "MPI/asbuffer.pxi":92 * size = obj.nbytes * else: * if (flags & PyBUF_WRITABLE) == PyBUF_WRITABLE: # <<<<<<<<<<<<<< * readonly = 0 * PyObject_AsWriteBuffer(obj, &buf, &size) */ /*else*/ { __pyx_t_1 = (((__pyx_v_flags & PyBUF_WRITABLE) == PyBUF_WRITABLE) != 0); if (__pyx_t_1) { /* "MPI/asbuffer.pxi":93 * else: * if (flags & PyBUF_WRITABLE) == PyBUF_WRITABLE: * readonly = 0 # <<<<<<<<<<<<<< * PyObject_AsWriteBuffer(obj, &buf, &size) * else: */ __pyx_v_readonly = 0; /* "MPI/asbuffer.pxi":94 * if (flags & PyBUF_WRITABLE) == PyBUF_WRITABLE: * readonly = 0 * PyObject_AsWriteBuffer(obj, &buf, &size) # <<<<<<<<<<<<<< * else: * readonly = 1 */ __pyx_t_2 = PyObject_AsWriteBuffer(__pyx_v_obj, (&__pyx_v_buf), (&__pyx_v_size)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(0, 94, __pyx_L1_error) /* "MPI/asbuffer.pxi":92 * size = obj.nbytes * else: * if (flags & PyBUF_WRITABLE) == PyBUF_WRITABLE: # <<<<<<<<<<<<<< * readonly = 0 * PyObject_AsWriteBuffer(obj, &buf, &size) */ goto __pyx_L11; } /* "MPI/asbuffer.pxi":96 * PyObject_AsWriteBuffer(obj, &buf, &size) * else: * readonly = 1 # <<<<<<<<<<<<<< * PyObject_AsReadBuffer(obj, &buf, &size) * if buf == NULL and size == 0: buf = emptybuffer */ /*else*/ { __pyx_v_readonly = 1; /* "MPI/asbuffer.pxi":97 * else: * readonly = 1 * PyObject_AsReadBuffer(obj, &buf, &size) # <<<<<<<<<<<<<< * if buf == NULL and size == 0: buf = emptybuffer * PyBuffer_FillInfo(view, obj, buf, size, readonly, flags) */ __pyx_t_2 = PyObject_AsReadBuffer(__pyx_v_obj, ((void const **)(&__pyx_v_buf)), (&__pyx_v_size)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(0, 97, __pyx_L1_error) } __pyx_L11:; } __pyx_L4:; /* "MPI/asbuffer.pxi":98 * readonly = 1 * PyObject_AsReadBuffer(obj, &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 = b"B" */ __pyx_t_11 = ((__pyx_v_buf == NULL) != 0); if (__pyx_t_11) { } else { __pyx_t_1 = __pyx_t_11; goto __pyx_L13_bool_binop_done; } __pyx_t_11 = ((__pyx_v_size == 0) != 0); __pyx_t_1 = __pyx_t_11; __pyx_L13_bool_binop_done:; if (__pyx_t_1) { __pyx_v_buf = ((void*)""); } /* "MPI/asbuffer.pxi":99 * PyObject_AsReadBuffer(obj, &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 = b"B" * return 0 */ __pyx_t_2 = PyBuffer_FillInfo(__pyx_v_view, __pyx_v_obj, __pyx_v_buf, __pyx_v_size, __pyx_v_readonly, __pyx_v_flags); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(0, 99, __pyx_L1_error) /* "MPI/asbuffer.pxi":100 * if buf == NULL and size == 0: buf = emptybuffer * PyBuffer_FillInfo(view, obj, buf, size, readonly, flags) * if (flags & PyBUF_FORMAT) == PyBUF_FORMAT: view.format = b"B" # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_1 = (((__pyx_v_flags & PyBUF_FORMAT) == PyBUF_FORMAT) != 0); if (__pyx_t_1) { __pyx_v_view->format = ((char *)"B"); } /* "MPI/asbuffer.pxi":101 * PyBuffer_FillInfo(view, obj, buf, size, readonly, flags) * if (flags & PyBUF_FORMAT) == PyBUF_FORMAT: view.format = b"B" * return 0 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = 0; goto __pyx_L0; /* "MPI/asbuffer.pxi":65 * pass * * cdef int \ # <<<<<<<<<<<<<< * PyPy_GetBuffer(object obj, Py_buffer *view, int flags) \ * except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_AddTraceback("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; } /* "MPI/asbuffer.pxi":105 * #------------------------------------------------------------------------------ * * cdef int \ # <<<<<<<<<<<<<< * PyObject_GetBufferEx(object obj, Py_buffer *view, int flags) \ * except -1: */ static int __pyx_f_6mpi4py_3MPI_PyObject_GetBufferEx(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; __Pyx_RefNannySetupContext("PyObject_GetBufferEx", 0); /* "MPI/asbuffer.pxi":108 * PyObject_GetBufferEx(object obj, Py_buffer *view, int flags) \ * except -1: * if view == NULL: return 0 # <<<<<<<<<<<<<< * if PYPY: # special-case PyPy runtime * return PyPy_GetBuffer(obj, view, flags) */ __pyx_t_1 = ((__pyx_v_view == NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "MPI/asbuffer.pxi":109 * except -1: * if view == NULL: return 0 * if PYPY: # special-case PyPy runtime # <<<<<<<<<<<<<< * return PyPy_GetBuffer(obj, view, flags) * # Python 3 buffer interface (PEP 3118) */ if (PyMPI_RUNTIME_PYPY) { /* "MPI/asbuffer.pxi":110 * if view == NULL: return 0 * if PYPY: # special-case PyPy runtime * return PyPy_GetBuffer(obj, view, flags) # <<<<<<<<<<<<<< * # Python 3 buffer interface (PEP 3118) * if PY3 or PyObject_CheckBuffer(obj): */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_PyPy_GetBuffer(__pyx_v_obj, __pyx_v_view, __pyx_v_flags); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(0, 110, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "MPI/asbuffer.pxi":109 * except -1: * if view == NULL: return 0 * if PYPY: # special-case PyPy runtime # <<<<<<<<<<<<<< * return PyPy_GetBuffer(obj, view, flags) * # Python 3 buffer interface (PEP 3118) */ } /* "MPI/asbuffer.pxi":112 * return PyPy_GetBuffer(obj, view, flags) * # Python 3 buffer interface (PEP 3118) * if PY3 or PyObject_CheckBuffer(obj): # <<<<<<<<<<<<<< * return PyObject_GetBuffer(obj, view, flags) * # Python 2 buffer interface (legacy) */ if (!(PY_MAJOR_VERSION>=3)) { } else { __pyx_t_1 = (PY_MAJOR_VERSION>=3); goto __pyx_L6_bool_binop_done; } __pyx_t_3 = (PyObject_CheckBuffer(__pyx_v_obj) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L6_bool_binop_done:; if (__pyx_t_1) { /* "MPI/asbuffer.pxi":113 * # Python 3 buffer interface (PEP 3118) * if PY3 or PyObject_CheckBuffer(obj): * return PyObject_GetBuffer(obj, view, flags) # <<<<<<<<<<<<<< * # Python 2 buffer interface (legacy) * if (flags & PyBUF_WRITABLE) == PyBUF_WRITABLE: */ __pyx_t_2 = PyObject_GetBuffer(__pyx_v_obj, __pyx_v_view, __pyx_v_flags); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(0, 113, __pyx_L1_error) __pyx_r = __pyx_t_2; goto __pyx_L0; /* "MPI/asbuffer.pxi":112 * return PyPy_GetBuffer(obj, view, flags) * # Python 3 buffer interface (PEP 3118) * if PY3 or PyObject_CheckBuffer(obj): # <<<<<<<<<<<<<< * return PyObject_GetBuffer(obj, view, flags) * # Python 2 buffer interface (legacy) */ } /* "MPI/asbuffer.pxi":115 * return PyObject_GetBuffer(obj, view, flags) * # Python 2 buffer interface (legacy) * if (flags & PyBUF_WRITABLE) == PyBUF_WRITABLE: # <<<<<<<<<<<<<< * view.readonly = 0 * PyObject_AsWriteBuffer(obj, &view.buf, &view.len) */ __pyx_t_1 = (((__pyx_v_flags & PyBUF_WRITABLE) == PyBUF_WRITABLE) != 0); if (__pyx_t_1) { /* "MPI/asbuffer.pxi":116 * # Python 2 buffer interface (legacy) * if (flags & PyBUF_WRITABLE) == PyBUF_WRITABLE: * view.readonly = 0 # <<<<<<<<<<<<<< * PyObject_AsWriteBuffer(obj, &view.buf, &view.len) * else: */ __pyx_v_view->readonly = 0; /* "MPI/asbuffer.pxi":117 * if (flags & PyBUF_WRITABLE) == PyBUF_WRITABLE: * view.readonly = 0 * PyObject_AsWriteBuffer(obj, &view.buf, &view.len) # <<<<<<<<<<<<<< * else: * view.readonly = 1 */ __pyx_t_2 = PyObject_AsWriteBuffer(__pyx_v_obj, (&__pyx_v_view->buf), (&__pyx_v_view->len)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(0, 117, __pyx_L1_error) /* "MPI/asbuffer.pxi":115 * return PyObject_GetBuffer(obj, view, flags) * # Python 2 buffer interface (legacy) * if (flags & PyBUF_WRITABLE) == PyBUF_WRITABLE: # <<<<<<<<<<<<<< * view.readonly = 0 * PyObject_AsWriteBuffer(obj, &view.buf, &view.len) */ goto __pyx_L8; } /* "MPI/asbuffer.pxi":119 * PyObject_AsWriteBuffer(obj, &view.buf, &view.len) * else: * view.readonly = 1 # <<<<<<<<<<<<<< * PyObject_AsReadBuffer(obj, &view.buf, &view.len) * if view.buf == NULL and view.len == 0: view.buf = emptybuffer */ /*else*/ { __pyx_v_view->readonly = 1; /* "MPI/asbuffer.pxi":120 * else: * view.readonly = 1 * PyObject_AsReadBuffer(obj, &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 = PyObject_AsReadBuffer(__pyx_v_obj, ((void const **)(&__pyx_v_view->buf)), (&__pyx_v_view->len)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(0, 120, __pyx_L1_error) } __pyx_L8:; /* "MPI/asbuffer.pxi":121 * view.readonly = 1 * PyObject_AsReadBuffer(obj, &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 = b"B" */ __pyx_t_3 = ((__pyx_v_view->buf == NULL) != 0); if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L10_bool_binop_done; } __pyx_t_3 = ((__pyx_v_view->len == 0) != 0); __pyx_t_1 = __pyx_t_3; __pyx_L10_bool_binop_done:; if (__pyx_t_1) { __pyx_v_view->buf = ((void*)""); } /* "MPI/asbuffer.pxi":122 * PyObject_AsReadBuffer(obj, &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 = b"B" * 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 == -1)) __PYX_ERR(0, 122, __pyx_L1_error) /* "MPI/asbuffer.pxi":123 * 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 = b"B" # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_1 = (((__pyx_v_flags & PyBUF_FORMAT) == PyBUF_FORMAT) != 0); if (__pyx_t_1) { __pyx_v_view->format = ((char *)"B"); } /* "MPI/asbuffer.pxi":124 * PyBuffer_FillInfo(view, obj, view.buf, view.len, view.readonly, flags) * if (flags & PyBUF_FORMAT) == PyBUF_FORMAT: view.format = b"B" * return 0 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = 0; goto __pyx_L0; /* "MPI/asbuffer.pxi":105 * #------------------------------------------------------------------------------ * * cdef int \ # <<<<<<<<<<<<<< * PyObject_GetBufferEx(object obj, Py_buffer *view, int flags) \ * except -1: */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.PyObject_GetBufferEx", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/asbuffer.pxi":134 * cdef Py_buffer view * * def __dealloc__(self): # <<<<<<<<<<<<<< * PyBuffer_Release(&self.view) * */ /* Python wrapper */ static void __pyx_pw_6mpi4py_3MPI_9_p_buffer_1__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_6mpi4py_3MPI_9_p_buffer_1__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_9_p_buffer___dealloc__(((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_9_p_buffer___dealloc__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__", 0); /* "MPI/asbuffer.pxi":135 * * def __dealloc__(self): * PyBuffer_Release(&self.view) # <<<<<<<<<<<<<< * * # buffer interface (PEP 3118) */ PyBuffer_Release((&__pyx_v_self->view)); /* "MPI/asbuffer.pxi":134 * cdef Py_buffer view * * def __dealloc__(self): # <<<<<<<<<<<<<< * PyBuffer_Release(&self.view) * */ /* function exit code */ __Pyx_RefNannyFinishContext(); } /* "MPI/asbuffer.pxi":138 * * # buffer interface (PEP 3118) * def __getbuffer__(self, Py_buffer *view, int flags): # <<<<<<<<<<<<<< * if view == NULL: return * if view.obj == None: Py_CLEAR(view.obj) */ /* Python wrapper */ static CYTHON_UNUSED int __pyx_pw_6mpi4py_3MPI_9_p_buffer_3__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_view, int __pyx_v_flags); /*proto*/ static CYTHON_UNUSED int __pyx_pw_6mpi4py_3MPI_9_p_buffer_3__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_9_p_buffer_2__getbuffer__(((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__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_9_p_buffer_2__getbuffer__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self, Py_buffer *__pyx_v_view, int __pyx_v_flags) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; __Pyx_RefNannySetupContext("__getbuffer__", 0); if (__pyx_v_view != NULL) { __pyx_v_view->obj = Py_None; __Pyx_INCREF(Py_None); __Pyx_GIVEREF(__pyx_v_view->obj); } /* "MPI/asbuffer.pxi":139 * # buffer interface (PEP 3118) * def __getbuffer__(self, Py_buffer *view, int flags): * if view == NULL: return # <<<<<<<<<<<<<< * if view.obj == None: Py_CLEAR(view.obj) * if self.view.obj != NULL: */ __pyx_t_1 = ((__pyx_v_view == NULL) != 0); if (__pyx_t_1) { __pyx_r = 0; goto __pyx_L0; } /* "MPI/asbuffer.pxi":140 * def __getbuffer__(self, Py_buffer *view, int flags): * if view == NULL: return * if view.obj == None: Py_CLEAR(view.obj) # <<<<<<<<<<<<<< * if self.view.obj != NULL: * PyObject_GetBufferEx(self.view.obj, view, flags) */ __pyx_t_1 = ((__pyx_v_view->obj == ((void *)Py_None)) != 0); if (__pyx_t_1) { Py_CLEAR(__pyx_v_view->obj); } /* "MPI/asbuffer.pxi":141 * if view == NULL: return * if view.obj == None: Py_CLEAR(view.obj) * if self.view.obj != NULL: # <<<<<<<<<<<<<< * PyObject_GetBufferEx(self.view.obj, view, flags) * else: */ __pyx_t_1 = ((__pyx_v_self->view.obj != NULL) != 0); if (__pyx_t_1) { /* "MPI/asbuffer.pxi":142 * if view.obj == None: Py_CLEAR(view.obj) * if self.view.obj != NULL: * PyObject_GetBufferEx(self.view.obj, view, flags) # <<<<<<<<<<<<<< * else: * PyBuffer_FillInfo(view, NULL, */ __pyx_t_2 = ((PyObject *)__pyx_v_self->view.obj); __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyObject_GetBufferEx(__pyx_t_2, __pyx_v_view, __pyx_v_flags); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(0, 142, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "MPI/asbuffer.pxi":141 * if view == NULL: return * if view.obj == None: Py_CLEAR(view.obj) * if self.view.obj != NULL: # <<<<<<<<<<<<<< * PyObject_GetBufferEx(self.view.obj, view, flags) * else: */ goto __pyx_L5; } /* "MPI/asbuffer.pxi":144 * PyObject_GetBufferEx(self.view.obj, view, flags) * else: * PyBuffer_FillInfo(view, NULL, # <<<<<<<<<<<<<< * self.view.buf, self.view.len, * self.view.readonly, flags) */ /*else*/ { /* "MPI/asbuffer.pxi":146 * PyBuffer_FillInfo(view, NULL, * self.view.buf, self.view.len, * self.view.readonly, flags) # <<<<<<<<<<<<<< * def __releasebuffer__(self, Py_buffer *view): * if view == NULL: return */ __pyx_t_3 = PyBuffer_FillInfo(__pyx_v_view, ((PyObject *)NULL), __pyx_v_self->view.buf, __pyx_v_self->view.len, __pyx_v_self->view.readonly, __pyx_v_flags); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(0, 144, __pyx_L1_error) } __pyx_L5:; /* "MPI/asbuffer.pxi":138 * * # buffer interface (PEP 3118) * def __getbuffer__(self, Py_buffer *view, int flags): # <<<<<<<<<<<<<< * if view == NULL: return * if view.obj == None: Py_CLEAR(view.obj) */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI._p_buffer.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; if (__pyx_v_view != NULL && __pyx_v_view->obj != NULL) { __Pyx_GOTREF(__pyx_v_view->obj); __Pyx_DECREF(__pyx_v_view->obj); __pyx_v_view->obj = NULL; } goto __pyx_L2; __pyx_L0:; if (__pyx_v_view != NULL && __pyx_v_view->obj == Py_None) { __Pyx_GOTREF(Py_None); __Pyx_DECREF(Py_None); __pyx_v_view->obj = NULL; } __pyx_L2:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/asbuffer.pxi":147 * self.view.buf, self.view.len, * self.view.readonly, flags) * def __releasebuffer__(self, Py_buffer *view): # <<<<<<<<<<<<<< * if view == NULL: return * PyBuffer_Release(view) */ /* Python wrapper */ static CYTHON_UNUSED void __pyx_pw_6mpi4py_3MPI_9_p_buffer_5__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_view); /*proto*/ static CYTHON_UNUSED void __pyx_pw_6mpi4py_3MPI_9_p_buffer_5__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_view) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0); __pyx_pf_6mpi4py_3MPI_9_p_buffer_4__releasebuffer__(((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__pyx_v_self), ((Py_buffer *)__pyx_v_view)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_6mpi4py_3MPI_9_p_buffer_4__releasebuffer__(CYTHON_UNUSED struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self, Py_buffer *__pyx_v_view) { __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("__releasebuffer__", 0); /* "MPI/asbuffer.pxi":148 * self.view.readonly, flags) * def __releasebuffer__(self, Py_buffer *view): * if view == NULL: return # <<<<<<<<<<<<<< * PyBuffer_Release(view) * */ __pyx_t_1 = ((__pyx_v_view == NULL) != 0); if (__pyx_t_1) { goto __pyx_L0; } /* "MPI/asbuffer.pxi":149 * def __releasebuffer__(self, Py_buffer *view): * if view == NULL: return * PyBuffer_Release(view) # <<<<<<<<<<<<<< * * # buffer interface (legacy) */ PyBuffer_Release(__pyx_v_view); /* "MPI/asbuffer.pxi":147 * self.view.buf, self.view.len, * self.view.readonly, flags) * def __releasebuffer__(self, Py_buffer *view): # <<<<<<<<<<<<<< * if view == NULL: return * PyBuffer_Release(view) */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "MPI/asbuffer.pxi":152 * * # 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_9_p_buffer_7__getsegcount__(PyObject *__pyx_v_self, Py_ssize_t *__pyx_v_lenp); /*proto*/ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_9_p_buffer_7__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_9_p_buffer_6__getsegcount__(((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__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_9_p_buffer_6__getsegcount__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__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); /* "MPI/asbuffer.pxi":153 * # buffer interface (legacy) * 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) { /* "MPI/asbuffer.pxi":154 * def __getsegcount__(self, Py_ssize_t *lenp): * if lenp != NULL: * lenp[0] = self.view.len # <<<<<<<<<<<<<< * return 1 * def __getreadbuffer__(self, Py_ssize_t idx, void **p): */ __pyx_t_2 = __pyx_v_self->view.len; (__pyx_v_lenp[0]) = __pyx_t_2; /* "MPI/asbuffer.pxi":153 * # buffer interface (legacy) * def __getsegcount__(self, Py_ssize_t *lenp): * if lenp != NULL: # <<<<<<<<<<<<<< * lenp[0] = self.view.len * return 1 */ } /* "MPI/asbuffer.pxi":155 * if lenp != NULL: * lenp[0] = self.view.len * return 1 # <<<<<<<<<<<<<< * def __getreadbuffer__(self, Py_ssize_t idx, void **p): * if idx != 0: raise SystemError( */ __pyx_r = 1; goto __pyx_L0; /* "MPI/asbuffer.pxi":152 * * # 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)*/ /* "MPI/asbuffer.pxi":156 * lenp[0] = self.view.len * 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_9_p_buffer_9__getreadbuffer__(PyObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_p); /*proto*/ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_9_p_buffer_9__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_9_p_buffer_8__getreadbuffer__(((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__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_9_p_buffer_8__getreadbuffer__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__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; __Pyx_RefNannySetupContext("__getreadbuffer__", 0); /* "MPI/asbuffer.pxi":157 * return 1 * 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 (__pyx_t_1) { __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_SystemError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 157, __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, 157, __pyx_L1_error) } /* "MPI/asbuffer.pxi":159 * if idx != 0: 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_t_3 = __pyx_v_self->view.buf; (__pyx_v_p[0]) = __pyx_t_3; /* "MPI/asbuffer.pxi":160 * "accessing non-existent buffer segment") * p[0] = self.view.buf * return self.view.len # <<<<<<<<<<<<<< * def __getwritebuffer__(self, Py_ssize_t idx, void **p): * if idx != 0: raise SystemError( */ __pyx_r = __pyx_v_self->view.len; goto __pyx_L0; /* "MPI/asbuffer.pxi":156 * lenp[0] = self.view.len * 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._p_buffer.__getreadbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ /* "MPI/asbuffer.pxi":161 * p[0] = self.view.buf * return self.view.len * def __getwritebuffer__(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_9_p_buffer_11__getwritebuffer__(PyObject *__pyx_v_self, Py_ssize_t __pyx_v_idx, void **__pyx_v_p); /*proto*/ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_9_p_buffer_11__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_9_p_buffer_10__getwritebuffer__(((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__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_9_p_buffer_10__getwritebuffer__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__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; __Pyx_RefNannySetupContext("__getwritebuffer__", 0); /* "MPI/asbuffer.pxi":162 * return self.view.len * def __getwritebuffer__(self, Py_ssize_t idx, void **p): * if idx != 0: raise SystemError( # <<<<<<<<<<<<<< * "accessing non-existent buffer segment") * if self.view.readonly: */ __pyx_t_1 = ((__pyx_v_idx != 0) != 0); if (__pyx_t_1) { __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_SystemError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 162, __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, 162, __pyx_L1_error) } /* "MPI/asbuffer.pxi":164 * if idx != 0: raise SystemError( * "accessing non-existent buffer segment") * if self.view.readonly: # <<<<<<<<<<<<<< * raise TypeError("object is not writeable") * p[0] = self.view.buf */ __pyx_t_1 = (__pyx_v_self->view.readonly != 0); if (__pyx_t_1) { /* "MPI/asbuffer.pxi":165 * "accessing non-existent buffer segment") * if self.view.readonly: * raise TypeError("object is not writeable") # <<<<<<<<<<<<<< * p[0] = self.view.buf * return self.view.len */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 165, __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, 165, __pyx_L1_error) /* "MPI/asbuffer.pxi":164 * if idx != 0: raise SystemError( * "accessing non-existent buffer segment") * if self.view.readonly: # <<<<<<<<<<<<<< * raise TypeError("object is not writeable") * p[0] = self.view.buf */ } /* "MPI/asbuffer.pxi":166 * if self.view.readonly: * raise TypeError("object is not writeable") * p[0] = self.view.buf # <<<<<<<<<<<<<< * return self.view.len * */ __pyx_t_3 = __pyx_v_self->view.buf; (__pyx_v_p[0]) = __pyx_t_3; /* "MPI/asbuffer.pxi":167 * raise TypeError("object is not writeable") * p[0] = self.view.buf * return self.view.len # <<<<<<<<<<<<<< * * # sequence interface (basic) */ __pyx_r = __pyx_v_self->view.len; goto __pyx_L0; /* "MPI/asbuffer.pxi":161 * p[0] = self.view.buf * return self.view.len * def __getwritebuffer__(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._p_buffer.__getwritebuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } #endif /*!(#if PY_MAJOR_VERSION < 3)*/ /* "MPI/asbuffer.pxi":170 * * # sequence interface (basic) * def __len__(self): # <<<<<<<<<<<<<< * return self.view.len * def __getitem__(self, Py_ssize_t i): */ /* Python wrapper */ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_9_p_buffer_13__len__(PyObject *__pyx_v_self); /*proto*/ static Py_ssize_t __pyx_pw_6mpi4py_3MPI_9_p_buffer_13__len__(PyObject *__pyx_v_self) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__len__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_9_p_buffer_12__len__(((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static Py_ssize_t __pyx_pf_6mpi4py_3MPI_9_p_buffer_12__len__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self) { Py_ssize_t __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__len__", 0); /* "MPI/asbuffer.pxi":171 * # sequence interface (basic) * def __len__(self): * return self.view.len # <<<<<<<<<<<<<< * def __getitem__(self, Py_ssize_t i): * cdef unsigned char *buf = self.view.buf */ __pyx_r = __pyx_v_self->view.len; goto __pyx_L0; /* "MPI/asbuffer.pxi":170 * * # sequence interface (basic) * def __len__(self): # <<<<<<<<<<<<<< * return self.view.len * def __getitem__(self, Py_ssize_t i): */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/asbuffer.pxi":172 * def __len__(self): * return self.view.len * def __getitem__(self, Py_ssize_t i): # <<<<<<<<<<<<<< * cdef unsigned char *buf = self.view.buf * if i < 0: i += self.view.len */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_9_p_buffer_15__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_i); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_9_p_buffer_15__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_i) { Py_ssize_t __pyx_v_i; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0); assert(__pyx_arg_i); { __pyx_v_i = __Pyx_PyIndex_AsSsize_t(__pyx_arg_i); if (unlikely((__pyx_v_i == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 172, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI._p_buffer.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9_p_buffer_14__getitem__(((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__pyx_v_self), ((Py_ssize_t)__pyx_v_i)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_9_p_buffer_14__getitem__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self, Py_ssize_t __pyx_v_i) { unsigned char *__pyx_v_buf; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("__getitem__", 0); /* "MPI/asbuffer.pxi":173 * return self.view.len * def __getitem__(self, Py_ssize_t i): * cdef unsigned char *buf = self.view.buf # <<<<<<<<<<<<<< * if i < 0: i += self.view.len * if i < 0 or i >= self.view.len: */ __pyx_v_buf = ((unsigned char *)__pyx_v_self->view.buf); /* "MPI/asbuffer.pxi":174 * def __getitem__(self, Py_ssize_t i): * cdef unsigned char *buf = self.view.buf * if i < 0: i += self.view.len # <<<<<<<<<<<<<< * if i < 0 or i >= self.view.len: * raise IndexError("index out of range") */ __pyx_t_1 = ((__pyx_v_i < 0) != 0); if (__pyx_t_1) { __pyx_v_i = (__pyx_v_i + __pyx_v_self->view.len); } /* "MPI/asbuffer.pxi":175 * cdef unsigned char *buf = self.view.buf * if i < 0: i += self.view.len * if i < 0 or i >= self.view.len: # <<<<<<<<<<<<<< * raise IndexError("index out of range") * return buf[i] */ __pyx_t_2 = ((__pyx_v_i < 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_2 = ((__pyx_v_i >= __pyx_v_self->view.len) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { /* "MPI/asbuffer.pxi":176 * if i < 0: i += self.view.len * if i < 0 or i >= self.view.len: * raise IndexError("index out of range") # <<<<<<<<<<<<<< * return buf[i] * def __setitem__(self, Py_ssize_t i, unsigned char v): */ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__4, 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) /* "MPI/asbuffer.pxi":175 * cdef unsigned char *buf = self.view.buf * if i < 0: i += self.view.len * if i < 0 or i >= self.view.len: # <<<<<<<<<<<<<< * raise IndexError("index out of range") * return buf[i] */ } /* "MPI/asbuffer.pxi":177 * if i < 0 or i >= self.view.len: * raise IndexError("index out of range") * return buf[i] # <<<<<<<<<<<<<< * def __setitem__(self, Py_ssize_t i, unsigned char v): * cdef unsigned char *buf = self.view.buf */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_From_long(((long)(__pyx_v_buf[__pyx_v_i]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/asbuffer.pxi":172 * def __len__(self): * return self.view.len * def __getitem__(self, Py_ssize_t i): # <<<<<<<<<<<<<< * cdef unsigned char *buf = self.view.buf * if i < 0: i += self.view.len */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI._p_buffer.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/asbuffer.pxi":178 * raise IndexError("index out of range") * return buf[i] * def __setitem__(self, Py_ssize_t i, unsigned char v): # <<<<<<<<<<<<<< * cdef unsigned char *buf = self.view.buf * if i < 0: i += self.view.len */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_9_p_buffer_17__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_i, PyObject *__pyx_arg_v); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_9_p_buffer_17__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_i, PyObject *__pyx_arg_v) { Py_ssize_t __pyx_v_i; unsigned char __pyx_v_v; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0); assert(__pyx_arg_i); { __pyx_v_i = __Pyx_PyIndex_AsSsize_t(__pyx_arg_i); if (unlikely((__pyx_v_i == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 178, __pyx_L3_error) } assert(__pyx_arg_v); { __pyx_v_v = __Pyx_PyInt_As_unsigned_char(__pyx_arg_v); if (unlikely((__pyx_v_v == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 178, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; __Pyx_AddTraceback("mpi4py.MPI._p_buffer.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_6mpi4py_3MPI_9_p_buffer_16__setitem__(((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__pyx_v_self), ((Py_ssize_t)__pyx_v_i), ((unsigned char)__pyx_v_v)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_9_p_buffer_16__setitem__(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_self, Py_ssize_t __pyx_v_i, unsigned char __pyx_v_v) { unsigned char *__pyx_v_buf; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("__setitem__", 0); /* "MPI/asbuffer.pxi":179 * return buf[i] * def __setitem__(self, Py_ssize_t i, unsigned char v): * cdef unsigned char *buf = self.view.buf # <<<<<<<<<<<<<< * if i < 0: i += self.view.len * if i < 0 or i >= self.view.len: */ __pyx_v_buf = ((unsigned char *)__pyx_v_self->view.buf); /* "MPI/asbuffer.pxi":180 * def __setitem__(self, Py_ssize_t i, unsigned char v): * cdef unsigned char *buf = self.view.buf * if i < 0: i += self.view.len # <<<<<<<<<<<<<< * if i < 0 or i >= self.view.len: * raise IndexError("index out of range") */ __pyx_t_1 = ((__pyx_v_i < 0) != 0); if (__pyx_t_1) { __pyx_v_i = (__pyx_v_i + __pyx_v_self->view.len); } /* "MPI/asbuffer.pxi":181 * cdef unsigned char *buf = self.view.buf * if i < 0: i += self.view.len * if i < 0 or i >= self.view.len: # <<<<<<<<<<<<<< * raise IndexError("index out of range") * buf[i] = v */ __pyx_t_2 = ((__pyx_v_i < 0) != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L5_bool_binop_done; } __pyx_t_2 = ((__pyx_v_i >= __pyx_v_self->view.len) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { /* "MPI/asbuffer.pxi":182 * if i < 0: i += self.view.len * if i < 0 or i >= self.view.len: * raise IndexError("index out of range") # <<<<<<<<<<<<<< * buf[i] = v * */ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 182, __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, 182, __pyx_L1_error) /* "MPI/asbuffer.pxi":181 * cdef unsigned char *buf = self.view.buf * if i < 0: i += self.view.len * if i < 0 or i >= self.view.len: # <<<<<<<<<<<<<< * raise IndexError("index out of range") * buf[i] = v */ } /* "MPI/asbuffer.pxi":183 * if i < 0 or i >= self.view.len: * raise IndexError("index out of range") * buf[i] = v # <<<<<<<<<<<<<< * * cdef inline _p_buffer newbuffer(): */ (__pyx_v_buf[__pyx_v_i]) = __pyx_v_v; /* "MPI/asbuffer.pxi":178 * raise IndexError("index out of range") * return buf[i] * def __setitem__(self, Py_ssize_t i, unsigned char v): # <<<<<<<<<<<<<< * cdef unsigned char *buf = self.view.buf * if i < 0: i += self.view.len */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI._p_buffer.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/asbuffer.pxi":185 * buf[i] = v * * cdef inline _p_buffer newbuffer(): # <<<<<<<<<<<<<< * return <_p_buffer>_p_buffer.__new__(_p_buffer) * */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_f_6mpi4py_3MPI_newbuffer(void) { struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("newbuffer", 0); /* "MPI/asbuffer.pxi":186 * * cdef inline _p_buffer newbuffer(): * return <_p_buffer>_p_buffer.__new__(_p_buffer) # <<<<<<<<<<<<<< * * cdef inline _p_buffer tobuffer(void *base, Py_ssize_t size): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI__p_buffer(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI__p_buffer), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__pyx_t_1))); __pyx_r = ((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/asbuffer.pxi":185 * buf[i] = v * * cdef inline _p_buffer newbuffer(): # <<<<<<<<<<<<<< * return <_p_buffer>_p_buffer.__new__(_p_buffer) * */ /* 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; } /* "MPI/asbuffer.pxi":188 * return <_p_buffer>_p_buffer.__new__(_p_buffer) * * cdef inline _p_buffer tobuffer(void *base, Py_ssize_t size): # <<<<<<<<<<<<<< * cdef _p_buffer buf = newbuffer() * PyBuffer_FillInfo(&buf.view, NULL, base, size, 0, PyBUF_FULL_RO) */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_f_6mpi4py_3MPI_tobuffer(void *__pyx_v_base, Py_ssize_t __pyx_v_size) { struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_buf = 0; struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; __Pyx_RefNannySetupContext("tobuffer", 0); /* "MPI/asbuffer.pxi":189 * * cdef inline _p_buffer tobuffer(void *base, Py_ssize_t size): * cdef _p_buffer buf = newbuffer() # <<<<<<<<<<<<<< * PyBuffer_FillInfo(&buf.view, NULL, base, size, 0, PyBUF_FULL_RO) * return buf */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_newbuffer()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_buf = ((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/asbuffer.pxi":190 * cdef inline _p_buffer tobuffer(void *base, Py_ssize_t size): * cdef _p_buffer buf = newbuffer() * PyBuffer_FillInfo(&buf.view, NULL, base, size, 0, PyBUF_FULL_RO) # <<<<<<<<<<<<<< * return buf * */ __pyx_t_2 = PyBuffer_FillInfo((&__pyx_v_buf->view), ((PyObject *)NULL), __pyx_v_base, __pyx_v_size, 0, PyBUF_FULL_RO); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(0, 190, __pyx_L1_error) /* "MPI/asbuffer.pxi":191 * cdef _p_buffer buf = newbuffer() * PyBuffer_FillInfo(&buf.view, NULL, base, size, 0, PyBUF_FULL_RO) * return buf # <<<<<<<<<<<<<< * * cdef inline _p_buffer getbuffer(object ob, bint readonly, bint format): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_buf)); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "MPI/asbuffer.pxi":188 * return <_p_buffer>_p_buffer.__new__(_p_buffer) * * cdef inline _p_buffer tobuffer(void *base, Py_ssize_t size): # <<<<<<<<<<<<<< * cdef _p_buffer buf = newbuffer() * PyBuffer_FillInfo(&buf.view, NULL, base, size, 0, PyBUF_FULL_RO) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.tobuffer", __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; } /* "MPI/asbuffer.pxi":193 * return buf * * cdef inline _p_buffer getbuffer(object ob, bint readonly, bint format): # <<<<<<<<<<<<<< * cdef _p_buffer buf = newbuffer() * cdef int flags = PyBUF_ANY_CONTIGUOUS */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_f_6mpi4py_3MPI_getbuffer(PyObject *__pyx_v_ob, int __pyx_v_readonly, int __pyx_v_format) { struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_buf = 0; int __pyx_v_flags; struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; __Pyx_RefNannySetupContext("getbuffer", 0); /* "MPI/asbuffer.pxi":194 * * cdef inline _p_buffer getbuffer(object ob, bint readonly, bint format): * cdef _p_buffer 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, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_buf = ((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/asbuffer.pxi":195 * cdef inline _p_buffer getbuffer(object ob, bint readonly, bint format): * cdef _p_buffer buf = newbuffer() * cdef int flags = PyBUF_ANY_CONTIGUOUS # <<<<<<<<<<<<<< * if not readonly: * flags |= PyBUF_WRITABLE */ __pyx_v_flags = PyBUF_ANY_CONTIGUOUS; /* "MPI/asbuffer.pxi":196 * cdef _p_buffer 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) { /* "MPI/asbuffer.pxi":197 * 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); /* "MPI/asbuffer.pxi":196 * cdef _p_buffer buf = newbuffer() * cdef int flags = PyBUF_ANY_CONTIGUOUS * if not readonly: # <<<<<<<<<<<<<< * flags |= PyBUF_WRITABLE * if format: */ } /* "MPI/asbuffer.pxi":198 * if not readonly: * flags |= PyBUF_WRITABLE * if format: # <<<<<<<<<<<<<< * flags |= PyBUF_FORMAT * PyObject_GetBufferEx(ob, &buf.view, flags) */ __pyx_t_2 = (__pyx_v_format != 0); if (__pyx_t_2) { /* "MPI/asbuffer.pxi":199 * flags |= PyBUF_WRITABLE * if format: * flags |= PyBUF_FORMAT # <<<<<<<<<<<<<< * PyObject_GetBufferEx(ob, &buf.view, flags) * return buf */ __pyx_v_flags = (__pyx_v_flags | PyBUF_FORMAT); /* "MPI/asbuffer.pxi":198 * if not readonly: * flags |= PyBUF_WRITABLE * if format: # <<<<<<<<<<<<<< * flags |= PyBUF_FORMAT * PyObject_GetBufferEx(ob, &buf.view, flags) */ } /* "MPI/asbuffer.pxi":200 * if format: * flags |= PyBUF_FORMAT * PyObject_GetBufferEx(ob, &buf.view, flags) # <<<<<<<<<<<<<< * return buf * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyObject_GetBufferEx(__pyx_v_ob, (&__pyx_v_buf->view), __pyx_v_flags); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(0, 200, __pyx_L1_error) /* "MPI/asbuffer.pxi":201 * flags |= PyBUF_FORMAT * PyObject_GetBufferEx(ob, &buf.view, flags) * return buf # <<<<<<<<<<<<<< * * cdef inline object getformat(_p_buffer buf): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_buf)); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "MPI/asbuffer.pxi":193 * return buf * * cdef inline _p_buffer getbuffer(object ob, bint readonly, bint format): # <<<<<<<<<<<<<< * cdef _p_buffer 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; } /* "MPI/asbuffer.pxi":203 * return buf * * cdef inline object getformat(_p_buffer buf): # <<<<<<<<<<<<<< * cdef Py_buffer *view = &buf.view * # */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_getformat(struct __pyx_obj_6mpi4py_3MPI__p_buffer *__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; __Pyx_RefNannySetupContext("getformat", 0); /* "MPI/asbuffer.pxi":204 * * cdef inline object getformat(_p_buffer buf): * cdef Py_buffer *view = &buf.view # <<<<<<<<<<<<<< * # * if buf.view.obj == NULL: */ __pyx_v_view = (&__pyx_v_buf->view); /* "MPI/asbuffer.pxi":206 * cdef Py_buffer *view = &buf.view * # * if buf.view.obj == NULL: # <<<<<<<<<<<<<< * if view.format != NULL: * return mpistr(view.format) */ __pyx_t_1 = ((__pyx_v_buf->view.obj == NULL) != 0); if (__pyx_t_1) { /* "MPI/asbuffer.pxi":207 * # * if buf.view.obj == NULL: * if view.format != NULL: # <<<<<<<<<<<<<< * return mpistr(view.format) * else: */ __pyx_t_1 = ((__pyx_v_view->format != NULL) != 0); if (__pyx_t_1) { /* "MPI/asbuffer.pxi":208 * if buf.view.obj == NULL: * if view.format != NULL: * return mpistr(view.format) # <<<<<<<<<<<<<< * else: * return "B" */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mpistr(__pyx_v_view->format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/asbuffer.pxi":207 * # * if buf.view.obj == NULL: * if view.format != NULL: # <<<<<<<<<<<<<< * return mpistr(view.format) * else: */ } /* "MPI/asbuffer.pxi":210 * return mpistr(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; } /* "MPI/asbuffer.pxi":206 * cdef Py_buffer *view = &buf.view * # * if buf.view.obj == NULL: # <<<<<<<<<<<<<< * if view.format != NULL: * return mpistr(view.format) */ } /* "MPI/asbuffer.pxi":211 * else: * return "B" * elif view.format != NULL: # <<<<<<<<<<<<<< * # XXX this is a hack * if view.format != b"B": */ __pyx_t_1 = ((__pyx_v_view->format != NULL) != 0); if (__pyx_t_1) { /* "MPI/asbuffer.pxi":213 * elif view.format != NULL: * # XXX this is a hack * if view.format != b"B": # <<<<<<<<<<<<<< * return mpistr(view.format) * # */ __pyx_t_1 = ((__pyx_v_view->format != ((char *)((char *)"B"))) != 0); if (__pyx_t_1) { /* "MPI/asbuffer.pxi":214 * # XXX this is a hack * if view.format != b"B": * return mpistr(view.format) # <<<<<<<<<<<<<< * # * cdef object ob = buf.view.obj */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mpistr(__pyx_v_view->format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/asbuffer.pxi":213 * elif view.format != NULL: * # XXX this is a hack * if view.format != b"B": # <<<<<<<<<<<<<< * return mpistr(view.format) * # */ } /* "MPI/asbuffer.pxi":211 * else: * return "B" * elif view.format != NULL: # <<<<<<<<<<<<<< * # XXX this is a hack * if view.format != b"B": */ } /* "MPI/asbuffer.pxi":216 * return mpistr(view.format) * # * cdef object ob = buf.view.obj # <<<<<<<<<<<<<< * cdef str format = None * try: # numpy.ndarray */ __pyx_t_2 = ((PyObject *)__pyx_v_buf->view.obj); __Pyx_INCREF(__pyx_t_2); __pyx_v_ob = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/asbuffer.pxi":217 * # * cdef object ob = buf.view.obj * cdef str format = None # <<<<<<<<<<<<<< * try: # numpy.ndarray * format = ob.dtype.char */ __Pyx_INCREF(Py_None); __pyx_v_format = ((PyObject*)Py_None); /* "MPI/asbuffer.pxi":218 * cdef object ob = buf.view.obj * cdef str 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:*/ { /* "MPI/asbuffer.pxi":219 * cdef str 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, 219, __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, 219, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(PyString_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 219, __pyx_L6_error) __Pyx_DECREF_SET(__pyx_v_format, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0; /* "MPI/asbuffer.pxi":218 * cdef object ob = buf.view.obj * cdef str 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_L13_try_end; __pyx_L6_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "MPI/asbuffer.pxi":220 * 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, 220, __pyx_L8_except_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_8); /* "MPI/asbuffer.pxi":221 * 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:*/ { /* "MPI/asbuffer.pxi":222 * 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, 222, __pyx_L16_error) __Pyx_GOTREF(__pyx_t_12); if (!(likely(PyString_CheckExact(__pyx_t_12))||((__pyx_t_12) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_12)->tp_name), 0))) __PYX_ERR(0, 222, __pyx_L16_error) __Pyx_DECREF_SET(__pyx_v_format, ((PyObject*)__pyx_t_12)); __pyx_t_12 = 0; /* "MPI/asbuffer.pxi":221 * 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_L23_try_end; __pyx_L16_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; /* "MPI/asbuffer.pxi":223 * try: # array.array * format = ob.typecode * except (AttributeError, TypeError): # <<<<<<<<<<<<<< * if view.format != NULL: * format = mpistr(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, 223, __pyx_L18_except_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GOTREF(__pyx_t_13); __Pyx_GOTREF(__pyx_t_14); /* "MPI/asbuffer.pxi":224 * format = ob.typecode * except (AttributeError, TypeError): * if view.format != NULL: # <<<<<<<<<<<<<< * format = mpistr(view.format) * return format */ __pyx_t_1 = ((__pyx_v_view->format != NULL) != 0); if (__pyx_t_1) { /* "MPI/asbuffer.pxi":225 * except (AttributeError, TypeError): * if view.format != NULL: * format = mpistr(view.format) # <<<<<<<<<<<<<< * return format * */ __pyx_t_15 = __pyx_f_6mpi4py_3MPI_mpistr(__pyx_v_view->format); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 225, __pyx_L18_except_error) __Pyx_GOTREF(__pyx_t_15); if (!(likely(PyString_CheckExact(__pyx_t_15))||((__pyx_t_15) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_15)->tp_name), 0))) __PYX_ERR(0, 225, __pyx_L18_except_error) __Pyx_DECREF_SET(__pyx_v_format, ((PyObject*)__pyx_t_15)); __pyx_t_15 = 0; /* "MPI/asbuffer.pxi":224 * format = ob.typecode * except (AttributeError, TypeError): * if view.format != NULL: # <<<<<<<<<<<<<< * format = mpistr(view.format) * return format */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L17_exception_handled; } goto __pyx_L18_except_error; __pyx_L18_except_error:; /* "MPI/asbuffer.pxi":221 * format = ob.dtype.char * except (AttributeError, TypeError): * try: # array.array # <<<<<<<<<<<<<< * format = ob.typecode * except (AttributeError, TypeError): */ __Pyx_PyThreadState_assign __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_L17_exception_handled:; __Pyx_PyThreadState_assign __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_L23_try_end:; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L7_exception_handled; } goto __pyx_L8_except_error; __pyx_L8_except_error:; /* "MPI/asbuffer.pxi":218 * cdef object ob = buf.view.obj * cdef str format = None * try: # numpy.ndarray # <<<<<<<<<<<<<< * format = ob.dtype.char * except (AttributeError, TypeError): */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L13_try_end:; } /* "MPI/asbuffer.pxi":226 * if view.format != NULL: * format = mpistr(view.format) * return format # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_format); __pyx_r = __pyx_v_format; goto __pyx_L0; /* "MPI/asbuffer.pxi":203 * return buf * * cdef inline object getformat(_p_buffer 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; } /* "MPI/asbuffer.pxi":230 * #------------------------------------------------------------------------------ * * cdef inline _p_buffer getbuffer_r(object ob, void **base, MPI_Aint *size): # <<<<<<<<<<<<<< * cdef _p_buffer buf = getbuffer(ob, 1, 0) * if base != NULL: base[0] = buf.view.buf */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_f_6mpi4py_3MPI_getbuffer_r(PyObject *__pyx_v_ob, void **__pyx_v_base, MPI_Aint *__pyx_v_size) { struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_buf = 0; struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; __Pyx_RefNannySetupContext("getbuffer_r", 0); /* "MPI/asbuffer.pxi":231 * * cdef inline _p_buffer getbuffer_r(object ob, void **base, MPI_Aint *size): * cdef _p_buffer 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, 231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_buf = ((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/asbuffer.pxi":232 * cdef inline _p_buffer getbuffer_r(object ob, void **base, MPI_Aint *size): * cdef _p_buffer 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_v_base[0]) = ((void *)__pyx_v_buf->view.buf); } /* "MPI/asbuffer.pxi":233 * cdef _p_buffer 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_v_size[0]) = ((MPI_Aint)__pyx_v_buf->view.len); } /* "MPI/asbuffer.pxi":234 * if base != NULL: base[0] = buf.view.buf * if size != NULL: size[0] = buf.view.len * return buf # <<<<<<<<<<<<<< * * cdef inline _p_buffer 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; /* "MPI/asbuffer.pxi":230 * #------------------------------------------------------------------------------ * * cdef inline _p_buffer getbuffer_r(object ob, void **base, MPI_Aint *size): # <<<<<<<<<<<<<< * cdef _p_buffer 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; } /* "MPI/asbuffer.pxi":236 * return buf * * cdef inline _p_buffer getbuffer_w(object ob, void **base, MPI_Aint *size): # <<<<<<<<<<<<<< * cdef _p_buffer buf = getbuffer(ob, 0, 0) * if base != NULL: base[0] = buf.view.buf */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_f_6mpi4py_3MPI_getbuffer_w(PyObject *__pyx_v_ob, void **__pyx_v_base, MPI_Aint *__pyx_v_size) { struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_buf = 0; struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; __Pyx_RefNannySetupContext("getbuffer_w", 0); /* "MPI/asbuffer.pxi":237 * * cdef inline _p_buffer getbuffer_w(object ob, void **base, MPI_Aint *size): * cdef _p_buffer 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, 237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_buf = ((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/asbuffer.pxi":238 * cdef inline _p_buffer getbuffer_w(object ob, void **base, MPI_Aint *size): * cdef _p_buffer 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_v_base[0]) = ((void *)__pyx_v_buf->view.buf); } /* "MPI/asbuffer.pxi":239 * cdef _p_buffer 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_v_size[0]) = ((MPI_Aint)__pyx_v_buf->view.len); } /* "MPI/asbuffer.pxi":240 * if base != NULL: base[0] = buf.view.buf * if size != NULL: size[0] = buf.view.len * return buf # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_buf)); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "MPI/asbuffer.pxi":236 * return buf * * cdef inline _p_buffer getbuffer_w(object ob, void **base, MPI_Aint *size): # <<<<<<<<<<<<<< * cdef _p_buffer 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; } /* "MPI/asmemory.pxi":23 * void *emptymemory '((void*)"")' * * cdef inline object asmemory(object ob, void **base, MPI_Aint *size): # <<<<<<<<<<<<<< * cdef _p_buffer buf = getbuffer_w(ob, base, size) * return buf */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asmemory(PyObject *__pyx_v_ob, void **__pyx_v_base, MPI_Aint *__pyx_v_size) { struct __pyx_obj_6mpi4py_3MPI__p_buffer *__pyx_v_buf = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("asmemory", 0); /* "MPI/asmemory.pxi":24 * * cdef inline object asmemory(object ob, void **base, MPI_Aint *size): * cdef _p_buffer buf = getbuffer_w(ob, base, size) # <<<<<<<<<<<<<< * return buf * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_ob, __pyx_v_base, __pyx_v_size)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_buf = ((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/asmemory.pxi":25 * cdef inline object asmemory(object ob, void **base, MPI_Aint *size): * cdef _p_buffer buf = getbuffer_w(ob, base, size) * return buf # <<<<<<<<<<<<<< * * cdef inline object tomemory(void *base, MPI_Aint size): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_buf)); __pyx_r = ((PyObject *)__pyx_v_buf); goto __pyx_L0; /* "MPI/asmemory.pxi":23 * void *emptymemory '((void*)"")' * * cdef inline object asmemory(object ob, void **base, MPI_Aint *size): # <<<<<<<<<<<<<< * cdef _p_buffer buf = getbuffer_w(ob, base, size) * return buf */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.asmemory", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_buf); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/asmemory.pxi":27 * return buf * * cdef inline object tomemory(void *base, MPI_Aint size): # <<<<<<<<<<<<<< * if base == NULL and size == 0: base = emptymemory * if PYPY and PY3: return tobuffer(base, size) */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_tomemory(void *__pyx_v_base, MPI_Aint __pyx_v_size) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("tomemory", 0); /* "MPI/asmemory.pxi":28 * * cdef inline object tomemory(void *base, MPI_Aint size): * if base == NULL and size == 0: base = emptymemory # <<<<<<<<<<<<<< * if PYPY and PY3: return tobuffer(base, size) * return PyMemoryView_FromMemory(base, size, PyBUF_WRITE) */ __pyx_t_2 = ((__pyx_v_base == NULL) != 0); if (__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L4_bool_binop_done; } __pyx_t_2 = ((__pyx_v_size == 0) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { __pyx_v_base = ((void*)""); } /* "MPI/asmemory.pxi":29 * cdef inline object tomemory(void *base, MPI_Aint size): * if base == NULL and size == 0: base = emptymemory * if PYPY and PY3: return tobuffer(base, size) # <<<<<<<<<<<<<< * return PyMemoryView_FromMemory(base, size, PyBUF_WRITE) * */ if (PyMPI_RUNTIME_PYPY) { } else { __pyx_t_1 = PyMPI_RUNTIME_PYPY; goto __pyx_L7_bool_binop_done; } __pyx_t_1 = (PY_MAJOR_VERSION>=3); __pyx_L7_bool_binop_done:; if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_tobuffer(__pyx_v_base, __pyx_v_size)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 29, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "MPI/asmemory.pxi":30 * if base == NULL and size == 0: base = emptymemory * if PYPY and PY3: return tobuffer(base, size) * return PyMemoryView_FromMemory(base, size, PyBUF_WRITE) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyMemoryView_FromMemory(((char *)__pyx_v_base), __pyx_v_size, PyBUF_WRITE); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 30, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/asmemory.pxi":27 * return buf * * cdef inline object tomemory(void *base, MPI_Aint size): # <<<<<<<<<<<<<< * if base == NULL and size == 0: base = emptymemory * if PYPY and PY3: return tobuffer(base, size) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("mpi4py.MPI.tomemory", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/asmemory.pxi":38 * 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); /* "MPI/asmemory.pxi":39 * cdef void *buf * def __cinit__(self): * self.buf = NULL # <<<<<<<<<<<<<< * def __dealloc__(self): * PyMem_Free(self.buf) */ __pyx_v_self->buf = NULL; /* "MPI/asmemory.pxi":38 * 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; } /* "MPI/asmemory.pxi":40 * 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); /* "MPI/asmemory.pxi":41 * 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); /* "MPI/asmemory.pxi":40 * def __cinit__(self): * self.buf = NULL * def __dealloc__(self): # <<<<<<<<<<<<<< * PyMem_Free(self.buf) * */ /* function exit code */ __Pyx_RefNannyFinishContext(); } /* "MPI/asmemory.pxi":43 * 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; __Pyx_RefNannySetupContext("allocate", 0); /* "MPI/asmemory.pxi":44 * * 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 (__pyx_t_1) { /* "MPI/asmemory.pxi":45 * 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__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 45, __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, 45, __pyx_L1_error) /* "MPI/asmemory.pxi":44 * * 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: */ } /* "MPI/asmemory.pxi":46 * 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 (__pyx_t_1) { /* "MPI/asmemory.pxi":47 * 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__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 47, __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, 47, __pyx_L1_error) /* "MPI/asmemory.pxi":46 * 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 */ } /* "MPI/asmemory.pxi":48 * 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); /* "MPI/asmemory.pxi":49 * 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 = __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, 49, __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_v_ob = ((struct __pyx_obj_6mpi4py_3MPI__p_mem *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/asmemory.pxi":50 * 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); /* "MPI/asmemory.pxi":51 * 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 (__pyx_t_1) { PyErr_NoMemory(); __PYX_ERR(2, 51, __pyx_L1_error) } /* "MPI/asmemory.pxi":52 * 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; (__pyx_v_buf[0]) = __pyx_t_4; } /* "MPI/asmemory.pxi":53 * if ob.buf == NULL: raise MemoryError * if buf != NULL: buf[0] = ob.buf * return ob # <<<<<<<<<<<<<< * * cdef inline _p_mem allocate_int(int n, int **p): */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_ob)); __pyx_r = __pyx_v_ob; goto __pyx_L0; /* "MPI/asmemory.pxi":43 * 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; } /* "MPI/asmemory.pxi":55 * return ob * * cdef inline _p_mem allocate_int(int n, int **p): # <<<<<<<<<<<<<< * cdef _p_mem ob = allocate(n, sizeof(int), NULL) * p[0] = ob.buf */ static CYTHON_INLINE struct __pyx_obj_6mpi4py_3MPI__p_mem *__pyx_f_6mpi4py_3MPI_allocate_int(int __pyx_v_n, int **__pyx_v_p) { struct __pyx_obj_6mpi4py_3MPI__p_mem *__pyx_v_ob = 0; struct __pyx_obj_6mpi4py_3MPI__p_mem *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("allocate_int", 0); /* "MPI/asmemory.pxi":56 * * cdef inline _p_mem allocate_int(int n, int **p): * cdef _p_mem ob = allocate(n, sizeof(int), NULL) # <<<<<<<<<<<<<< * p[0] = ob.buf * return ob */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_n, (sizeof(int)), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_ob = ((struct __pyx_obj_6mpi4py_3MPI__p_mem *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/asmemory.pxi":57 * cdef inline _p_mem allocate_int(int n, int **p): * cdef _p_mem ob = allocate(n, sizeof(int), NULL) * p[0] = ob.buf # <<<<<<<<<<<<<< * return ob * */ (__pyx_v_p[0]) = ((int *)__pyx_v_ob->buf); /* "MPI/asmemory.pxi":58 * cdef _p_mem ob = allocate(n, sizeof(int), NULL) * p[0] = ob.buf * return ob # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_ob)); __pyx_r = __pyx_v_ob; goto __pyx_L0; /* "MPI/asmemory.pxi":55 * return ob * * cdef inline _p_mem allocate_int(int n, int **p): # <<<<<<<<<<<<<< * cdef _p_mem ob = allocate(n, sizeof(int), NULL) * p[0] = ob.buf */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.allocate_int", __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; } /* "MPI/asarray.pxi":3 * # ----------------------------------------------------------------------------- * * cdef inline object newarray_int(Py_ssize_t n, int **p): # <<<<<<<<<<<<<< * return allocate(n, sizeof(int), p) * */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_newarray_int(Py_ssize_t __pyx_v_n, int **__pyx_v_p) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("newarray_int", 0); /* "MPI/asarray.pxi":4 * * cdef inline object newarray_int(Py_ssize_t n, int **p): * return allocate(n, sizeof(int), p) # <<<<<<<<<<<<<< * * cdef inline object getarray_int(object ob, int *n, int **p): */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_n, (sizeof(int)), ((void **)__pyx_v_p))); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/asarray.pxi":3 * # ----------------------------------------------------------------------------- * * cdef inline object newarray_int(Py_ssize_t n, int **p): # <<<<<<<<<<<<<< * return allocate(n, sizeof(int), p) * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.newarray_int", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/asarray.pxi":6 * return allocate(n, sizeof(int), p) * * cdef inline object getarray_int(object ob, int *n, int **p): # <<<<<<<<<<<<<< * cdef int *base = NULL * cdef Py_ssize_t i = 0, size = len(ob) */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_getarray_int(PyObject *__pyx_v_ob, int *__pyx_v_n, int **__pyx_v_p) { int *__pyx_v_base; Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_size; PyObject *__pyx_v_mem = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; __Pyx_RefNannySetupContext("getarray_int", 0); /* "MPI/asarray.pxi":7 * * cdef inline object getarray_int(object ob, int *n, int **p): * cdef int *base = NULL # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0, size = len(ob) * cdef object mem = newarray_int(size, &base) */ __pyx_v_base = NULL; /* "MPI/asarray.pxi":8 * cdef inline object getarray_int(object ob, int *n, int **p): * cdef int *base = NULL * cdef Py_ssize_t i = 0, size = len(ob) # <<<<<<<<<<<<<< * cdef object mem = newarray_int(size, &base) * for i from 0 <= i < size: base[i] = ob[i] */ __pyx_v_i = 0; __pyx_t_1 = PyObject_Length(__pyx_v_ob); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(3, 8, __pyx_L1_error) __pyx_v_size = __pyx_t_1; /* "MPI/asarray.pxi":9 * cdef int *base = NULL * cdef Py_ssize_t i = 0, size = len(ob) * cdef object mem = newarray_int(size, &base) # <<<<<<<<<<<<<< * for i from 0 <= i < size: base[i] = ob[i] * p[0] = base */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_newarray_int(__pyx_v_size, (&__pyx_v_base)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_mem = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/asarray.pxi":10 * cdef Py_ssize_t i = 0, size = len(ob) * cdef object mem = newarray_int(size, &base) * for i from 0 <= i < size: base[i] = ob[i] # <<<<<<<<<<<<<< * p[0] = base * n[0] = downcast(size) */ __pyx_t_1 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_ob, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 10, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; (__pyx_v_base[__pyx_v_i]) = __pyx_t_3; } /* "MPI/asarray.pxi":11 * cdef object mem = newarray_int(size, &base) * for i from 0 <= i < size: base[i] = ob[i] * p[0] = base # <<<<<<<<<<<<<< * n[0] = downcast(size) * return mem */ (__pyx_v_p[0]) = __pyx_v_base; /* "MPI/asarray.pxi":12 * for i from 0 <= i < size: base[i] = ob[i] * p[0] = base * n[0] = downcast(size) # <<<<<<<<<<<<<< * return mem * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_downcast(__pyx_v_size); if (unlikely(__pyx_t_3 == -1 && PyErr_Occurred())) __PYX_ERR(3, 12, __pyx_L1_error) (__pyx_v_n[0]) = __pyx_t_3; /* "MPI/asarray.pxi":13 * p[0] = base * n[0] = downcast(size) * return mem # <<<<<<<<<<<<<< * * cdef inline object chkarray_int(object ob, int n, int **p): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_mem); __pyx_r = __pyx_v_mem; goto __pyx_L0; /* "MPI/asarray.pxi":6 * return allocate(n, sizeof(int), p) * * cdef inline object getarray_int(object ob, int *n, int **p): # <<<<<<<<<<<<<< * cdef int *base = NULL * cdef Py_ssize_t i = 0, size = len(ob) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.getarray_int", __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; } /* "MPI/asarray.pxi":15 * return mem * * cdef inline object chkarray_int(object ob, int n, int **p): # <<<<<<<<<<<<<< * cdef int size = 0 * cdef object mem = getarray_int(ob, &size, p) */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_chkarray_int(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; __Pyx_RefNannySetupContext("chkarray_int", 0); /* "MPI/asarray.pxi":16 * * cdef inline object chkarray_int(object ob, int n, int **p): * cdef int size = 0 # <<<<<<<<<<<<<< * cdef object mem = getarray_int(ob, &size, p) * if n != size: raise ValueError( */ __pyx_v_size = 0; /* "MPI/asarray.pxi":17 * cdef inline object chkarray_int(object ob, int n, int **p): * cdef int size = 0 * cdef object mem = getarray_int(ob, &size, p) # <<<<<<<<<<<<<< * if n != size: raise ValueError( * "expecting %d items, got %d" % (n, size)) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_ob, (&__pyx_v_size), __pyx_v_p); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_mem = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/asarray.pxi":18 * cdef int size = 0 * cdef object mem = getarray_int(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 (__pyx_t_2) { /* "MPI/asarray.pxi":19 * cdef object mem = getarray_int(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(3, 19, __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(3, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 19, __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(3, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/asarray.pxi":18 * cdef int size = 0 * cdef object mem = getarray_int(ob, &size, p) * if n != size: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (n, size)) * return mem */ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 18, __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; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 18, __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(3, 18, __pyx_L1_error) } /* "MPI/asarray.pxi":20 * 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; /* "MPI/asarray.pxi":15 * return mem * * cdef inline object chkarray_int(object ob, int n, int **p): # <<<<<<<<<<<<<< * cdef int size = 0 * cdef object mem = getarray_int(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_int", __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; } /* "MPI/asarray.pxi":24 * # ----------------------------------------------------------------------------- * * cdef inline object mkarray_int(Py_ssize_t size, int **p): # <<<<<<<<<<<<<< * return allocate(size, sizeof(int), p) * */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_mkarray_int(Py_ssize_t __pyx_v_size, int **__pyx_v_p) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("mkarray_int", 0); /* "MPI/asarray.pxi":25 * * cdef inline object mkarray_int(Py_ssize_t size, int **p): * return allocate(size, sizeof(int), p) # <<<<<<<<<<<<<< * * cdef inline object asarray_int(object sequence, */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_size, (sizeof(int)), ((void **)__pyx_v_p))); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/asarray.pxi":24 * # ----------------------------------------------------------------------------- * * cdef inline object mkarray_int(Py_ssize_t size, int **p): # <<<<<<<<<<<<<< * return allocate(size, sizeof(int), p) * */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.mkarray_int", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/asarray.pxi":27 * return allocate(size, sizeof(int), p) * * cdef inline object asarray_int(object sequence, # <<<<<<<<<<<<<< * Py_ssize_t size, int **p): * cdef int *array = NULL */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_int(PyObject *__pyx_v_sequence, Py_ssize_t __pyx_v_size, int **__pyx_v_p) { int *__pyx_v_array; Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_n; 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; __Pyx_RefNannySetupContext("asarray_int", 0); /* "MPI/asarray.pxi":29 * cdef inline object asarray_int(object sequence, * Py_ssize_t size, int **p): * cdef int *array = NULL # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0, n = len(sequence) * if size != n: raise ValueError( */ __pyx_v_array = NULL; /* "MPI/asarray.pxi":30 * Py_ssize_t size, int **p): * cdef int *array = NULL * cdef Py_ssize_t i = 0, n = len(sequence) # <<<<<<<<<<<<<< * if size != n: raise ValueError( * "expecting %d items, got %d" % (size, n)) */ __pyx_v_i = 0; __pyx_t_1 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(3, 30, __pyx_L1_error) __pyx_v_n = __pyx_t_1; /* "MPI/asarray.pxi":31 * cdef int *array = NULL * cdef Py_ssize_t i = 0, n = len(sequence) * if size != n: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, n)) * cdef object ob = allocate(n, sizeof(int), &array) */ __pyx_t_2 = ((__pyx_v_size != __pyx_v_n) != 0); if (__pyx_t_2) { /* "MPI/asarray.pxi":32 * cdef Py_ssize_t i = 0, n = len(sequence) * if size != n: raise ValueError( * "expecting %d items, got %d" % (size, n)) # <<<<<<<<<<<<<< * cdef object ob = allocate(n, sizeof(int), &array) * for i from 0 <= i < n: */ __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 32, __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(3, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "MPI/asarray.pxi":31 * cdef int *array = NULL * cdef Py_ssize_t i = 0, n = len(sequence) * if size != n: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, n)) * cdef object ob = allocate(n, sizeof(int), &array) */ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 31, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 31, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(3, 31, __pyx_L1_error) } /* "MPI/asarray.pxi":33 * if size != n: raise ValueError( * "expecting %d items, got %d" % (size, n)) * cdef object ob = allocate(n, sizeof(int), &array) # <<<<<<<<<<<<<< * for i from 0 <= i < n: * array[i] = sequence[i] */ __pyx_t_4 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_n, (sizeof(int)), ((void **)(&__pyx_v_array)))); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 33, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_ob = __pyx_t_4; __pyx_t_4 = 0; /* "MPI/asarray.pxi":34 * "expecting %d items, got %d" % (size, n)) * cdef object ob = allocate(n, sizeof(int), &array) * for i from 0 <= i < n: # <<<<<<<<<<<<<< * array[i] = sequence[i] * p[0] = array */ __pyx_t_1 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { /* "MPI/asarray.pxi":35 * cdef object ob = allocate(n, sizeof(int), &array) * for i from 0 <= i < n: * array[i] = sequence[i] # <<<<<<<<<<<<<< * p[0] = array * return ob */ __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_sequence, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(3, 35, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; (__pyx_v_array[__pyx_v_i]) = __pyx_t_6; } /* "MPI/asarray.pxi":36 * for i from 0 <= i < n: * array[i] = sequence[i] * p[0] = array # <<<<<<<<<<<<<< * return ob * */ (__pyx_v_p[0]) = __pyx_v_array; /* "MPI/asarray.pxi":37 * array[i] = sequence[i] * p[0] = array * return ob # <<<<<<<<<<<<<< * * cdef inline object asarray_Aint(object sequence, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ob); __pyx_r = __pyx_v_ob; goto __pyx_L0; /* "MPI/asarray.pxi":27 * return allocate(size, sizeof(int), p) * * cdef inline object asarray_int(object sequence, # <<<<<<<<<<<<<< * Py_ssize_t size, int **p): * cdef int *array = NULL */ /* 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_int", __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; } /* "MPI/asarray.pxi":39 * return ob * * cdef inline object asarray_Aint(object sequence, # <<<<<<<<<<<<<< * Py_ssize_t size, MPI_Aint **p): * cdef MPI_Aint *array = NULL */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_Aint(PyObject *__pyx_v_sequence, Py_ssize_t __pyx_v_size, MPI_Aint **__pyx_v_p) { MPI_Aint *__pyx_v_array; Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_n; 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; MPI_Aint __pyx_t_6; __Pyx_RefNannySetupContext("asarray_Aint", 0); /* "MPI/asarray.pxi":41 * cdef inline object asarray_Aint(object sequence, * Py_ssize_t size, MPI_Aint **p): * cdef MPI_Aint *array = NULL # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0, n = len(sequence) * if size != n: raise ValueError( */ __pyx_v_array = NULL; /* "MPI/asarray.pxi":42 * Py_ssize_t size, MPI_Aint **p): * cdef MPI_Aint *array = NULL * cdef Py_ssize_t i = 0, n = len(sequence) # <<<<<<<<<<<<<< * if size != n: raise ValueError( * "expecting %d items, got %d" % (size, n)) */ __pyx_v_i = 0; __pyx_t_1 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(3, 42, __pyx_L1_error) __pyx_v_n = __pyx_t_1; /* "MPI/asarray.pxi":43 * cdef MPI_Aint *array = NULL * cdef Py_ssize_t i = 0, n = len(sequence) * if size != n: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, n)) * cdef object ob = allocate(n, sizeof(MPI_Aint), &array) */ __pyx_t_2 = ((__pyx_v_size != __pyx_v_n) != 0); if (__pyx_t_2) { /* "MPI/asarray.pxi":44 * cdef Py_ssize_t i = 0, n = len(sequence) * if size != n: raise ValueError( * "expecting %d items, got %d" % (size, n)) # <<<<<<<<<<<<<< * cdef object ob = allocate(n, sizeof(MPI_Aint), &array) * for i from 0 <= i < n: */ __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 44, __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(3, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "MPI/asarray.pxi":43 * cdef MPI_Aint *array = NULL * cdef Py_ssize_t i = 0, n = len(sequence) * if size != n: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, n)) * cdef object ob = allocate(n, sizeof(MPI_Aint), &array) */ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(3, 43, __pyx_L1_error) } /* "MPI/asarray.pxi":45 * if size != n: raise ValueError( * "expecting %d items, got %d" % (size, n)) * cdef object ob = allocate(n, sizeof(MPI_Aint), &array) # <<<<<<<<<<<<<< * for i from 0 <= i < n: * array[i] = sequence[i] */ __pyx_t_4 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_n, (sizeof(MPI_Aint)), ((void **)(&__pyx_v_array)))); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_ob = __pyx_t_4; __pyx_t_4 = 0; /* "MPI/asarray.pxi":46 * "expecting %d items, got %d" % (size, n)) * cdef object ob = allocate(n, sizeof(MPI_Aint), &array) * for i from 0 <= i < n: # <<<<<<<<<<<<<< * array[i] = sequence[i] * p[0] = array */ __pyx_t_1 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { /* "MPI/asarray.pxi":47 * cdef object ob = allocate(n, sizeof(MPI_Aint), &array) * for i from 0 <= i < n: * array[i] = sequence[i] # <<<<<<<<<<<<<< * p[0] = array * return ob */ __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_sequence, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyInt_As_MPI_Aint(__pyx_t_4); if (unlikely((__pyx_t_6 == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(3, 47, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; (__pyx_v_array[__pyx_v_i]) = __pyx_t_6; } /* "MPI/asarray.pxi":48 * for i from 0 <= i < n: * array[i] = sequence[i] * p[0] = array # <<<<<<<<<<<<<< * return ob * */ (__pyx_v_p[0]) = __pyx_v_array; /* "MPI/asarray.pxi":49 * array[i] = sequence[i] * p[0] = array * return ob # <<<<<<<<<<<<<< * * cdef inline object asarray_Datatype(object sequence, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ob); __pyx_r = __pyx_v_ob; goto __pyx_L0; /* "MPI/asarray.pxi":39 * return ob * * cdef inline object asarray_Aint(object sequence, # <<<<<<<<<<<<<< * Py_ssize_t size, MPI_Aint **p): * cdef MPI_Aint *array = NULL */ /* 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_Aint", __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; } /* "MPI/asarray.pxi":51 * return ob * * cdef inline object asarray_Datatype(object sequence, # <<<<<<<<<<<<<< * Py_ssize_t size, MPI_Datatype **p): * cdef MPI_Datatype *array = NULL */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_Datatype(PyObject *__pyx_v_sequence, Py_ssize_t __pyx_v_size, MPI_Datatype **__pyx_v_p) { MPI_Datatype *__pyx_v_array; Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_n; 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; MPI_Datatype __pyx_t_6; __Pyx_RefNannySetupContext("asarray_Datatype", 0); /* "MPI/asarray.pxi":53 * cdef inline object asarray_Datatype(object sequence, * Py_ssize_t size, MPI_Datatype **p): * cdef MPI_Datatype *array = NULL # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0, n = len(sequence) * if size != n: raise ValueError( */ __pyx_v_array = NULL; /* "MPI/asarray.pxi":54 * Py_ssize_t size, MPI_Datatype **p): * cdef MPI_Datatype *array = NULL * cdef Py_ssize_t i = 0, n = len(sequence) # <<<<<<<<<<<<<< * if size != n: raise ValueError( * "expecting %d items, got %d" % (size, n)) */ __pyx_v_i = 0; __pyx_t_1 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(3, 54, __pyx_L1_error) __pyx_v_n = __pyx_t_1; /* "MPI/asarray.pxi":55 * cdef MPI_Datatype *array = NULL * cdef Py_ssize_t i = 0, n = len(sequence) * if size != n: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, n)) * cdef object ob = allocate(n, sizeof(MPI_Datatype), &array) */ __pyx_t_2 = ((__pyx_v_size != __pyx_v_n) != 0); if (__pyx_t_2) { /* "MPI/asarray.pxi":56 * cdef Py_ssize_t i = 0, n = len(sequence) * if size != n: raise ValueError( * "expecting %d items, got %d" % (size, n)) # <<<<<<<<<<<<<< * cdef object ob = allocate(n, sizeof(MPI_Datatype), &array) * for i from 0 <= i < n: */ __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 56, __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(3, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "MPI/asarray.pxi":55 * cdef MPI_Datatype *array = NULL * cdef Py_ssize_t i = 0, n = len(sequence) * if size != n: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, n)) * cdef object ob = allocate(n, sizeof(MPI_Datatype), &array) */ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(3, 55, __pyx_L1_error) } /* "MPI/asarray.pxi":57 * if size != n: raise ValueError( * "expecting %d items, got %d" % (size, n)) * cdef object ob = allocate(n, sizeof(MPI_Datatype), &array) # <<<<<<<<<<<<<< * for i from 0 <= i < n: * array[i] = (sequence[i]).ob_mpi */ __pyx_t_4 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_n, (sizeof(MPI_Datatype)), ((void **)(&__pyx_v_array)))); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 57, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_ob = __pyx_t_4; __pyx_t_4 = 0; /* "MPI/asarray.pxi":58 * "expecting %d items, got %d" % (size, n)) * cdef object ob = allocate(n, sizeof(MPI_Datatype), &array) * for i from 0 <= i < n: # <<<<<<<<<<<<<< * array[i] = (sequence[i]).ob_mpi * p[0] = array */ __pyx_t_1 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { /* "MPI/asarray.pxi":59 * cdef object ob = allocate(n, sizeof(MPI_Datatype), &array) * for i from 0 <= i < n: * array[i] = (sequence[i]).ob_mpi # <<<<<<<<<<<<<< * p[0] = array * return ob */ __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_sequence, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (!(likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_6mpi4py_3MPI_Datatype)))) __PYX_ERR(3, 59, __pyx_L1_error) __pyx_t_6 = ((struct PyMPIDatatypeObject *)__pyx_t_4)->ob_mpi; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; (__pyx_v_array[__pyx_v_i]) = __pyx_t_6; } /* "MPI/asarray.pxi":60 * for i from 0 <= i < n: * array[i] = (sequence[i]).ob_mpi * p[0] = array # <<<<<<<<<<<<<< * return ob * */ (__pyx_v_p[0]) = __pyx_v_array; /* "MPI/asarray.pxi":61 * 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; /* "MPI/asarray.pxi":51 * return ob * * cdef inline object asarray_Datatype(object sequence, # <<<<<<<<<<<<<< * Py_ssize_t size, MPI_Datatype **p): * cdef MPI_Datatype *array = NULL */ /* 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; } /* "MPI/asarray.pxi":63 * return ob * * cdef inline object asarray_Info(object sequence, # <<<<<<<<<<<<<< * Py_ssize_t size, MPI_Info **p): * cdef MPI_Info *array = NULL */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_Info(PyObject *__pyx_v_sequence, Py_ssize_t __pyx_v_size, MPI_Info **__pyx_v_p) { MPI_Info *__pyx_v_array; Py_ssize_t __pyx_v_i; 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; Py_ssize_t __pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; __Pyx_RefNannySetupContext("asarray_Info", 0); /* "MPI/asarray.pxi":65 * cdef inline object asarray_Info(object sequence, * Py_ssize_t size, MPI_Info **p): * cdef MPI_Info *array = NULL # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0 * cdef MPI_Info info = MPI_INFO_NULL */ __pyx_v_array = NULL; /* "MPI/asarray.pxi":66 * Py_ssize_t size, MPI_Info **p): * cdef MPI_Info *array = NULL * cdef Py_ssize_t i = 0 # <<<<<<<<<<<<<< * cdef MPI_Info info = MPI_INFO_NULL * cdef object ob */ __pyx_v_i = 0; /* "MPI/asarray.pxi":67 * cdef MPI_Info *array = NULL * cdef Py_ssize_t i = 0 * cdef MPI_Info info = MPI_INFO_NULL # <<<<<<<<<<<<<< * cdef object ob * if sequence is None or isinstance(sequence, Info): */ __pyx_v_info = MPI_INFO_NULL; /* "MPI/asarray.pxi":69 * 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) { /* "MPI/asarray.pxi":70 * 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) { /* "MPI/asarray.pxi":71 * 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(3, 71, __pyx_L1_error) __pyx_t_4 = ((struct PyMPIInfoObject *)__pyx_v_sequence)->ob_mpi; __pyx_v_info = __pyx_t_4; /* "MPI/asarray.pxi":70 * 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) */ } /* "MPI/asarray.pxi":72 * 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)), ((void **)(&__pyx_v_array)))); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_ob = __pyx_t_5; __pyx_t_5 = 0; /* "MPI/asarray.pxi":73 * 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++) { /* "MPI/asarray.pxi":74 * 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; } /* "MPI/asarray.pxi":69 * 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; } /* "MPI/asarray.pxi":76 * 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_6 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(3, 76, __pyx_L1_error) __pyx_t_2 = ((__pyx_v_size != __pyx_t_6) != 0); if (__pyx_t_2) { /* "MPI/asarray.pxi":77 * 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 = PyInt_FromSsize_t(__pyx_v_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(3, 77, __pyx_L1_error) __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 77, __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_7); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7); __pyx_t_5 = 0; __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyString_Format(__pyx_kp_s_expecting_d_items_got_d, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "MPI/asarray.pxi":76 * 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_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(3, 76, __pyx_L1_error) } /* "MPI/asarray.pxi":78 * 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_7 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate(__pyx_v_size, (sizeof(MPI_Datatype)), ((void **)(&__pyx_v_array)))); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_v_ob = __pyx_t_7; __pyx_t_7 = 0; /* "MPI/asarray.pxi":79 * "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++) { /* "MPI/asarray.pxi":80 * 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_7 = __Pyx_GetItemInt(__pyx_v_sequence, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (!(likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_6mpi4py_3MPI_Info)))) __PYX_ERR(3, 80, __pyx_L1_error) __pyx_t_4 = ((struct PyMPIInfoObject *)__pyx_t_7)->ob_mpi; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; (__pyx_v_array[__pyx_v_i]) = __pyx_t_4; } } __pyx_L3:; /* "MPI/asarray.pxi":81 * for i from 0 <= i < size: * array[i] = (sequence[i]).ob_mpi * p[0] = array # <<<<<<<<<<<<<< * return ob * */ (__pyx_v_p[0]) = __pyx_v_array; /* "MPI/asarray.pxi":82 * 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; /* "MPI/asarray.pxi":63 * return ob * * cdef inline object asarray_Info(object sequence, # <<<<<<<<<<<<<< * Py_ssize_t size, MPI_Info **p): * cdef MPI_Info *array = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __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; } /* "MPI/asarray.pxi":86 * # ----------------------------------------------------------------------------- * * 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); /* "MPI/asarray.pxi":87 * * 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; } /* "MPI/asarray.pxi":88 * 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; } /* "MPI/asarray.pxi":89 * return (isinstance(obj, str) or * isinstance(obj, bytes) or * isinstance(obj, unicode)) # <<<<<<<<<<<<<< * * cdef inline object asarray_str(object sequence, char ***p): */ __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; /* "MPI/asarray.pxi":86 * # ----------------------------------------------------------------------------- * * 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; } /* "MPI/asarray.pxi":91 * isinstance(obj, unicode)) * * cdef inline object asarray_str(object sequence, char ***p): # <<<<<<<<<<<<<< * if is_string(sequence): * raise ValueError("expecting a sequence of strings") */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_str(PyObject *__pyx_v_sequence, char ***__pyx_v_p) { Py_ssize_t __pyx_v_i; Py_ssize_t __pyx_v_size; char **__pyx_v_array; PyObject *__pyx_v_ob = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; Py_ssize_t __pyx_t_3; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("asarray_str", 0); __Pyx_INCREF(__pyx_v_sequence); /* "MPI/asarray.pxi":92 * * cdef inline object asarray_str(object sequence, 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 (__pyx_t_1) { /* "MPI/asarray.pxi":93 * cdef inline object asarray_str(object sequence, char ***p): * if is_string(sequence): * raise ValueError("expecting a sequence of strings") # <<<<<<<<<<<<<< * sequence = list(sequence) * cdef Py_ssize_t i = 0, size = len(sequence) */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(3, 93, __pyx_L1_error) /* "MPI/asarray.pxi":92 * * cdef inline object asarray_str(object sequence, char ***p): * if is_string(sequence): # <<<<<<<<<<<<<< * raise ValueError("expecting a sequence of strings") * sequence = list(sequence) */ } /* "MPI/asarray.pxi":94 * if is_string(sequence): * raise ValueError("expecting a sequence of strings") * sequence = list(sequence) # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0, size = len(sequence) * cdef char** array = NULL */ __pyx_t_2 = PySequence_List(__pyx_v_sequence); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_sequence, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/asarray.pxi":95 * raise ValueError("expecting a sequence of strings") * sequence = list(sequence) * cdef Py_ssize_t i = 0, size = len(sequence) # <<<<<<<<<<<<<< * cdef char** array = NULL * cdef object ob = allocate(size+1, sizeof(char*), &array) */ __pyx_v_i = 0; __pyx_t_3 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(3, 95, __pyx_L1_error) __pyx_v_size = __pyx_t_3; /* "MPI/asarray.pxi":96 * sequence = list(sequence) * cdef Py_ssize_t i = 0, size = len(sequence) * cdef char** array = NULL # <<<<<<<<<<<<<< * cdef object ob = allocate(size+1, sizeof(char*), &array) * for i from 0 <= i < size: */ __pyx_v_array = NULL; /* "MPI/asarray.pxi":97 * cdef Py_ssize_t i = 0, size = len(sequence) * cdef char** array = NULL * cdef object ob = allocate(size+1, sizeof(char*), &array) # <<<<<<<<<<<<<< * for i from 0 <= i < size: * sequence[i] = asmpistr(sequence[i], &array[i]) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate((__pyx_v_size + 1), (sizeof(char *)), ((void **)(&__pyx_v_array)))); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_ob = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/asarray.pxi":98 * cdef char** array = NULL * cdef object ob = allocate(size+1, sizeof(char*), &array) * for i from 0 <= i < size: # <<<<<<<<<<<<<< * sequence[i] = asmpistr(sequence[i], &array[i]) * array[size] = NULL */ __pyx_t_3 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { /* "MPI/asarray.pxi":99 * cdef object ob = allocate(size+1, sizeof(char*), &array) * for i from 0 <= i < size: * sequence[i] = asmpistr(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(3, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_t_2, (&(__pyx_v_array[__pyx_v_i]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 99, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_v_sequence, __pyx_v_i, __pyx_t_4, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(3, 99, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } /* "MPI/asarray.pxi":100 * for i from 0 <= i < size: * sequence[i] = asmpistr(sequence[i], &array[i]) * array[size] = NULL # <<<<<<<<<<<<<< * p[0] = array * return (sequence, ob) */ (__pyx_v_array[__pyx_v_size]) = NULL; /* "MPI/asarray.pxi":101 * sequence[i] = asmpistr(sequence[i], &array[i]) * array[size] = NULL * p[0] = array # <<<<<<<<<<<<<< * return (sequence, ob) * */ (__pyx_v_p[0]) = __pyx_v_array; /* "MPI/asarray.pxi":102 * array[size] = NULL * p[0] = array * return (sequence, ob) # <<<<<<<<<<<<<< * * cdef inline object asarray_argv(object sequence, char ***p): */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_sequence); __Pyx_GIVEREF(__pyx_v_sequence); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_sequence); __Pyx_INCREF(__pyx_v_ob); __Pyx_GIVEREF(__pyx_v_ob); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_ob); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "MPI/asarray.pxi":91 * isinstance(obj, unicode)) * * cdef inline object asarray_str(object sequence, 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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.asarray_str", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ob); __Pyx_XDECREF(__pyx_v_sequence); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/asarray.pxi":104 * 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; __Pyx_RefNannySetupContext("asarray_argv", 0); __Pyx_INCREF(__pyx_v_sequence); /* "MPI/asarray.pxi":105 * * 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) { /* "MPI/asarray.pxi":106 * 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; /* "MPI/asarray.pxi":107 * if sequence is None: * p[0] = MPI_ARGV_NULL * return None # <<<<<<<<<<<<<< * if is_string(sequence): * sequence = [sequence] */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/asarray.pxi":105 * * cdef inline object asarray_argv(object sequence, char ***p): * if sequence is None: # <<<<<<<<<<<<<< * p[0] = MPI_ARGV_NULL * return None */ } /* "MPI/asarray.pxi":108 * p[0] = MPI_ARGV_NULL * return None * if is_string(sequence): # <<<<<<<<<<<<<< * sequence = [sequence] * return asarray_str(sequence, p) */ __pyx_t_2 = (__pyx_f_6mpi4py_3MPI_is_string(__pyx_v_sequence) != 0); if (__pyx_t_2) { /* "MPI/asarray.pxi":109 * return None * if is_string(sequence): * sequence = [sequence] # <<<<<<<<<<<<<< * return asarray_str(sequence, p) * */ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 109, __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; /* "MPI/asarray.pxi":108 * p[0] = MPI_ARGV_NULL * return None * if is_string(sequence): # <<<<<<<<<<<<<< * sequence = [sequence] * return asarray_str(sequence, p) */ } /* "MPI/asarray.pxi":110 * if is_string(sequence): * sequence = [sequence] * return asarray_str(sequence, p) # <<<<<<<<<<<<<< * * cdef inline object asarray_cmds(object sequence, */ __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(3, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/asarray.pxi":104 * 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; } /* "MPI/asarray.pxi":112 * return asarray_str(sequence, p) * * cdef inline object asarray_cmds(object sequence, # <<<<<<<<<<<<<< * int *count, char ***p): * if is_string(sequence): */ 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; __Pyx_RefNannySetupContext("asarray_cmds", 0); /* "MPI/asarray.pxi":114 * cdef inline object asarray_cmds(object sequence, * int *count, char ***p): * if is_string(sequence): # <<<<<<<<<<<<<< * raise ValueError("expecting a sequence of strings") * count[0] = len(sequence) */ __pyx_t_1 = (__pyx_f_6mpi4py_3MPI_is_string(__pyx_v_sequence) != 0); if (__pyx_t_1) { /* "MPI/asarray.pxi":115 * int *count, char ***p): * if is_string(sequence): * raise ValueError("expecting a sequence of strings") # <<<<<<<<<<<<<< * count[0] = len(sequence) * return asarray_str(sequence, p) */ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(3, 115, __pyx_L1_error) /* "MPI/asarray.pxi":114 * cdef inline object asarray_cmds(object sequence, * int *count, char ***p): * if is_string(sequence): # <<<<<<<<<<<<<< * raise ValueError("expecting a sequence of strings") * count[0] = len(sequence) */ } /* "MPI/asarray.pxi":116 * if is_string(sequence): * raise ValueError("expecting a sequence of strings") * count[0] = len(sequence) # <<<<<<<<<<<<<< * return asarray_str(sequence, p) * */ __pyx_t_3 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(3, 116, __pyx_L1_error) (__pyx_v_count[0]) = ((int)__pyx_t_3); /* "MPI/asarray.pxi":117 * raise ValueError("expecting a sequence of strings") * count[0] = len(sequence) * return asarray_str(sequence, p) # <<<<<<<<<<<<<< * * cdef inline object asarray_argvs(object sequence, */ __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(3, 117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/asarray.pxi":112 * return asarray_str(sequence, p) * * cdef inline object asarray_cmds(object sequence, # <<<<<<<<<<<<<< * int *count, char ***p): * if is_string(sequence): */ /* 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_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/asarray.pxi":119 * return asarray_str(sequence, p) * * cdef inline object asarray_argvs(object sequence, # <<<<<<<<<<<<<< * Py_ssize_t size, char ****p): * if sequence is None: */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_argvs(PyObject *__pyx_v_sequence, Py_ssize_t __pyx_v_size, char ****__pyx_v_p) { Py_ssize_t __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; __Pyx_RefNannySetupContext("asarray_argvs", 0); __Pyx_INCREF(__pyx_v_sequence); /* "MPI/asarray.pxi":121 * cdef inline object asarray_argvs(object sequence, * Py_ssize_t 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) { /* "MPI/asarray.pxi":122 * Py_ssize_t 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; /* "MPI/asarray.pxi":123 * if sequence is None: * p[0] = MPI_ARGVS_NULL * return None # <<<<<<<<<<<<<< * if is_string(sequence): * sequence = [sequence] * size */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/asarray.pxi":121 * cdef inline object asarray_argvs(object sequence, * Py_ssize_t size, char ****p): * if sequence is None: # <<<<<<<<<<<<<< * p[0] = MPI_ARGVS_NULL * return None */ } /* "MPI/asarray.pxi":124 * 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) { /* "MPI/asarray.pxi":125 * 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(3, 125, __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; /* "MPI/asarray.pxi":124 * p[0] = MPI_ARGVS_NULL * return None * if is_string(sequence): # <<<<<<<<<<<<<< * sequence = [sequence] * size * else: */ goto __pyx_L4; } /* "MPI/asarray.pxi":127 * 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(3, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_sequence, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/asarray.pxi":128 * else: * sequence = list(sequence) * if size != len(sequence): raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, len(sequence))) * cdef Py_ssize_t i = 0 */ __pyx_t_4 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(3, 128, __pyx_L1_error) __pyx_t_2 = ((__pyx_v_size != __pyx_t_4) != 0); if (__pyx_t_2) { /* "MPI/asarray.pxi":129 * sequence = list(sequence) * if size != len(sequence): raise ValueError( * "expecting %d items, got %d" % (size, len(sequence))) # <<<<<<<<<<<<<< * cdef Py_ssize_t i = 0 * cdef char*** array = NULL */ __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyObject_Length(__pyx_v_sequence); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(3, 129, __pyx_L1_error) __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 129, __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(3, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "MPI/asarray.pxi":128 * else: * sequence = list(sequence) * if size != len(sequence): raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (size, len(sequence))) * cdef Py_ssize_t i = 0 */ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 128, __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(3, 128, __pyx_L1_error) } } __pyx_L4:; /* "MPI/asarray.pxi":130 * if size != len(sequence): raise ValueError( * "expecting %d items, got %d" % (size, len(sequence))) * cdef Py_ssize_t i = 0 # <<<<<<<<<<<<<< * cdef char*** array = NULL * cdef object ob = allocate(size+1, sizeof(char**), &array) */ __pyx_v_i = 0; /* "MPI/asarray.pxi":131 * "expecting %d items, got %d" % (size, len(sequence))) * cdef Py_ssize_t i = 0 * cdef char*** array = NULL # <<<<<<<<<<<<<< * cdef object ob = allocate(size+1, sizeof(char**), &array) * cdef object argv */ __pyx_v_array = NULL; /* "MPI/asarray.pxi":132 * cdef Py_ssize_t 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_5 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate((__pyx_v_size + 1), (sizeof(char **)), ((void **)(&__pyx_v_array)))); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_ob = __pyx_t_5; __pyx_t_5 = 0; /* "MPI/asarray.pxi":134 * 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_4 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_4; __pyx_v_i++) { /* "MPI/asarray.pxi":135 * 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_5 = __Pyx_GetItemInt(__pyx_v_sequence, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_argv, __pyx_t_5); __pyx_t_5 = 0; /* "MPI/asarray.pxi":136 * 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_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_argv, __pyx_t_5); __pyx_t_5 = 0; } /* "MPI/asarray.pxi":137 * argv = sequence[i] * if argv is None: argv = [] * sequence[i] = asarray_argv(argv, &array[i]) # <<<<<<<<<<<<<< * array[size] = NULL * p[0] = array */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_asarray_argv(__pyx_v_argv, (&(__pyx_v_array[__pyx_v_i]))); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(__Pyx_SetItemInt(__pyx_v_sequence, __pyx_v_i, __pyx_t_5, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(3, 137, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } /* "MPI/asarray.pxi":138 * 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; /* "MPI/asarray.pxi":139 * sequence[i] = asarray_argv(argv, &array[i]) * array[size] = NULL * p[0] = array # <<<<<<<<<<<<<< * return (sequence, ob) * */ (__pyx_v_p[0]) = __pyx_v_array; /* "MPI/asarray.pxi":140 * array[size] = NULL * p[0] = array * return (sequence, ob) # <<<<<<<<<<<<<< * * cdef inline object asarray_nprocs(object sequence, */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_sequence); __Pyx_GIVEREF(__pyx_v_sequence); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_sequence); __Pyx_INCREF(__pyx_v_ob); __Pyx_GIVEREF(__pyx_v_ob); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_ob); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "MPI/asarray.pxi":119 * return asarray_str(sequence, p) * * cdef inline object asarray_argvs(object sequence, # <<<<<<<<<<<<<< * Py_ssize_t size, char ****p): * if sequence is None: */ /* 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; } /* "MPI/asarray.pxi":142 * return (sequence, ob) * * cdef inline object asarray_nprocs(object sequence, # <<<<<<<<<<<<<< * Py_ssize_t size, int **p): * cdef Py_ssize_t i = 0 */ static CYTHON_INLINE PyObject *__pyx_f_6mpi4py_3MPI_asarray_nprocs(PyObject *__pyx_v_sequence, Py_ssize_t __pyx_v_size, int **__pyx_v_p) { Py_ssize_t __pyx_v_i; int __pyx_v_value; int *__pyx_v_array; PyObject *__pyx_v_ob = 0; 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; Py_ssize_t __pyx_t_6; __Pyx_RefNannySetupContext("asarray_nprocs", 0); /* "MPI/asarray.pxi":144 * cdef inline object asarray_nprocs(object sequence, * Py_ssize_t size, int **p): * cdef Py_ssize_t i = 0 # <<<<<<<<<<<<<< * cdef int value = 1 * cdef int *array = NULL */ __pyx_v_i = 0; /* "MPI/asarray.pxi":145 * Py_ssize_t size, int **p): * cdef Py_ssize_t i = 0 * cdef int value = 1 # <<<<<<<<<<<<<< * cdef int *array = NULL * cdef object ob */ __pyx_v_value = 1; /* "MPI/asarray.pxi":146 * cdef Py_ssize_t i = 0 * cdef int value = 1 * cdef int *array = NULL # <<<<<<<<<<<<<< * cdef object ob * if sequence is None or is_integral(sequence): */ __pyx_v_array = NULL; /* "MPI/asarray.pxi":148 * cdef int *array = NULL * cdef object ob * 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) { /* "MPI/asarray.pxi":149 * cdef object ob * if sequence is None or is_integral(sequence): * if sequence is not None: # <<<<<<<<<<<<<< * value = sequence * ob = newarray_int(size, &array) */ __pyx_t_1 = (__pyx_v_sequence != Py_None); __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* "MPI/asarray.pxi":150 * if sequence is None or is_integral(sequence): * if sequence is not None: * value = sequence # <<<<<<<<<<<<<< * ob = newarray_int(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(3, 150, __pyx_L1_error) __pyx_v_value = __pyx_t_4; /* "MPI/asarray.pxi":149 * cdef object ob * if sequence is None or is_integral(sequence): * if sequence is not None: # <<<<<<<<<<<<<< * value = sequence * ob = newarray_int(size, &array) */ } /* "MPI/asarray.pxi":151 * if sequence is not None: * value = sequence * ob = newarray_int(size, &array) # <<<<<<<<<<<<<< * for i from 0 <= i < size: * array[i] = value */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_newarray_int(__pyx_v_size, (&__pyx_v_array)); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_ob = __pyx_t_5; __pyx_t_5 = 0; /* "MPI/asarray.pxi":152 * value = sequence * ob = newarray_int(size, &array) * for i from 0 <= i < size: # <<<<<<<<<<<<<< * array[i] = value * else: */ __pyx_t_6 = __pyx_v_size; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_6; __pyx_v_i++) { /* "MPI/asarray.pxi":153 * ob = newarray_int(size, &array) * for i from 0 <= i < size: * array[i] = value # <<<<<<<<<<<<<< * else: * ob = asarray_int(sequence, size, &array) */ (__pyx_v_array[__pyx_v_i]) = __pyx_v_value; } /* "MPI/asarray.pxi":148 * cdef int *array = NULL * cdef object ob * if sequence is None or is_integral(sequence): # <<<<<<<<<<<<<< * if sequence is not None: * value = sequence */ goto __pyx_L3; } /* "MPI/asarray.pxi":155 * array[i] = value * else: * ob = asarray_int(sequence, size, &array) # <<<<<<<<<<<<<< * p[0] = array * return ob */ /*else*/ { __pyx_t_5 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_sequence, __pyx_v_size, (&__pyx_v_array)); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_ob = __pyx_t_5; __pyx_t_5 = 0; } __pyx_L3:; /* "MPI/asarray.pxi":156 * else: * ob = asarray_int(sequence, size, &array) * p[0] = array # <<<<<<<<<<<<<< * return ob * */ (__pyx_v_p[0]) = __pyx_v_array; /* "MPI/asarray.pxi":157 * ob = asarray_int(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; /* "MPI/asarray.pxi":142 * return (sequence, ob) * * cdef inline object asarray_nprocs(object sequence, # <<<<<<<<<<<<<< * Py_ssize_t size, int **p): * cdef Py_ssize_t i = 0 */ /* 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; } /* "MPI/helpers.pxi":23 * cdef object copy_fn * cdef object delete_fn * def __cinit__(self, copy_fn, delete_fn): # <<<<<<<<<<<<<< * 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; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_copy_fn,&__pyx_n_s_delete_fn,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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_copy_fn)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_delete_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(11, 23, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(11, 23, __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_copy_fn = values[0]; __pyx_v_delete_fn = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(11, 23, __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); /* 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) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("__cinit__", 0); __Pyx_INCREF(__pyx_v_copy_fn); __Pyx_INCREF(__pyx_v_delete_fn); /* "MPI/helpers.pxi":24 * cdef object delete_fn * def __cinit__(self, copy_fn, delete_fn): * 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); } /* "MPI/helpers.pxi":25 * def __cinit__(self, copy_fn, delete_fn): * 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); } /* "MPI/helpers.pxi":26 * 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); } /* "MPI/helpers.pxi":27 * 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_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; /* "MPI/helpers.pxi":28 * if delete_fn is True: delete_fn = None * self.copy_fn = copy_fn * self.delete_fn = delete_fn # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __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; /* "MPI/helpers.pxi":23 * cdef object copy_fn * cdef object delete_fn * def __cinit__(self, copy_fn, delete_fn): # <<<<<<<<<<<<<< * if copy_fn is False: copy_fn = None * if delete_fn is False: delete_fn = None */ /* function exit code */ __pyx_r = 0; __Pyx_XDECREF(__pyx_v_copy_fn); __Pyx_XDECREF(__pyx_v_delete_fn); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/helpers.pxi":33 * # 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); /* "MPI/helpers.pxi":34 * * 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; } /* "MPI/helpers.pxi":35 * cdef inline MPI_Status *arg_Status(object status): * if status is None: return MPI_STATUS_IGNORE * return &((status).ob_mpi) # <<<<<<<<<<<<<< * * cdef inline int equal_Status(MPI_Status* s1, MPI_Status* s2) nogil: */ __pyx_r = (&((struct PyMPIStatusObject *)__pyx_v_status)->ob_mpi); goto __pyx_L0; /* "MPI/helpers.pxi":33 * # 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; } /* "MPI/helpers.pxi":37 * return &((status).ob_mpi) * * cdef inline int equal_Status(MPI_Status* s1, MPI_Status* s2) nogil: # <<<<<<<<<<<<<< * cdef size_t i=0, n=sizeof(MPI_Status) * cdef unsigned char* a = s1 */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_equal_Status(MPI_Status *__pyx_v_s1, MPI_Status *__pyx_v_s2) { size_t __pyx_v_i; size_t __pyx_v_n; unsigned char *__pyx_v_a; unsigned char *__pyx_v_b; int __pyx_r; size_t __pyx_t_1; int __pyx_t_2; /* "MPI/helpers.pxi":38 * * cdef inline int equal_Status(MPI_Status* s1, MPI_Status* s2) nogil: * cdef size_t i=0, n=sizeof(MPI_Status) # <<<<<<<<<<<<<< * cdef unsigned char* a = s1 * cdef unsigned char* b = s2 */ __pyx_v_i = 0; __pyx_v_n = (sizeof(MPI_Status)); /* "MPI/helpers.pxi":39 * cdef inline int equal_Status(MPI_Status* s1, MPI_Status* s2) nogil: * cdef size_t i=0, n=sizeof(MPI_Status) * cdef unsigned char* a = s1 # <<<<<<<<<<<<<< * cdef unsigned char* b = s2 * for i from 0 <= i < n: */ __pyx_v_a = ((unsigned char *)__pyx_v_s1); /* "MPI/helpers.pxi":40 * cdef size_t i=0, n=sizeof(MPI_Status) * cdef unsigned char* a = s1 * cdef unsigned char* b = s2 # <<<<<<<<<<<<<< * for i from 0 <= i < n: * if a[i] != b[i]: */ __pyx_v_b = ((unsigned char *)__pyx_v_s2); /* "MPI/helpers.pxi":41 * cdef unsigned char* a = s1 * cdef unsigned char* b = s2 * for i from 0 <= i < n: # <<<<<<<<<<<<<< * if a[i] != b[i]: * return 0 */ __pyx_t_1 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { /* "MPI/helpers.pxi":42 * cdef unsigned char* b = s2 * for i from 0 <= i < n: * if a[i] != b[i]: # <<<<<<<<<<<<<< * return 0 * return 1 */ __pyx_t_2 = (((__pyx_v_a[__pyx_v_i]) != (__pyx_v_b[__pyx_v_i])) != 0); if (__pyx_t_2) { /* "MPI/helpers.pxi":43 * for i from 0 <= i < n: * if a[i] != b[i]: * return 0 # <<<<<<<<<<<<<< * return 1 * */ __pyx_r = 0; goto __pyx_L0; /* "MPI/helpers.pxi":42 * cdef unsigned char* b = s2 * for i from 0 <= i < n: * if a[i] != b[i]: # <<<<<<<<<<<<<< * return 0 * return 1 */ } } /* "MPI/helpers.pxi":44 * if a[i] != b[i]: * return 0 * return 1 # <<<<<<<<<<<<<< * * cdef inline void copy_Status(MPI_Status* si, MPI_Status* so) nogil: */ __pyx_r = 1; goto __pyx_L0; /* "MPI/helpers.pxi":37 * return &((status).ob_mpi) * * cdef inline int equal_Status(MPI_Status* s1, MPI_Status* s2) nogil: # <<<<<<<<<<<<<< * cdef size_t i=0, n=sizeof(MPI_Status) * cdef unsigned char* a = s1 */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "MPI/helpers.pxi":46 * return 1 * * cdef inline void copy_Status(MPI_Status* si, MPI_Status* so) nogil: # <<<<<<<<<<<<<< * cdef size_t i=0, n=sizeof(MPI_Status) * cdef unsigned char* a = si */ static CYTHON_INLINE void __pyx_f_6mpi4py_3MPI_copy_Status(MPI_Status *__pyx_v_si, MPI_Status *__pyx_v_so) { size_t __pyx_v_i; size_t __pyx_v_n; unsigned char *__pyx_v_a; unsigned char *__pyx_v_b; size_t __pyx_t_1; /* "MPI/helpers.pxi":47 * * cdef inline void copy_Status(MPI_Status* si, MPI_Status* so) nogil: * cdef size_t i=0, n=sizeof(MPI_Status) # <<<<<<<<<<<<<< * cdef unsigned char* a = si * cdef unsigned char* b = so */ __pyx_v_i = 0; __pyx_v_n = (sizeof(MPI_Status)); /* "MPI/helpers.pxi":48 * cdef inline void copy_Status(MPI_Status* si, MPI_Status* so) nogil: * cdef size_t i=0, n=sizeof(MPI_Status) * cdef unsigned char* a = si # <<<<<<<<<<<<<< * cdef unsigned char* b = so * for i from 0 <= i < n: b[i] = a[i] */ __pyx_v_a = ((unsigned char *)__pyx_v_si); /* "MPI/helpers.pxi":49 * cdef size_t i=0, n=sizeof(MPI_Status) * cdef unsigned char* a = si * cdef unsigned char* b = so # <<<<<<<<<<<<<< * for i from 0 <= i < n: b[i] = a[i] * */ __pyx_v_b = ((unsigned char *)__pyx_v_so); /* "MPI/helpers.pxi":50 * cdef unsigned char* a = si * cdef unsigned char* b = so * for i from 0 <= i < n: b[i] = a[i] # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_t_1 = __pyx_v_n; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { (__pyx_v_b[__pyx_v_i]) = (__pyx_v_a[__pyx_v_i]); } /* "MPI/helpers.pxi":46 * return 1 * * cdef inline void copy_Status(MPI_Status* si, MPI_Status* so) nogil: # <<<<<<<<<<<<<< * cdef size_t i=0, n=sizeof(MPI_Status) * cdef unsigned char* a = si */ /* function exit code */ } /* "MPI/typeimpl.pxi":5 * cdef dict type_keyval = {} * * cdef inline Datatype newtype(MPI_Datatype ob): # <<<<<<<<<<<<<< * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIDatatypeObject *__pyx_f_6mpi4py_3MPI_newtype(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; __Pyx_RefNannySetupContext("newtype", 0); /* "MPI/typeimpl.pxi":6 * * cdef inline Datatype newtype(MPI_Datatype ob): * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * datatype.ob_mpi = ob * return datatype */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 6, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/typeimpl.pxi":7 * cdef inline Datatype newtype(MPI_Datatype ob): * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = ob # <<<<<<<<<<<<<< * return datatype * */ __pyx_v_datatype->ob_mpi = __pyx_v_ob; /* "MPI/typeimpl.pxi":8 * cdef Datatype datatype = Datatype.__new__(Datatype) * datatype.ob_mpi = ob * return datatype # <<<<<<<<<<<<<< * * cdef inline int type_attr_copy( */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_datatype)); __pyx_r = __pyx_v_datatype; goto __pyx_L0; /* "MPI/typeimpl.pxi":5 * cdef dict type_keyval = {} * * cdef inline Datatype newtype(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.newtype", __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; } /* "MPI/typeimpl.pxi":10 * return datatype * * cdef inline int type_attr_copy( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * int keyval, */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_type_attr_copy(MPI_Datatype __pyx_v_datatype, 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; PyObject *__pyx_v_copy_fn = 0; PyObject *__pyx_v_attrval = 0; void **__pyx_v_aptr; struct PyMPIDatatypeObject *__pyx_v_handle = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; 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; __Pyx_RefNannySetupContext("type_attr_copy", 0); /* "MPI/typeimpl.pxi":17 * void *attrval_out, * int *flag) except -1: * cdef _p_keyval state = <_p_keyval>extra_state # <<<<<<<<<<<<<< * cdef object copy_fn = state.copy_fn * if copy_fn is None: */ __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; /* "MPI/typeimpl.pxi":18 * int *flag) except -1: * cdef _p_keyval state = <_p_keyval>extra_state * cdef object copy_fn = state.copy_fn # <<<<<<<<<<<<<< * if copy_fn is None: * flag[0] = 0 */ __pyx_t_1 = __pyx_v_state->copy_fn; __Pyx_INCREF(__pyx_t_1); __pyx_v_copy_fn = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/typeimpl.pxi":19 * cdef _p_keyval state = <_p_keyval>extra_state * cdef object copy_fn = state.copy_fn * if copy_fn is None: # <<<<<<<<<<<<<< * flag[0] = 0 * return 0 */ __pyx_t_2 = (__pyx_v_copy_fn == Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* "MPI/typeimpl.pxi":20 * cdef object copy_fn = state.copy_fn * if copy_fn is None: * flag[0] = 0 # <<<<<<<<<<<<<< * return 0 * cdef object attrval = attrval_in */ (__pyx_v_flag[0]) = 0; /* "MPI/typeimpl.pxi":21 * if copy_fn is None: * flag[0] = 0 * return 0 # <<<<<<<<<<<<<< * cdef object attrval = attrval_in * cdef void **aptr = attrval_out */ __pyx_r = 0; goto __pyx_L0; /* "MPI/typeimpl.pxi":19 * cdef _p_keyval state = <_p_keyval>extra_state * cdef object copy_fn = state.copy_fn * if copy_fn is None: # <<<<<<<<<<<<<< * flag[0] = 0 * return 0 */ } /* "MPI/typeimpl.pxi":22 * flag[0] = 0 * return 0 * cdef object attrval = attrval_in # <<<<<<<<<<<<<< * cdef void **aptr = attrval_out * cdef Datatype handle */ __pyx_t_1 = ((PyObject *)__pyx_v_attrval_in); __Pyx_INCREF(__pyx_t_1); __pyx_v_attrval = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/typeimpl.pxi":23 * return 0 * cdef object attrval = attrval_in * cdef void **aptr = attrval_out # <<<<<<<<<<<<<< * cdef Datatype handle * if copy_fn is not True: */ __pyx_v_aptr = ((void **)__pyx_v_attrval_out); /* "MPI/typeimpl.pxi":25 * cdef void **aptr = attrval_out * cdef Datatype handle * if copy_fn is not True: # <<<<<<<<<<<<<< * handle = newtype(datatype) * try: attrval = copy_fn(handle, keyval, attrval) */ __pyx_t_3 = (__pyx_v_copy_fn != Py_True); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { /* "MPI/typeimpl.pxi":26 * cdef Datatype handle * if copy_fn is not True: * handle = newtype(datatype) # <<<<<<<<<<<<<< * try: attrval = copy_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_DATATYPE_NULL */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_newtype(__pyx_v_datatype)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_handle = ((struct PyMPIDatatypeObject *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typeimpl.pxi":27 * if copy_fn is not True: * handle = newtype(datatype) * try: attrval = copy_fn(handle, keyval, attrval) # <<<<<<<<<<<<<< * finally: handle.ob_mpi = MPI_DATATYPE_NULL * Py_INCREF(attrval) */ /*try:*/ { __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_4)) __PYX_ERR(12, 27, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_copy_fn); __pyx_t_5 = __pyx_v_copy_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[4] = {__pyx_t_6, ((PyObject *)__pyx_v_handle), __pyx_t_4, __pyx_v_attrval}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 27, __pyx_L6_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __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[4] = {__pyx_t_6, ((PyObject *)__pyx_v_handle), __pyx_t_4, __pyx_v_attrval}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 27, __pyx_L6_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(12, 27, __pyx_L6_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(((PyObject *)__pyx_v_handle)); __Pyx_GIVEREF(((PyObject *)__pyx_v_handle)); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, ((PyObject *)__pyx_v_handle)); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_v_attrval); __Pyx_GIVEREF(__pyx_v_attrval); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_v_attrval); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 27, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_attrval, __pyx_t_1); __pyx_t_1 = 0; } /* "MPI/typeimpl.pxi":28 * handle = newtype(datatype) * try: attrval = copy_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * Py_INCREF(attrval) * Py_INCREF(state) */ /*finally:*/ { /*normal exit:*/{ __pyx_v_handle->ob_mpi = MPI_DATATYPE_NULL; goto __pyx_L7; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L6_error:; __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_PyThreadState_assign __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 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_handle->ob_mpi = MPI_DATATYPE_NULL; } __Pyx_PyThreadState_assign 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_L7:; } /* "MPI/typeimpl.pxi":25 * cdef void **aptr = attrval_out * cdef Datatype handle * if copy_fn is not True: # <<<<<<<<<<<<<< * handle = newtype(datatype) * try: attrval = copy_fn(handle, keyval, attrval) */ } /* "MPI/typeimpl.pxi":29 * try: attrval = copy_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_DATATYPE_NULL * Py_INCREF(attrval) # <<<<<<<<<<<<<< * Py_INCREF(state) * aptr[0] = attrval */ Py_INCREF(__pyx_v_attrval); /* "MPI/typeimpl.pxi":30 * finally: handle.ob_mpi = MPI_DATATYPE_NULL * Py_INCREF(attrval) * Py_INCREF(state) # <<<<<<<<<<<<<< * aptr[0] = attrval * flag[0] = 1 */ Py_INCREF(((PyObject *)__pyx_v_state)); /* "MPI/typeimpl.pxi":31 * Py_INCREF(attrval) * Py_INCREF(state) * aptr[0] = attrval # <<<<<<<<<<<<<< * flag[0] = 1 * return 0 */ (__pyx_v_aptr[0]) = ((void *)__pyx_v_attrval); /* "MPI/typeimpl.pxi":32 * Py_INCREF(state) * aptr[0] = attrval * flag[0] = 1 # <<<<<<<<<<<<<< * return 0 * */ (__pyx_v_flag[0]) = 1; /* "MPI/typeimpl.pxi":33 * aptr[0] = attrval * flag[0] = 1 * return 0 # <<<<<<<<<<<<<< * * cdef int type_attr_copy_cb( */ __pyx_r = 0; goto __pyx_L0; /* "MPI/typeimpl.pxi":10 * return datatype * * cdef inline int type_attr_copy( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("mpi4py.MPI.type_attr_copy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_copy_fn); __Pyx_XDECREF(__pyx_v_attrval); __Pyx_XDECREF((PyObject *)__pyx_v_handle); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/typeimpl.pxi":35 * return 0 * * cdef int type_attr_copy_cb( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * int keyval, */ static int __pyx_f_6mpi4py_3MPI_type_attr_copy_cb(MPI_Datatype __pyx_v_datatype, int __pyx_v_keyval, void *__pyx_v_extra_state, void *__pyx_v_attrval_in, void *__pyx_v_attrval_out, int *__pyx_v_flag) { 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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("type_attr_copy_cb", 0); /* "MPI/typeimpl.pxi":43 * int *flag) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * type_attr_copy(datatype, 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:*/ { /* "MPI/typeimpl.pxi":44 * cdef object exc * try: * type_attr_copy(datatype, keyval, extra_state, # <<<<<<<<<<<<<< * attrval_in, attrval_out, flag) * except MPIException, exc: */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_type_attr_copy(__pyx_v_datatype, __pyx_v_keyval, __pyx_v_extra_state, __pyx_v_attrval_in, __pyx_v_attrval_out, __pyx_v_flag); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(12, 44, __pyx_L3_error) /* "MPI/typeimpl.pxi":43 * int *flag) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * type_attr_copy(datatype, 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign /* "MPI/typeimpl.pxi":46 * type_attr_copy(datatype, keyval, extra_state, * attrval_in, attrval_out, flag) * except MPIException, exc: # <<<<<<<<<<<<<< * print_traceback() * return exc.Get_error_code() */ __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_4) { __Pyx_AddTraceback("mpi4py.MPI.type_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(12, 46, __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; /* "MPI/typeimpl.pxi":47 * attrval_in, attrval_out, flag) * except MPIException, exc: * print_traceback() # <<<<<<<<<<<<<< * return exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/typeimpl.pxi":48 * except MPIException, exc: * print_traceback() * return 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(12, 48, __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); } } if (__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(12, 48, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(12, 48, __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(12, 48, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_r = __pyx_t_4; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_except_return; } /* "MPI/typeimpl.pxi":49 * print_traceback() * return exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * return MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.type_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(12, 49, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); /* "MPI/typeimpl.pxi":50 * return exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * return MPI_ERR_OTHER * return MPI_SUCCESS */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/typeimpl.pxi":51 * except: * print_traceback() * return MPI_ERR_OTHER # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ __pyx_r = MPI_ERR_OTHER; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_except_return; } __pyx_L5_except_error:; /* "MPI/typeimpl.pxi":43 * int *flag) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * type_attr_copy(datatype, keyval, extra_state, * attrval_in, attrval_out, flag) */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/typeimpl.pxi":52 * print_traceback() * return MPI_ERR_OTHER * return MPI_SUCCESS # <<<<<<<<<<<<<< * * cdef inline int type_attr_delete( */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "MPI/typeimpl.pxi":35 * return 0 * * cdef int type_attr_copy_cb( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * 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_WriteUnraisable("mpi4py.MPI.type_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "MPI/typeimpl.pxi":54 * return MPI_SUCCESS * * cdef inline int type_attr_delete( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * int keyval, */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_type_attr_delete(MPI_Datatype __pyx_v_datatype, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; PyObject *__pyx_v_delete_fn = 0; struct PyMPIDatatypeObject *__pyx_v_handle = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; 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; __Pyx_RefNannySetupContext("type_attr_delete", 0); /* "MPI/typeimpl.pxi":59 * void *attrval, * void *extra_state) except -1: * cdef _p_keyval state = <_p_keyval>extra_state # <<<<<<<<<<<<<< * cdef object delete_fn = state.delete_fn * cdef Datatype handle */ __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; /* "MPI/typeimpl.pxi":60 * void *extra_state) except -1: * cdef _p_keyval state = <_p_keyval>extra_state * cdef object delete_fn = state.delete_fn # <<<<<<<<<<<<<< * cdef Datatype handle * if delete_fn is not None: */ __pyx_t_1 = __pyx_v_state->delete_fn; __Pyx_INCREF(__pyx_t_1); __pyx_v_delete_fn = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/typeimpl.pxi":62 * cdef object delete_fn = state.delete_fn * cdef Datatype handle * if delete_fn is not None: # <<<<<<<<<<<<<< * handle = newtype(datatype) * try: delete_fn(handle, keyval, attrval) */ __pyx_t_2 = (__pyx_v_delete_fn != Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* "MPI/typeimpl.pxi":63 * cdef Datatype handle * if delete_fn is not None: * handle = newtype(datatype) # <<<<<<<<<<<<<< * try: delete_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_DATATYPE_NULL */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_newtype(__pyx_v_datatype)); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_handle = ((struct PyMPIDatatypeObject *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typeimpl.pxi":64 * if delete_fn is not None: * handle = newtype(datatype) * try: delete_fn(handle, keyval, attrval) # <<<<<<<<<<<<<< * finally: handle.ob_mpi = MPI_DATATYPE_NULL * Py_DECREF(attrval) */ /*try:*/ { __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_4)) __PYX_ERR(12, 64, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_delete_fn); __pyx_t_5 = __pyx_v_delete_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[4] = {__pyx_t_6, ((PyObject *)__pyx_v_handle), __pyx_t_4, ((PyObject *)__pyx_v_attrval)}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 64, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __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[4] = {__pyx_t_6, ((PyObject *)__pyx_v_handle), __pyx_t_4, ((PyObject *)__pyx_v_attrval)}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 64, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(12, 64, __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(((PyObject *)__pyx_v_handle)); __Pyx_GIVEREF(((PyObject *)__pyx_v_handle)); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, ((PyObject *)__pyx_v_handle)); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_attrval)); __Pyx_GIVEREF(((PyObject *)__pyx_v_attrval)); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, ((PyObject *)__pyx_v_attrval)); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 64, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } /* "MPI/typeimpl.pxi":65 * handle = newtype(datatype) * try: delete_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * Py_DECREF(attrval) * Py_DECREF(extra_state) */ /*finally:*/ { /*normal exit:*/{ __pyx_v_handle->ob_mpi = MPI_DATATYPE_NULL; goto __pyx_L6; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L5_error:; __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_PyThreadState_assign __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 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_handle->ob_mpi = MPI_DATATYPE_NULL; } __Pyx_PyThreadState_assign 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:; } /* "MPI/typeimpl.pxi":62 * cdef object delete_fn = state.delete_fn * cdef Datatype handle * if delete_fn is not None: # <<<<<<<<<<<<<< * handle = newtype(datatype) * try: delete_fn(handle, keyval, attrval) */ } /* "MPI/typeimpl.pxi":66 * try: delete_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_DATATYPE_NULL * Py_DECREF(attrval) # <<<<<<<<<<<<<< * Py_DECREF(extra_state) * return 0 */ Py_DECREF(((PyObject *)__pyx_v_attrval)); /* "MPI/typeimpl.pxi":67 * finally: handle.ob_mpi = MPI_DATATYPE_NULL * Py_DECREF(attrval) * Py_DECREF(extra_state) # <<<<<<<<<<<<<< * return 0 * */ Py_DECREF(((PyObject *)__pyx_v_extra_state)); /* "MPI/typeimpl.pxi":68 * Py_DECREF(attrval) * Py_DECREF(extra_state) * return 0 # <<<<<<<<<<<<<< * * cdef int type_attr_delete_cb( */ __pyx_r = 0; goto __pyx_L0; /* "MPI/typeimpl.pxi":54 * return MPI_SUCCESS * * cdef inline int type_attr_delete( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("mpi4py.MPI.type_attr_delete", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_delete_fn); __Pyx_XDECREF((PyObject *)__pyx_v_handle); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/typeimpl.pxi":70 * return 0 * * cdef int type_attr_delete_cb( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * int keyval, */ static int __pyx_f_6mpi4py_3MPI_type_attr_delete_cb(MPI_Datatype __pyx_v_datatype, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { 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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("type_attr_delete_cb", 0); /* "MPI/typeimpl.pxi":76 * void *extra_state) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * type_attr_delete(datatype, keyval, attrval, extra_state) * except MPIException, 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:*/ { /* "MPI/typeimpl.pxi":77 * cdef object exc * try: * type_attr_delete(datatype, keyval, attrval, extra_state) # <<<<<<<<<<<<<< * except MPIException, exc: * print_traceback() */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_type_attr_delete(__pyx_v_datatype, __pyx_v_keyval, __pyx_v_attrval, __pyx_v_extra_state); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(12, 77, __pyx_L3_error) /* "MPI/typeimpl.pxi":76 * void *extra_state) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * type_attr_delete(datatype, keyval, attrval, extra_state) * except MPIException, 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign /* "MPI/typeimpl.pxi":78 * try: * type_attr_delete(datatype, keyval, attrval, extra_state) * except MPIException, exc: # <<<<<<<<<<<<<< * print_traceback() * return exc.Get_error_code() */ __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_4) { __Pyx_AddTraceback("mpi4py.MPI.type_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(12, 78, __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; /* "MPI/typeimpl.pxi":79 * type_attr_delete(datatype, keyval, attrval, extra_state) * except MPIException, exc: * print_traceback() # <<<<<<<<<<<<<< * return exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/typeimpl.pxi":80 * except MPIException, exc: * print_traceback() * return 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(12, 80, __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); } } if (__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(12, 80, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(12, 80, __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(12, 80, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_r = __pyx_t_4; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_except_return; } /* "MPI/typeimpl.pxi":81 * print_traceback() * return exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * return MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.type_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(12, 81, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); /* "MPI/typeimpl.pxi":82 * return exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * return MPI_ERR_OTHER * return MPI_SUCCESS */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/typeimpl.pxi":83 * except: * print_traceback() * return MPI_ERR_OTHER # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ __pyx_r = MPI_ERR_OTHER; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_except_return; } __pyx_L5_except_error:; /* "MPI/typeimpl.pxi":76 * void *extra_state) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * type_attr_delete(datatype, keyval, attrval, extra_state) * except MPIException, exc: */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/typeimpl.pxi":84 * print_traceback() * return MPI_ERR_OTHER * return MPI_SUCCESS # <<<<<<<<<<<<<< * * @cython.callspec("MPIAPI") */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "MPI/typeimpl.pxi":70 * return 0 * * cdef int type_attr_delete_cb( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * 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_WriteUnraisable("mpi4py.MPI.type_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "MPI/typeimpl.pxi":87 * * @cython.callspec("MPIAPI") * cdef int type_attr_copy_fn(MPI_Datatype datatype, # <<<<<<<<<<<<<< * int keyval, * void *extra_state, */ static int MPIAPI __pyx_f_6mpi4py_3MPI_type_attr_copy_fn(MPI_Datatype __pyx_v_datatype, 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; /* "MPI/typeimpl.pxi":93 * void *attrval_out, * int *flag) nogil: * if extra_state == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if attrval_in == NULL: return MPI_ERR_INTERN * if attrval_out == NULL: return MPI_ERR_INTERN */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/typeimpl.pxi":94 * int *flag) nogil: * if extra_state == NULL: return MPI_ERR_INTERN * if attrval_in == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if attrval_out == NULL: return MPI_ERR_INTERN * flag[0] = 0 */ __pyx_t_1 = ((__pyx_v_attrval_in == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/typeimpl.pxi":95 * if extra_state == NULL: return MPI_ERR_INTERN * if attrval_in == NULL: return MPI_ERR_INTERN * if attrval_out == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * flag[0] = 0 * if not Py_IsInitialized(): return MPI_SUCCESS */ __pyx_t_1 = ((__pyx_v_attrval_out == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/typeimpl.pxi":96 * if attrval_in == NULL: return MPI_ERR_INTERN * if attrval_out == NULL: return MPI_ERR_INTERN * flag[0] = 0 # <<<<<<<<<<<<<< * if not Py_IsInitialized(): return MPI_SUCCESS * return type_attr_copy_cb(datatype, keyval, extra_state, */ (__pyx_v_flag[0]) = 0; /* "MPI/typeimpl.pxi":97 * if attrval_out == NULL: return MPI_ERR_INTERN * flag[0] = 0 * if not Py_IsInitialized(): return MPI_SUCCESS # <<<<<<<<<<<<<< * return type_attr_copy_cb(datatype, keyval, extra_state, * attrval_in, attrval_out, flag) */ __pyx_t_1 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { __pyx_r = MPI_SUCCESS; goto __pyx_L0; } /* "MPI/typeimpl.pxi":98 * flag[0] = 0 * if not Py_IsInitialized(): return MPI_SUCCESS * return type_attr_copy_cb(datatype, keyval, extra_state, # <<<<<<<<<<<<<< * attrval_in, attrval_out, flag) * */ __pyx_r = __pyx_f_6mpi4py_3MPI_type_attr_copy_cb(__pyx_v_datatype, __pyx_v_keyval, __pyx_v_extra_state, __pyx_v_attrval_in, __pyx_v_attrval_out, __pyx_v_flag); goto __pyx_L0; /* "MPI/typeimpl.pxi":87 * * @cython.callspec("MPIAPI") * cdef int type_attr_copy_fn(MPI_Datatype datatype, # <<<<<<<<<<<<<< * int keyval, * void *extra_state, */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "MPI/typeimpl.pxi":102 * * @cython.callspec("MPIAPI") * cdef int type_attr_delete_fn(MPI_Datatype datatype, # <<<<<<<<<<<<<< * int keyval, * void *attrval, */ static int MPIAPI __pyx_f_6mpi4py_3MPI_type_attr_delete_fn(MPI_Datatype __pyx_v_datatype, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { int __pyx_r; int __pyx_t_1; /* "MPI/typeimpl.pxi":106 * void *attrval, * void *extra_state) nogil: * if extra_state == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if attrval == NULL: return MPI_ERR_INTERN * if not Py_IsInitialized(): return MPI_SUCCESS */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/typeimpl.pxi":107 * void *extra_state) nogil: * if extra_state == NULL: return MPI_ERR_INTERN * if attrval == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): return MPI_SUCCESS * return type_attr_delete_cb(datatype, keyval, attrval, extra_state) */ __pyx_t_1 = ((__pyx_v_attrval == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/typeimpl.pxi":108 * if extra_state == NULL: return MPI_ERR_INTERN * if attrval == NULL: return MPI_ERR_INTERN * if not Py_IsInitialized(): return MPI_SUCCESS # <<<<<<<<<<<<<< * return type_attr_delete_cb(datatype, keyval, attrval, extra_state) * */ __pyx_t_1 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { __pyx_r = MPI_SUCCESS; goto __pyx_L0; } /* "MPI/typeimpl.pxi":109 * if attrval == NULL: return MPI_ERR_INTERN * if not Py_IsInitialized(): return MPI_SUCCESS * return type_attr_delete_cb(datatype, keyval, attrval, extra_state) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = __pyx_f_6mpi4py_3MPI_type_attr_delete_cb(__pyx_v_datatype, __pyx_v_keyval, __pyx_v_attrval, __pyx_v_extra_state); goto __pyx_L0; /* "MPI/typeimpl.pxi":102 * * @cython.callspec("MPIAPI") * cdef int type_attr_delete_fn(MPI_Datatype datatype, # <<<<<<<<<<<<<< * int keyval, * void *attrval, */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "MPI/helpers.pxi":57 * include "typeimpl.pxi" * * 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); /* "MPI/helpers.pxi":58 * * 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; /* "MPI/helpers.pxi":59 * 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; } /* "MPI/helpers.pxi":60 * 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)); /* "MPI/helpers.pxi":61 * 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; } /* "MPI/helpers.pxi":62 * 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; } /* "MPI/helpers.pxi":63 * 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; } /* "MPI/helpers.pxi":64 * 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; } /* "MPI/helpers.pxi":65 * 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; /* "MPI/helpers.pxi":57 * include "typeimpl.pxi" * * 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; } /* "MPI/helpers.pxi":67 * 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; __Pyx_RefNannySetupContext("new_Datatype", 0); /* "MPI/helpers.pxi":68 * * cdef inline Datatype new_Datatype(MPI_Datatype ob): * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * datatype.ob_mpi = ob * return datatype */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 68, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/helpers.pxi":69 * 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; /* "MPI/helpers.pxi":70 * 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; /* "MPI/helpers.pxi":67 * 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; } /* "MPI/helpers.pxi":72 * 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; __Pyx_RefNannySetupContext("ref_Datatype", 0); /* "MPI/helpers.pxi":73 * * cdef inline Datatype ref_Datatype(MPI_Datatype ob): * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * datatype.ob_mpi = ob * return datatype */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 73, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/helpers.pxi":74 * 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; /* "MPI/helpers.pxi":75 * 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; /* "MPI/helpers.pxi":72 * 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; } /* "MPI/helpers.pxi":77 * 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); /* "MPI/helpers.pxi":78 * * 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; } /* "MPI/helpers.pxi":79 * 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; } /* "MPI/helpers.pxi":80 * 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; } /* "MPI/helpers.pxi":81 * 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; } /* "MPI/helpers.pxi":82 * 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; } /* "MPI/helpers.pxi":83 * 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; } /* "MPI/helpers.pxi":84 * 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; } /* "MPI/helpers.pxi":85 * 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; } /* "MPI/helpers.pxi":86 * 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; } /* "MPI/helpers.pxi":87 * 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; } /* "MPI/helpers.pxi":88 * 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; } /* "MPI/helpers.pxi":89 * 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; } /* "MPI/helpers.pxi":90 * 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; } /* "MPI/helpers.pxi":91 * 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; } /* "MPI/helpers.pxi":92 * 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; } /* "MPI/helpers.pxi":93 * 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; } /* "MPI/helpers.pxi":94 * 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; } /* "MPI/helpers.pxi":95 * 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; } /* "MPI/helpers.pxi":96 * 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; } /* "MPI/helpers.pxi":97 * 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; } /* "MPI/helpers.pxi":98 * 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; } /* "MPI/helpers.pxi":99 * 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; } /* "MPI/helpers.pxi":100 * 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; } /* "MPI/helpers.pxi":101 * 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; } /* "MPI/helpers.pxi":102 * 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; } /* "MPI/helpers.pxi":103 * 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; } /* "MPI/helpers.pxi":104 * 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; } /* "MPI/helpers.pxi":105 * 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; } /* "MPI/helpers.pxi":106 * 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; } /* "MPI/helpers.pxi":107 * 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; } /* "MPI/helpers.pxi":108 * 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; } /* "MPI/helpers.pxi":109 * 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; } /* "MPI/helpers.pxi":110 * 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; } /* "MPI/helpers.pxi":111 * 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; } /* "MPI/helpers.pxi":112 * 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; } /* "MPI/helpers.pxi":113 * 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; } /* "MPI/helpers.pxi":114 * 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; } /* "MPI/helpers.pxi":115 * 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; } /* "MPI/helpers.pxi":116 * 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; } /* "MPI/helpers.pxi":117 * 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; } /* "MPI/helpers.pxi":118 * 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; } /* "MPI/helpers.pxi":119 * 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; } /* "MPI/helpers.pxi":120 * 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; } /* "MPI/helpers.pxi":121 * 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; } /* "MPI/helpers.pxi":122 * 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; } /* "MPI/helpers.pxi":123 * 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; } /* "MPI/helpers.pxi":124 * 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; } /* "MPI/helpers.pxi":125 * 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; } /* "MPI/helpers.pxi":126 * 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; } /* "MPI/helpers.pxi":127 * 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; } /* "MPI/helpers.pxi":128 * 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; } /* "MPI/helpers.pxi":129 * 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; } /* "MPI/helpers.pxi":130 * 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; } /* "MPI/helpers.pxi":131 * 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; } /* "MPI/helpers.pxi":132 * 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; } /* "MPI/helpers.pxi":133 * 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; } /* "MPI/helpers.pxi":134 * 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; } /* "MPI/helpers.pxi":135 * 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; } /* "MPI/helpers.pxi":136 * 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; } /* "MPI/helpers.pxi":137 * 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; } /* "MPI/helpers.pxi":138 * 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; } /* "MPI/helpers.pxi":139 * 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; } /* "MPI/helpers.pxi":140 * 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; } /* "MPI/helpers.pxi":141 * 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; } /* "MPI/helpers.pxi":142 * 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; } /* "MPI/helpers.pxi":143 * 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; } /* "MPI/helpers.pxi":144 * 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; } /* "MPI/helpers.pxi":145 * 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; } /* "MPI/helpers.pxi":146 * 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; } /* "MPI/helpers.pxi":147 * 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; } /* "MPI/helpers.pxi":148 * 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; } /* "MPI/helpers.pxi":150 * 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; } /* "MPI/helpers.pxi":151 * # * 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; } /* "MPI/helpers.pxi":153 * if builtin_Datatype(ob[0]): return 0 * # * return MPI_Type_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Type_free(__pyx_v_ob); goto __pyx_L0; /* "MPI/helpers.pxi":77 * 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; } /* "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; __Pyx_RefNannySetupContext("acquire_rs", 0); /* "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; /* "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; /* "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; /* "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 == -1)) __PYX_ERR(13, 16, __pyx_L1_error) __pyx_v_n = __pyx_t_1; /* "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); /* "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)), ((void **)(&__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; /* "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++) { /* "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; } /* "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; /* "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) { /* "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)), ((void **)(&__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; /* "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++) { /* "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; } /* "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; /* "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: */ } /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("release_rs", 0); __Pyx_INCREF(__pyx_v_statuses); /* "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; /* "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); /* "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++) { /* "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; /* "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]); /* "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) { /* "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; /* "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: */ } } /* "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) { /* "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 == -1)) __PYX_ERR(13, 42, __pyx_L1_error) __pyx_v_ns = __pyx_t_1; /* "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) { /* "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) { /* "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); /* "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++) { /* "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 = __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(__pyx_t_2); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) __PYX_ERR(13, 45, __pyx_L1_error) __Pyx_DECREF(__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; /* "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; /* "MPI/reqimpl.pxi":44 * ns = len(statuses) * if nr > ns : * if isinstance(statuses, list): # <<<<<<<<<<<<<< * statuses += [Status.__new__(Status) * for i from ns <= i < nr] */ } /* "MPI/reqimpl.pxi":43 * if statuses is not None: * ns = len(statuses) * if nr > ns : # <<<<<<<<<<<<<< * if isinstance(statuses, list): * statuses += [Status.__new__(Status) */ } /* "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++) { /* "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; } /* "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 : */ } /* "MPI/reqimpl.pxi":50 * for i from 0 <= i < ns: * (statuses[i]).ob_mpi = sp[i] * return 0 # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = 0; goto __pyx_L0; /* "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; } /* "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_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); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_query_fn)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__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) } case 2: if (likely((values[2] = PyDict_GetItem(__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) } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_args)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 3); __PYX_ERR(13, 64, __pyx_L3_error) } case 4: if (likely((values[4] = PyDict_GetItem(__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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__cinit__", 0); /* "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; /* "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; /* "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; /* "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 = 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; /* "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 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_kargs); __Pyx_GIVEREF(__pyx_v_kargs); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_kargs); __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)(&PyDict_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __pyx_t_4; __pyx_t_4 = 0; } else { __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __pyx_t_4; __pyx_t_4 = 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; /* "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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI._p_greq.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "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; MPI_Status __pyx_t_5; __Pyx_RefNannySetupContext("query", 0); /* "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; /* "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; /* "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)); /* "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)); /* "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 = __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(__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_sts = ((struct PyMPIStatusObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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) { /* "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]); /* "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 = __Pyx_PyObject_Call(__pyx_v_self->query_fn, __pyx_t_1, __pyx_v_self->kargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 79, __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; /* "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_5 = __pyx_v_sts->ob_mpi; (__pyx_v_status[0]) = __pyx_t_5; /* "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) { /* "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)); /* "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 */ } /* "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) */ } /* "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; /* "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_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; } /* "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; __Pyx_RefNannySetupContext("free", 0); /* "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) { /* "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 = __Pyx_PyObject_Call(__pyx_v_self->free_fn, __pyx_v_self->args, __pyx_v_self->kargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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 */ } /* "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; /* "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_AddTraceback("mpi4py.MPI._p_greq.free", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "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; __Pyx_RefNannySetupContext("cancel", 0); /* "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) { /* "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 = __Pyx_PyObject_Call(__pyx_v_self->cancel_fn, __pyx_t_3, __pyx_v_self->kargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 92, __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; /* "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 */ } /* "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; /* "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_AddTraceback("mpi4py.MPI._p_greq.cancel", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/reqimpl.pxi":97 * # --- * * cdef int greq_query(void *extra_state, MPI_Status *status) with gil: # <<<<<<<<<<<<<< * cdef _p_greq state = <_p_greq>extra_state * cdef int ierr = MPI_SUCCESS */ 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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("greq_query", 0); /* "MPI/reqimpl.pxi":98 * * cdef int greq_query(void *extra_state, MPI_Status *status) 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; /* "MPI/reqimpl.pxi":99 * cdef int greq_query(void *extra_state, MPI_Status *status) with gil: * cdef _p_greq state = <_p_greq>extra_state * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "MPI/reqimpl.pxi":101 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.query(status) * except MPIException, 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:*/ { /* "MPI/reqimpl.pxi":102 * cdef object exc * try: * ierr = state.query(status) # <<<<<<<<<<<<<< * except MPIException, 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 == -1)) __PYX_ERR(13, 102, __pyx_L3_error) __pyx_v_ierr = __pyx_t_5; /* "MPI/reqimpl.pxi":101 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.query(status) * except MPIException, 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/reqimpl.pxi":103 * try: * ierr = state.query(status) * except MPIException, 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, 103, __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; /* "MPI/reqimpl.pxi":104 * ierr = state.query(status) * except MPIException, exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/reqimpl.pxi":105 * except MPIException, 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, 105, __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); } } if (__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(13, 105, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(13, 105, __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, 105, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_5; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } /* "MPI/reqimpl.pxi":106 * 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, 106, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_1); /* "MPI/reqimpl.pxi":107 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/reqimpl.pxi":108 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "MPI/reqimpl.pxi":101 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.query(status) * except MPIException, exc: */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/reqimpl.pxi":109 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * cdef int greq_free(void *extra_state) with gil: */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "MPI/reqimpl.pxi":97 * # --- * * cdef int greq_query(void *extra_state, MPI_Status *status) with gil: # <<<<<<<<<<<<<< * cdef _p_greq state = <_p_greq>extra_state * cdef int ierr = MPI_SUCCESS */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_WriteUnraisable("mpi4py.MPI.greq_query", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "MPI/reqimpl.pxi":111 * return ierr * * cdef int greq_free(void *extra_state) with gil: # <<<<<<<<<<<<<< * cdef _p_greq state = <_p_greq>extra_state * cdef int ierr = MPI_SUCCESS */ 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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("greq_free", 0); /* "MPI/reqimpl.pxi":112 * * cdef int greq_free(void *extra_state) 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; /* "MPI/reqimpl.pxi":113 * cdef int greq_free(void *extra_state) with gil: * cdef _p_greq state = <_p_greq>extra_state * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "MPI/reqimpl.pxi":115 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.free() * except MPIException, 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:*/ { /* "MPI/reqimpl.pxi":116 * cdef object exc * try: * ierr = state.free() # <<<<<<<<<<<<<< * except MPIException, exc: * print_traceback() */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_7_p_greq_free(__pyx_v_state); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(13, 116, __pyx_L3_error) __pyx_v_ierr = __pyx_t_5; /* "MPI/reqimpl.pxi":115 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.free() * except MPIException, 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/reqimpl.pxi":117 * try: * ierr = state.free() * except MPIException, 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, 117, __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; /* "MPI/reqimpl.pxi":118 * ierr = state.free() * except MPIException, exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/reqimpl.pxi":119 * except MPIException, 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, 119, __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); } } if (__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(13, 119, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(13, 119, __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, 119, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_5; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } /* "MPI/reqimpl.pxi":120 * 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, 120, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_1); /* "MPI/reqimpl.pxi":121 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * Py_DECREF(extra_state) */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/reqimpl.pxi":122 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * Py_DECREF(extra_state) * return ierr */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "MPI/reqimpl.pxi":115 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.free() * except MPIException, exc: */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/reqimpl.pxi":123 * print_traceback() * ierr = MPI_ERR_OTHER * Py_DECREF(extra_state) # <<<<<<<<<<<<<< * return ierr * */ Py_DECREF(((PyObject *)__pyx_v_extra_state)); /* "MPI/reqimpl.pxi":124 * ierr = MPI_ERR_OTHER * Py_DECREF(extra_state) * return ierr # <<<<<<<<<<<<<< * * cdef int greq_cancel(void *extra_state, int completed) with gil: */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "MPI/reqimpl.pxi":111 * return ierr * * cdef int greq_free(void *extra_state) with gil: # <<<<<<<<<<<<<< * cdef _p_greq state = <_p_greq>extra_state * cdef int ierr = MPI_SUCCESS */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_WriteUnraisable("mpi4py.MPI.greq_free", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "MPI/reqimpl.pxi":126 * return ierr * * cdef int greq_cancel(void *extra_state, int completed) with gil: # <<<<<<<<<<<<<< * cdef _p_greq state = <_p_greq>extra_state * cdef int ierr = MPI_SUCCESS */ 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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("greq_cancel", 0); /* "MPI/reqimpl.pxi":127 * * cdef int greq_cancel(void *extra_state, int completed) 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; /* "MPI/reqimpl.pxi":128 * cdef int greq_cancel(void *extra_state, int completed) with gil: * cdef _p_greq state = <_p_greq>extra_state * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "MPI/reqimpl.pxi":130 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.cancel(completed) * except MPIException, 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:*/ { /* "MPI/reqimpl.pxi":131 * cdef object exc * try: * ierr = state.cancel(completed) # <<<<<<<<<<<<<< * except MPIException, 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 == -1)) __PYX_ERR(13, 131, __pyx_L3_error) __pyx_v_ierr = __pyx_t_5; /* "MPI/reqimpl.pxi":130 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.cancel(completed) * except MPIException, 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/reqimpl.pxi":132 * try: * ierr = state.cancel(completed) * except MPIException, 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, 132, __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; /* "MPI/reqimpl.pxi":133 * ierr = state.cancel(completed) * except MPIException, exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/reqimpl.pxi":134 * except MPIException, 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, 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); } } if (__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(13, 134, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(13, 134, __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, 134, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_5; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } /* "MPI/reqimpl.pxi":135 * 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, 135, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_1); /* "MPI/reqimpl.pxi":136 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/reqimpl.pxi":137 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "MPI/reqimpl.pxi":130 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.cancel(completed) * except MPIException, exc: */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/reqimpl.pxi":138 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * # --- */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "MPI/reqimpl.pxi":126 * return ierr * * cdef int greq_cancel(void *extra_state, int completed) with gil: # <<<<<<<<<<<<<< * cdef _p_greq state = <_p_greq>extra_state * cdef int ierr = MPI_SUCCESS */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_WriteUnraisable("mpi4py.MPI.greq_cancel", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "MPI/reqimpl.pxi":143 * * @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; /* "MPI/reqimpl.pxi":144 * @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) { /* "MPI/reqimpl.pxi":145 * 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; /* "MPI/reqimpl.pxi":144 * @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: */ } /* "MPI/reqimpl.pxi":146 * 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) { /* "MPI/reqimpl.pxi":147 * 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; /* "MPI/reqimpl.pxi":146 * if extra_state == NULL: * return MPI_ERR_INTERN * if status == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "MPI/reqimpl.pxi":148 * if status == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return greq_query(extra_state, status) */ __pyx_t_1 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "MPI/reqimpl.pxi":149 * 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; /* "MPI/reqimpl.pxi":148 * if status == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return greq_query(extra_state, status) */ } /* "MPI/reqimpl.pxi":150 * if not Py_IsInitialized(): * return MPI_ERR_INTERN * return greq_query(extra_state, status) # <<<<<<<<<<<<<< * * @cython.callspec("MPIAPI") */ __pyx_r = __pyx_f_6mpi4py_3MPI_greq_query(__pyx_v_extra_state, __pyx_v_status); goto __pyx_L0; /* "MPI/reqimpl.pxi":143 * * @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_L0:; return __pyx_r; } /* "MPI/reqimpl.pxi":153 * * @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; /* "MPI/reqimpl.pxi":154 * @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) { /* "MPI/reqimpl.pxi":155 * 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; /* "MPI/reqimpl.pxi":154 * @cython.callspec("MPIAPI") * cdef int greq_free_fn(void *extra_state) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "MPI/reqimpl.pxi":156 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return greq_free(extra_state) */ __pyx_t_1 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "MPI/reqimpl.pxi":157 * 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; /* "MPI/reqimpl.pxi":156 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return greq_free(extra_state) */ } /* "MPI/reqimpl.pxi":158 * if not Py_IsInitialized(): * return MPI_ERR_INTERN * return greq_free(extra_state) # <<<<<<<<<<<<<< * * @cython.callspec("MPIAPI") */ __pyx_r = __pyx_f_6mpi4py_3MPI_greq_free(__pyx_v_extra_state); goto __pyx_L0; /* "MPI/reqimpl.pxi":153 * * @cython.callspec("MPIAPI") * cdef int greq_free_fn(void *extra_state) nogil: # <<<<<<<<<<<<<< * if extra_state == NULL: * return MPI_ERR_INTERN */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "MPI/reqimpl.pxi":161 * * @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; /* "MPI/reqimpl.pxi":162 * @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) { /* "MPI/reqimpl.pxi":163 * 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; /* "MPI/reqimpl.pxi":162 * @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(): */ } /* "MPI/reqimpl.pxi":164 * 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 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "MPI/reqimpl.pxi":165 * 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; /* "MPI/reqimpl.pxi":164 * if extra_state == NULL: * return MPI_ERR_INTERN * if not Py_IsInitialized(): # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * return greq_cancel(extra_state, completed) */ } /* "MPI/reqimpl.pxi":166 * if not Py_IsInitialized(): * return MPI_ERR_INTERN * return greq_cancel(extra_state, completed) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = __pyx_f_6mpi4py_3MPI_greq_cancel(__pyx_v_extra_state, __pyx_v_completed); goto __pyx_L0; /* "MPI/reqimpl.pxi":161 * * @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_L0:; return __pyx_r; } /* "MPI/helpers.pxi":160 * 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; __Pyx_RefNannySetupContext("new_Request", 0); /* "MPI/helpers.pxi":161 * * cdef inline Request new_Request(MPI_Request ob): * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * request.ob_mpi = ob * return request */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 161, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/helpers.pxi":162 * 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; /* "MPI/helpers.pxi":163 * 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; /* "MPI/helpers.pxi":160 * 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; } /* "MPI/helpers.pxi":165 * 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); /* "MPI/helpers.pxi":166 * * 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; } /* "MPI/helpers.pxi":167 * 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; } /* "MPI/helpers.pxi":169 * 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; } /* "MPI/helpers.pxi":170 * # * if not mpi_active(): return 0 * return MPI_Request_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Request_free(__pyx_v_ob); goto __pyx_L0; /* "MPI/helpers.pxi":165 * 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; } /* "MPI/helpers.pxi":175 * # 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; __Pyx_RefNannySetupContext("new_Message", 0); /* "MPI/helpers.pxi":176 * * cdef inline Message new_Message(MPI_Message ob): * cdef Message message = Message.__new__(Message) # <<<<<<<<<<<<<< * message.ob_mpi = ob * return message */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 176, __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_message = ((struct PyMPIMessageObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/helpers.pxi":177 * 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; /* "MPI/helpers.pxi":178 * 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; /* "MPI/helpers.pxi":175 * # 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; } /* "MPI/helpers.pxi":180 * 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); /* "MPI/helpers.pxi":181 * * 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; } /* "MPI/helpers.pxi":182 * 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; } /* "MPI/helpers.pxi":183 * 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; } /* "MPI/helpers.pxi":185 * 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; } /* "MPI/helpers.pxi":187 * if not mpi_active(): return 0 * # ob[0] = MPI_MESSAGE_NULL * return 0 # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = 0; goto __pyx_L0; /* "MPI/helpers.pxi":180 * 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; } /* "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; __Pyx_RefNannySetupContext("_op_MAX", 0); /* "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) { /* "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; /* "MPI/opimpl.pxi":5 * cdef object _op_MAX(object x, object y): * """maximum""" * if y > x: # <<<<<<<<<<<<<< * return y * else: */ } /* "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; } /* "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; } /* "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; __Pyx_RefNannySetupContext("_op_MIN", 0); /* "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) { /* "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; /* "MPI/opimpl.pxi":12 * cdef object _op_MIN(object x, object y): * """minimum""" * if y < x: # <<<<<<<<<<<<<< * return y * else: */ } /* "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; } /* "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; } /* "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; __Pyx_RefNannySetupContext("_op_SUM", 0); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("_op_PROD", 0); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("_op_BAND", 0); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("_op_BOR", 0); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("_op_BXOR", 0); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("_op_LAND", 0); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("_op_LOR", 0); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("_op_LXOR", 0); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("_op_MAXLOC", 0); /* "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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif 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; /* "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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif 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; /* "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) { /* "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; /* "MPI/opimpl.pxi":54 * u, i = x * v, j = y * if u > v: # <<<<<<<<<<<<<< * return u, i * elif v > u: */ } /* "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) { /* "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; /* "MPI/opimpl.pxi":56 * if u > v: * return u, i * elif v > u: # <<<<<<<<<<<<<< * return v, j * elif j < i: */ } /* "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) { /* "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; /* "MPI/opimpl.pxi":58 * elif v > u: * return v, j * elif j < i: # <<<<<<<<<<<<<< * return v, j * else: */ } /* "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; } /* "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; } /* "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; __Pyx_RefNannySetupContext("_op_MINLOC", 0); /* "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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif 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; /* "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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif 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; /* "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) { /* "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; /* "MPI/opimpl.pxi":68 * u, i = x * v, j = y * if u < v: # <<<<<<<<<<<<<< * return u, i * elif v < u: */ } /* "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) { /* "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; /* "MPI/opimpl.pxi":70 * if u < v: * return u, i * elif v < u: # <<<<<<<<<<<<<< * return v, j * elif j < i: */ } /* "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) { /* "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; /* "MPI/opimpl.pxi":72 * elif v < u: * return v, j * elif j < i: # <<<<<<<<<<<<<< * return v, j * else: */ } /* "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; } /* "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; } /* "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); /* "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; /* "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; } /* "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); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("op_user_py", 0); /* "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; /* "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; } /* "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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("op_user_mpi", 0); /* "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:*/ { /* "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 = __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(__pyx_t_4); __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_5); __pyx_t_5 = 0; /* "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]); /* "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 = __pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_a, __pyx_v_n); if (unlikely(!__pyx_t_5)) __PYX_ERR(14, 99, __pyx_L14_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_b, __pyx_v_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 99, __pyx_L14_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_L14_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; } /* "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_L15; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L14_error:; __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_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; 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; } __Pyx_PyThreadState_assign 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_L15:; } /* "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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "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: exception in " */ /*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); /* "MPI/opimpl.pxi":103 * except: * # print the full exception traceback and abort. * PySys_WriteStderr(b"Fatal Python error: exception in " # <<<<<<<<<<<<<< * b"user-defined reduction operation\n", 0) * try: print_traceback() */ PySys_WriteStderr(((char *)"Fatal Python error: exception in user-defined reduction operation\n"), 0); /* "MPI/opimpl.pxi":105 * PySys_WriteStderr(b"Fatal Python error: exception in " * b"user-defined reduction operation\n", 0) * try: print_traceback() # <<<<<<<<<<<<<< * finally: MPI_Abort(MPI_COMM_WORLD, 1) * */ /*try:*/ { __pyx_f_6mpi4py_3MPI_print_traceback(); } /* "MPI/opimpl.pxi":106 * b"user-defined reduction operation\n", 0) * 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_L26; } __pyx_L26:; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "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_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "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, 0, 0); __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_datatype); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif } /* "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; /* "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 * if (op_user_registry) == NULL: MPI_Abort(MPI_COMM_WORLD, 1) */ __pyx_t_1 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { ((void)MPI_Abort(MPI_COMM_WORLD, 1)); } /* "MPI/opimpl.pxi":113 * if not Py_IsInitialized(): 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 * cdef MPI_Aint lb=0, extent=0 */ __pyx_t_1 = ((((void *)__pyx_v_6mpi4py_3MPI_op_user_registry) == NULL) != 0); if (__pyx_t_1) { ((void)MPI_Abort(MPI_COMM_WORLD, 1)); } /* "MPI/opimpl.pxi":115 * 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 # <<<<<<<<<<<<<< * MPI_Type_get_extent(t[0], &lb, &extent) * cdef MPI_Aint n = plen[0] * extent */ __pyx_v_lb = 0; __pyx_v_extent = 0; /* "MPI/opimpl.pxi":116 * # 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))); /* "MPI/opimpl.pxi":117 * 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); /* "MPI/opimpl.pxi":119 * 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); /* "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 */ } /* "MPI/opimpl.pxi":122 * * @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) { /* "MPI/opimpl.pxi":123 * @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); /* "MPI/opimpl.pxi":122 * * @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 */ } /* "MPI/opimpl.pxi":125 * 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) { /* "MPI/opimpl.pxi":126 * @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); /* "MPI/opimpl.pxi":125 * 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 */ } /* "MPI/opimpl.pxi":128 * 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) { /* "MPI/opimpl.pxi":129 * @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); /* "MPI/opimpl.pxi":128 * 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 */ } /* "MPI/opimpl.pxi":131 * 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) { /* "MPI/opimpl.pxi":132 * @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); /* "MPI/opimpl.pxi":131 * 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 */ } /* "MPI/opimpl.pxi":134 * 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) { /* "MPI/opimpl.pxi":135 * @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); /* "MPI/opimpl.pxi":134 * 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 */ } /* "MPI/opimpl.pxi":137 * 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) { /* "MPI/opimpl.pxi":138 * @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); /* "MPI/opimpl.pxi":137 * 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 */ } /* "MPI/opimpl.pxi":140 * 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) { /* "MPI/opimpl.pxi":141 * @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); /* "MPI/opimpl.pxi":140 * 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 */ } /* "MPI/opimpl.pxi":143 * 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) { /* "MPI/opimpl.pxi":144 * @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); /* "MPI/opimpl.pxi":143 * 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 */ } /* "MPI/opimpl.pxi":146 * 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) { /* "MPI/opimpl.pxi":147 * @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); /* "MPI/opimpl.pxi":146 * 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 */ } /* "MPI/opimpl.pxi":149 * 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) { /* "MPI/opimpl.pxi":150 * @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); /* "MPI/opimpl.pxi":149 * 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 */ } /* "MPI/opimpl.pxi":152 * 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) { /* "MPI/opimpl.pxi":153 * @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); /* "MPI/opimpl.pxi":152 * 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 */ } /* "MPI/opimpl.pxi":155 * 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) { /* "MPI/opimpl.pxi":156 * @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); /* "MPI/opimpl.pxi":155 * 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 */ } /* "MPI/opimpl.pxi":158 * 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) { /* "MPI/opimpl.pxi":159 * @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); /* "MPI/opimpl.pxi":158 * 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 */ } /* "MPI/opimpl.pxi":161 * 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) { /* "MPI/opimpl.pxi":162 * @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); /* "MPI/opimpl.pxi":161 * 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 */ } /* "MPI/opimpl.pxi":164 * 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) { /* "MPI/opimpl.pxi":165 * @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); /* "MPI/opimpl.pxi":164 * 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 */ } /* "MPI/opimpl.pxi":167 * 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) { /* "MPI/opimpl.pxi":168 * @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); /* "MPI/opimpl.pxi":167 * 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 */ } /* "MPI/opimpl.pxi":170 * 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) { /* "MPI/opimpl.pxi":171 * @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); /* "MPI/opimpl.pxi":170 * 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 */ } /* "MPI/opimpl.pxi":173 * 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) { /* "MPI/opimpl.pxi":174 * @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); /* "MPI/opimpl.pxi":173 * 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 */ } /* "MPI/opimpl.pxi":176 * 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) { /* "MPI/opimpl.pxi":177 * @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); /* "MPI/opimpl.pxi":176 * 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 */ } /* "MPI/opimpl.pxi":179 * 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) { /* "MPI/opimpl.pxi":180 * @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); /* "MPI/opimpl.pxi":179 * 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 */ } /* "MPI/opimpl.pxi":182 * 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) { /* "MPI/opimpl.pxi":183 * @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); /* "MPI/opimpl.pxi":182 * 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 */ } /* "MPI/opimpl.pxi":185 * 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) { /* "MPI/opimpl.pxi":186 * @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); /* "MPI/opimpl.pxi":185 * 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 */ } /* "MPI/opimpl.pxi":188 * 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) { /* "MPI/opimpl.pxi":189 * @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); /* "MPI/opimpl.pxi":188 * 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 */ } /* "MPI/opimpl.pxi":191 * 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) { /* "MPI/opimpl.pxi":192 * @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); /* "MPI/opimpl.pxi":191 * 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 */ } /* "MPI/opimpl.pxi":194 * 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) { /* "MPI/opimpl.pxi":195 * @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); /* "MPI/opimpl.pxi":194 * 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 */ } /* "MPI/opimpl.pxi":197 * 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) { /* "MPI/opimpl.pxi":198 * @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); /* "MPI/opimpl.pxi":197 * 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 */ } /* "MPI/opimpl.pxi":200 * 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) { /* "MPI/opimpl.pxi":201 * @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); /* "MPI/opimpl.pxi":200 * 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 */ } /* "MPI/opimpl.pxi":203 * 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) { /* "MPI/opimpl.pxi":204 * @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); /* "MPI/opimpl.pxi":203 * 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 */ } /* "MPI/opimpl.pxi":206 * 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) { /* "MPI/opimpl.pxi":207 * @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); /* "MPI/opimpl.pxi":206 * 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 */ } /* "MPI/opimpl.pxi":209 * 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) { /* "MPI/opimpl.pxi":210 * @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); /* "MPI/opimpl.pxi":209 * 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 */ } /* "MPI/opimpl.pxi":212 * 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) { /* "MPI/opimpl.pxi":213 * @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); /* "MPI/opimpl.pxi":212 * 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 */ } /* "MPI/opimpl.pxi":215 * 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) { /* "MPI/opimpl.pxi":216 * @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); /* "MPI/opimpl.pxi":215 * 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 */ } /* "MPI/opimpl.pxi":218 * 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; /* "MPI/opimpl.pxi":219 * * 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; } /* "MPI/opimpl.pxi":220 * 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; } /* "MPI/opimpl.pxi":221 * 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; } /* "MPI/opimpl.pxi":222 * 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; } /* "MPI/opimpl.pxi":223 * 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; } /* "MPI/opimpl.pxi":224 * 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; } /* "MPI/opimpl.pxi":225 * 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; } /* "MPI/opimpl.pxi":226 * 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; } /* "MPI/opimpl.pxi":227 * 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; } /* "MPI/opimpl.pxi":228 * 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; } /* "MPI/opimpl.pxi":229 * 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; } /* "MPI/opimpl.pxi":230 * 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; } /* "MPI/opimpl.pxi":231 * 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; } /* "MPI/opimpl.pxi":232 * 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; } /* "MPI/opimpl.pxi":233 * 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; } /* "MPI/opimpl.pxi":234 * 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; } /* "MPI/opimpl.pxi":235 * 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; } /* "MPI/opimpl.pxi":236 * 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; } /* "MPI/opimpl.pxi":237 * 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; } /* "MPI/opimpl.pxi":238 * 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; } /* "MPI/opimpl.pxi":239 * 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; } /* "MPI/opimpl.pxi":240 * 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; } /* "MPI/opimpl.pxi":241 * 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; } /* "MPI/opimpl.pxi":242 * 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; } /* "MPI/opimpl.pxi":243 * 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; } /* "MPI/opimpl.pxi":244 * 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; } /* "MPI/opimpl.pxi":245 * 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; } /* "MPI/opimpl.pxi":246 * 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; } /* "MPI/opimpl.pxi":247 * 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; } /* "MPI/opimpl.pxi":248 * 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; } /* "MPI/opimpl.pxi":249 * 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; } /* "MPI/opimpl.pxi":250 * 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; } /* "MPI/opimpl.pxi":251 * 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; } /* "MPI/opimpl.pxi":218 * 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; } /* "MPI/opimpl.pxi":253 * 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; PyObject *__pyx_t_5 = NULL; int __pyx_t_6; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; __Pyx_RefNannySetupContext("op_user_new", 0); /* "MPI/opimpl.pxi":255 * 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; /* "MPI/opimpl.pxi":256 * # 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:*/ { /* "MPI/opimpl.pxi":257 * cdef int index = 0 * try: * index = op_user_registry.index(None, 1) # <<<<<<<<<<<<<< * except ValueError: * raise RuntimeError("cannot create too many " */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_6mpi4py_3MPI_op_user_registry, __pyx_n_s_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 257, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(14, 257, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(14, 257, __pyx_L3_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_index = __pyx_t_6; /* "MPI/opimpl.pxi":256 * # 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /* "MPI/opimpl.pxi":258 * try: * index = op_user_registry.index(None, 1) * except ValueError: # <<<<<<<<<<<<<< * raise RuntimeError("cannot create too many " * "user-defined reduction operations") */ __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError); if (__pyx_t_6) { __Pyx_AddTraceback("mpi4py.MPI.op_user_new", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_7) < 0) __PYX_ERR(14, 258, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_7); /* "MPI/opimpl.pxi":259 * 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__11, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(14, 259, __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, 259, __pyx_L5_except_error) } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "MPI/opimpl.pxi":256 * # find a free slot in the registry * cdef int index = 0 * try: # <<<<<<<<<<<<<< * index = op_user_registry.index(None, 1) * except ValueError: */ __Pyx_PyThreadState_assign __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_L10_try_end:; } /* "MPI/opimpl.pxi":263 * # 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, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "MPI/opimpl.pxi":267 * # 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, 267, __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, 267, __pyx_L1_error) /* "MPI/opimpl.pxi":268 * # 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); /* "MPI/opimpl.pxi":269 * 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; /* "MPI/opimpl.pxi":253 * 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_5); __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; } /* "MPI/opimpl.pxi":271 * 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 __Pyx_RefNannySetupContext("op_user_del", 0); /* "MPI/opimpl.pxi":273 * 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]); /* "MPI/opimpl.pxi":274 * # 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; /* "MPI/opimpl.pxi":275 * 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, 275, __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, 275, __pyx_L1_error) /* "MPI/opimpl.pxi":276 * indexp[0] = 0 # clear the value * op_user_registry[index] = None * return 0 # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = 0; goto __pyx_L0; /* "MPI/opimpl.pxi":271 * 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; } /* "MPI/helpers.pxi":194 * 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; __Pyx_RefNannySetupContext("new_Op", 0); /* "MPI/helpers.pxi":195 * * 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 = __pyx_tp_new_6mpi4py_3MPI_Op(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Op), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 195, __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_op = ((struct PyMPIOpObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/helpers.pxi":196 * 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; /* "MPI/helpers.pxi":197 * 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; } /* "MPI/helpers.pxi":198 * 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; } /* "MPI/helpers.pxi":199 * 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; } /* "MPI/helpers.pxi":200 * 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; } /* "MPI/helpers.pxi":201 * 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; } /* "MPI/helpers.pxi":202 * 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; } /* "MPI/helpers.pxi":203 * 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; } /* "MPI/helpers.pxi":204 * 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; } /* "MPI/helpers.pxi":205 * 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; } /* "MPI/helpers.pxi":206 * 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; } /* "MPI/helpers.pxi":207 * 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; } /* "MPI/helpers.pxi":208 * 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; } /* "MPI/helpers.pxi":209 * 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; } /* "MPI/helpers.pxi":210 * 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; } /* "MPI/helpers.pxi":211 * 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:; /* "MPI/helpers.pxi":212 * 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; /* "MPI/helpers.pxi":194 * 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; } /* "MPI/helpers.pxi":214 * 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); /* "MPI/helpers.pxi":215 * * 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; } /* "MPI/helpers.pxi":216 * 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; } /* "MPI/helpers.pxi":217 * 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; } /* "MPI/helpers.pxi":218 * 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; } /* "MPI/helpers.pxi":219 * 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; } /* "MPI/helpers.pxi":220 * 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; } /* "MPI/helpers.pxi":221 * 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; } /* "MPI/helpers.pxi":222 * 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; } /* "MPI/helpers.pxi":223 * 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; } /* "MPI/helpers.pxi":224 * 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; } /* "MPI/helpers.pxi":225 * 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; } /* "MPI/helpers.pxi":226 * 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; } /* "MPI/helpers.pxi":227 * 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; } /* "MPI/helpers.pxi":228 * 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; } /* "MPI/helpers.pxi":229 * 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; } /* "MPI/helpers.pxi":230 * 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; } /* "MPI/helpers.pxi":232 * 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; } /* "MPI/helpers.pxi":233 * # * if not mpi_active(): return 0 * return MPI_Op_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Op_free(__pyx_v_ob); goto __pyx_L0; /* "MPI/helpers.pxi":214 * 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; } /* "MPI/helpers.pxi":238 * # 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; __Pyx_RefNannySetupContext("new_Info", 0); /* "MPI/helpers.pxi":239 * * cdef inline Info new_Info(MPI_Info ob): * cdef Info info = Info.__new__(Info) # <<<<<<<<<<<<<< * info.ob_mpi = ob * return info */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 239, __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_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/helpers.pxi":240 * 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; /* "MPI/helpers.pxi":241 * 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; /* "MPI/helpers.pxi":238 * # 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; } /* "MPI/helpers.pxi":243 * 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); /* "MPI/helpers.pxi":244 * * 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; } /* "MPI/helpers.pxi":245 * 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; } /* "MPI/helpers.pxi":246 * 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; } /* "MPI/helpers.pxi":248 * 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; } /* "MPI/helpers.pxi":249 * # * 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; /* "MPI/helpers.pxi":243 * 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; } /* "MPI/helpers.pxi":251 * 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); /* "MPI/helpers.pxi":252 * * 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; } /* "MPI/helpers.pxi":253 * 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; /* "MPI/helpers.pxi":251 * 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; } /* "MPI/helpers.pxi":258 * # 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; __Pyx_RefNannySetupContext("new_Group", 0); /* "MPI/helpers.pxi":259 * * cdef inline Group new_Group(MPI_Group ob): * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * group.ob_mpi = ob * return group */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 259, __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_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/helpers.pxi":260 * 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; /* "MPI/helpers.pxi":261 * 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; /* "MPI/helpers.pxi":258 * # 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; } /* "MPI/helpers.pxi":264 * * * 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); /* "MPI/helpers.pxi":265 * * 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; } /* "MPI/helpers.pxi":266 * 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; } /* "MPI/helpers.pxi":267 * 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; } /* "MPI/helpers.pxi":269 * 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; } /* "MPI/helpers.pxi":270 * # * if not mpi_active(): return 0 * return MPI_Group_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Group_free(__pyx_v_ob); goto __pyx_L0; /* "MPI/helpers.pxi":264 * * * 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; } /* "MPI/commimpl.pxi":5 * cdef dict comm_keyval = {} * * cdef inline Comm newcomm(MPI_Comm ob): # <<<<<<<<<<<<<< * cdef Comm comm = Comm.__new__(Comm) * comm.ob_mpi = ob */ static CYTHON_INLINE struct PyMPICommObject *__pyx_f_6mpi4py_3MPI_newcomm(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; __Pyx_RefNannySetupContext("newcomm", 0); /* "MPI/commimpl.pxi":6 * * cdef inline Comm newcomm(MPI_Comm ob): * cdef Comm comm = Comm.__new__(Comm) # <<<<<<<<<<<<<< * comm.ob_mpi = ob * return comm */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Comm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Comm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 6, __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; /* "MPI/commimpl.pxi":7 * cdef inline Comm newcomm(MPI_Comm ob): * cdef Comm comm = Comm.__new__(Comm) * comm.ob_mpi = ob # <<<<<<<<<<<<<< * return comm * */ __pyx_v_comm->ob_mpi = __pyx_v_ob; /* "MPI/commimpl.pxi":8 * cdef Comm comm = Comm.__new__(Comm) * comm.ob_mpi = ob * return comm # <<<<<<<<<<<<<< * * cdef int comm_attr_copy( */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = __pyx_v_comm; goto __pyx_L0; /* "MPI/commimpl.pxi":5 * cdef dict comm_keyval = {} * * cdef inline Comm newcomm(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.newcomm", __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; } /* "MPI/commimpl.pxi":10 * return comm * * cdef int comm_attr_copy( # <<<<<<<<<<<<<< * MPI_Comm comm, * int keyval, */ static int __pyx_f_6mpi4py_3MPI_comm_attr_copy(MPI_Comm __pyx_v_comm, 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; PyObject *__pyx_v_copy_fn = 0; PyObject *__pyx_v_attrval = 0; void **__pyx_v_aptr; struct PyMPICommObject *__pyx_v_handle = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; 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; __Pyx_RefNannySetupContext("comm_attr_copy", 0); /* "MPI/commimpl.pxi":17 * void *attrval_out, * int *flag) except -1: * cdef _p_keyval state = <_p_keyval>extra_state # <<<<<<<<<<<<<< * cdef object copy_fn = state.copy_fn * if copy_fn is None: */ __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; /* "MPI/commimpl.pxi":18 * int *flag) except -1: * cdef _p_keyval state = <_p_keyval>extra_state * cdef object copy_fn = state.copy_fn # <<<<<<<<<<<<<< * if copy_fn is None: * flag[0] = 0 */ __pyx_t_1 = __pyx_v_state->copy_fn; __Pyx_INCREF(__pyx_t_1); __pyx_v_copy_fn = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/commimpl.pxi":19 * cdef _p_keyval state = <_p_keyval>extra_state * cdef object copy_fn = state.copy_fn * if copy_fn is None: # <<<<<<<<<<<<<< * flag[0] = 0 * return 0 */ __pyx_t_2 = (__pyx_v_copy_fn == Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* "MPI/commimpl.pxi":20 * cdef object copy_fn = state.copy_fn * if copy_fn is None: * flag[0] = 0 # <<<<<<<<<<<<<< * return 0 * cdef object attrval = attrval_in */ (__pyx_v_flag[0]) = 0; /* "MPI/commimpl.pxi":21 * if copy_fn is None: * flag[0] = 0 * return 0 # <<<<<<<<<<<<<< * cdef object attrval = attrval_in * cdef void **aptr = attrval_out */ __pyx_r = 0; goto __pyx_L0; /* "MPI/commimpl.pxi":19 * cdef _p_keyval state = <_p_keyval>extra_state * cdef object copy_fn = state.copy_fn * if copy_fn is None: # <<<<<<<<<<<<<< * flag[0] = 0 * return 0 */ } /* "MPI/commimpl.pxi":22 * flag[0] = 0 * return 0 * cdef object attrval = attrval_in # <<<<<<<<<<<<<< * cdef void **aptr = attrval_out * cdef Comm handle */ __pyx_t_1 = ((PyObject *)__pyx_v_attrval_in); __Pyx_INCREF(__pyx_t_1); __pyx_v_attrval = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/commimpl.pxi":23 * return 0 * cdef object attrval = attrval_in * cdef void **aptr = attrval_out # <<<<<<<<<<<<<< * cdef Comm handle * if copy_fn is not True: */ __pyx_v_aptr = ((void **)__pyx_v_attrval_out); /* "MPI/commimpl.pxi":25 * cdef void **aptr = attrval_out * cdef Comm handle * if copy_fn is not True: # <<<<<<<<<<<<<< * handle = newcomm(comm) * try: attrval = copy_fn(handle, keyval, attrval) */ __pyx_t_3 = (__pyx_v_copy_fn != Py_True); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { /* "MPI/commimpl.pxi":26 * cdef Comm handle * if copy_fn is not True: * handle = newcomm(comm) # <<<<<<<<<<<<<< * try: attrval = copy_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_COMM_NULL */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_newcomm(__pyx_v_comm)); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_handle = ((struct PyMPICommObject *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/commimpl.pxi":27 * if copy_fn is not True: * handle = newcomm(comm) * try: attrval = copy_fn(handle, keyval, attrval) # <<<<<<<<<<<<<< * finally: handle.ob_mpi = MPI_COMM_NULL * Py_INCREF(attrval) */ /*try:*/ { __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_4)) __PYX_ERR(15, 27, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_copy_fn); __pyx_t_5 = __pyx_v_copy_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[4] = {__pyx_t_6, ((PyObject *)__pyx_v_handle), __pyx_t_4, __pyx_v_attrval}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 27, __pyx_L6_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __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[4] = {__pyx_t_6, ((PyObject *)__pyx_v_handle), __pyx_t_4, __pyx_v_attrval}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 27, __pyx_L6_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(15, 27, __pyx_L6_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(((PyObject *)__pyx_v_handle)); __Pyx_GIVEREF(((PyObject *)__pyx_v_handle)); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, ((PyObject *)__pyx_v_handle)); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_v_attrval); __Pyx_GIVEREF(__pyx_v_attrval); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_v_attrval); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 27, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_attrval, __pyx_t_1); __pyx_t_1 = 0; } /* "MPI/commimpl.pxi":28 * handle = newcomm(comm) * try: attrval = copy_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_COMM_NULL # <<<<<<<<<<<<<< * Py_INCREF(attrval) * Py_INCREF(state) */ /*finally:*/ { /*normal exit:*/{ __pyx_v_handle->ob_mpi = MPI_COMM_NULL; goto __pyx_L7; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L6_error:; __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_PyThreadState_assign __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 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_handle->ob_mpi = MPI_COMM_NULL; } __Pyx_PyThreadState_assign 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_L7:; } /* "MPI/commimpl.pxi":25 * cdef void **aptr = attrval_out * cdef Comm handle * if copy_fn is not True: # <<<<<<<<<<<<<< * handle = newcomm(comm) * try: attrval = copy_fn(handle, keyval, attrval) */ } /* "MPI/commimpl.pxi":29 * try: attrval = copy_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_COMM_NULL * Py_INCREF(attrval) # <<<<<<<<<<<<<< * Py_INCREF(state) * aptr[0] = attrval */ Py_INCREF(__pyx_v_attrval); /* "MPI/commimpl.pxi":30 * finally: handle.ob_mpi = MPI_COMM_NULL * Py_INCREF(attrval) * Py_INCREF(state) # <<<<<<<<<<<<<< * aptr[0] = attrval * flag[0] = 1 */ Py_INCREF(((PyObject *)__pyx_v_state)); /* "MPI/commimpl.pxi":31 * Py_INCREF(attrval) * Py_INCREF(state) * aptr[0] = attrval # <<<<<<<<<<<<<< * flag[0] = 1 * return 0 */ (__pyx_v_aptr[0]) = ((void *)__pyx_v_attrval); /* "MPI/commimpl.pxi":32 * Py_INCREF(state) * aptr[0] = attrval * flag[0] = 1 # <<<<<<<<<<<<<< * return 0 * */ (__pyx_v_flag[0]) = 1; /* "MPI/commimpl.pxi":33 * aptr[0] = attrval * flag[0] = 1 * return 0 # <<<<<<<<<<<<<< * * cdef int comm_attr_copy_cb( */ __pyx_r = 0; goto __pyx_L0; /* "MPI/commimpl.pxi":10 * return comm * * cdef int comm_attr_copy( # <<<<<<<<<<<<<< * MPI_Comm comm, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("mpi4py.MPI.comm_attr_copy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_copy_fn); __Pyx_XDECREF(__pyx_v_attrval); __Pyx_XDECREF((PyObject *)__pyx_v_handle); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/commimpl.pxi":35 * return 0 * * cdef int comm_attr_copy_cb( # <<<<<<<<<<<<<< * MPI_Comm comm, * int keyval, */ static int __pyx_f_6mpi4py_3MPI_comm_attr_copy_cb(MPI_Comm __pyx_v_comm, int __pyx_v_keyval, void *__pyx_v_extra_state, void *__pyx_v_attrval_in, void *__pyx_v_attrval_out, int *__pyx_v_flag) { 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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("comm_attr_copy_cb", 0); /* "MPI/commimpl.pxi":43 * int *flag) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * comm_attr_copy(comm, 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:*/ { /* "MPI/commimpl.pxi":44 * cdef object exc * try: * comm_attr_copy(comm, keyval, extra_state, # <<<<<<<<<<<<<< * attrval_in, attrval_out, flag) * except MPIException, exc: */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_comm_attr_copy(__pyx_v_comm, __pyx_v_keyval, __pyx_v_extra_state, __pyx_v_attrval_in, __pyx_v_attrval_out, __pyx_v_flag); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(15, 44, __pyx_L3_error) /* "MPI/commimpl.pxi":43 * int *flag) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * comm_attr_copy(comm, 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign /* "MPI/commimpl.pxi":46 * comm_attr_copy(comm, keyval, extra_state, * attrval_in, attrval_out, flag) * except MPIException, exc: # <<<<<<<<<<<<<< * print_traceback() * return exc.Get_error_code() */ __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_4) { __Pyx_AddTraceback("mpi4py.MPI.comm_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(15, 46, __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; /* "MPI/commimpl.pxi":47 * attrval_in, attrval_out, flag) * except MPIException, exc: * print_traceback() # <<<<<<<<<<<<<< * return exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/commimpl.pxi":48 * except MPIException, exc: * print_traceback() * return 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(15, 48, __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); } } if (__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(15, 48, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(15, 48, __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(15, 48, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_r = __pyx_t_4; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_except_return; } /* "MPI/commimpl.pxi":49 * print_traceback() * return exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * return MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.comm_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(15, 49, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); /* "MPI/commimpl.pxi":50 * return exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * return MPI_ERR_OTHER * return MPI_SUCCESS */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/commimpl.pxi":51 * except: * print_traceback() * return MPI_ERR_OTHER # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ __pyx_r = MPI_ERR_OTHER; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_except_return; } __pyx_L5_except_error:; /* "MPI/commimpl.pxi":43 * int *flag) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * comm_attr_copy(comm, keyval, extra_state, * attrval_in, attrval_out, flag) */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/commimpl.pxi":52 * print_traceback() * return MPI_ERR_OTHER * return MPI_SUCCESS # <<<<<<<<<<<<<< * * cdef int comm_attr_delete( */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "MPI/commimpl.pxi":35 * return 0 * * cdef int comm_attr_copy_cb( # <<<<<<<<<<<<<< * MPI_Comm comm, * 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_WriteUnraisable("mpi4py.MPI.comm_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "MPI/commimpl.pxi":54 * return MPI_SUCCESS * * cdef int comm_attr_delete( # <<<<<<<<<<<<<< * MPI_Comm comm, * int keyval, */ static int __pyx_f_6mpi4py_3MPI_comm_attr_delete(MPI_Comm __pyx_v_comm, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; PyObject *__pyx_v_delete_fn = 0; struct PyMPICommObject *__pyx_v_handle = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; 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; __Pyx_RefNannySetupContext("comm_attr_delete", 0); /* "MPI/commimpl.pxi":59 * void *attrval, * void *extra_state) except -1: * cdef _p_keyval state = <_p_keyval>extra_state # <<<<<<<<<<<<<< * cdef object delete_fn = state.delete_fn * cdef Comm handle */ __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; /* "MPI/commimpl.pxi":60 * void *extra_state) except -1: * cdef _p_keyval state = <_p_keyval>extra_state * cdef object delete_fn = state.delete_fn # <<<<<<<<<<<<<< * cdef Comm handle * if delete_fn is not None: */ __pyx_t_1 = __pyx_v_state->delete_fn; __Pyx_INCREF(__pyx_t_1); __pyx_v_delete_fn = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/commimpl.pxi":62 * cdef object delete_fn = state.delete_fn * cdef Comm handle * if delete_fn is not None: # <<<<<<<<<<<<<< * handle = newcomm(comm) * try: delete_fn(handle, keyval, attrval) */ __pyx_t_2 = (__pyx_v_delete_fn != Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* "MPI/commimpl.pxi":63 * cdef Comm handle * if delete_fn is not None: * handle = newcomm(comm) # <<<<<<<<<<<<<< * try: delete_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_COMM_NULL */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_newcomm(__pyx_v_comm)); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_handle = ((struct PyMPICommObject *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/commimpl.pxi":64 * if delete_fn is not None: * handle = newcomm(comm) * try: delete_fn(handle, keyval, attrval) # <<<<<<<<<<<<<< * finally: handle.ob_mpi = MPI_COMM_NULL * Py_DECREF(attrval) */ /*try:*/ { __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_4)) __PYX_ERR(15, 64, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_delete_fn); __pyx_t_5 = __pyx_v_delete_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[4] = {__pyx_t_6, ((PyObject *)__pyx_v_handle), __pyx_t_4, ((PyObject *)__pyx_v_attrval)}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 64, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __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[4] = {__pyx_t_6, ((PyObject *)__pyx_v_handle), __pyx_t_4, ((PyObject *)__pyx_v_attrval)}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 64, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(15, 64, __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(((PyObject *)__pyx_v_handle)); __Pyx_GIVEREF(((PyObject *)__pyx_v_handle)); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, ((PyObject *)__pyx_v_handle)); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_attrval)); __Pyx_GIVEREF(((PyObject *)__pyx_v_attrval)); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, ((PyObject *)__pyx_v_attrval)); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 64, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } /* "MPI/commimpl.pxi":65 * handle = newcomm(comm) * try: delete_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_COMM_NULL # <<<<<<<<<<<<<< * Py_DECREF(attrval) * Py_DECREF(extra_state) */ /*finally:*/ { /*normal exit:*/{ __pyx_v_handle->ob_mpi = MPI_COMM_NULL; goto __pyx_L6; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L5_error:; __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_PyThreadState_assign __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 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_handle->ob_mpi = MPI_COMM_NULL; } __Pyx_PyThreadState_assign 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:; } /* "MPI/commimpl.pxi":62 * cdef object delete_fn = state.delete_fn * cdef Comm handle * if delete_fn is not None: # <<<<<<<<<<<<<< * handle = newcomm(comm) * try: delete_fn(handle, keyval, attrval) */ } /* "MPI/commimpl.pxi":66 * try: delete_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_COMM_NULL * Py_DECREF(attrval) # <<<<<<<<<<<<<< * Py_DECREF(extra_state) * return 0 */ Py_DECREF(((PyObject *)__pyx_v_attrval)); /* "MPI/commimpl.pxi":67 * finally: handle.ob_mpi = MPI_COMM_NULL * Py_DECREF(attrval) * Py_DECREF(extra_state) # <<<<<<<<<<<<<< * return 0 * */ Py_DECREF(((PyObject *)__pyx_v_extra_state)); /* "MPI/commimpl.pxi":68 * Py_DECREF(attrval) * Py_DECREF(extra_state) * return 0 # <<<<<<<<<<<<<< * * cdef int comm_attr_delete_cb( */ __pyx_r = 0; goto __pyx_L0; /* "MPI/commimpl.pxi":54 * return MPI_SUCCESS * * cdef int comm_attr_delete( # <<<<<<<<<<<<<< * MPI_Comm comm, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("mpi4py.MPI.comm_attr_delete", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_delete_fn); __Pyx_XDECREF((PyObject *)__pyx_v_handle); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/commimpl.pxi":70 * return 0 * * cdef int comm_attr_delete_cb( # <<<<<<<<<<<<<< * MPI_Comm comm, * int keyval, */ static int __pyx_f_6mpi4py_3MPI_comm_attr_delete_cb(MPI_Comm __pyx_v_comm, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { 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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("comm_attr_delete_cb", 0); /* "MPI/commimpl.pxi":76 * void *extra_state) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * comm_attr_delete(comm, keyval, attrval, extra_state) * except MPIException, 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:*/ { /* "MPI/commimpl.pxi":77 * cdef object exc * try: * comm_attr_delete(comm, keyval, attrval, extra_state) # <<<<<<<<<<<<<< * except MPIException, exc: * print_traceback() */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_comm_attr_delete(__pyx_v_comm, __pyx_v_keyval, __pyx_v_attrval, __pyx_v_extra_state); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(15, 77, __pyx_L3_error) /* "MPI/commimpl.pxi":76 * void *extra_state) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * comm_attr_delete(comm, keyval, attrval, extra_state) * except MPIException, 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign /* "MPI/commimpl.pxi":78 * try: * comm_attr_delete(comm, keyval, attrval, extra_state) * except MPIException, exc: # <<<<<<<<<<<<<< * print_traceback() * return exc.Get_error_code() */ __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_4) { __Pyx_AddTraceback("mpi4py.MPI.comm_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(15, 78, __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; /* "MPI/commimpl.pxi":79 * comm_attr_delete(comm, keyval, attrval, extra_state) * except MPIException, exc: * print_traceback() # <<<<<<<<<<<<<< * return exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/commimpl.pxi":80 * except MPIException, exc: * print_traceback() * return 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(15, 80, __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); } } if (__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(15, 80, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(15, 80, __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(15, 80, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_r = __pyx_t_4; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_except_return; } /* "MPI/commimpl.pxi":81 * print_traceback() * return exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * return MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.comm_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(15, 81, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); /* "MPI/commimpl.pxi":82 * return exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * return MPI_ERR_OTHER * return MPI_SUCCESS */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/commimpl.pxi":83 * except: * print_traceback() * return MPI_ERR_OTHER # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ __pyx_r = MPI_ERR_OTHER; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_except_return; } __pyx_L5_except_error:; /* "MPI/commimpl.pxi":76 * void *extra_state) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * comm_attr_delete(comm, keyval, attrval, extra_state) * except MPIException, exc: */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/commimpl.pxi":84 * print_traceback() * return MPI_ERR_OTHER * return MPI_SUCCESS # <<<<<<<<<<<<<< * * @cython.callspec("MPIAPI") */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "MPI/commimpl.pxi":70 * return 0 * * cdef int comm_attr_delete_cb( # <<<<<<<<<<<<<< * MPI_Comm comm, * 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_WriteUnraisable("mpi4py.MPI.comm_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "MPI/commimpl.pxi":87 * * @cython.callspec("MPIAPI") * cdef int comm_attr_copy_fn(MPI_Comm comm, # <<<<<<<<<<<<<< * int keyval, * void *extra_state, */ static int MPIAPI __pyx_f_6mpi4py_3MPI_comm_attr_copy_fn(MPI_Comm __pyx_v_comm, 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; /* "MPI/commimpl.pxi":93 * void *attrval_out, * int *flag) nogil: * if extra_state == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if attrval_in == NULL: return MPI_ERR_INTERN * if attrval_out == NULL: return MPI_ERR_INTERN */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/commimpl.pxi":94 * int *flag) nogil: * if extra_state == NULL: return MPI_ERR_INTERN * if attrval_in == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if attrval_out == NULL: return MPI_ERR_INTERN * flag[0] = 0 */ __pyx_t_1 = ((__pyx_v_attrval_in == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/commimpl.pxi":95 * if extra_state == NULL: return MPI_ERR_INTERN * if attrval_in == NULL: return MPI_ERR_INTERN * if attrval_out == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * flag[0] = 0 * if not Py_IsInitialized(): return MPI_SUCCESS */ __pyx_t_1 = ((__pyx_v_attrval_out == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/commimpl.pxi":96 * if attrval_in == NULL: return MPI_ERR_INTERN * if attrval_out == NULL: return MPI_ERR_INTERN * flag[0] = 0 # <<<<<<<<<<<<<< * if not Py_IsInitialized(): return MPI_SUCCESS * return comm_attr_copy_cb(comm, keyval, extra_state, */ (__pyx_v_flag[0]) = 0; /* "MPI/commimpl.pxi":97 * if attrval_out == NULL: return MPI_ERR_INTERN * flag[0] = 0 * if not Py_IsInitialized(): return MPI_SUCCESS # <<<<<<<<<<<<<< * return comm_attr_copy_cb(comm, keyval, extra_state, * attrval_in, attrval_out, flag) */ __pyx_t_1 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { __pyx_r = MPI_SUCCESS; goto __pyx_L0; } /* "MPI/commimpl.pxi":98 * flag[0] = 0 * if not Py_IsInitialized(): return MPI_SUCCESS * return comm_attr_copy_cb(comm, keyval, extra_state, # <<<<<<<<<<<<<< * attrval_in, attrval_out, flag) * */ __pyx_r = __pyx_f_6mpi4py_3MPI_comm_attr_copy_cb(__pyx_v_comm, __pyx_v_keyval, __pyx_v_extra_state, __pyx_v_attrval_in, __pyx_v_attrval_out, __pyx_v_flag); goto __pyx_L0; /* "MPI/commimpl.pxi":87 * * @cython.callspec("MPIAPI") * cdef int comm_attr_copy_fn(MPI_Comm comm, # <<<<<<<<<<<<<< * int keyval, * void *extra_state, */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "MPI/commimpl.pxi":102 * * @cython.callspec("MPIAPI") * cdef int comm_attr_delete_fn(MPI_Comm comm, # <<<<<<<<<<<<<< * int keyval, * void *attrval, */ static int MPIAPI __pyx_f_6mpi4py_3MPI_comm_attr_delete_fn(MPI_Comm __pyx_v_comm, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { int __pyx_r; int __pyx_t_1; /* "MPI/commimpl.pxi":106 * void *attrval, * void *extra_state) nogil: * if extra_state == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if attrval == NULL: return MPI_ERR_INTERN * if not Py_IsInitialized(): return MPI_SUCCESS */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/commimpl.pxi":107 * void *extra_state) nogil: * if extra_state == NULL: return MPI_ERR_INTERN * if attrval == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): return MPI_SUCCESS * return comm_attr_delete_cb(comm, keyval, attrval, extra_state) */ __pyx_t_1 = ((__pyx_v_attrval == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/commimpl.pxi":108 * if extra_state == NULL: return MPI_ERR_INTERN * if attrval == NULL: return MPI_ERR_INTERN * if not Py_IsInitialized(): return MPI_SUCCESS # <<<<<<<<<<<<<< * return comm_attr_delete_cb(comm, keyval, attrval, extra_state) * */ __pyx_t_1 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { __pyx_r = MPI_SUCCESS; goto __pyx_L0; } /* "MPI/commimpl.pxi":109 * if attrval == NULL: return MPI_ERR_INTERN * if not Py_IsInitialized(): return MPI_SUCCESS * return comm_attr_delete_cb(comm, keyval, attrval, extra_state) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = __pyx_f_6mpi4py_3MPI_comm_attr_delete_cb(__pyx_v_comm, __pyx_v_keyval, __pyx_v_attrval, __pyx_v_extra_state); goto __pyx_L0; /* "MPI/commimpl.pxi":102 * * @cython.callspec("MPIAPI") * cdef int comm_attr_delete_fn(MPI_Comm comm, # <<<<<<<<<<<<<< * int keyval, * void *attrval, */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "MPI/commimpl.pxi":115 * cdef _p_buffer _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; __Pyx_RefNannySetupContext("attach_buffer", 0); /* "MPI/commimpl.pxi":117 * 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; /* "MPI/commimpl.pxi":118 * global _buffer * cdef void *bptr = NULL * cdef MPI_Aint blen = 0 # <<<<<<<<<<<<<< * _buffer = getbuffer_w(ob, &bptr, &blen) * p[0] = bptr */ __pyx_v_blen = 0; /* "MPI/commimpl.pxi":119 * 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(15, 119, __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__p_buffer *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/commimpl.pxi":120 * 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; /* "MPI/commimpl.pxi":121 * _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); /* "MPI/commimpl.pxi":122 * p[0] = bptr * n[0] = clipcount(blen) * return 0 # <<<<<<<<<<<<<< * * cdef inline object detach_buffer(void *p, int n): */ __pyx_r = 0; goto __pyx_L0; /* "MPI/commimpl.pxi":115 * cdef _p_buffer _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; } /* "MPI/commimpl.pxi":124 * 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; __Pyx_RefNannySetupContext("detach_buffer", 0); /* "MPI/commimpl.pxi":126 * 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; /* "MPI/commimpl.pxi":127 * global _buffer * cdef object ob = None * try: # <<<<<<<<<<<<<< * if (_buffer is not None and * _buffer.view.buf == p and */ /*try:*/ { /* "MPI/commimpl.pxi":128 * 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; } /* "MPI/commimpl.pxi":129 * 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; } /* "MPI/commimpl.pxi":130 * 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:; /* "MPI/commimpl.pxi":128 * cdef object ob = None * try: * if (_buffer is not None and # <<<<<<<<<<<<<< * _buffer.view.buf == p and * _buffer.view.obj != NULL): */ if (__pyx_t_1) { /* "MPI/commimpl.pxi":131 * _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; /* "MPI/commimpl.pxi":128 * cdef object ob = None * try: * if (_buffer is not None and # <<<<<<<<<<<<<< * _buffer.view.buf == p and * _buffer.view.obj != NULL): */ goto __pyx_L6; } /* "MPI/commimpl.pxi":133 * ob = _buffer.view.obj * else: * ob = tomemory(p, n) # <<<<<<<<<<<<<< * finally: * _buffer = None */ /*else*/ { __pyx_t_4 = __pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_p, ((MPI_Aint)__pyx_v_n)); if (unlikely(!__pyx_t_4)) __PYX_ERR(15, 133, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_ob, __pyx_t_4); __pyx_t_4 = 0; } __pyx_L6:; } /* "MPI/commimpl.pxi":135 * 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__p_buffer *)Py_None)); __Pyx_GIVEREF(Py_None); goto __pyx_L5; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __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__p_buffer *)Py_None)); __Pyx_GIVEREF(Py_None); } __Pyx_PyThreadState_assign 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:; } /* "MPI/commimpl.pxi":136 * finally: * _buffer = None * return ob # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ob); __pyx_r = __pyx_v_ob; goto __pyx_L0; /* "MPI/commimpl.pxi":124 * 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; } /* "MPI/commimpl.pxi":144 * 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; __Pyx_RefNannySetupContext("asarray_weights", 0); /* "MPI/commimpl.pxi":145 * * 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) { /* "MPI/commimpl.pxi":146 * 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; /* "MPI/commimpl.pxi":147 * if weights is None: * iweight[0] = MPI_UNWEIGHTED * return None # <<<<<<<<<<<<<< * if weights is __UNWEIGHTED__: * iweight[0] = MPI_UNWEIGHTED */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/commimpl.pxi":145 * * cdef object asarray_weights(object weights, int nweight, int **iweight): * if weights is None: # <<<<<<<<<<<<<< * iweight[0] = MPI_UNWEIGHTED * return None */ } /* "MPI/commimpl.pxi":148 * 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) { /* "MPI/commimpl.pxi":149 * return None * if weights is __UNWEIGHTED__: * iweight[0] = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * return None * if weights is __WEIGHTS_EMPTY__: */ (__pyx_v_iweight[0]) = MPI_UNWEIGHTED; /* "MPI/commimpl.pxi":150 * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/commimpl.pxi":148 * iweight[0] = MPI_UNWEIGHTED * return None * if weights is __UNWEIGHTED__: # <<<<<<<<<<<<<< * iweight[0] = MPI_UNWEIGHTED * return None */ } /* "MPI/commimpl.pxi":151 * 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) { /* "MPI/commimpl.pxi":152 * 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 (__pyx_t_2) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 152, __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(15, 152, __pyx_L1_error) } /* "MPI/commimpl.pxi":153 * if weights is __WEIGHTS_EMPTY__: * if nweight > 0: raise ValueError("empty weights but nonzero degree") * iweight[0] = MPI_WEIGHTS_EMPTY # <<<<<<<<<<<<<< * return None * return asarray_int(weights, nweight, iweight) */ (__pyx_v_iweight[0]) = MPI_WEIGHTS_EMPTY; /* "MPI/commimpl.pxi":154 * if nweight > 0: raise ValueError("empty weights but nonzero degree") * iweight[0] = MPI_WEIGHTS_EMPTY * return None # <<<<<<<<<<<<<< * return asarray_int(weights, nweight, iweight) * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/commimpl.pxi":151 * 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 */ } /* "MPI/commimpl.pxi":155 * iweight[0] = MPI_WEIGHTS_EMPTY * return None * return asarray_int(weights, nweight, iweight) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_weights, __pyx_v_nweight, __pyx_v_iweight); if (unlikely(!__pyx_t_3)) __PYX_ERR(15, 155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/commimpl.pxi":144 * 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; } /* "MPI/commimpl.pxi":159 * # ----------------------------------------------------------------------------- * * 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; __Pyx_RefNannySetupContext("comm_neighbors_count", 0); /* "MPI/commimpl.pxi":163 * 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; /* "MPI/commimpl.pxi":164 * ) 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; /* "MPI/commimpl.pxi":165 * 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; /* "MPI/commimpl.pxi":166 * 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 == -1)) __PYX_ERR(15, 166, __pyx_L1_error) /* "MPI/commimpl.pxi":167 * 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) { /* "MPI/commimpl.pxi":168 * 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 == -1)) __PYX_ERR(15, 168, __pyx_L1_error) /* "MPI/commimpl.pxi":169 * 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; /* "MPI/commimpl.pxi":167 * 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; } /* "MPI/commimpl.pxi":170 * 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) { /* "MPI/commimpl.pxi":171 * 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 == -1)) __PYX_ERR(15, 171, __pyx_L1_error) /* "MPI/commimpl.pxi":172 * 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; /* "MPI/commimpl.pxi":170 * 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; } /* "MPI/commimpl.pxi":173 * 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) { /* "MPI/commimpl.pxi":174 * 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 == -1)) __PYX_ERR(15, 174, __pyx_L1_error) /* "MPI/commimpl.pxi":175 * 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 == -1)) __PYX_ERR(15, 175, __pyx_L1_error) /* "MPI/commimpl.pxi":177 * 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; /* "MPI/commimpl.pxi":173 * 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; } /* "MPI/commimpl.pxi":178 * 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) { /* "MPI/commimpl.pxi":179 * 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 == -1)) __PYX_ERR(15, 179, __pyx_L1_error) /* "MPI/commimpl.pxi":178 * comm, rank, &nneighbors) ) * indegree = outdegree = nneighbors * elif topo == MPI_DIST_GRAPH: # <<<<<<<<<<<<<< * CHKERR( MPI_Dist_graph_neighbors_count( * comm, &indegree, &outdegree, &weighted) ) */ } __pyx_L3:; /* "MPI/commimpl.pxi":181 * 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; } /* "MPI/commimpl.pxi":182 * 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; } /* "MPI/commimpl.pxi":183 * if incoming != NULL: incoming[0] = indegree * if outgoing != NULL: outgoing[0] = outdegree * return 0 # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = 0; goto __pyx_L0; /* "MPI/commimpl.pxi":159 * # ----------------------------------------------------------------------------- * * 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; } /* "MPI/helpers.pxi":277 * 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; __Pyx_RefNannySetupContext("new_Comm", 0); /* "MPI/helpers.pxi":278 * * cdef inline Comm new_Comm(MPI_Comm ob): * cdef Comm comm = Comm.__new__(Comm) # <<<<<<<<<<<<<< * comm.ob_mpi = ob * return comm */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Comm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Comm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 278, __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; /* "MPI/helpers.pxi":279 * 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; /* "MPI/helpers.pxi":280 * 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; /* "MPI/helpers.pxi":277 * 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; } /* "MPI/helpers.pxi":282 * 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; __Pyx_RefNannySetupContext("new_Intracomm", 0); /* "MPI/helpers.pxi":283 * * cdef inline Intracomm new_Intracomm(MPI_Comm ob): * cdef Intracomm comm = Intracomm.__new__(Intracomm) # <<<<<<<<<<<<<< * comm.ob_mpi = ob * return comm */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Intracomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intracomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 283, __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 PyMPIIntracommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/helpers.pxi":284 * 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; /* "MPI/helpers.pxi":285 * 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; /* "MPI/helpers.pxi":282 * 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; } /* "MPI/helpers.pxi":287 * 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; __Pyx_RefNannySetupContext("new_Intercomm", 0); /* "MPI/helpers.pxi":288 * * cdef inline Intercomm new_Intercomm(MPI_Comm ob): * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * comm.ob_mpi = ob * return comm */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 288, __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 PyMPIIntercommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/helpers.pxi":289 * 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; /* "MPI/helpers.pxi":290 * 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; /* "MPI/helpers.pxi":287 * 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; } /* "MPI/helpers.pxi":292 * 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); /* "MPI/helpers.pxi":293 * * 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; } /* "MPI/helpers.pxi":294 * 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; } /* "MPI/helpers.pxi":295 * 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; } /* "MPI/helpers.pxi":296 * 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; } /* "MPI/helpers.pxi":298 * 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; } /* "MPI/helpers.pxi":299 * # * if not mpi_active(): return 0 * return MPI_Comm_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Comm_free(__pyx_v_ob); goto __pyx_L0; /* "MPI/helpers.pxi":292 * 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; } /* "MPI/winimpl.pxi":5 * cdef dict win_keyval = {} * * cdef inline Win newwin(MPI_Win ob): # <<<<<<<<<<<<<< * cdef Win win = Win.__new__(Win) * win.ob_mpi = ob */ static CYTHON_INLINE struct PyMPIWinObject *__pyx_f_6mpi4py_3MPI_newwin(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; __Pyx_RefNannySetupContext("newwin", 0); /* "MPI/winimpl.pxi":6 * * cdef inline Win newwin(MPI_Win ob): * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * win.ob_mpi = ob * return win */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 6, __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_win = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/winimpl.pxi":7 * cdef inline Win newwin(MPI_Win ob): * cdef Win win = Win.__new__(Win) * win.ob_mpi = ob # <<<<<<<<<<<<<< * return win * */ __pyx_v_win->ob_mpi = __pyx_v_ob; /* "MPI/winimpl.pxi":8 * cdef Win win = Win.__new__(Win) * win.ob_mpi = ob * return win # <<<<<<<<<<<<<< * * cdef int win_attr_copy( */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_win)); __pyx_r = __pyx_v_win; goto __pyx_L0; /* "MPI/winimpl.pxi":5 * cdef dict win_keyval = {} * * cdef inline Win newwin(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.newwin", __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; } /* "MPI/winimpl.pxi":10 * return win * * cdef int win_attr_copy( # <<<<<<<<<<<<<< * MPI_Win win, * int keyval, */ static int __pyx_f_6mpi4py_3MPI_win_attr_copy(MPI_Win __pyx_v_win, 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; PyObject *__pyx_v_copy_fn = 0; PyObject *__pyx_v_attrval = 0; void **__pyx_v_aptr; struct PyMPIWinObject *__pyx_v_handle = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; 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; __Pyx_RefNannySetupContext("win_attr_copy", 0); /* "MPI/winimpl.pxi":17 * void *attrval_out, * int *flag) except -1: * cdef _p_keyval state = <_p_keyval>extra_state # <<<<<<<<<<<<<< * cdef object copy_fn = state.copy_fn * if copy_fn is None: */ __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; /* "MPI/winimpl.pxi":18 * int *flag) except -1: * cdef _p_keyval state = <_p_keyval>extra_state * cdef object copy_fn = state.copy_fn # <<<<<<<<<<<<<< * if copy_fn is None: * flag[0] = 0 */ __pyx_t_1 = __pyx_v_state->copy_fn; __Pyx_INCREF(__pyx_t_1); __pyx_v_copy_fn = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/winimpl.pxi":19 * cdef _p_keyval state = <_p_keyval>extra_state * cdef object copy_fn = state.copy_fn * if copy_fn is None: # <<<<<<<<<<<<<< * flag[0] = 0 * return 0 */ __pyx_t_2 = (__pyx_v_copy_fn == Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* "MPI/winimpl.pxi":20 * cdef object copy_fn = state.copy_fn * if copy_fn is None: * flag[0] = 0 # <<<<<<<<<<<<<< * return 0 * cdef object attrval = attrval_in */ (__pyx_v_flag[0]) = 0; /* "MPI/winimpl.pxi":21 * if copy_fn is None: * flag[0] = 0 * return 0 # <<<<<<<<<<<<<< * cdef object attrval = attrval_in * cdef void **aptr = attrval_out */ __pyx_r = 0; goto __pyx_L0; /* "MPI/winimpl.pxi":19 * cdef _p_keyval state = <_p_keyval>extra_state * cdef object copy_fn = state.copy_fn * if copy_fn is None: # <<<<<<<<<<<<<< * flag[0] = 0 * return 0 */ } /* "MPI/winimpl.pxi":22 * flag[0] = 0 * return 0 * cdef object attrval = attrval_in # <<<<<<<<<<<<<< * cdef void **aptr = attrval_out * cdef Win handle */ __pyx_t_1 = ((PyObject *)__pyx_v_attrval_in); __Pyx_INCREF(__pyx_t_1); __pyx_v_attrval = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/winimpl.pxi":23 * return 0 * cdef object attrval = attrval_in * cdef void **aptr = attrval_out # <<<<<<<<<<<<<< * cdef Win handle * if copy_fn is not True: */ __pyx_v_aptr = ((void **)__pyx_v_attrval_out); /* "MPI/winimpl.pxi":25 * cdef void **aptr = attrval_out * cdef Win handle * if copy_fn is not True: # <<<<<<<<<<<<<< * handle = newwin(win) * try: attrval = copy_fn(handle, keyval, attrval) */ __pyx_t_3 = (__pyx_v_copy_fn != Py_True); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { /* "MPI/winimpl.pxi":26 * cdef Win handle * if copy_fn is not True: * handle = newwin(win) # <<<<<<<<<<<<<< * try: attrval = copy_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_WIN_NULL */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_newwin(__pyx_v_win)); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_handle = ((struct PyMPIWinObject *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/winimpl.pxi":27 * if copy_fn is not True: * handle = newwin(win) * try: attrval = copy_fn(handle, keyval, attrval) # <<<<<<<<<<<<<< * finally: handle.ob_mpi = MPI_WIN_NULL * Py_INCREF(attrval) */ /*try:*/ { __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 27, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_copy_fn); __pyx_t_5 = __pyx_v_copy_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[4] = {__pyx_t_6, ((PyObject *)__pyx_v_handle), __pyx_t_4, __pyx_v_attrval}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 27, __pyx_L6_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __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[4] = {__pyx_t_6, ((PyObject *)__pyx_v_handle), __pyx_t_4, __pyx_v_attrval}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 27, __pyx_L6_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(16, 27, __pyx_L6_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(((PyObject *)__pyx_v_handle)); __Pyx_GIVEREF(((PyObject *)__pyx_v_handle)); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, ((PyObject *)__pyx_v_handle)); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_v_attrval); __Pyx_GIVEREF(__pyx_v_attrval); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_v_attrval); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 27, __pyx_L6_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_attrval, __pyx_t_1); __pyx_t_1 = 0; } /* "MPI/winimpl.pxi":28 * handle = newwin(win) * try: attrval = copy_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_WIN_NULL # <<<<<<<<<<<<<< * Py_INCREF(attrval) * Py_INCREF(state) */ /*finally:*/ { /*normal exit:*/{ __pyx_v_handle->ob_mpi = MPI_WIN_NULL; goto __pyx_L7; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L6_error:; __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_PyThreadState_assign __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 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_handle->ob_mpi = MPI_WIN_NULL; } __Pyx_PyThreadState_assign 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_L7:; } /* "MPI/winimpl.pxi":25 * cdef void **aptr = attrval_out * cdef Win handle * if copy_fn is not True: # <<<<<<<<<<<<<< * handle = newwin(win) * try: attrval = copy_fn(handle, keyval, attrval) */ } /* "MPI/winimpl.pxi":29 * try: attrval = copy_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_WIN_NULL * Py_INCREF(attrval) # <<<<<<<<<<<<<< * Py_INCREF(state) * aptr[0] = attrval */ Py_INCREF(__pyx_v_attrval); /* "MPI/winimpl.pxi":30 * finally: handle.ob_mpi = MPI_WIN_NULL * Py_INCREF(attrval) * Py_INCREF(state) # <<<<<<<<<<<<<< * aptr[0] = attrval * flag[0] = 1 */ Py_INCREF(((PyObject *)__pyx_v_state)); /* "MPI/winimpl.pxi":31 * Py_INCREF(attrval) * Py_INCREF(state) * aptr[0] = attrval # <<<<<<<<<<<<<< * flag[0] = 1 * return 0 */ (__pyx_v_aptr[0]) = ((void *)__pyx_v_attrval); /* "MPI/winimpl.pxi":32 * Py_INCREF(state) * aptr[0] = attrval * flag[0] = 1 # <<<<<<<<<<<<<< * return 0 * */ (__pyx_v_flag[0]) = 1; /* "MPI/winimpl.pxi":33 * aptr[0] = attrval * flag[0] = 1 * return 0 # <<<<<<<<<<<<<< * * cdef int win_attr_copy_cb( */ __pyx_r = 0; goto __pyx_L0; /* "MPI/winimpl.pxi":10 * return win * * cdef int win_attr_copy( # <<<<<<<<<<<<<< * MPI_Win win, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("mpi4py.MPI.win_attr_copy", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_copy_fn); __Pyx_XDECREF(__pyx_v_attrval); __Pyx_XDECREF((PyObject *)__pyx_v_handle); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/winimpl.pxi":35 * return 0 * * cdef int win_attr_copy_cb( # <<<<<<<<<<<<<< * MPI_Win win, * int keyval, */ static int __pyx_f_6mpi4py_3MPI_win_attr_copy_cb(MPI_Win __pyx_v_win, int __pyx_v_keyval, void *__pyx_v_extra_state, void *__pyx_v_attrval_in, void *__pyx_v_attrval_out, int *__pyx_v_flag) { 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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("win_attr_copy_cb", 0); /* "MPI/winimpl.pxi":43 * int *flag) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * win_attr_copy(win, 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:*/ { /* "MPI/winimpl.pxi":44 * cdef object exc * try: * win_attr_copy(win, keyval, extra_state, # <<<<<<<<<<<<<< * attrval_in, attrval_out, flag) * except MPIException as exc: */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_win_attr_copy(__pyx_v_win, __pyx_v_keyval, __pyx_v_extra_state, __pyx_v_attrval_in, __pyx_v_attrval_out, __pyx_v_flag); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(16, 44, __pyx_L3_error) /* "MPI/winimpl.pxi":43 * int *flag) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * win_attr_copy(win, 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign /* "MPI/winimpl.pxi":46 * win_attr_copy(win, keyval, extra_state, * attrval_in, attrval_out, flag) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * return exc.Get_error_code() */ __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_4) { __Pyx_AddTraceback("mpi4py.MPI.win_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(16, 46, __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; /* "MPI/winimpl.pxi":47 * attrval_in, attrval_out, flag) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * return exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/winimpl.pxi":48 * except MPIException as exc: * print_traceback() * return 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, 48, __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); } } if (__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(16, 48, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(16, 48, __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(16, 48, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_r = __pyx_t_4; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_except_return; } /* "MPI/winimpl.pxi":49 * print_traceback() * return exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * return MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.win_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(16, 49, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); /* "MPI/winimpl.pxi":50 * return exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * return MPI_ERR_OTHER * return MPI_SUCCESS */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/winimpl.pxi":51 * except: * print_traceback() * return MPI_ERR_OTHER # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ __pyx_r = MPI_ERR_OTHER; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_except_return; } __pyx_L5_except_error:; /* "MPI/winimpl.pxi":43 * int *flag) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * win_attr_copy(win, keyval, extra_state, * attrval_in, attrval_out, flag) */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/winimpl.pxi":52 * print_traceback() * return MPI_ERR_OTHER * return MPI_SUCCESS # <<<<<<<<<<<<<< * * cdef int win_attr_delete( */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "MPI/winimpl.pxi":35 * return 0 * * cdef int win_attr_copy_cb( # <<<<<<<<<<<<<< * MPI_Win win, * 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_WriteUnraisable("mpi4py.MPI.win_attr_copy_cb", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "MPI/winimpl.pxi":54 * return MPI_SUCCESS * * cdef int win_attr_delete( # <<<<<<<<<<<<<< * MPI_Win win, * int keyval, */ static int __pyx_f_6mpi4py_3MPI_win_attr_delete(MPI_Win __pyx_v_win, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { struct __pyx_obj_6mpi4py_3MPI__p_keyval *__pyx_v_state = 0; PyObject *__pyx_v_delete_fn = 0; struct PyMPIWinObject *__pyx_v_handle = 0; int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; 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; __Pyx_RefNannySetupContext("win_attr_delete", 0); /* "MPI/winimpl.pxi":59 * void *attrval, * void *extra_state) except -1: * cdef _p_keyval state = <_p_keyval>extra_state # <<<<<<<<<<<<<< * cdef object delete_fn = state.delete_fn * cdef Win handle */ __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; /* "MPI/winimpl.pxi":60 * void *extra_state) except -1: * cdef _p_keyval state = <_p_keyval>extra_state * cdef object delete_fn = state.delete_fn # <<<<<<<<<<<<<< * cdef Win handle * if delete_fn is not None: */ __pyx_t_1 = __pyx_v_state->delete_fn; __Pyx_INCREF(__pyx_t_1); __pyx_v_delete_fn = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/winimpl.pxi":62 * cdef object delete_fn = state.delete_fn * cdef Win handle * if delete_fn is not None: # <<<<<<<<<<<<<< * handle = newwin(win) * try: delete_fn(handle, keyval, attrval) */ __pyx_t_2 = (__pyx_v_delete_fn != Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* "MPI/winimpl.pxi":63 * cdef Win handle * if delete_fn is not None: * handle = newwin(win) # <<<<<<<<<<<<<< * try: delete_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_WIN_NULL */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_newwin(__pyx_v_win)); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_handle = ((struct PyMPIWinObject *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/winimpl.pxi":64 * if delete_fn is not None: * handle = newwin(win) * try: delete_fn(handle, keyval, attrval) # <<<<<<<<<<<<<< * finally: handle.ob_mpi = MPI_WIN_NULL * Py_DECREF(attrval) */ /*try:*/ { __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 64, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_delete_fn); __pyx_t_5 = __pyx_v_delete_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[4] = {__pyx_t_6, ((PyObject *)__pyx_v_handle), __pyx_t_4, ((PyObject *)__pyx_v_attrval)}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 64, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __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[4] = {__pyx_t_6, ((PyObject *)__pyx_v_handle), __pyx_t_4, ((PyObject *)__pyx_v_attrval)}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 64, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(16, 64, __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(((PyObject *)__pyx_v_handle)); __Pyx_GIVEREF(((PyObject *)__pyx_v_handle)); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, ((PyObject *)__pyx_v_handle)); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_attrval)); __Pyx_GIVEREF(((PyObject *)__pyx_v_attrval)); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, ((PyObject *)__pyx_v_attrval)); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 64, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } /* "MPI/winimpl.pxi":65 * handle = newwin(win) * try: delete_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_WIN_NULL # <<<<<<<<<<<<<< * Py_DECREF(attrval) * Py_DECREF(extra_state) */ /*finally:*/ { /*normal exit:*/{ __pyx_v_handle->ob_mpi = MPI_WIN_NULL; goto __pyx_L6; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L5_error:; __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_PyThreadState_assign __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 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_handle->ob_mpi = MPI_WIN_NULL; } __Pyx_PyThreadState_assign 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:; } /* "MPI/winimpl.pxi":62 * cdef object delete_fn = state.delete_fn * cdef Win handle * if delete_fn is not None: # <<<<<<<<<<<<<< * handle = newwin(win) * try: delete_fn(handle, keyval, attrval) */ } /* "MPI/winimpl.pxi":66 * try: delete_fn(handle, keyval, attrval) * finally: handle.ob_mpi = MPI_WIN_NULL * Py_DECREF(attrval) # <<<<<<<<<<<<<< * Py_DECREF(extra_state) * return 0 */ Py_DECREF(((PyObject *)__pyx_v_attrval)); /* "MPI/winimpl.pxi":67 * finally: handle.ob_mpi = MPI_WIN_NULL * Py_DECREF(attrval) * Py_DECREF(extra_state) # <<<<<<<<<<<<<< * return 0 * */ Py_DECREF(((PyObject *)__pyx_v_extra_state)); /* "MPI/winimpl.pxi":68 * Py_DECREF(attrval) * Py_DECREF(extra_state) * return 0 # <<<<<<<<<<<<<< * * cdef int win_attr_delete_cb( */ __pyx_r = 0; goto __pyx_L0; /* "MPI/winimpl.pxi":54 * return MPI_SUCCESS * * cdef int win_attr_delete( # <<<<<<<<<<<<<< * MPI_Win win, * int keyval, */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("mpi4py.MPI.win_attr_delete", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_delete_fn); __Pyx_XDECREF((PyObject *)__pyx_v_handle); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/winimpl.pxi":70 * return 0 * * cdef int win_attr_delete_cb( # <<<<<<<<<<<<<< * MPI_Win win, * int keyval, */ static int __pyx_f_6mpi4py_3MPI_win_attr_delete_cb(MPI_Win __pyx_v_win, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { 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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("win_attr_delete_cb", 0); /* "MPI/winimpl.pxi":76 * void *extra_state) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * win_attr_delete(win, 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:*/ { /* "MPI/winimpl.pxi":77 * cdef object exc * try: * win_attr_delete(win, keyval, attrval, extra_state) # <<<<<<<<<<<<<< * except MPIException as exc: * print_traceback() */ __pyx_t_4 = __pyx_f_6mpi4py_3MPI_win_attr_delete(__pyx_v_win, __pyx_v_keyval, __pyx_v_attrval, __pyx_v_extra_state); if (unlikely(__pyx_t_4 == -1)) __PYX_ERR(16, 77, __pyx_L3_error) /* "MPI/winimpl.pxi":76 * void *extra_state) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * win_attr_delete(win, 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign /* "MPI/winimpl.pxi":78 * try: * win_attr_delete(win, keyval, attrval, extra_state) * except MPIException as exc: # <<<<<<<<<<<<<< * print_traceback() * return exc.Get_error_code() */ __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(__pyx_v_6mpi4py_3MPI_MPIException); if (__pyx_t_4) { __Pyx_AddTraceback("mpi4py.MPI.win_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(16, 78, __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; /* "MPI/winimpl.pxi":79 * win_attr_delete(win, keyval, attrval, extra_state) * except MPIException as exc: * print_traceback() # <<<<<<<<<<<<<< * return exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/winimpl.pxi":80 * except MPIException as exc: * print_traceback() * return 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, 80, __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); } } if (__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(16, 80, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(16, 80, __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(16, 80, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_r = __pyx_t_4; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_except_return; } /* "MPI/winimpl.pxi":81 * print_traceback() * return exc.Get_error_code() * except: # <<<<<<<<<<<<<< * print_traceback() * return MPI_ERR_OTHER */ /*except:*/ { __Pyx_AddTraceback("mpi4py.MPI.win_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename); if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(16, 81, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); /* "MPI/winimpl.pxi":82 * return exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * return MPI_ERR_OTHER * return MPI_SUCCESS */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/winimpl.pxi":83 * except: * print_traceback() * return MPI_ERR_OTHER # <<<<<<<<<<<<<< * return MPI_SUCCESS * */ __pyx_r = MPI_ERR_OTHER; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_except_return; } __pyx_L5_except_error:; /* "MPI/winimpl.pxi":76 * void *extra_state) with gil: * cdef object exc * try: # <<<<<<<<<<<<<< * win_attr_delete(win, keyval, attrval, extra_state) * except MPIException as exc: */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/winimpl.pxi":84 * print_traceback() * return MPI_ERR_OTHER * return MPI_SUCCESS # <<<<<<<<<<<<<< * * @cython.callspec("MPIAPI") */ __pyx_r = MPI_SUCCESS; goto __pyx_L0; /* "MPI/winimpl.pxi":70 * return 0 * * cdef int win_attr_delete_cb( # <<<<<<<<<<<<<< * MPI_Win win, * 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_WriteUnraisable("mpi4py.MPI.win_attr_delete_cb", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "MPI/winimpl.pxi":87 * * @cython.callspec("MPIAPI") * cdef int win_attr_copy_fn(MPI_Win win, # <<<<<<<<<<<<<< * int keyval, * void *extra_state, */ static int MPIAPI __pyx_f_6mpi4py_3MPI_win_attr_copy_fn(MPI_Win __pyx_v_win, 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; /* "MPI/winimpl.pxi":93 * void *attrval_out, * int *flag) nogil: * if attrval_in == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if attrval_out == NULL: return MPI_ERR_INTERN * if attrval_out == NULL: return MPI_ERR_INTERN */ __pyx_t_1 = ((__pyx_v_attrval_in == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/winimpl.pxi":94 * int *flag) nogil: * if attrval_in == NULL: return MPI_ERR_INTERN * if attrval_out == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if attrval_out == NULL: return MPI_ERR_INTERN * flag[0] = 0 */ __pyx_t_1 = ((__pyx_v_attrval_out == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/winimpl.pxi":95 * if attrval_in == NULL: return MPI_ERR_INTERN * if attrval_out == NULL: return MPI_ERR_INTERN * if attrval_out == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * flag[0] = 0 * if not Py_IsInitialized(): return MPI_SUCCESS */ __pyx_t_1 = ((__pyx_v_attrval_out == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/winimpl.pxi":96 * if attrval_out == NULL: return MPI_ERR_INTERN * if attrval_out == NULL: return MPI_ERR_INTERN * flag[0] = 0 # <<<<<<<<<<<<<< * if not Py_IsInitialized(): return MPI_SUCCESS * return win_attr_copy_cb(win, keyval, extra_state, */ (__pyx_v_flag[0]) = 0; /* "MPI/winimpl.pxi":97 * if attrval_out == NULL: return MPI_ERR_INTERN * flag[0] = 0 * if not Py_IsInitialized(): return MPI_SUCCESS # <<<<<<<<<<<<<< * return win_attr_copy_cb(win, keyval, extra_state, * attrval_in, attrval_out, flag) */ __pyx_t_1 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { __pyx_r = MPI_SUCCESS; goto __pyx_L0; } /* "MPI/winimpl.pxi":98 * flag[0] = 0 * if not Py_IsInitialized(): return MPI_SUCCESS * return win_attr_copy_cb(win, keyval, extra_state, # <<<<<<<<<<<<<< * attrval_in, attrval_out, flag) * */ __pyx_r = __pyx_f_6mpi4py_3MPI_win_attr_copy_cb(__pyx_v_win, __pyx_v_keyval, __pyx_v_extra_state, __pyx_v_attrval_in, __pyx_v_attrval_out, __pyx_v_flag); goto __pyx_L0; /* "MPI/winimpl.pxi":87 * * @cython.callspec("MPIAPI") * cdef int win_attr_copy_fn(MPI_Win win, # <<<<<<<<<<<<<< * int keyval, * void *extra_state, */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "MPI/winimpl.pxi":102 * * @cython.callspec("MPIAPI") * cdef int win_attr_delete_fn(MPI_Win win, # <<<<<<<<<<<<<< * int keyval, * void *attrval, */ static int MPIAPI __pyx_f_6mpi4py_3MPI_win_attr_delete_fn(MPI_Win __pyx_v_win, int __pyx_v_keyval, void *__pyx_v_attrval, void *__pyx_v_extra_state) { int __pyx_r; int __pyx_t_1; /* "MPI/winimpl.pxi":106 * void *attrval, * void *extra_state) nogil: * if extra_state == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if attrval == NULL: return MPI_ERR_INTERN * if not Py_IsInitialized(): return MPI_SUCCESS */ __pyx_t_1 = ((__pyx_v_extra_state == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/winimpl.pxi":107 * void *extra_state) nogil: * if extra_state == NULL: return MPI_ERR_INTERN * if attrval == NULL: return MPI_ERR_INTERN # <<<<<<<<<<<<<< * if not Py_IsInitialized(): return MPI_SUCCESS * return win_attr_delete_cb(win, keyval, attrval, extra_state) */ __pyx_t_1 = ((__pyx_v_attrval == NULL) != 0); if (__pyx_t_1) { __pyx_r = MPI_ERR_INTERN; goto __pyx_L0; } /* "MPI/winimpl.pxi":108 * if extra_state == NULL: return MPI_ERR_INTERN * if attrval == NULL: return MPI_ERR_INTERN * if not Py_IsInitialized(): return MPI_SUCCESS # <<<<<<<<<<<<<< * return win_attr_delete_cb(win, keyval, attrval, extra_state) * */ __pyx_t_1 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { __pyx_r = MPI_SUCCESS; goto __pyx_L0; } /* "MPI/winimpl.pxi":109 * if attrval == NULL: return MPI_ERR_INTERN * if not Py_IsInitialized(): return MPI_SUCCESS * return win_attr_delete_cb(win, keyval, attrval, extra_state) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = __pyx_f_6mpi4py_3MPI_win_attr_delete_cb(__pyx_v_win, __pyx_v_keyval, __pyx_v_attrval, __pyx_v_extra_state); goto __pyx_L0; /* "MPI/winimpl.pxi":102 * * @cython.callspec("MPIAPI") * cdef int win_attr_delete_fn(MPI_Win win, # <<<<<<<<<<<<<< * int keyval, * void *attrval, */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "MPI/helpers.pxi":306 * 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; __Pyx_RefNannySetupContext("new_Win", 0); /* "MPI/helpers.pxi":307 * * cdef inline Win new_Win(MPI_Win ob): * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * win.ob_mpi = ob * return win */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 307, __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_win = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/helpers.pxi":308 * 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; /* "MPI/helpers.pxi":309 * 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; /* "MPI/helpers.pxi":306 * 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; } /* "MPI/helpers.pxi":311 * 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); /* "MPI/helpers.pxi":312 * * 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; } /* "MPI/helpers.pxi":313 * 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; } /* "MPI/helpers.pxi":315 * 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; } /* "MPI/helpers.pxi":316 * # * if not mpi_active(): return 0 * return MPI_Win_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Win_free(__pyx_v_ob); goto __pyx_L0; /* "MPI/helpers.pxi":311 * 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; } /* "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_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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_read_fn)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_write_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(17, 13, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_extent_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(17, 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(17, 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(17, 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); /* "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; /* "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; /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("read", 0); /* "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; /* "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)); /* "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; } /* "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); /* "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); /* "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 = __pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_userbuf, __pyx_v_ulen); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 30, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_ubuf = __pyx_t_2; __pyx_t_2 = 0; /* "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 = __pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_filebuf, __pyx_v_flen); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 31, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_fbuf = __pyx_t_2; __pyx_t_2 = 0; /* "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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 32, __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_v_dtype = ((struct PyMPIDatatypeObject *)__pyx_t_3); __pyx_t_3 = 0; /* "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; /* "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(17, 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(17, 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(17, 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(17, 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(17, 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(17, 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; } /* "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; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L5_error:; __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_PyThreadState_assign __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 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; } __Pyx_PyThreadState_assign 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:; } /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("write", 0); /* "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; /* "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)); /* "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; } /* "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); /* "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); /* "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 = __pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_userbuf, __pyx_v_ulen); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_ubuf = __pyx_t_2; __pyx_t_2 = 0; /* "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 = __pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_filebuf, __pyx_v_flen); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_fbuf = __pyx_t_2; __pyx_t_2 = 0; /* "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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 52, __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_v_dtype = ((struct PyMPIDatatypeObject *)__pyx_t_3); __pyx_t_3 = 0; /* "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; /* "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(17, 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(17, 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(17, 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(17, 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(17, 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(17, 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; } /* "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; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L5_error:; __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_PyThreadState_assign __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 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; } __Pyx_PyThreadState_assign 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:; } /* "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; /* "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; } /* "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; PyObject *__pyx_t_4 = NULL; MPI_Aint __pyx_t_5; int __pyx_t_6; 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; __Pyx_RefNannySetupContext("extent", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 62, __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_dtype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; /* "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); } } if (!__pyx_t_3) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, ((PyObject *)__pyx_v_dtype)); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 64, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_3, ((PyObject *)__pyx_v_dtype)}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 64, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_3, ((PyObject *)__pyx_v_dtype)}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 64, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(17, 64, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL; __Pyx_INCREF(((PyObject *)__pyx_v_dtype)); __Pyx_GIVEREF(((PyObject *)__pyx_v_dtype)); PyTuple_SET_ITEM(__pyx_t_4, 0+1, ((PyObject *)__pyx_v_dtype)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 64, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyInt_As_MPI_Aint(__pyx_t_2); if (unlikely((__pyx_t_5 == ((MPI_Aint)-1)) && PyErr_Occurred())) __PYX_ERR(17, 64, __pyx_L4_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; (__pyx_v_file_extent[0]) = __pyx_t_5; } /* "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; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__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; 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_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; { __pyx_v_dtype->ob_mpi = MPI_DATATYPE_NULL; } __Pyx_PyThreadState_assign 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_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; goto __pyx_L1_error; } __pyx_L5:; } /* "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; /* "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_XDECREF(__pyx_t_4); __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; } /* "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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("datarep_read", 0); /* "MPI/drepimpl.pxi":78 * void *extra_state * ) 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; /* "MPI/drepimpl.pxi":79 * ) with gil: * cdef _p_datarep state = <_p_datarep>extra_state * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "MPI/drepimpl.pxi":81 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.read(userbuf, datatype, count, filebuf, position) * except MPIException, 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:*/ { /* "MPI/drepimpl.pxi":82 * cdef object exc * try: * ierr = state.read(userbuf, datatype, count, filebuf, position) # <<<<<<<<<<<<<< * except MPIException, 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 == -1)) __PYX_ERR(17, 82, __pyx_L3_error) __pyx_v_ierr = __pyx_t_5; /* "MPI/drepimpl.pxi":81 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.read(userbuf, datatype, count, filebuf, position) * except MPIException, 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/drepimpl.pxi":83 * try: * ierr = state.read(userbuf, datatype, count, filebuf, position) * except MPIException, 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(17, 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; /* "MPI/drepimpl.pxi":84 * ierr = state.read(userbuf, datatype, count, filebuf, position) * except MPIException, exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/drepimpl.pxi":85 * except MPIException, 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(17, 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); } } if (__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(17, 85, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(17, 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(17, 85, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_5; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } /* "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(17, 86, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_1); /* "MPI/drepimpl.pxi":87 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/drepimpl.pxi":88 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "MPI/drepimpl.pxi":81 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.read(userbuf, datatype, count, filebuf, position) * except MPIException, exc: */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/drepimpl.pxi":89 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * cdef int datarep_write( */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "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_WriteUnraisable("mpi4py.MPI.datarep_read", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("datarep_write", 0); /* "MPI/drepimpl.pxi":99 * void *extra_state * ) 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; /* "MPI/drepimpl.pxi":100 * ) with gil: * cdef _p_datarep state = <_p_datarep>extra_state * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "MPI/drepimpl.pxi":102 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.write(userbuf, datatype, count, filebuf, position) * except MPIException, 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:*/ { /* "MPI/drepimpl.pxi":103 * cdef object exc * try: * ierr = state.write(userbuf, datatype, count, filebuf, position) # <<<<<<<<<<<<<< * except MPIException, 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 == -1)) __PYX_ERR(17, 103, __pyx_L3_error) __pyx_v_ierr = __pyx_t_5; /* "MPI/drepimpl.pxi":102 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.write(userbuf, datatype, count, filebuf, position) * except MPIException, 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/drepimpl.pxi":104 * try: * ierr = state.write(userbuf, datatype, count, filebuf, position) * except MPIException, 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(17, 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; /* "MPI/drepimpl.pxi":105 * ierr = state.write(userbuf, datatype, count, filebuf, position) * except MPIException, exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/drepimpl.pxi":106 * except MPIException, 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(17, 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); } } if (__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(17, 106, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(17, 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(17, 106, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_5; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } /* "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(17, 107, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_1); /* "MPI/drepimpl.pxi":108 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/drepimpl.pxi":109 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "MPI/drepimpl.pxi":102 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.write(userbuf, datatype, count, filebuf, position) * except MPIException, exc: */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/drepimpl.pxi":110 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * cdef int datarep_extent( */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "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_WriteUnraisable("mpi4py.MPI.datarep_write", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "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; #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif __Pyx_RefNannySetupContext("datarep_extent", 0); /* "MPI/drepimpl.pxi":117 * void *extra_state * ) 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; /* "MPI/drepimpl.pxi":118 * ) with gil: * cdef _p_datarep state = <_p_datarep>extra_state * cdef int ierr = MPI_SUCCESS # <<<<<<<<<<<<<< * cdef object exc * try: */ __pyx_v_ierr = MPI_SUCCESS; /* "MPI/drepimpl.pxi":120 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.extent(datatype, file_extent) * except MPIException, 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:*/ { /* "MPI/drepimpl.pxi":121 * cdef object exc * try: * ierr = state.extent(datatype, file_extent) # <<<<<<<<<<<<<< * except MPIException, 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 == -1)) __PYX_ERR(17, 121, __pyx_L3_error) __pyx_v_ierr = __pyx_t_5; /* "MPI/drepimpl.pxi":120 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.extent(datatype, file_extent) * except MPIException, 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/drepimpl.pxi":122 * try: * ierr = state.extent(datatype, file_extent) * except MPIException, 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(17, 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; /* "MPI/drepimpl.pxi":123 * ierr = state.extent(datatype, file_extent) * except MPIException, exc: * print_traceback() # <<<<<<<<<<<<<< * ierr = exc.Get_error_code() * except: */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/drepimpl.pxi":124 * except MPIException, 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(17, 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); } } if (__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(17, 124, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(17, 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(17, 124, __pyx_L5_except_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_ierr = __pyx_t_5; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } /* "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(17, 125, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_1); /* "MPI/drepimpl.pxi":126 * ierr = exc.Get_error_code() * except: * print_traceback() # <<<<<<<<<<<<<< * ierr = MPI_ERR_OTHER * return ierr */ __pyx_f_6mpi4py_3MPI_print_traceback(); /* "MPI/drepimpl.pxi":127 * except: * print_traceback() * ierr = MPI_ERR_OTHER # <<<<<<<<<<<<<< * return ierr * */ __pyx_v_ierr = MPI_ERR_OTHER; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "MPI/drepimpl.pxi":120 * cdef int ierr = MPI_SUCCESS * cdef object exc * try: # <<<<<<<<<<<<<< * ierr = state.extent(datatype, file_extent) * except MPIException, exc: */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/drepimpl.pxi":128 * print_traceback() * ierr = MPI_ERR_OTHER * return ierr # <<<<<<<<<<<<<< * * # --- */ __pyx_r = __pyx_v_ierr; goto __pyx_L0; /* "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_WriteUnraisable("mpi4py.MPI.datarep_extent", __pyx_clineno, __pyx_lineno, __pyx_filename, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_state); __Pyx_XDECREF(__pyx_v_exc); __Pyx_RefNannyFinishContext(); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif return __pyx_r; } /* "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; /* "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) { /* "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; /* "MPI/drepimpl.pxi":141 * void *extra_state * ) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "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 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "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; /* "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, */ } /* "MPI/drepimpl.pxi":145 * if not Py_IsInitialized(): * return MPI_ERR_INTERN * return datarep_read(userbuf, datatype, count, # <<<<<<<<<<<<<< * filebuf, position, extra_state) * */ __pyx_r = __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); goto __pyx_L0; /* "MPI/drepimpl.pxi":133 * * @cython.callspec("MPIAPI") * cdef int datarep_read_fn( # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "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; /* "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) { /* "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; /* "MPI/drepimpl.pxi":157 * void *extra_state * ) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "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 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "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; /* "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, */ } /* "MPI/drepimpl.pxi":161 * if not Py_IsInitialized(): * return MPI_ERR_INTERN * return datarep_write(userbuf, datatype, count, # <<<<<<<<<<<<<< * filebuf, position, extra_state) * */ __pyx_r = __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); goto __pyx_L0; /* "MPI/drepimpl.pxi":149 * * @cython.callspec("MPIAPI") * cdef int datarep_write_fn( # <<<<<<<<<<<<<< * void *userbuf, * MPI_Datatype datatype, */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "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; /* "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) { /* "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; /* "MPI/drepimpl.pxi":170 * void *extra_state * ) nogil: * if extra_state == NULL: # <<<<<<<<<<<<<< * return MPI_ERR_INTERN * if not Py_IsInitialized(): */ } /* "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 = ((!(Py_IsInitialized() != 0)) != 0); if (__pyx_t_1) { /* "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; /* "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) */ } /* "MPI/drepimpl.pxi":174 * if not Py_IsInitialized(): * return MPI_ERR_INTERN * return datarep_extent(datatype, file_extent, extra_state) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = __pyx_f_6mpi4py_3MPI_datarep_extent(__pyx_v_datatype, __pyx_v_file_extent, __pyx_v_extra_state); goto __pyx_L0; /* "MPI/drepimpl.pxi":165 * * @cython.callspec("MPIAPI") * cdef int datarep_extent_fn( # <<<<<<<<<<<<<< * MPI_Datatype datatype, * MPI_Aint *file_extent, */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* "MPI/helpers.pxi":323 * 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; __Pyx_RefNannySetupContext("new_File", 0); /* "MPI/helpers.pxi":324 * * cdef inline File new_File(MPI_File ob): * cdef File file = File.__new__(File) # <<<<<<<<<<<<<< * file.ob_mpi = ob * return file */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_File(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_File), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 324, __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_file = ((struct PyMPIFileObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/helpers.pxi":325 * 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; /* "MPI/helpers.pxi":326 * 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; /* "MPI/helpers.pxi":323 * 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; } /* "MPI/helpers.pxi":328 * 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); /* "MPI/helpers.pxi":329 * * 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; } /* "MPI/helpers.pxi":330 * 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; } /* "MPI/helpers.pxi":332 * 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; } /* "MPI/helpers.pxi":333 * # * if not mpi_active(): return 0 * return MPI_File_close(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_File_close(__pyx_v_ob); goto __pyx_L0; /* "MPI/helpers.pxi":328 * 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; } /* "MPI/helpers.pxi":338 * # 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; __Pyx_RefNannySetupContext("new_Errhandler", 0); /* "MPI/helpers.pxi":339 * * cdef inline Errhandler new_Errhandler(MPI_Errhandler ob): * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) # <<<<<<<<<<<<<< * errhandler.ob_mpi = ob * return errhandler */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Errhandler(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 339, __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_errhandler = ((struct PyMPIErrhandlerObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/helpers.pxi":340 * 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; /* "MPI/helpers.pxi":341 * 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; /* "MPI/helpers.pxi":338 * # 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; } /* "MPI/helpers.pxi":343 * 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); /* "MPI/helpers.pxi":344 * * 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; } /* "MPI/helpers.pxi":345 * 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; } /* "MPI/helpers.pxi":346 * 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; } /* "MPI/helpers.pxi":347 * 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; } /* "MPI/helpers.pxi":349 * 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; } /* "MPI/helpers.pxi":350 * # * if not mpi_active(): return 0 * return MPI_Errhandler_free(ob) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_r = MPI_Errhandler_free(__pyx_v_ob); goto __pyx_L0; /* "MPI/helpers.pxi":343 * 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; } /* "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; /* "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; } /* "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; /* "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; } /* "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 == -1)) __PYX_ERR(18, 7, __pyx_L1_error) goto __pyx_L4; } /* "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 == -1)) __PYX_ERR(18, 8, __pyx_L1_error) } __pyx_L4:; /* "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; /* "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 = PyGILState_Ensure(); #endif __Pyx_AddTraceback("mpi4py.MPI.comm_set_eh", __pyx_clineno, __pyx_lineno, __pyx_filename); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif } __pyx_r = -1; __pyx_L0:; return __pyx_r; } /* "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; /* "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; } /* "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; /* "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; } /* "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 == -1)) __PYX_ERR(18, 15, __pyx_L1_error) goto __pyx_L4; } /* "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 == -1)) __PYX_ERR(18, 16, __pyx_L1_error) } __pyx_L4:; /* "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; /* "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 = PyGILState_Ensure(); #endif __Pyx_AddTraceback("mpi4py.MPI.win_set_eh", __pyx_clineno, __pyx_lineno, __pyx_filename); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif } __pyx_r = -1; __pyx_L0:; return __pyx_r; } /* "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; /* "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; } /* "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; /* "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; } /* "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 == -1)) __PYX_ERR(18, 23, __pyx_L1_error) goto __pyx_L4; } /* "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 == -1)) __PYX_ERR(18, 24, __pyx_L1_error) } __pyx_L4:; /* "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; /* "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 = PyGILState_Ensure(); #endif __Pyx_AddTraceback("mpi4py.MPI.file_set_eh", __pyx_clineno, __pyx_lineno, __pyx_filename); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif } __pyx_r = -1; __pyx_L0:; return __pyx_r; } /* "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; __Pyx_RefNannySetupContext("is_integral", 0); /* "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; } /* "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; } /* "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 == -1L)) __PYX_ERR(4, 16, __pyx_L5_error) } /* "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:; __Pyx_PyThreadState_assign /* "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:; /* "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_assign __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_PyThreadState_assign __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); } /* "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(4, 19, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } /* "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_L16_except_return; } __pyx_L13_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /* "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(4, 20, __pyx_L15_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_L16_except_return; } __pyx_L15_except_error:; /* "MPI/msgbuffer.pxi":19 * except: pass * else: return 0 * try: PyNumber_Index(ob) # <<<<<<<<<<<<<< * except: return 0 * else: return 1 */ __Pyx_PyThreadState_assign __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_L16_except_return:; __Pyx_PyThreadState_assign __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; } /* "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, 0, 0); __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgbuffer.pxi":23 * else: return 1 * * cdef inline int is_buffer(object ob): # <<<<<<<<<<<<<< * if PY_MAJOR_VERSION >= 3: * 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; int __pyx_t_3; __Pyx_RefNannySetupContext("is_buffer", 0); /* "MPI/msgbuffer.pxi":24 * * cdef inline int is_buffer(object ob): * if PY_MAJOR_VERSION >= 3: # <<<<<<<<<<<<<< * return PyObject_CheckBuffer(ob) * else: */ __pyx_t_1 = ((PY_MAJOR_VERSION >= 3) != 0); if (__pyx_t_1) { /* "MPI/msgbuffer.pxi":25 * cdef inline int is_buffer(object ob): * if PY_MAJOR_VERSION >= 3: * return PyObject_CheckBuffer(ob) # <<<<<<<<<<<<<< * else: * return (PyObject_CheckBuffer(ob) or */ __pyx_r = PyObject_CheckBuffer(__pyx_v_ob); goto __pyx_L0; /* "MPI/msgbuffer.pxi":24 * * cdef inline int is_buffer(object ob): * if PY_MAJOR_VERSION >= 3: # <<<<<<<<<<<<<< * return PyObject_CheckBuffer(ob) * else: */ } /* "MPI/msgbuffer.pxi":27 * return PyObject_CheckBuffer(ob) * else: * return (PyObject_CheckBuffer(ob) or # <<<<<<<<<<<<<< * PyObject_CheckReadBuffer(ob)) * */ /*else*/ { __pyx_t_3 = PyObject_CheckBuffer(__pyx_v_ob); if (!__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } /* "MPI/msgbuffer.pxi":28 * else: * return (PyObject_CheckBuffer(ob) or * PyObject_CheckReadBuffer(ob)) # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_t_3 = PyObject_CheckReadBuffer(__pyx_v_ob); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; __pyx_r = __pyx_t_2; goto __pyx_L0; } /* "MPI/msgbuffer.pxi":23 * else: return 1 * * cdef inline int is_buffer(object ob): # <<<<<<<<<<<<<< * if PY_MAJOR_VERSION >= 3: * return PyObject_CheckBuffer(ob) */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgbuffer.pxi":32 * #------------------------------------------------------------------------------ * * cdef inline int downcast(MPI_Aint value) except? -1: # <<<<<<<<<<<<<< * cdef int ivalue = value * if ivalue == value: return ivalue */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_downcast(MPI_Aint __pyx_v_value) { int __pyx_v_ivalue; int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("downcast", 0); /* "MPI/msgbuffer.pxi":33 * * cdef inline int downcast(MPI_Aint value) except? -1: * cdef int ivalue = value # <<<<<<<<<<<<<< * if ivalue == value: return ivalue * raise OverflowError("integer %d does not fit in 'int'" % value) */ __pyx_v_ivalue = ((int)__pyx_v_value); /* "MPI/msgbuffer.pxi":34 * cdef inline int downcast(MPI_Aint value) except? -1: * cdef int ivalue = value * if ivalue == value: return ivalue # <<<<<<<<<<<<<< * raise OverflowError("integer %d does not fit in 'int'" % value) * */ __pyx_t_1 = ((((MPI_Aint)__pyx_v_ivalue) == __pyx_v_value) != 0); if (__pyx_t_1) { __pyx_r = __pyx_v_ivalue; goto __pyx_L0; } /* "MPI/msgbuffer.pxi":35 * cdef int ivalue = value * if ivalue == value: return ivalue * raise OverflowError("integer %d does not fit in 'int'" % value) # <<<<<<<<<<<<<< * * cdef extern from *: */ __pyx_t_2 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 35, __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(4, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_OverflowError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(4, 35, __pyx_L1_error) /* "MPI/msgbuffer.pxi":32 * #------------------------------------------------------------------------------ * * cdef inline int downcast(MPI_Aint value) except? -1: # <<<<<<<<<<<<<< * cdef int ivalue = value * if ivalue == value: return ivalue */ /* 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; } /* "MPI/msgbuffer.pxi":40 * int INT_MAX * * 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); /* "MPI/msgbuffer.pxi":41 * * 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) { /* "MPI/msgbuffer.pxi":42 * cdef inline int clipcount(MPI_Aint value): * if value > INT_MAX: * return INT_MAX # <<<<<<<<<<<<<< * else: * return value */ __pyx_r = INT_MAX; goto __pyx_L0; /* "MPI/msgbuffer.pxi":41 * * cdef inline int clipcount(MPI_Aint value): * if value > INT_MAX: # <<<<<<<<<<<<<< * return INT_MAX * else: */ } /* "MPI/msgbuffer.pxi":44 * return INT_MAX * else: * return value # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ /*else*/ { __pyx_r = ((int)__pyx_v_value); goto __pyx_L0; } /* "MPI/msgbuffer.pxi":40 * int INT_MAX * * cdef inline int clipcount(MPI_Aint value): # <<<<<<<<<<<<<< * if value > INT_MAX: * return INT_MAX */ /* function exit code */ __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgbuffer.pxi":62 * 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; __Pyx_RefNannySetupContext("message_basic", 0); /* "MPI/msgbuffer.pxi":71 * ): * global TypeDict * 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 = __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(4, 71, __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_m = ((struct __pyx_obj_6mpi4py_3MPI__p_message *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgbuffer.pxi":74 * # 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) { /* "MPI/msgbuffer.pxi":75 * # 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) { /* "MPI/msgbuffer.pxi":76 * 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; /* "MPI/msgbuffer.pxi":75 * # 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; } /* "MPI/msgbuffer.pxi":78 * 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(4, 78, __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(4, 78, __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(4, 78, __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:; /* "MPI/msgbuffer.pxi":79 * 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(4, 79, __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__p_buffer *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgbuffer.pxi":80 * 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; /* "MPI/msgbuffer.pxi":81 * m.buf = newbuffer() * baddr[0] = MPI_BOTTOM * bsize[0] = 0 # <<<<<<<<<<<<<< * btype[0] = m.type.ob_mpi * return m */ (__pyx_v_bsize[0]) = 0; /* "MPI/msgbuffer.pxi":82 * 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; /* "MPI/msgbuffer.pxi":83 * 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; /* "MPI/msgbuffer.pxi":74 * # 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 */ } /* "MPI/msgbuffer.pxi":85 * 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; /* "MPI/msgbuffer.pxi":86 * # 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(4, 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__p_buffer *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgbuffer.pxi":87 * 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); /* "MPI/msgbuffer.pxi":88 * 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); /* "MPI/msgbuffer.pxi":90 * 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) { /* "MPI/msgbuffer.pxi":91 * # 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; /* "MPI/msgbuffer.pxi":90 * 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; } /* "MPI/msgbuffer.pxi":92 * 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) { /* "MPI/msgbuffer.pxi":93 * 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(4, 93, __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__p_buffer *)__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 93, __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(4, 93, __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(4, 93, __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; /* "MPI/msgbuffer.pxi":92 * if isinstance(o_type, Datatype): * m.type = o_type * elif o_type is None: # <<<<<<<<<<<<<< * m.type = TypeDict[getformat(m.buf)] * else: */ goto __pyx_L7; } /* "MPI/msgbuffer.pxi":95 * 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(4, 95, __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(4, 95, __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(4, 95, __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:; /* "MPI/msgbuffer.pxi":96 * 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; /* "MPI/msgbuffer.pxi":98 * 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; /* "MPI/msgbuffer.pxi":62 * 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; } /* "MPI/msgbuffer.pxi":100 * 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 *); int __pyx_t_8; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; __Pyx_RefNannySetupContext("message_simple", 0); /* "MPI/msgbuffer.pxi":110 * ): * # 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) { /* "MPI/msgbuffer.pxi":111 * # 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; /* "MPI/msgbuffer.pxi":112 * if rank == MPI_PROC_NULL: * _addr[0] = NULL * _count[0] = 0 # <<<<<<<<<<<<<< * _type[0] = MPI_BYTE * return None */ (__pyx_v__count[0]) = 0; /* "MPI/msgbuffer.pxi":113 * _addr[0] = NULL * _count[0] = 0 * _type[0] = MPI_BYTE # <<<<<<<<<<<<<< * return None * # unpack message list/tuple */ (__pyx_v__type[0]) = MPI_BYTE; /* "MPI/msgbuffer.pxi":114 * _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_INCREF(Py_None); __pyx_r = ((struct __pyx_obj_6mpi4py_3MPI__p_message *)Py_None); goto __pyx_L0; /* "MPI/msgbuffer.pxi":110 * ): * # special-case PROC_NULL target rank * if rank == MPI_PROC_NULL: # <<<<<<<<<<<<<< * _addr[0] = NULL * _count[0] = 0 */ } /* "MPI/msgbuffer.pxi":116 * 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; /* "MPI/msgbuffer.pxi":117 * # 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; /* "MPI/msgbuffer.pxi":118 * 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; /* "MPI/msgbuffer.pxi":119 * 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; /* "MPI/msgbuffer.pxi":120 * 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; /* "MPI/msgbuffer.pxi":121 * 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) { /* "MPI/msgbuffer.pxi":122 * 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); /* "MPI/msgbuffer.pxi":121 * 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; } /* "MPI/msgbuffer.pxi":123 * 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) { /* "MPI/msgbuffer.pxi":124 * 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 == -1)) __PYX_ERR(4, 124, __pyx_L1_error) __pyx_v_nargs = __pyx_t_3; /* "MPI/msgbuffer.pxi":125 * elif is_list(msg) or is_tuple(msg): * nargs = len(msg) * if nargs == 2: # <<<<<<<<<<<<<< * (o_buf, o_count) = msg * if (isinstance(o_count, Datatype) or */ __pyx_t_1 = ((__pyx_v_nargs == 2) != 0); if (__pyx_t_1) { /* "MPI/msgbuffer.pxi":126 * nargs = len(msg) * if nargs == 2: * (o_buf, o_count) = msg # <<<<<<<<<<<<<< * if (isinstance(o_count, Datatype) or * isinstance(o_count, str)): */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 126, __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(4, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 126, __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(4, 126, __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(4, 126, __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(4, 126, __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; /* "MPI/msgbuffer.pxi":127 * if nargs == 2: * (o_buf, o_count) = msg * if (isinstance(o_count, Datatype) or # <<<<<<<<<<<<<< * isinstance(o_count, str)): * (o_count, o_type) = None, o_count */ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_o_count, __pyx_ptype_6mpi4py_3MPI_Datatype); __pyx_t_8 = (__pyx_t_2 != 0); if (!__pyx_t_8) { } else { __pyx_t_1 = __pyx_t_8; goto __pyx_L11_bool_binop_done; } /* "MPI/msgbuffer.pxi":128 * (o_buf, o_count) = msg * if (isinstance(o_count, Datatype) or * isinstance(o_count, str)): # <<<<<<<<<<<<<< * (o_count, o_type) = None, o_count * elif is_tuple(o_count) or is_list(o_count): */ __pyx_t_8 = PyString_Check(__pyx_v_o_count); __pyx_t_2 = (__pyx_t_8 != 0); __pyx_t_1 = __pyx_t_2; __pyx_L11_bool_binop_done:; /* "MPI/msgbuffer.pxi":127 * if nargs == 2: * (o_buf, o_count) = msg * if (isinstance(o_count, Datatype) or # <<<<<<<<<<<<<< * isinstance(o_count, str)): * (o_count, o_type) = None, o_count */ if (__pyx_t_1) { /* "MPI/msgbuffer.pxi":129 * if (isinstance(o_count, Datatype) or * isinstance(o_count, str)): * (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; /* "MPI/msgbuffer.pxi":127 * if nargs == 2: * (o_buf, o_count) = msg * if (isinstance(o_count, Datatype) or # <<<<<<<<<<<<<< * isinstance(o_count, str)): * (o_count, o_type) = None, o_count */ goto __pyx_L10; } /* "MPI/msgbuffer.pxi":130 * isinstance(o_count, str)): * (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_L13_bool_binop_done; } __pyx_t_2 = (PyList_Check(__pyx_v_o_count) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L13_bool_binop_done:; if (__pyx_t_1) { /* "MPI/msgbuffer.pxi":131 * (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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 131, __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(4, 131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 131, __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(4, 131, __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_L15_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_L15_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(4, 131, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L16_unpacking_done; __pyx_L15_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(4, 131, __pyx_L1_error) __pyx_L16_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; /* "MPI/msgbuffer.pxi":130 * isinstance(o_count, str)): * (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:; /* "MPI/msgbuffer.pxi":125 * elif is_list(msg) or is_tuple(msg): * nargs = len(msg) * if nargs == 2: # <<<<<<<<<<<<<< * (o_buf, o_count) = msg * if (isinstance(o_count, Datatype) or */ goto __pyx_L7; } /* "MPI/msgbuffer.pxi":132 * 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) { /* "MPI/msgbuffer.pxi":133 * (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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 133, __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(4, 133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { Py_ssize_t index = -1; __pyx_t_9 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = Py_TYPE(__pyx_t_9)->tp_iternext; index = 0; __pyx_t_5 = __pyx_t_7(__pyx_t_9); if (unlikely(!__pyx_t_5)) goto __pyx_L17_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_9); if (unlikely(!__pyx_t_4)) goto __pyx_L17_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 2; __pyx_t_6 = __pyx_t_7(__pyx_t_9); if (unlikely(!__pyx_t_6)) goto __pyx_L17_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_9), 3) < 0) __PYX_ERR(4, 133, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L18_unpacking_done; __pyx_L17_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(4, 133, __pyx_L1_error) __pyx_L18_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; /* "MPI/msgbuffer.pxi":134 * 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_L20_bool_binop_done; } __pyx_t_2 = (PyList_Check(__pyx_v_o_count) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L20_bool_binop_done:; if (__pyx_t_1) { /* "MPI/msgbuffer.pxi":135 * (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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 135, __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(4, 135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 135, __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(4, 135, __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_L22_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_L22_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_5), 2) < 0) __PYX_ERR(4, 135, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L23_unpacking_done; __pyx_L22_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(4, 135, __pyx_L1_error) __pyx_L23_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; /* "MPI/msgbuffer.pxi":134 * 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: */ } /* "MPI/msgbuffer.pxi":132 * 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; } /* "MPI/msgbuffer.pxi":136 * 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 (__pyx_t_1) { /* "MPI/msgbuffer.pxi":137 * (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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 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_6 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_9 = 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_9 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_9); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_6,&__pyx_t_5,&__pyx_t_9}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(4, 137, __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_9}; __pyx_t_10 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = Py_TYPE(__pyx_t_10)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_10); if (unlikely(!item)) goto __pyx_L24_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_10), 4) < 0) __PYX_ERR(4, 137, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L25_unpacking_done; __pyx_L24_unpacking_failed:; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(4, 137, __pyx_L1_error) __pyx_L25_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_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":136 * 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; } /* "MPI/msgbuffer.pxi":139 * (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_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(4, 139, __pyx_L1_error) } __pyx_L7:; /* "MPI/msgbuffer.pxi":123 * if is_buffer(msg): * o_buf = msg * elif is_list(msg) or is_tuple(msg): # <<<<<<<<<<<<<< * nargs = len(msg) * if nargs == 2: */ goto __pyx_L4; } /* "MPI/msgbuffer.pxi":140 * else: * raise ValueError("message: expecting 2 to 4 items") * elif PYPY: # <<<<<<<<<<<<<< * o_buf = msg * else: */ if (PyMPI_RUNTIME_PYPY) { /* "MPI/msgbuffer.pxi":141 * 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); /* "MPI/msgbuffer.pxi":140 * else: * raise ValueError("message: expecting 2 to 4 items") * elif PYPY: # <<<<<<<<<<<<<< * o_buf = msg * else: */ goto __pyx_L4; } /* "MPI/msgbuffer.pxi":143 * o_buf = msg * else: * raise TypeError("message: expecting buffer or list/tuple") # <<<<<<<<<<<<<< * # buffer: address, length, and datatype * cdef void *baddr = NULL */ /*else*/ { __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(4, 143, __pyx_L1_error) } __pyx_L4:; /* "MPI/msgbuffer.pxi":145 * 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; /* "MPI/msgbuffer.pxi":146 * # 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; /* "MPI/msgbuffer.pxi":147 * 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; /* "MPI/msgbuffer.pxi":148 * 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_9 = ((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_9)) __PYX_ERR(4, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_message *)__pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":151 * &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; /* "MPI/msgbuffer.pxi":152 * # 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; /* "MPI/msgbuffer.pxi":153 * 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; /* "MPI/msgbuffer.pxi":154 * 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; /* "MPI/msgbuffer.pxi":155 * 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; /* "MPI/msgbuffer.pxi":156 * 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) { /* "MPI/msgbuffer.pxi":157 * 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_11 = __Pyx_PyInt_As_int(__pyx_v_o_displ); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 157, __pyx_L1_error) __pyx_v_displ = ((int)__pyx_t_11); /* "MPI/msgbuffer.pxi":158 * 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 (__pyx_t_2) { /* "MPI/msgbuffer.pxi":159 * 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_9 = __Pyx_PyInt_From_int(__pyx_v_displ); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_message_negative_diplacement_d, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":158 * if o_displ is not None: * displ = o_displ * if displ < 0: raise ValueError( # <<<<<<<<<<<<<< * "message: negative diplacement %d" % displ) * if displ > 0: */ __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(4, 158, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":160 * 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) { /* "MPI/msgbuffer.pxi":161 * "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 (__pyx_t_2) { __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 161, __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(4, 161, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":163 * 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_11 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent(__pyx_v_btype, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(4, 163, __pyx_L1_error) /* "MPI/msgbuffer.pxi":164 * "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 (__pyx_t_2) { /* "MPI/msgbuffer.pxi":167 * ("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_5 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_extent); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_lb); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_lb + __pyx_v_extent)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_6); __pyx_t_5 = 0; __pyx_t_9 = 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(4, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgbuffer.pxi":164 * "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 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __PYX_ERR(4, 164, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":168 * "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 (__pyx_t_2) { /* "MPI/msgbuffer.pxi":171 * ("message: displacement %d out of bounds, " * "number of datatype entries %d" * ) % (displ, length//extent)) # <<<<<<<<<<<<<< * offset = displ*extent * length -= offset */ __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_displ); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_length / __pyx_v_extent)); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_4); __pyx_t_6 = 0; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_message_displacement_d_out_of_bo, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":168 * "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_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(4, 168, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":172 * "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); /* "MPI/msgbuffer.pxi":173 * ) % (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); /* "MPI/msgbuffer.pxi":160 * 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") */ } /* "MPI/msgbuffer.pxi":156 * 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( */ } /* "MPI/msgbuffer.pxi":174 * 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) { /* "MPI/msgbuffer.pxi":175 * length -= offset * if o_count is not None: * count = o_count # <<<<<<<<<<<<<< * if count < 0: raise ValueError( * "message: negative count %d" % count) */ __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_v_o_count); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 175, __pyx_L1_error) __pyx_v_count = ((int)__pyx_t_11); /* "MPI/msgbuffer.pxi":176 * 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 (__pyx_t_1) { /* "MPI/msgbuffer.pxi":177 * 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_4 = __Pyx_PyInt_From_int(__pyx_v_count); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_message_negative_count_d, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgbuffer.pxi":176 * 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_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(4, 176, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":178 * 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_L35_bool_binop_done; } __pyx_t_2 = (__pyx_v_o_buf == Py_None); __pyx_t_8 = (__pyx_t_2 != 0); __pyx_t_1 = __pyx_t_8; __pyx_L35_bool_binop_done:; if (__pyx_t_1) { /* "MPI/msgbuffer.pxi":179 * "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_9 = __Pyx_PyInt_From_int(__pyx_v_count); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_message_buffer_is_None_but_count, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":178 * 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_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(4, 178, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":174 * offset = displ*extent * length -= offset * if o_count is not None: # <<<<<<<<<<<<<< * count = o_count * if count < 0: raise ValueError( */ goto __pyx_L32; } /* "MPI/msgbuffer.pxi":180 * 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) { /* "MPI/msgbuffer.pxi":181 * "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) { /* "MPI/msgbuffer.pxi":182 * 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 (__pyx_t_1) { __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 182, __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(4, 182, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":184 * 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_11 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent(__pyx_v_btype, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(4, 184, __pyx_L1_error) /* "MPI/msgbuffer.pxi":185 * "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 (__pyx_t_1) { /* "MPI/msgbuffer.pxi":188 * ("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_4 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_extent); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_lb); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_lb + __pyx_v_extent)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 188, __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_9); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_6); __pyx_t_4 = 0; __pyx_t_9 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_message_cannot_infer_count_datat_2, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "MPI/msgbuffer.pxi":185 * "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_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 185, __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(4, 185, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":181 * "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") */ } /* "MPI/msgbuffer.pxi":189 * "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 (__pyx_t_1) { /* "MPI/msgbuffer.pxi":193 * "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_6 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_extent); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_lb); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_lb + __pyx_v_extent)); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = PyTuple_New(4); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_10, 3, __pyx_t_4); __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_9 = 0; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_message_cannot_infer_count_buffe, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; /* "MPI/msgbuffer.pxi":189 * "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_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(4, 189, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":194 * "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) { /* "MPI/msgbuffer.pxi":195 * ) % (length, extent, lb, lb+extent)) * if blocks < 2: * count = downcast(length // extent) # <<<<<<<<<<<<<< * else: * if ((length // extent) % blocks) != 0: raise ValueError( */ __pyx_t_11 = __pyx_f_6mpi4py_3MPI_downcast((__pyx_v_length / __pyx_v_extent)); if (unlikely(__pyx_t_11 == -1 && PyErr_Occurred())) __PYX_ERR(4, 195, __pyx_L1_error) __pyx_v_count = __pyx_t_11; /* "MPI/msgbuffer.pxi":194 * "datatype extent %d (lb:%d, ub:%d)" * ) % (length, extent, lb, lb+extent)) * if blocks < 2: # <<<<<<<<<<<<<< * count = downcast(length // extent) * else: */ goto __pyx_L41; } /* "MPI/msgbuffer.pxi":197 * 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 (__pyx_t_1) { /* "MPI/msgbuffer.pxi":201 * "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_4 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_length / __pyx_v_extent)); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_blocks); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 201, __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_10); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_10); __pyx_t_4 = 0; __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyString_Format(__pyx_kp_s_message_cannot_infer_count_numbe, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":197 * 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_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_9, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_Raise(__pyx_t_10, 0, 0, 0); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __PYX_ERR(4, 197, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":202 * "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_11 = __pyx_f_6mpi4py_3MPI_downcast(((__pyx_v_length / __pyx_v_extent) / __pyx_v_blocks)); if (unlikely(__pyx_t_11 == -1 && PyErr_Occurred())) __PYX_ERR(4, 202, __pyx_L1_error) __pyx_v_count = __pyx_t_11; } __pyx_L41:; /* "MPI/msgbuffer.pxi":180 * 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_L32:; /* "MPI/msgbuffer.pxi":204 * 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_10 = __pyx_v_o_count; } else { __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_count); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __pyx_t_9; __pyx_t_9 = 0; } __Pyx_GIVEREF(__pyx_t_10); __Pyx_GOTREF(__pyx_v_m->count); __Pyx_DECREF(__pyx_v_m->count); __pyx_v_m->count = __pyx_t_10; __pyx_t_10 = 0; /* "MPI/msgbuffer.pxi":205 * # 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_10 = __pyx_v_o_displ; } else { __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_displ); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __pyx_t_9; __pyx_t_9 = 0; } __Pyx_GIVEREF(__pyx_t_10); __Pyx_GOTREF(__pyx_v_m->displ); __Pyx_DECREF(__pyx_v_m->displ); __pyx_v_m->displ = __pyx_t_10; __pyx_t_10 = 0; /* "MPI/msgbuffer.pxi":206 * 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)); /* "MPI/msgbuffer.pxi":207 * 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; /* "MPI/msgbuffer.pxi":208 * _addr[0] = (baddr + offset) * _count[0] = count * _type[0] = btype # <<<<<<<<<<<<<< * return m * */ (__pyx_v__type[0]) = __pyx_v_btype; /* "MPI/msgbuffer.pxi":209 * _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; /* "MPI/msgbuffer.pxi":100 * 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_9); __Pyx_XDECREF(__pyx_t_10); __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; } /* "MPI/msgbuffer.pxi":211 * 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 *); int __pyx_t_8; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; int __pyx_t_11; int __pyx_t_12; __Pyx_RefNannySetupContext("message_vector", 0); /* "MPI/msgbuffer.pxi":222 * ): * # 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) { /* "MPI/msgbuffer.pxi":223 * # 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; /* "MPI/msgbuffer.pxi":224 * if rank == MPI_PROC_NULL: * _addr[0] = NULL * _counts[0] = NULL # <<<<<<<<<<<<<< * _displs[0] = NULL * _type[0] = MPI_BYTE */ (__pyx_v__counts[0]) = NULL; /* "MPI/msgbuffer.pxi":225 * _addr[0] = NULL * _counts[0] = NULL * _displs[0] = NULL # <<<<<<<<<<<<<< * _type[0] = MPI_BYTE * return None */ (__pyx_v__displs[0]) = NULL; /* "MPI/msgbuffer.pxi":226 * _counts[0] = NULL * _displs[0] = NULL * _type[0] = MPI_BYTE # <<<<<<<<<<<<<< * return None * # unpack message list/tuple */ (__pyx_v__type[0]) = MPI_BYTE; /* "MPI/msgbuffer.pxi":227 * _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_INCREF(Py_None); __pyx_r = ((struct __pyx_obj_6mpi4py_3MPI__p_message *)Py_None); goto __pyx_L0; /* "MPI/msgbuffer.pxi":222 * ): * # special-case PROC_NULL target rank * if rank == MPI_PROC_NULL: # <<<<<<<<<<<<<< * _addr[0] = NULL * _counts[0] = NULL */ } /* "MPI/msgbuffer.pxi":229 * 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; /* "MPI/msgbuffer.pxi":230 * # 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; /* "MPI/msgbuffer.pxi":231 * 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; /* "MPI/msgbuffer.pxi":232 * 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; /* "MPI/msgbuffer.pxi":233 * 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; /* "MPI/msgbuffer.pxi":234 * 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) { /* "MPI/msgbuffer.pxi":235 * 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); /* "MPI/msgbuffer.pxi":234 * 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; } /* "MPI/msgbuffer.pxi":236 * 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) { /* "MPI/msgbuffer.pxi":237 * 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 == -1)) __PYX_ERR(4, 237, __pyx_L1_error) __pyx_v_nargs = __pyx_t_3; /* "MPI/msgbuffer.pxi":238 * elif is_list(msg) or is_tuple(msg): * nargs = len(msg) * if nargs == 2: # <<<<<<<<<<<<<< * (o_buf, o_counts) = msg * if (isinstance(o_counts, Datatype) or */ __pyx_t_1 = ((__pyx_v_nargs == 2) != 0); if (__pyx_t_1) { /* "MPI/msgbuffer.pxi":239 * nargs = len(msg) * if nargs == 2: * (o_buf, o_counts) = msg # <<<<<<<<<<<<<< * if (isinstance(o_counts, Datatype) or * isinstance(o_counts, str)): */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 239, __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(4, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 239, __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(4, 239, __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(4, 239, __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(4, 239, __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; /* "MPI/msgbuffer.pxi":240 * if nargs == 2: * (o_buf, o_counts) = msg * if (isinstance(o_counts, Datatype) or # <<<<<<<<<<<<<< * isinstance(o_counts, str)): * (o_counts, o_type) = None, o_counts */ __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_o_counts, __pyx_ptype_6mpi4py_3MPI_Datatype); __pyx_t_8 = (__pyx_t_2 != 0); if (!__pyx_t_8) { } else { __pyx_t_1 = __pyx_t_8; goto __pyx_L11_bool_binop_done; } /* "MPI/msgbuffer.pxi":241 * (o_buf, o_counts) = msg * if (isinstance(o_counts, Datatype) or * isinstance(o_counts, str)): # <<<<<<<<<<<<<< * (o_counts, o_type) = None, o_counts * elif is_tuple(o_counts): */ __pyx_t_8 = PyString_Check(__pyx_v_o_counts); __pyx_t_2 = (__pyx_t_8 != 0); __pyx_t_1 = __pyx_t_2; __pyx_L11_bool_binop_done:; /* "MPI/msgbuffer.pxi":240 * if nargs == 2: * (o_buf, o_counts) = msg * if (isinstance(o_counts, Datatype) or # <<<<<<<<<<<<<< * isinstance(o_counts, str)): * (o_counts, o_type) = None, o_counts */ if (__pyx_t_1) { /* "MPI/msgbuffer.pxi":242 * if (isinstance(o_counts, Datatype) or * isinstance(o_counts, str)): * (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; /* "MPI/msgbuffer.pxi":240 * if nargs == 2: * (o_buf, o_counts) = msg * if (isinstance(o_counts, Datatype) or # <<<<<<<<<<<<<< * isinstance(o_counts, str)): * (o_counts, o_type) = None, o_counts */ goto __pyx_L10; } /* "MPI/msgbuffer.pxi":243 * isinstance(o_counts, str)): * (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) { /* "MPI/msgbuffer.pxi":244 * (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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 244, __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(4, 244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 244, __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(4, 244, __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(4, 244, __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(4, 244, __pyx_L1_error) __pyx_L14_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; /* "MPI/msgbuffer.pxi":243 * isinstance(o_counts, str)): * (o_counts, o_type) = None, o_counts * elif is_tuple(o_counts): # <<<<<<<<<<<<<< * (o_counts, o_displs) = o_counts * elif nargs == 3: */ } __pyx_L10:; /* "MPI/msgbuffer.pxi":238 * elif is_list(msg) or is_tuple(msg): * nargs = len(msg) * if nargs == 2: # <<<<<<<<<<<<<< * (o_buf, o_counts) = msg * if (isinstance(o_counts, Datatype) or */ goto __pyx_L7; } /* "MPI/msgbuffer.pxi":245 * 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) { /* "MPI/msgbuffer.pxi":246 * (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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 246, __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(4, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { Py_ssize_t index = -1; __pyx_t_9 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = Py_TYPE(__pyx_t_9)->tp_iternext; index = 0; __pyx_t_5 = __pyx_t_7(__pyx_t_9); 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_9); 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_9); if (unlikely(!__pyx_t_6)) goto __pyx_L15_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_9), 3) < 0) __PYX_ERR(4, 246, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L16_unpacking_done; __pyx_L15_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(4, 246, __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_counts, __pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_o_type, __pyx_t_6); __pyx_t_6 = 0; /* "MPI/msgbuffer.pxi":247 * 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) { /* "MPI/msgbuffer.pxi":248 * (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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 248, __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(4, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 248, __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(4, 248, __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_L18_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_L18_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_5), 2) < 0) __PYX_ERR(4, 248, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L19_unpacking_done; __pyx_L18_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(4, 248, __pyx_L1_error) __pyx_L19_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; /* "MPI/msgbuffer.pxi":247 * elif nargs == 3: * (o_buf, o_counts, o_type) = msg * if is_tuple(o_counts): # <<<<<<<<<<<<<< * (o_counts, o_displs) = o_counts * elif nargs == 4: */ } /* "MPI/msgbuffer.pxi":245 * 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; } /* "MPI/msgbuffer.pxi":249 * 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 (__pyx_t_1) { /* "MPI/msgbuffer.pxi":250 * (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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 250, __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_9 = 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_9 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_9); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_6,&__pyx_t_5,&__pyx_t_9}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(4, 250, __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_9}; __pyx_t_10 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = Py_TYPE(__pyx_t_10)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_10); if (unlikely(!item)) goto __pyx_L20_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_10), 4) < 0) __PYX_ERR(4, 250, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L21_unpacking_done; __pyx_L20_unpacking_failed:; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(4, 250, __pyx_L1_error) __pyx_L21_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_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":249 * 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; } /* "MPI/msgbuffer.pxi":252 * (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_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(4, 252, __pyx_L1_error) } __pyx_L7:; /* "MPI/msgbuffer.pxi":236 * if is_buffer(msg): * o_buf = msg * elif is_list(msg) or is_tuple(msg): # <<<<<<<<<<<<<< * nargs = len(msg) * if nargs == 2: */ goto __pyx_L4; } /* "MPI/msgbuffer.pxi":253 * else: * raise ValueError("message: expecting 2 to 4 items") * elif PYPY: # <<<<<<<<<<<<<< * o_buf = msg * else: */ if (PyMPI_RUNTIME_PYPY) { /* "MPI/msgbuffer.pxi":254 * 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); /* "MPI/msgbuffer.pxi":253 * else: * raise ValueError("message: expecting 2 to 4 items") * elif PYPY: # <<<<<<<<<<<<<< * o_buf = msg * else: */ goto __pyx_L4; } /* "MPI/msgbuffer.pxi":256 * o_buf = msg * else: * raise TypeError("message: expecting buffer or list/tuple") # <<<<<<<<<<<<<< * # buffer: address, length, and datatype * cdef void *baddr = NULL */ /*else*/ { __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(4, 256, __pyx_L1_error) } __pyx_L4:; /* "MPI/msgbuffer.pxi":258 * 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; /* "MPI/msgbuffer.pxi":259 * # 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; /* "MPI/msgbuffer.pxi":260 * 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; /* "MPI/msgbuffer.pxi":261 * 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_9 = ((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_9)) __PYX_ERR(4, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_v_m = ((struct __pyx_obj_6mpi4py_3MPI__p_message *)__pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":264 * &baddr, &bsize, &btype) * # counts and displacements * cdef int *counts = NULL # <<<<<<<<<<<<<< * cdef int *displs = NULL * cdef int i=0, val=0 */ __pyx_v_counts = NULL; /* "MPI/msgbuffer.pxi":265 * # 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; /* "MPI/msgbuffer.pxi":266 * 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; /* "MPI/msgbuffer.pxi":267 * 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; /* "MPI/msgbuffer.pxi":268 * 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; /* "MPI/msgbuffer.pxi":269 * 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) { /* "MPI/msgbuffer.pxi":270 * 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) { /* "MPI/msgbuffer.pxi":271 * 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 (__pyx_t_2) { __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(4, 271, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":274 * "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_11 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_get_extent(__pyx_v_btype, (&__pyx_v_lb), (&__pyx_v_extent))); if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(4, 274, __pyx_L1_error) /* "MPI/msgbuffer.pxi":275 * "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 (__pyx_t_2) { /* "MPI/msgbuffer.pxi":278 * ("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_9 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_extent); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_lb); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 278, __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(4, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_9); __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_9 = 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(4, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgbuffer.pxi":275 * "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 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __PYX_ERR(4, 275, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":279 * "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 (__pyx_t_2) { /* "MPI/msgbuffer.pxi":283 * "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 = mkarray_int(blocks, &counts) */ __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_bsize); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_extent); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_lb); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyInt_From_MPI_Aint((__pyx_v_lb + __pyx_v_extent)); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = PyTuple_New(4); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 3, __pyx_t_9); __pyx_t_6 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_message_cannot_infer_count_buffe, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; /* "MPI/msgbuffer.pxi":279 * "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_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(4, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_10, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(4, 279, __pyx_L1_error) } /* "MPI/msgbuffer.pxi":284 * "datatype extent %d (lb:%d, ub:%d)" * ) % (bsize, extent, lb, lb+extent)) * asize = bsize // extent # <<<<<<<<<<<<<< * o_counts = mkarray_int(blocks, &counts) * for i from 0 <= i < blocks: */ __pyx_v_asize = (__pyx_v_bsize / __pyx_v_extent); /* "MPI/msgbuffer.pxi":270 * 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, " */ } /* "MPI/msgbuffer.pxi":285 * ) % (bsize, extent, lb, lb+extent)) * asize = bsize // extent * o_counts = mkarray_int(blocks, &counts) # <<<<<<<<<<<<<< * for i from 0 <= i < blocks: * aval = (asize // blocks) + (asize % blocks > i) */ __pyx_t_9 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_blocks, (&__pyx_v_counts)); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":286 * asize = bsize // extent * o_counts = mkarray_int(blocks, &counts) * for i from 0 <= i < blocks: # <<<<<<<<<<<<<< * aval = (asize // blocks) + (asize % blocks > i) * counts[i] = downcast(aval) */ __pyx_t_11 = __pyx_v_blocks; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_11; __pyx_v_i++) { /* "MPI/msgbuffer.pxi":287 * o_counts = mkarray_int(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)); /* "MPI/msgbuffer.pxi":288 * 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_12 = __pyx_f_6mpi4py_3MPI_downcast(__pyx_v_aval); if (unlikely(__pyx_t_12 == -1 && PyErr_Occurred())) __PYX_ERR(4, 288, __pyx_L1_error) (__pyx_v_counts[__pyx_v_i]) = __pyx_t_12; } /* "MPI/msgbuffer.pxi":269 * 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_L22; } /* "MPI/msgbuffer.pxi":289 * aval = (asize // blocks) + (asize % blocks > i) * counts[i] = downcast(aval) * elif is_integral(o_counts): # <<<<<<<<<<<<<< * val = o_counts * o_counts = mkarray_int(blocks, &counts) */ __pyx_t_2 = (__pyx_f_6mpi4py_3MPI_is_integral(__pyx_v_o_counts) != 0); if (__pyx_t_2) { /* "MPI/msgbuffer.pxi":290 * counts[i] = downcast(aval) * elif is_integral(o_counts): * val = o_counts # <<<<<<<<<<<<<< * o_counts = mkarray_int(blocks, &counts) * for i from 0 <= i < blocks: */ __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_v_o_counts); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 290, __pyx_L1_error) __pyx_v_val = ((int)__pyx_t_11); /* "MPI/msgbuffer.pxi":291 * elif is_integral(o_counts): * val = o_counts * o_counts = mkarray_int(blocks, &counts) # <<<<<<<<<<<<<< * for i from 0 <= i < blocks: * counts[i] = val */ __pyx_t_9 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_blocks, (&__pyx_v_counts)); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":292 * val = o_counts * o_counts = mkarray_int(blocks, &counts) * for i from 0 <= i < blocks: # <<<<<<<<<<<<<< * counts[i] = val * else: */ __pyx_t_11 = __pyx_v_blocks; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_11; __pyx_v_i++) { /* "MPI/msgbuffer.pxi":293 * o_counts = mkarray_int(blocks, &counts) * for i from 0 <= i < blocks: * counts[i] = val # <<<<<<<<<<<<<< * else: * o_counts = asarray_int(o_counts, blocks, &counts) */ (__pyx_v_counts[__pyx_v_i]) = __pyx_v_val; } /* "MPI/msgbuffer.pxi":289 * aval = (asize // blocks) + (asize % blocks > i) * counts[i] = downcast(aval) * elif is_integral(o_counts): # <<<<<<<<<<<<<< * val = o_counts * o_counts = mkarray_int(blocks, &counts) */ goto __pyx_L22; } /* "MPI/msgbuffer.pxi":295 * counts[i] = val * else: * o_counts = asarray_int(o_counts, blocks, &counts) # <<<<<<<<<<<<<< * if o_displs is None: # contiguous * val = 0 */ /*else*/ { __pyx_t_9 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_o_counts, __pyx_v_blocks, (&__pyx_v_counts)); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_9); __pyx_t_9 = 0; } __pyx_L22:; /* "MPI/msgbuffer.pxi":296 * else: * o_counts = asarray_int(o_counts, blocks, &counts) * if o_displs is None: # contiguous # <<<<<<<<<<<<<< * val = 0 * o_displs = mkarray_int(blocks, &displs) */ __pyx_t_2 = (__pyx_v_o_displs == Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "MPI/msgbuffer.pxi":297 * o_counts = asarray_int(o_counts, blocks, &counts) * if o_displs is None: # contiguous * val = 0 # <<<<<<<<<<<<<< * o_displs = mkarray_int(blocks, &displs) * for i from 0 <= i < blocks: */ __pyx_v_val = 0; /* "MPI/msgbuffer.pxi":298 * if o_displs is None: # contiguous * val = 0 * o_displs = mkarray_int(blocks, &displs) # <<<<<<<<<<<<<< * for i from 0 <= i < blocks: * displs[i] = val */ __pyx_t_9 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_blocks, (&__pyx_v_displs)); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":299 * val = 0 * o_displs = mkarray_int(blocks, &displs) * for i from 0 <= i < blocks: # <<<<<<<<<<<<<< * displs[i] = val * val += counts[i] */ __pyx_t_11 = __pyx_v_blocks; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_11; __pyx_v_i++) { /* "MPI/msgbuffer.pxi":300 * o_displs = mkarray_int(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; /* "MPI/msgbuffer.pxi":301 * 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])); } /* "MPI/msgbuffer.pxi":296 * else: * o_counts = asarray_int(o_counts, blocks, &counts) * if o_displs is None: # contiguous # <<<<<<<<<<<<<< * val = 0 * o_displs = mkarray_int(blocks, &displs) */ goto __pyx_L31; } /* "MPI/msgbuffer.pxi":302 * displs[i] = val * val += counts[i] * elif is_integral(o_displs): # strided # <<<<<<<<<<<<<< * val = o_displs * o_displs = mkarray_int(blocks, &displs) */ __pyx_t_1 = (__pyx_f_6mpi4py_3MPI_is_integral(__pyx_v_o_displs) != 0); if (__pyx_t_1) { /* "MPI/msgbuffer.pxi":303 * val += counts[i] * elif is_integral(o_displs): # strided * val = o_displs # <<<<<<<<<<<<<< * o_displs = mkarray_int(blocks, &displs) * for i from 0 <= i < blocks: */ __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_v_o_displs); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 303, __pyx_L1_error) __pyx_v_val = ((int)__pyx_t_11); /* "MPI/msgbuffer.pxi":304 * elif is_integral(o_displs): # strided * val = o_displs * o_displs = mkarray_int(blocks, &displs) # <<<<<<<<<<<<<< * for i from 0 <= i < blocks: * displs[i] = val * i */ __pyx_t_9 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_blocks, (&__pyx_v_displs)); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":305 * val = o_displs * o_displs = mkarray_int(blocks, &displs) * for i from 0 <= i < blocks: # <<<<<<<<<<<<<< * displs[i] = val * i * else: # general */ __pyx_t_11 = __pyx_v_blocks; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_11; __pyx_v_i++) { /* "MPI/msgbuffer.pxi":306 * o_displs = mkarray_int(blocks, &displs) * for i from 0 <= i < blocks: * displs[i] = val * i # <<<<<<<<<<<<<< * else: # general * o_displs = asarray_int(o_displs, blocks, &displs) */ (__pyx_v_displs[__pyx_v_i]) = (__pyx_v_val * __pyx_v_i); } /* "MPI/msgbuffer.pxi":302 * displs[i] = val * val += counts[i] * elif is_integral(o_displs): # strided # <<<<<<<<<<<<<< * val = o_displs * o_displs = mkarray_int(blocks, &displs) */ goto __pyx_L31; } /* "MPI/msgbuffer.pxi":308 * displs[i] = val * i * else: # general * o_displs = asarray_int(o_displs, blocks, &displs) # <<<<<<<<<<<<<< * # return collected message data * m.count = o_counts */ /*else*/ { __pyx_t_9 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_o_displs, __pyx_v_blocks, (&__pyx_v_displs)); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_9); __pyx_t_9 = 0; } __pyx_L31:; /* "MPI/msgbuffer.pxi":310 * o_displs = asarray_int(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; /* "MPI/msgbuffer.pxi":311 * # 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; /* "MPI/msgbuffer.pxi":312 * m.count = o_counts * m.displ = o_displs * _addr[0] = baddr # <<<<<<<<<<<<<< * _counts[0] = counts * _displs[0] = displs */ (__pyx_v__addr[0]) = __pyx_v_baddr; /* "MPI/msgbuffer.pxi":313 * m.displ = o_displs * _addr[0] = baddr * _counts[0] = counts # <<<<<<<<<<<<<< * _displs[0] = displs * _type[0] = btype */ (__pyx_v__counts[0]) = __pyx_v_counts; /* "MPI/msgbuffer.pxi":314 * _addr[0] = baddr * _counts[0] = counts * _displs[0] = displs # <<<<<<<<<<<<<< * _type[0] = btype * return m */ (__pyx_v__displs[0]) = __pyx_v_displs; /* "MPI/msgbuffer.pxi":315 * _counts[0] = counts * _displs[0] = displs * _type[0] = btype # <<<<<<<<<<<<<< * return m * */ (__pyx_v__type[0]) = __pyx_v_btype; /* "MPI/msgbuffer.pxi":316 * _displs[0] = displs * _type[0] = btype * return m # <<<<<<<<<<<<<< * * cdef tuple message_vecw_I(object msg, */ __Pyx_XDECREF(((PyObject *)__pyx_r)); __Pyx_INCREF(((PyObject *)__pyx_v_m)); __pyx_r = __pyx_v_m; goto __pyx_L0; /* "MPI/msgbuffer.pxi":211 * 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_9); __Pyx_XDECREF(__pyx_t_10); __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; } /* "MPI/msgbuffer.pxi":318 * return m * * cdef tuple message_vecw_I(object msg, # <<<<<<<<<<<<<< * int readonly, * int blocks, */ static PyObject *__pyx_f_6mpi4py_3MPI_message_vecw_I(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) { 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 = NULL; PyObject *(*__pyx_t_7)(PyObject *); PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; __Pyx_RefNannySetupContext("message_vecw_I", 0); /* "MPI/msgbuffer.pxi":327 * MPI_Datatype **_types, * ): * cdef Py_ssize_t nargs = len(msg) # <<<<<<<<<<<<<< * cdef object o_buffer, o_counts, o_displs, o_types * if nargs == 3: */ __pyx_t_1 = PyObject_Length(__pyx_v_msg); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(4, 327, __pyx_L1_error) __pyx_v_nargs = __pyx_t_1; /* "MPI/msgbuffer.pxi":329 * cdef Py_ssize_t nargs = len(msg) * cdef object o_buffer, o_counts, o_displs, o_types * if 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) { /* "MPI/msgbuffer.pxi":330 * cdef object o_buffer, o_counts, o_displs, o_types * if 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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 330, __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); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_5 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 330, __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(4, 330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 2; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 3) < 0) __PYX_ERR(4, 330, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L5_unpacking_done; __pyx_L4_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(4, 330, __pyx_L1_error) __pyx_L5_unpacking_done:; } __pyx_v_o_buffer = __pyx_t_3; __pyx_t_3 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { PyObject* sequence = __pyx_t_4; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 330, __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_8 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_6 = PyList_GET_ITEM(sequence, 0); __pyx_t_8 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_8); #else __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 330, __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_9 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_9)->tp_iternext; index = 0; __pyx_t_6 = __pyx_t_7(__pyx_t_9); if (unlikely(!__pyx_t_6)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); index = 1; __pyx_t_8 = __pyx_t_7(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_8); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_9), 2) < 0) __PYX_ERR(4, 330, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L7_unpacking_done; __pyx_L6_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(4, 330, __pyx_L1_error) __pyx_L7_unpacking_done:; } __pyx_v_o_counts = __pyx_t_6; __pyx_t_6 = 0; __pyx_v_o_displs = __pyx_t_8; __pyx_t_8 = 0; __pyx_v_o_types = __pyx_t_5; __pyx_t_5 = 0; /* "MPI/msgbuffer.pxi":329 * cdef Py_ssize_t nargs = len(msg) * cdef object o_buffer, o_counts, o_displs, o_types * if nargs == 3: # <<<<<<<<<<<<<< * o_buffer, (o_counts, o_displs), o_types = msg * elif nargs == 4: */ goto __pyx_L3; } /* "MPI/msgbuffer.pxi":331 * if 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 (__pyx_t_2) { /* "MPI/msgbuffer.pxi":332 * 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 3 to 4 items") */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 332, __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_3 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_3 = PyList_GET_ITEM(sequence, 2); __pyx_t_8 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_4,&__pyx_t_3,&__pyx_t_8}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(4, 332, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_4,&__pyx_t_3,&__pyx_t_8}; __pyx_t_6 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 332, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(4, 332, __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(4, 332, __pyx_L1_error) __pyx_L9_unpacking_done:; } __pyx_v_o_buffer = __pyx_t_5; __pyx_t_5 = 0; __pyx_v_o_counts = __pyx_t_4; __pyx_t_4 = 0; __pyx_v_o_displs = __pyx_t_3; __pyx_t_3 = 0; __pyx_v_o_types = __pyx_t_8; __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":331 * if 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; } /* "MPI/msgbuffer.pxi":334 * o_buffer, o_counts, o_displs, o_types = msg * else: * raise ValueError("message: expecting 3 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__20, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 334, __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(4, 334, __pyx_L1_error) } __pyx_L3:; /* "MPI/msgbuffer.pxi":335 * else: * raise ValueError("message: expecting 3 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) { /* "MPI/msgbuffer.pxi":336 * raise ValueError("message: expecting 3 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(4, 336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_buffer, __pyx_t_8); __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":335 * else: * raise ValueError("message: expecting 3 to 4 items") * if readonly: # <<<<<<<<<<<<<< * o_buffer = getbuffer_r(o_buffer, _addr, NULL) * else: */ goto __pyx_L10; } /* "MPI/msgbuffer.pxi":338 * o_buffer = getbuffer_r(o_buffer, _addr, NULL) * else: * o_buffer = getbuffer_w(o_buffer, _addr, NULL) # <<<<<<<<<<<<<< * o_counts = asarray_int(o_counts, blocks, _counts) * o_displs = asarray_int(o_displs, blocks, _displs) */ /*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(4, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_buffer, __pyx_t_8); __pyx_t_8 = 0; } __pyx_L10:; /* "MPI/msgbuffer.pxi":339 * else: * o_buffer = getbuffer_w(o_buffer, _addr, NULL) * o_counts = asarray_int(o_counts, blocks, _counts) # <<<<<<<<<<<<<< * o_displs = asarray_int(o_displs, blocks, _displs) * o_types = asarray_Datatype(o_types, blocks, _types) */ __pyx_t_8 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_o_counts, __pyx_v_blocks, __pyx_v__counts); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_8); __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":340 * o_buffer = getbuffer_w(o_buffer, _addr, NULL) * o_counts = asarray_int(o_counts, blocks, _counts) * o_displs = asarray_int(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_int(__pyx_v_o_displs, __pyx_v_blocks, __pyx_v__displs); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_8); __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":341 * o_counts = asarray_int(o_counts, blocks, _counts) * o_displs = asarray_int(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(4, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_types, __pyx_t_8); __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":342 * o_displs = asarray_int(o_displs, blocks, _displs) * o_types = asarray_Datatype(o_types, blocks, _types) * return (o_buffer, o_counts, o_displs, o_types) # <<<<<<<<<<<<<< * * cdef tuple message_vecw_A(object msg, */ __Pyx_XDECREF(__pyx_r); __pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 342, __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; /* "MPI/msgbuffer.pxi":318 * return m * * cdef tuple message_vecw_I(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_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_AddTraceback("mpi4py.MPI.message_vecw_I", __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; } /* "MPI/msgbuffer.pxi":344 * return (o_buffer, o_counts, o_displs, o_types) * * cdef tuple message_vecw_A(object msg, # <<<<<<<<<<<<<< * int readonly, * int blocks, */ static PyObject *__pyx_f_6mpi4py_3MPI_message_vecw_A(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) { 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 = NULL; PyObject *(*__pyx_t_7)(PyObject *); PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; __Pyx_RefNannySetupContext("message_vecw_A", 0); /* "MPI/msgbuffer.pxi":353 * MPI_Datatype **_types, * ): * cdef Py_ssize_t nargs = len(msg) # <<<<<<<<<<<<<< * cdef object o_buffer, o_counts, o_displs, o_types * if nargs == 3: */ __pyx_t_1 = PyObject_Length(__pyx_v_msg); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(4, 353, __pyx_L1_error) __pyx_v_nargs = __pyx_t_1; /* "MPI/msgbuffer.pxi":355 * cdef Py_ssize_t nargs = len(msg) * cdef object o_buffer, o_counts, o_displs, o_types * if 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) { /* "MPI/msgbuffer.pxi":356 * cdef object o_buffer, o_counts, o_displs, o_types * if 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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 356, __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); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_5 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 356, __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(4, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 2; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 3) < 0) __PYX_ERR(4, 356, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L5_unpacking_done; __pyx_L4_unpacking_failed:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(4, 356, __pyx_L1_error) __pyx_L5_unpacking_done:; } __pyx_v_o_buffer = __pyx_t_3; __pyx_t_3 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { PyObject* sequence = __pyx_t_4; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 356, __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_8 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_6 = PyList_GET_ITEM(sequence, 0); __pyx_t_8 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_8); #else __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 356, __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_9 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = Py_TYPE(__pyx_t_9)->tp_iternext; index = 0; __pyx_t_6 = __pyx_t_7(__pyx_t_9); if (unlikely(!__pyx_t_6)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); index = 1; __pyx_t_8 = __pyx_t_7(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L6_unpacking_failed; __Pyx_GOTREF(__pyx_t_8); if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_9), 2) < 0) __PYX_ERR(4, 356, __pyx_L1_error) __pyx_t_7 = NULL; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L7_unpacking_done; __pyx_L6_unpacking_failed:; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_7 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(4, 356, __pyx_L1_error) __pyx_L7_unpacking_done:; } __pyx_v_o_counts = __pyx_t_6; __pyx_t_6 = 0; __pyx_v_o_displs = __pyx_t_8; __pyx_t_8 = 0; __pyx_v_o_types = __pyx_t_5; __pyx_t_5 = 0; /* "MPI/msgbuffer.pxi":355 * cdef Py_ssize_t nargs = len(msg) * cdef object o_buffer, o_counts, o_displs, o_types * if nargs == 3: # <<<<<<<<<<<<<< * o_buffer, (o_counts, o_displs), o_types = msg * elif nargs == 4: */ goto __pyx_L3; } /* "MPI/msgbuffer.pxi":357 * if 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 (__pyx_t_2) { /* "MPI/msgbuffer.pxi":358 * 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 3 to 4 items") */ if ((likely(PyTuple_CheckExact(__pyx_v_msg))) || (PyList_CheckExact(__pyx_v_msg))) { PyObject* sequence = __pyx_v_msg; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(4, 358, __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_3 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); __pyx_t_3 = PyList_GET_ITEM(sequence, 2); __pyx_t_8 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_4,&__pyx_t_3,&__pyx_t_8}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(4, 358, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_4,&__pyx_t_3,&__pyx_t_8}; __pyx_t_6 = PyObject_GetIter(__pyx_v_msg); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L8_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(4, 358, __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(4, 358, __pyx_L1_error) __pyx_L9_unpacking_done:; } __pyx_v_o_buffer = __pyx_t_5; __pyx_t_5 = 0; __pyx_v_o_counts = __pyx_t_4; __pyx_t_4 = 0; __pyx_v_o_displs = __pyx_t_3; __pyx_t_3 = 0; __pyx_v_o_types = __pyx_t_8; __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":357 * if 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; } /* "MPI/msgbuffer.pxi":360 * o_buffer, o_counts, o_displs, o_types = msg * else: * raise ValueError("message: expecting 3 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__21, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 360, __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(4, 360, __pyx_L1_error) } __pyx_L3:; /* "MPI/msgbuffer.pxi":361 * else: * raise ValueError("message: expecting 3 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) { /* "MPI/msgbuffer.pxi":362 * raise ValueError("message: expecting 3 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(4, 362, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_buffer, __pyx_t_8); __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":361 * else: * raise ValueError("message: expecting 3 to 4 items") * if readonly: # <<<<<<<<<<<<<< * o_buffer = getbuffer_r(o_buffer, _addr, NULL) * else: */ goto __pyx_L10; } /* "MPI/msgbuffer.pxi":364 * o_buffer = getbuffer_r(o_buffer, _addr, NULL) * else: * o_buffer = getbuffer_w(o_buffer, _addr, NULL) # <<<<<<<<<<<<<< * o_counts = asarray_int(o_counts, blocks, _counts) * o_displs = asarray_Aint(o_displs, blocks, _displs) */ /*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(4, 364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_buffer, __pyx_t_8); __pyx_t_8 = 0; } __pyx_L10:; /* "MPI/msgbuffer.pxi":365 * else: * o_buffer = getbuffer_w(o_buffer, _addr, NULL) * o_counts = asarray_int(o_counts, blocks, _counts) # <<<<<<<<<<<<<< * o_displs = asarray_Aint(o_displs, blocks, _displs) * o_types = asarray_Datatype(o_types, blocks, _types) */ __pyx_t_8 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_o_counts, __pyx_v_blocks, __pyx_v__counts); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 365, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_counts, __pyx_t_8); __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":366 * o_buffer = getbuffer_w(o_buffer, _addr, NULL) * o_counts = asarray_int(o_counts, blocks, _counts) * o_displs = asarray_Aint(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_Aint(__pyx_v_o_displs, __pyx_v_blocks, __pyx_v__displs); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 366, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_displs, __pyx_t_8); __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":367 * o_counts = asarray_int(o_counts, blocks, _counts) * o_displs = asarray_Aint(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(4, 367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_o_types, __pyx_t_8); __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":368 * o_displs = asarray_Aint(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(4, 368, __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; /* "MPI/msgbuffer.pxi":344 * return (o_buffer, o_counts, o_displs, o_types) * * cdef tuple message_vecw_A(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_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_AddTraceback("mpi4py.MPI.message_vecw_A", __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; } /* "MPI/msgbuffer.pxi":383 * 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); /* "MPI/msgbuffer.pxi":384 * * def __cinit__(self): * self.buf = NULL # <<<<<<<<<<<<<< * self.count = 0 * self.dtype = MPI_DATATYPE_NULL */ __pyx_v_self->buf = NULL; /* "MPI/msgbuffer.pxi":385 * def __cinit__(self): * self.buf = NULL * self.count = 0 # <<<<<<<<<<<<<< * self.dtype = MPI_DATATYPE_NULL * */ __pyx_v_self->count = 0; /* "MPI/msgbuffer.pxi":386 * 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; /* "MPI/msgbuffer.pxi":383 * cdef object _msg * * def __cinit__(self): # <<<<<<<<<<<<<< * self.buf = NULL * self.count = 0 */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgbuffer.pxi":388 * 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; __Pyx_RefNannySetupContext("for_send", 0); /* "MPI/msgbuffer.pxi":389 * * 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(4, 389, __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; /* "MPI/msgbuffer.pxi":394 * &self.count, * &self.dtype) * return 0 # <<<<<<<<<<<<<< * * cdef int for_recv(self, object msg, int rank) except -1: */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":388 * 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; } /* "MPI/msgbuffer.pxi":396 * 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; __Pyx_RefNannySetupContext("for_recv", 0); /* "MPI/msgbuffer.pxi":397 * * 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(4, 397, __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; /* "MPI/msgbuffer.pxi":402 * &self.count, * &self.dtype) * return 0 # <<<<<<<<<<<<<< * * cdef inline _p_msg_p2p message_p2p_send(object sendbuf, int dest): */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":396 * 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; } /* "MPI/msgbuffer.pxi":404 * 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; __Pyx_RefNannySetupContext("message_p2p_send", 0); /* "MPI/msgbuffer.pxi":405 * * 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 = __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(4, 405, __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_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgbuffer.pxi":406 * 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 == -1)) __PYX_ERR(4, 406, __pyx_L1_error) /* "MPI/msgbuffer.pxi":407 * 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; /* "MPI/msgbuffer.pxi":404 * 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; } /* "MPI/msgbuffer.pxi":409 * 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; __Pyx_RefNannySetupContext("message_p2p_recv", 0); /* "MPI/msgbuffer.pxi":410 * * 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 = __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(4, 410, __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_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_p2p *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgbuffer.pxi":411 * 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 == -1)) __PYX_ERR(4, 411, __pyx_L1_error) /* "MPI/msgbuffer.pxi":412 * 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; /* "MPI/msgbuffer.pxi":409 * 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; } /* "MPI/msgbuffer.pxi":430 * 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); /* "MPI/msgbuffer.pxi":431 * * 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; /* "MPI/msgbuffer.pxi":432 * 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; /* "MPI/msgbuffer.pxi":433 * 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; /* "MPI/msgbuffer.pxi":434 * 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; /* "MPI/msgbuffer.pxi":435 * 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; /* "MPI/msgbuffer.pxi":430 * 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; } /* "MPI/msgbuffer.pxi":441 * * # 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; __Pyx_RefNannySetupContext("for_cco_send", 0); /* "MPI/msgbuffer.pxi":444 * 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; /* "MPI/msgbuffer.pxi":445 * 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) { /* "MPI/msgbuffer.pxi":446 * 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(4, 446, __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; /* "MPI/msgbuffer.pxi":445 * 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; } /* "MPI/msgbuffer.pxi":450 * &self.sbuf, &self.scount, &self.stype) * else: # vector variant * self._smsg = message_vector( # <<<<<<<<<<<<<< * amsg, readonly, rank, blocks, * &self.sbuf, &self.scounts, */ /*else*/ { /* "MPI/msgbuffer.pxi":453 * 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(4, 450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); /* "MPI/msgbuffer.pxi":450 * &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:; /* "MPI/msgbuffer.pxi":454 * &self.sbuf, &self.scounts, * &self.sdispls, &self.stype) * return 0 # <<<<<<<<<<<<<< * * # recvbuf arguments */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":441 * * # 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; } /* "MPI/msgbuffer.pxi":457 * * # 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; __Pyx_RefNannySetupContext("for_cco_recv", 0); /* "MPI/msgbuffer.pxi":460 * 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; /* "MPI/msgbuffer.pxi":461 * 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) { /* "MPI/msgbuffer.pxi":462 * 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(4, 462, __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; /* "MPI/msgbuffer.pxi":461 * 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; } /* "MPI/msgbuffer.pxi":466 * &self.rbuf, &self.rcount, &self.rtype) * else: # vector variant * self._rmsg = message_vector( # <<<<<<<<<<<<<< * amsg, readonly, rank, blocks, * &self.rbuf, &self.rcounts, */ /*else*/ { /* "MPI/msgbuffer.pxi":469 * 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(4, 466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); /* "MPI/msgbuffer.pxi":466 * &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:; /* "MPI/msgbuffer.pxi":470 * &self.rbuf, &self.rcounts, * &self.rdispls, &self.rtype) * return 0 # <<<<<<<<<<<<<< * * # bcast */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":457 * * # 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; } /* "MPI/msgbuffer.pxi":473 * * # 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; __Pyx_RefNannySetupContext("for_bcast", 0); /* "MPI/msgbuffer.pxi":476 * 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; } /* "MPI/msgbuffer.pxi":477 * 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; /* "MPI/msgbuffer.pxi":478 * 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 == -1)) __PYX_ERR(4, 478, __pyx_L1_error) /* "MPI/msgbuffer.pxi":479 * 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) { /* "MPI/msgbuffer.pxi":480 * 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 == -1)) __PYX_ERR(4, 480, __pyx_L1_error) /* "MPI/msgbuffer.pxi":481 * 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) { /* "MPI/msgbuffer.pxi":482 * 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 == -1)) __PYX_ERR(4, 482, __pyx_L1_error) /* "MPI/msgbuffer.pxi":483 * 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; /* "MPI/msgbuffer.pxi":481 * 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; } /* "MPI/msgbuffer.pxi":485 * 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 == -1)) __PYX_ERR(4, 485, __pyx_L1_error) /* "MPI/msgbuffer.pxi":486 * 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:; /* "MPI/msgbuffer.pxi":479 * 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; } /* "MPI/msgbuffer.pxi":488 * 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; } /* "MPI/msgbuffer.pxi":489 * 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:; /* "MPI/msgbuffer.pxi":488 * 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) { /* "MPI/msgbuffer.pxi":490 * 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 == -1)) __PYX_ERR(4, 490, __pyx_L1_error) /* "MPI/msgbuffer.pxi":491 * 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; /* "MPI/msgbuffer.pxi":488 * 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; } /* "MPI/msgbuffer.pxi":493 * 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 == -1)) __PYX_ERR(4, 493, __pyx_L1_error) /* "MPI/msgbuffer.pxi":494 * 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:; /* "MPI/msgbuffer.pxi":495 * 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) { /* "MPI/msgbuffer.pxi":496 * 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; /* "MPI/msgbuffer.pxi":497 * 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; /* "MPI/msgbuffer.pxi":498 * 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; /* "MPI/msgbuffer.pxi":495 * self.for_cco_recv(0, msg, root, 0) * sending = 0 * if sending: # <<<<<<<<<<<<<< * self.rbuf = self.sbuf * self.rcount = self.scount */ goto __pyx_L9; } /* "MPI/msgbuffer.pxi":500 * 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; /* "MPI/msgbuffer.pxi":501 * 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; /* "MPI/msgbuffer.pxi":502 * 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:; /* "MPI/msgbuffer.pxi":503 * self.scount = self.rcount * self.stype = self.rtype * return 0 # <<<<<<<<<<<<<< * * # gather/gatherv */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":473 * * # 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; } /* "MPI/msgbuffer.pxi":506 * * # 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; __Pyx_RefNannySetupContext("for_gather", 0); /* "MPI/msgbuffer.pxi":509 * 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; } /* "MPI/msgbuffer.pxi":510 * 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; /* "MPI/msgbuffer.pxi":511 * 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 == -1)) __PYX_ERR(4, 511, __pyx_L1_error) /* "MPI/msgbuffer.pxi":512 * 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) { /* "MPI/msgbuffer.pxi":513 * 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 == -1)) __PYX_ERR(4, 513, __pyx_L1_error) /* "MPI/msgbuffer.pxi":514 * 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 == -1)) __PYX_ERR(4, 514, __pyx_L1_error) /* "MPI/msgbuffer.pxi":515 * 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) { /* "MPI/msgbuffer.pxi":516 * 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 == -1)) __PYX_ERR(4, 516, __pyx_L1_error) /* "MPI/msgbuffer.pxi":517 * 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) { /* "MPI/msgbuffer.pxi":518 * 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; /* "MPI/msgbuffer.pxi":519 * 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; /* "MPI/msgbuffer.pxi":520 * 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; /* "MPI/msgbuffer.pxi":517 * 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; } /* "MPI/msgbuffer.pxi":522 * 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 == -1)) __PYX_ERR(4, 522, __pyx_L1_error) } __pyx_L6:; /* "MPI/msgbuffer.pxi":515 * 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; } /* "MPI/msgbuffer.pxi":524 * 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 == -1)) __PYX_ERR(4, 524, __pyx_L1_error) /* "MPI/msgbuffer.pxi":525 * 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 == -1)) __PYX_ERR(4, 525, __pyx_L1_error) } __pyx_L5:; /* "MPI/msgbuffer.pxi":512 * 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; } /* "MPI/msgbuffer.pxi":527 * 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 == -1)) __PYX_ERR(4, 527, __pyx_L1_error) /* "MPI/msgbuffer.pxi":528 * 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; } /* "MPI/msgbuffer.pxi":529 * 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:; /* "MPI/msgbuffer.pxi":528 * 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) { /* "MPI/msgbuffer.pxi":530 * 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 == -1)) __PYX_ERR(4, 530, __pyx_L1_error) /* "MPI/msgbuffer.pxi":531 * 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 == -1)) __PYX_ERR(4, 531, __pyx_L1_error) /* "MPI/msgbuffer.pxi":528 * 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; } /* "MPI/msgbuffer.pxi":533 * 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 == -1)) __PYX_ERR(4, 533, __pyx_L1_error) /* "MPI/msgbuffer.pxi":534 * 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 == -1)) __PYX_ERR(4, 534, __pyx_L1_error) } __pyx_L7:; } __pyx_L4:; /* "MPI/msgbuffer.pxi":535 * 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; /* "MPI/msgbuffer.pxi":506 * * # 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; } /* "MPI/msgbuffer.pxi":538 * * # 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; __Pyx_RefNannySetupContext("for_scatter", 0); /* "MPI/msgbuffer.pxi":541 * 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; } /* "MPI/msgbuffer.pxi":542 * 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; /* "MPI/msgbuffer.pxi":543 * 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 == -1)) __PYX_ERR(4, 543, __pyx_L1_error) /* "MPI/msgbuffer.pxi":544 * 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) { /* "MPI/msgbuffer.pxi":545 * 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 == -1)) __PYX_ERR(4, 545, __pyx_L1_error) /* "MPI/msgbuffer.pxi":546 * 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 == -1)) __PYX_ERR(4, 546, __pyx_L1_error) /* "MPI/msgbuffer.pxi":547 * 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) { /* "MPI/msgbuffer.pxi":548 * 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 == -1)) __PYX_ERR(4, 548, __pyx_L1_error) /* "MPI/msgbuffer.pxi":549 * 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) { /* "MPI/msgbuffer.pxi":550 * 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; /* "MPI/msgbuffer.pxi":551 * 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; /* "MPI/msgbuffer.pxi":552 * 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; /* "MPI/msgbuffer.pxi":549 * 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; } /* "MPI/msgbuffer.pxi":554 * 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 == -1)) __PYX_ERR(4, 554, __pyx_L1_error) } __pyx_L6:; /* "MPI/msgbuffer.pxi":547 * 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; } /* "MPI/msgbuffer.pxi":556 * 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 == -1)) __PYX_ERR(4, 556, __pyx_L1_error) /* "MPI/msgbuffer.pxi":557 * 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 == -1)) __PYX_ERR(4, 557, __pyx_L1_error) } __pyx_L5:; /* "MPI/msgbuffer.pxi":544 * 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; } /* "MPI/msgbuffer.pxi":559 * 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 == -1)) __PYX_ERR(4, 559, __pyx_L1_error) /* "MPI/msgbuffer.pxi":560 * 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; } /* "MPI/msgbuffer.pxi":561 * 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:; /* "MPI/msgbuffer.pxi":560 * 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) { /* "MPI/msgbuffer.pxi":562 * 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 == -1)) __PYX_ERR(4, 562, __pyx_L1_error) /* "MPI/msgbuffer.pxi":563 * 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 == -1)) __PYX_ERR(4, 563, __pyx_L1_error) /* "MPI/msgbuffer.pxi":560 * 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; } /* "MPI/msgbuffer.pxi":565 * 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 == -1)) __PYX_ERR(4, 565, __pyx_L1_error) /* "MPI/msgbuffer.pxi":566 * 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 == -1)) __PYX_ERR(4, 566, __pyx_L1_error) } __pyx_L7:; } __pyx_L4:; /* "MPI/msgbuffer.pxi":567 * 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; /* "MPI/msgbuffer.pxi":538 * * # 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; } /* "MPI/msgbuffer.pxi":570 * * # 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; __Pyx_RefNannySetupContext("for_allgather", 0); /* "MPI/msgbuffer.pxi":573 * 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; } /* "MPI/msgbuffer.pxi":574 * 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; /* "MPI/msgbuffer.pxi":575 * 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 == -1)) __PYX_ERR(4, 575, __pyx_L1_error) /* "MPI/msgbuffer.pxi":576 * 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) { /* "MPI/msgbuffer.pxi":577 * 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 == -1)) __PYX_ERR(4, 577, __pyx_L1_error) /* "MPI/msgbuffer.pxi":576 * 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; } /* "MPI/msgbuffer.pxi":579 * 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 == -1)) __PYX_ERR(4, 579, __pyx_L1_error) } __pyx_L4:; /* "MPI/msgbuffer.pxi":581 * 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 == -1)) __PYX_ERR(4, 581, __pyx_L1_error) /* "MPI/msgbuffer.pxi":582 * # * 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) { /* "MPI/msgbuffer.pxi":583 * 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; /* "MPI/msgbuffer.pxi":584 * 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; /* "MPI/msgbuffer.pxi":585 * 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; /* "MPI/msgbuffer.pxi":582 * # * 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; } /* "MPI/msgbuffer.pxi":587 * 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 == -1)) __PYX_ERR(4, 587, __pyx_L1_error) } __pyx_L5:; /* "MPI/msgbuffer.pxi":588 * else: * self.for_cco_send(0, smsg, 0, 0) * return 0 # <<<<<<<<<<<<<< * * # alltoall/alltoallv */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":570 * * # 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; } /* "MPI/msgbuffer.pxi":591 * * # 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; __Pyx_RefNannySetupContext("for_alltoall", 0); /* "MPI/msgbuffer.pxi":594 * 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; } /* "MPI/msgbuffer.pxi":595 * 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; /* "MPI/msgbuffer.pxi":596 * 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 == -1)) __PYX_ERR(4, 596, __pyx_L1_error) /* "MPI/msgbuffer.pxi":597 * 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) { /* "MPI/msgbuffer.pxi":598 * 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 == -1)) __PYX_ERR(4, 598, __pyx_L1_error) /* "MPI/msgbuffer.pxi":597 * 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; } /* "MPI/msgbuffer.pxi":600 * 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 == -1)) __PYX_ERR(4, 600, __pyx_L1_error) } __pyx_L4:; /* "MPI/msgbuffer.pxi":602 * 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 == -1)) __PYX_ERR(4, 602, __pyx_L1_error) /* "MPI/msgbuffer.pxi":603 * # * 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) { /* "MPI/msgbuffer.pxi":604 * 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; /* "MPI/msgbuffer.pxi":605 * 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; /* "MPI/msgbuffer.pxi":606 * 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; /* "MPI/msgbuffer.pxi":607 * 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; /* "MPI/msgbuffer.pxi":608 * 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; /* "MPI/msgbuffer.pxi":603 * # * 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; } /* "MPI/msgbuffer.pxi":610 * 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 == -1)) __PYX_ERR(4, 610, __pyx_L1_error) } __pyx_L5:; /* "MPI/msgbuffer.pxi":611 * else: * self.for_cco_send(v, smsg, 0, size) * return 0 # <<<<<<<<<<<<<< * * # Neighbor Collectives */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":591 * * # 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; } /* "MPI/msgbuffer.pxi":617 * * # 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; __Pyx_RefNannySetupContext("for_neighbor_allgather", 0); /* "MPI/msgbuffer.pxi":620 * 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; } /* "MPI/msgbuffer.pxi":621 * 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; /* "MPI/msgbuffer.pxi":622 * 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 == -1)) __PYX_ERR(4, 622, __pyx_L1_error) /* "MPI/msgbuffer.pxi":623 * 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 == -1)) __PYX_ERR(4, 623, __pyx_L1_error) /* "MPI/msgbuffer.pxi":624 * 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 == -1)) __PYX_ERR(4, 624, __pyx_L1_error) /* "MPI/msgbuffer.pxi":625 * 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; /* "MPI/msgbuffer.pxi":617 * * # 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; } /* "MPI/msgbuffer.pxi":628 * * # 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; __Pyx_RefNannySetupContext("for_neighbor_alltoall", 0); /* "MPI/msgbuffer.pxi":631 * 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; } /* "MPI/msgbuffer.pxi":632 * 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; /* "MPI/msgbuffer.pxi":633 * 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 == -1)) __PYX_ERR(4, 633, __pyx_L1_error) /* "MPI/msgbuffer.pxi":634 * 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 == -1)) __PYX_ERR(4, 634, __pyx_L1_error) /* "MPI/msgbuffer.pxi":635 * 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 == -1)) __PYX_ERR(4, 635, __pyx_L1_error) /* "MPI/msgbuffer.pxi":636 * 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; /* "MPI/msgbuffer.pxi":628 * * # 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; } /* "MPI/msgbuffer.pxi":642 * * # 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; __Pyx_RefNannySetupContext("for_cro_send", 0); /* "MPI/msgbuffer.pxi":643 * # 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(4, 643, __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; /* "MPI/msgbuffer.pxi":648 * &self.scount, * &self.stype) * return 0 # <<<<<<<<<<<<<< * * # recvbuf */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":642 * * # 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; } /* "MPI/msgbuffer.pxi":651 * * # 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; __Pyx_RefNannySetupContext("for_cro_recv", 0); /* "MPI/msgbuffer.pxi":652 * # 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(4, 652, __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; /* "MPI/msgbuffer.pxi":657 * &self.rcount, * &self.rtype) * return 0 # <<<<<<<<<<<<<< * * cdef int for_reduce(self, */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":651 * * # 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; } /* "MPI/msgbuffer.pxi":659 * 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; __Pyx_RefNannySetupContext("for_reduce", 0); /* "MPI/msgbuffer.pxi":662 * 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; } /* "MPI/msgbuffer.pxi":663 * 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; /* "MPI/msgbuffer.pxi":664 * 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 == -1)) __PYX_ERR(4, 664, __pyx_L1_error) /* "MPI/msgbuffer.pxi":665 * 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) { /* "MPI/msgbuffer.pxi":666 * 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 == -1)) __PYX_ERR(4, 666, __pyx_L1_error) /* "MPI/msgbuffer.pxi":667 * 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) { /* "MPI/msgbuffer.pxi":668 * 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 == -1)) __PYX_ERR(4, 668, __pyx_L1_error) /* "MPI/msgbuffer.pxi":669 * 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) { /* "MPI/msgbuffer.pxi":670 * 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; /* "MPI/msgbuffer.pxi":671 * 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; /* "MPI/msgbuffer.pxi":672 * 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; /* "MPI/msgbuffer.pxi":669 * 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; } /* "MPI/msgbuffer.pxi":674 * 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 == -1)) __PYX_ERR(4, 674, __pyx_L1_error) } __pyx_L6:; /* "MPI/msgbuffer.pxi":667 * 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; } /* "MPI/msgbuffer.pxi":676 * 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 == -1)) __PYX_ERR(4, 676, __pyx_L1_error) /* "MPI/msgbuffer.pxi":677 * 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 == -1)) __PYX_ERR(4, 677, __pyx_L1_error) /* "MPI/msgbuffer.pxi":678 * 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; /* "MPI/msgbuffer.pxi":679 * 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:; /* "MPI/msgbuffer.pxi":665 * 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; } /* "MPI/msgbuffer.pxi":681 * 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; } /* "MPI/msgbuffer.pxi":682 * 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:; /* "MPI/msgbuffer.pxi":681 * 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) { /* "MPI/msgbuffer.pxi":683 * 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 == -1)) __PYX_ERR(4, 683, __pyx_L1_error) /* "MPI/msgbuffer.pxi":684 * 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; /* "MPI/msgbuffer.pxi":685 * 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; /* "MPI/msgbuffer.pxi":681 * 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; } /* "MPI/msgbuffer.pxi":687 * 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 == -1)) __PYX_ERR(4, 687, __pyx_L1_error) /* "MPI/msgbuffer.pxi":688 * 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; /* "MPI/msgbuffer.pxi":689 * 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:; /* "MPI/msgbuffer.pxi":690 * self.rcount = self.scount * self.rtype = self.stype * return 0 # <<<<<<<<<<<<<< * * cdef int for_allreduce(self, */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":659 * 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; } /* "MPI/msgbuffer.pxi":692 * 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; __Pyx_RefNannySetupContext("for_allreduce", 0); /* "MPI/msgbuffer.pxi":695 * 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; } /* "MPI/msgbuffer.pxi":696 * 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; /* "MPI/msgbuffer.pxi":697 * 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 == -1)) __PYX_ERR(4, 697, __pyx_L1_error) /* "MPI/msgbuffer.pxi":699 * 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 == -1)) __PYX_ERR(4, 699, __pyx_L1_error) /* "MPI/msgbuffer.pxi":700 * # 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) { /* "MPI/msgbuffer.pxi":701 * 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; /* "MPI/msgbuffer.pxi":702 * 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; /* "MPI/msgbuffer.pxi":703 * 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; /* "MPI/msgbuffer.pxi":700 * # 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; } /* "MPI/msgbuffer.pxi":705 * self.stype = self.rtype * else: * self.for_cro_send(smsg, 0) # <<<<<<<<<<<<<< * # check counts and datatypes * if (self.sbuf != MPI_IN_PLACE and */ /*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 == -1)) __PYX_ERR(4, 705, __pyx_L1_error) } __pyx_L4:; /* "MPI/msgbuffer.pxi":707 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if (self.sbuf != MPI_IN_PLACE and # <<<<<<<<<<<<<< * self.scount != self.rcount): * raise ValueError( */ __pyx_t_4 = ((__pyx_v_self->sbuf != MPI_IN_PLACE) != 0); if (__pyx_t_4) { } else { __pyx_t_1 = __pyx_t_4; goto __pyx_L8_bool_binop_done; } /* "MPI/msgbuffer.pxi":708 * # check counts and datatypes * if (self.sbuf != MPI_IN_PLACE and * self.scount != self.rcount): # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d and receive count %d" % */ __pyx_t_4 = ((__pyx_v_self->scount != __pyx_v_self->rcount) != 0); __pyx_t_1 = __pyx_t_4; __pyx_L8_bool_binop_done:; /* "MPI/msgbuffer.pxi":707 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if (self.sbuf != MPI_IN_PLACE and # <<<<<<<<<<<<<< * self.scount != self.rcount): * raise ValueError( */ if (__pyx_t_1) { /* "MPI/msgbuffer.pxi":711 * raise ValueError( * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) # <<<<<<<<<<<<<< * if (self.sbuf != MPI_IN_PLACE and * self.stype != self.rtype): */ __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_self->scount); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 711, __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(4, 711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 711, __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; /* "MPI/msgbuffer.pxi":710 * self.scount != self.rcount): * raise ValueError( * "mismatch in send count %d and receive count %d" % # <<<<<<<<<<<<<< * (self.scount, self.rcount)) * if (self.sbuf != MPI_IN_PLACE and */ __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(4, 710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":709 * if (self.sbuf != MPI_IN_PLACE and * self.scount != self.rcount): * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) */ __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(4, 709, __pyx_L1_error) /* "MPI/msgbuffer.pxi":707 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if (self.sbuf != MPI_IN_PLACE and # <<<<<<<<<<<<<< * self.scount != self.rcount): * raise ValueError( */ } /* "MPI/msgbuffer.pxi":712 * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) * if (self.sbuf != MPI_IN_PLACE and # <<<<<<<<<<<<<< * self.stype != self.rtype): * raise ValueError( */ __pyx_t_4 = ((__pyx_v_self->sbuf != MPI_IN_PLACE) != 0); if (__pyx_t_4) { } else { __pyx_t_1 = __pyx_t_4; goto __pyx_L11_bool_binop_done; } /* "MPI/msgbuffer.pxi":713 * (self.scount, self.rcount)) * if (self.sbuf != MPI_IN_PLACE and * self.stype != self.rtype): # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ __pyx_t_4 = ((__pyx_v_self->stype != __pyx_v_self->rtype) != 0); __pyx_t_1 = __pyx_t_4; __pyx_L11_bool_binop_done:; /* "MPI/msgbuffer.pxi":712 * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) * if (self.sbuf != MPI_IN_PLACE and # <<<<<<<<<<<<<< * self.stype != self.rtype): * raise ValueError( */ if (__pyx_t_1) { /* "MPI/msgbuffer.pxi":714 * if (self.sbuf != MPI_IN_PLACE and * self.stype != self.rtype): * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send and receive MPI datatypes") * return 0 */ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(4, 714, __pyx_L1_error) /* "MPI/msgbuffer.pxi":712 * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) * if (self.sbuf != MPI_IN_PLACE and # <<<<<<<<<<<<<< * self.stype != self.rtype): * raise ValueError( */ } /* "MPI/msgbuffer.pxi":716 * raise ValueError( * "mismatch in send and receive MPI datatypes") * return 0 # <<<<<<<<<<<<<< * * cdef int for_reduce_scatter_block(self, */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":692 * 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; } /* "MPI/msgbuffer.pxi":718 * 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; __Pyx_RefNannySetupContext("for_reduce_scatter_block", 0); /* "MPI/msgbuffer.pxi":721 * 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; } /* "MPI/msgbuffer.pxi":722 * 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; /* "MPI/msgbuffer.pxi":723 * 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 == -1)) __PYX_ERR(4, 723, __pyx_L1_error) /* "MPI/msgbuffer.pxi":724 * 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 == -1)) __PYX_ERR(4, 724, __pyx_L1_error) /* "MPI/msgbuffer.pxi":726 * 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) { /* "MPI/msgbuffer.pxi":727 * # 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 == -1)) __PYX_ERR(4, 727, __pyx_L1_error) /* "MPI/msgbuffer.pxi":728 * 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; /* "MPI/msgbuffer.pxi":726 * 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; } /* "MPI/msgbuffer.pxi":730 * 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 == -1)) __PYX_ERR(4, 730, __pyx_L1_error) /* "MPI/msgbuffer.pxi":731 * 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 == -1)) __PYX_ERR(4, 731, __pyx_L1_error) } __pyx_L4:; /* "MPI/msgbuffer.pxi":733 * 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) { /* "MPI/msgbuffer.pxi":734 * # 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 (__pyx_t_1) { /* "MPI/msgbuffer.pxi":735 * 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__23, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 735, __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(4, 735, __pyx_L1_error) /* "MPI/msgbuffer.pxi":734 * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ } /* "MPI/msgbuffer.pxi":737 * 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 (__pyx_t_1) { /* "MPI/msgbuffer.pxi":740 * 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(4, 740, __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(4, 740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 740, __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; /* "MPI/msgbuffer.pxi":739 * 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(4, 739, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "MPI/msgbuffer.pxi":738 * "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 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __PYX_ERR(4, 738, __pyx_L1_error) /* "MPI/msgbuffer.pxi":737 * raise ValueError( * "mismatch in send and receive MPI datatypes") * if self.scount != self.rcount: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d receive count %d" % */ } /* "MPI/msgbuffer.pxi":733 * 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( */ } /* "MPI/msgbuffer.pxi":741 * "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; /* "MPI/msgbuffer.pxi":718 * 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; } /* "MPI/msgbuffer.pxi":743 * 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; __Pyx_RefNannySetupContext("for_reduce_scatter", 0); /* "MPI/msgbuffer.pxi":746 * 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; } /* "MPI/msgbuffer.pxi":747 * 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; /* "MPI/msgbuffer.pxi":748 * 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 == -1)) __PYX_ERR(4, 748, __pyx_L1_error) /* "MPI/msgbuffer.pxi":749 * 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 == -1)) __PYX_ERR(4, 749, __pyx_L1_error) /* "MPI/msgbuffer.pxi":750 * 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 == -1)) __PYX_ERR(4, 750, __pyx_L1_error) /* "MPI/msgbuffer.pxi":752 * 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 == -1)) __PYX_ERR(4, 752, __pyx_L1_error) /* "MPI/msgbuffer.pxi":753 * # 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) { /* "MPI/msgbuffer.pxi":754 * 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; /* "MPI/msgbuffer.pxi":753 * # 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; } /* "MPI/msgbuffer.pxi":756 * 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 == -1)) __PYX_ERR(4, 756, __pyx_L1_error) } __pyx_L4:; /* "MPI/msgbuffer.pxi":758 * self.for_cro_send(smsg, 0) * # get receive counts * if rcnt is None and not inter and self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * self._rcnt = mkarray_int(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) { /* "MPI/msgbuffer.pxi":759 * # get receive counts * if rcnt is None and not inter and self.sbuf != MPI_IN_PLACE: * self._rcnt = mkarray_int(size, &self.rcounts) # <<<<<<<<<<<<<< * CHKERR( MPI_Allgather(&self.rcount, 1, MPI_INT, * self.rcounts, 1, MPI_INT, comm) ) */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_size, (&__pyx_v_self->rcounts)); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 759, __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; /* "MPI/msgbuffer.pxi":760 * if rcnt is None and not inter and self.sbuf != MPI_IN_PLACE: * self._rcnt = mkarray_int(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 == -1)) __PYX_ERR(4, 760, __pyx_L1_error) /* "MPI/msgbuffer.pxi":758 * self.for_cro_send(smsg, 0) * # get receive counts * if rcnt is None and not inter and self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * self._rcnt = mkarray_int(size, &self.rcounts) * CHKERR( MPI_Allgather(&self.rcount, 1, MPI_INT, */ goto __pyx_L7; } /* "MPI/msgbuffer.pxi":763 * self.rcounts, 1, MPI_INT, comm) ) * else: * self._rcnt = asarray_int(rcnt, size, &self.rcounts) # <<<<<<<<<<<<<< * # total sum or receive counts * cdef int i=0, sumrcounts=0 */ /*else*/ { __pyx_t_5 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_rcnt, __pyx_v_size, (&__pyx_v_self->rcounts)); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 763, __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:; /* "MPI/msgbuffer.pxi":765 * self._rcnt = asarray_int(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; /* "MPI/msgbuffer.pxi":766 * # 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++) { /* "MPI/msgbuffer.pxi":767 * 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])); } /* "MPI/msgbuffer.pxi":769 * 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) { /* "MPI/msgbuffer.pxi":770 * # 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 (__pyx_t_1) { /* "MPI/msgbuffer.pxi":771 * 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__24, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 771, __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(4, 771, __pyx_L1_error) /* "MPI/msgbuffer.pxi":770 * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ } /* "MPI/msgbuffer.pxi":773 * 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 (__pyx_t_1) { /* "MPI/msgbuffer.pxi":776 * 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(4, 776, __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(4, 776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 776, __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; /* "MPI/msgbuffer.pxi":775 * 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(4, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "MPI/msgbuffer.pxi":774 * "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 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __PYX_ERR(4, 774, __pyx_L1_error) /* "MPI/msgbuffer.pxi":773 * raise ValueError( * "mismatch in send and receive MPI datatypes") * if self.scount != sumrcounts: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d and sum(counts) %d" % */ } /* "MPI/msgbuffer.pxi":777 * "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 (__pyx_t_1) { /* "MPI/msgbuffer.pxi":780 * raise ValueError( * "mismatch in receive count %d and counts[%d] %d" % * (self.rcount, rank, self.rcounts[rank])) # <<<<<<<<<<<<<< * else: * if self.rcount != sumrcounts: */ __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_self->rcount); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_rank); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyInt_From_int((__pyx_v_self->rcounts[__pyx_v_rank])); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 780, __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_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_5); __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_5 = 0; /* "MPI/msgbuffer.pxi":779 * 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(4, 779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":778 * (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 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(4, 778, __pyx_L1_error) /* "MPI/msgbuffer.pxi":777 * "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" % */ } /* "MPI/msgbuffer.pxi":769 * sumrcounts += self.rcounts[i] * # check counts and datatypes * if self.sbuf != MPI_IN_PLACE: # <<<<<<<<<<<<<< * if self.stype != self.rtype: * raise ValueError( */ goto __pyx_L13; } /* "MPI/msgbuffer.pxi":782 * (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 (__pyx_t_1) { /* "MPI/msgbuffer.pxi":785 * raise ValueError( * "mismatch in receive count %d and sum(counts) %d" % * (self.rcount, sumrcounts)) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_self->rcount); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_sumrcounts); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 785, __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_8); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_8); __pyx_t_5 = 0; __pyx_t_8 = 0; /* "MPI/msgbuffer.pxi":784 * if self.rcount != sumrcounts: * raise ValueError( * "mismatch in receive count %d and sum(counts) %d" % # <<<<<<<<<<<<<< * (self.rcount, sumrcounts)) * return 0 */ __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_mismatch_in_receive_count_d_and_2, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "MPI/msgbuffer.pxi":783 * else: * if self.rcount != sumrcounts: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in receive count %d and sum(counts) %d" % * (self.rcount, sumrcounts)) */ __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 783, __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(4, 783, __pyx_L1_error) /* "MPI/msgbuffer.pxi":782 * (self.rcount, rank, self.rcounts[rank])) * else: * if self.rcount != sumrcounts: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in receive count %d and sum(counts) %d" % */ } } __pyx_L13:; /* "MPI/msgbuffer.pxi":786 * "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; /* "MPI/msgbuffer.pxi":743 * 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; } /* "MPI/msgbuffer.pxi":788 * 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; __Pyx_RefNannySetupContext("for_scan", 0); /* "MPI/msgbuffer.pxi":791 * 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; } /* "MPI/msgbuffer.pxi":793 * 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 == -1)) __PYX_ERR(4, 793, __pyx_L1_error) /* "MPI/msgbuffer.pxi":794 * # 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) { /* "MPI/msgbuffer.pxi":795 * 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; /* "MPI/msgbuffer.pxi":796 * 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; /* "MPI/msgbuffer.pxi":797 * 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; /* "MPI/msgbuffer.pxi":794 * # 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; } /* "MPI/msgbuffer.pxi":799 * self.stype = self.rtype * else: * self.for_cro_send(smsg, 0) # <<<<<<<<<<<<<< * # check counts and datatypes * if (self.sbuf != MPI_IN_PLACE and */ /*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 == -1)) __PYX_ERR(4, 799, __pyx_L1_error) } __pyx_L4:; /* "MPI/msgbuffer.pxi":801 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if (self.sbuf != MPI_IN_PLACE and # <<<<<<<<<<<<<< * self.scount != self.rcount): * raise ValueError( */ __pyx_t_1 = ((__pyx_v_self->sbuf != MPI_IN_PLACE) != 0); if (__pyx_t_1) { } else { __pyx_t_3 = __pyx_t_1; goto __pyx_L6_bool_binop_done; } /* "MPI/msgbuffer.pxi":802 * # check counts and datatypes * if (self.sbuf != MPI_IN_PLACE and * 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); __pyx_t_3 = __pyx_t_1; __pyx_L6_bool_binop_done:; /* "MPI/msgbuffer.pxi":801 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if (self.sbuf != MPI_IN_PLACE and # <<<<<<<<<<<<<< * self.scount != self.rcount): * raise ValueError( */ if (__pyx_t_3) { /* "MPI/msgbuffer.pxi":805 * raise ValueError( * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) # <<<<<<<<<<<<<< * if (self.sbuf != MPI_IN_PLACE and * self.stype != self.rtype): */ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_self->scount); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 805, __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(4, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 805, __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; /* "MPI/msgbuffer.pxi":804 * self.scount != self.rcount): * raise ValueError( * "mismatch in send count %d and receive count %d" % # <<<<<<<<<<<<<< * (self.scount, self.rcount)) * if (self.sbuf != MPI_IN_PLACE and */ __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(4, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "MPI/msgbuffer.pxi":803 * if (self.sbuf != MPI_IN_PLACE and * self.scount != self.rcount): * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) */ __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __PYX_ERR(4, 803, __pyx_L1_error) /* "MPI/msgbuffer.pxi":801 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if (self.sbuf != MPI_IN_PLACE and # <<<<<<<<<<<<<< * self.scount != self.rcount): * raise ValueError( */ } /* "MPI/msgbuffer.pxi":806 * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) * if (self.sbuf != MPI_IN_PLACE and # <<<<<<<<<<<<<< * self.stype != self.rtype): * raise ValueError( */ __pyx_t_1 = ((__pyx_v_self->sbuf != MPI_IN_PLACE) != 0); if (__pyx_t_1) { } else { __pyx_t_3 = __pyx_t_1; goto __pyx_L9_bool_binop_done; } /* "MPI/msgbuffer.pxi":807 * (self.scount, self.rcount)) * if (self.sbuf != MPI_IN_PLACE and * 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); __pyx_t_3 = __pyx_t_1; __pyx_L9_bool_binop_done:; /* "MPI/msgbuffer.pxi":806 * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) * if (self.sbuf != MPI_IN_PLACE and # <<<<<<<<<<<<<< * self.stype != self.rtype): * raise ValueError( */ if (__pyx_t_3) { /* "MPI/msgbuffer.pxi":808 * if (self.sbuf != MPI_IN_PLACE and * self.stype != self.rtype): * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send and receive MPI datatypes") * return 0 */ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 808, __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(4, 808, __pyx_L1_error) /* "MPI/msgbuffer.pxi":806 * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) * if (self.sbuf != MPI_IN_PLACE and # <<<<<<<<<<<<<< * self.stype != self.rtype): * raise ValueError( */ } /* "MPI/msgbuffer.pxi":810 * raise ValueError( * "mismatch in send and receive MPI datatypes") * return 0 # <<<<<<<<<<<<<< * * cdef int for_exscan(self, */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":788 * 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; } /* "MPI/msgbuffer.pxi":812 * 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; __Pyx_RefNannySetupContext("for_exscan", 0); /* "MPI/msgbuffer.pxi":815 * 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; } /* "MPI/msgbuffer.pxi":817 * 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 == -1)) __PYX_ERR(4, 817, __pyx_L1_error) /* "MPI/msgbuffer.pxi":818 * # 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) { /* "MPI/msgbuffer.pxi":819 * 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; /* "MPI/msgbuffer.pxi":820 * 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; /* "MPI/msgbuffer.pxi":821 * 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; /* "MPI/msgbuffer.pxi":818 * # 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; } /* "MPI/msgbuffer.pxi":823 * self.stype = self.rtype * else: * self.for_cro_send(smsg, 0) # <<<<<<<<<<<<<< * # check counts and datatypes * if self.scount != self.rcount: */ /*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 == -1)) __PYX_ERR(4, 823, __pyx_L1_error) } __pyx_L4:; /* "MPI/msgbuffer.pxi":825 * self.for_cro_send(smsg, 0) * # check counts and 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 (__pyx_t_3) { /* "MPI/msgbuffer.pxi":828 * raise ValueError( * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) # <<<<<<<<<<<<<< * if self.stype != self.rtype: * raise ValueError( */ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_self->scount); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 828, __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(4, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 828, __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; /* "MPI/msgbuffer.pxi":827 * if self.scount != self.rcount: * raise ValueError( * "mismatch in send count %d and receive count %d" % # <<<<<<<<<<<<<< * (self.scount, self.rcount)) * if self.stype != self.rtype: */ __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(4, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "MPI/msgbuffer.pxi":826 * # check counts and datatypes * if self.scount != self.rcount: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) */ __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __PYX_ERR(4, 826, __pyx_L1_error) /* "MPI/msgbuffer.pxi":825 * self.for_cro_send(smsg, 0) * # check counts and datatypes * if self.scount != self.rcount: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send count %d and receive count %d" % */ } /* "MPI/msgbuffer.pxi":829 * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) * 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 (__pyx_t_3) { /* "MPI/msgbuffer.pxi":830 * (self.scount, self.rcount)) * if self.stype != self.rtype: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send and receive MPI datatypes") * return 0 */ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 830, __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(4, 830, __pyx_L1_error) /* "MPI/msgbuffer.pxi":829 * "mismatch in send count %d and receive count %d" % * (self.scount, self.rcount)) * if self.stype != self.rtype: # <<<<<<<<<<<<<< * raise ValueError( * "mismatch in send and receive MPI datatypes") */ } /* "MPI/msgbuffer.pxi":832 * raise ValueError( * "mismatch in send and receive MPI datatypes") * return 0 # <<<<<<<<<<<<<< * * */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":812 * 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; } /* "MPI/msgbuffer.pxi":835 * * * 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; __Pyx_RefNannySetupContext("message_cco", 0); /* "MPI/msgbuffer.pxi":836 * * 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 = __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(4, 836, __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_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_cco *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgbuffer.pxi":837 * 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; /* "MPI/msgbuffer.pxi":835 * * * 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; } /* "MPI/msgbuffer.pxi":854 * 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); /* "MPI/msgbuffer.pxi":855 * * 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; /* "MPI/msgbuffer.pxi":856 * 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; /* "MPI/msgbuffer.pxi":857 * 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; /* "MPI/msgbuffer.pxi":858 * 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; /* "MPI/msgbuffer.pxi":859 * 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; /* "MPI/msgbuffer.pxi":854 * 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; } /* "MPI/msgbuffer.pxi":862 * * # 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; __Pyx_RefNannySetupContext("for_alltoallw", 0); /* "MPI/msgbuffer.pxi":865 * 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; } /* "MPI/msgbuffer.pxi":866 * 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; /* "MPI/msgbuffer.pxi":867 * 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 == -1)) __PYX_ERR(4, 867, __pyx_L1_error) /* "MPI/msgbuffer.pxi":868 * 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) { /* "MPI/msgbuffer.pxi":869 * 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 == -1)) __PYX_ERR(4, 869, __pyx_L1_error) /* "MPI/msgbuffer.pxi":868 * 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; } /* "MPI/msgbuffer.pxi":871 * CHKERR( MPI_Comm_size(comm, &size) ) * else: # inter-communication * CHKERR( MPI_Comm_remote_size(comm, &size) ) # <<<<<<<<<<<<<< * # * self._rmsg = message_vecw_I( */ /*else*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_remote_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(4, 871, __pyx_L1_error) } __pyx_L4:; /* "MPI/msgbuffer.pxi":873 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * # * self._rmsg = message_vecw_I( # <<<<<<<<<<<<<< * rmsg, 0, size, * &self.rbuf, &self.rcounts, */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_message_vecw_I(__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(4, 873, __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; /* "MPI/msgbuffer.pxi":877 * &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) { /* "MPI/msgbuffer.pxi":878 * &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; /* "MPI/msgbuffer.pxi":879 * 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; /* "MPI/msgbuffer.pxi":880 * 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; /* "MPI/msgbuffer.pxi":881 * self.scounts = self.rcounts * self.sdispls = self.rdispls * self.stypes = self.rtypes # <<<<<<<<<<<<<< * return 0 * self._smsg = message_vecw_I( */ __pyx_t_7 = __pyx_v_self->rtypes; __pyx_v_self->stypes = __pyx_t_7; /* "MPI/msgbuffer.pxi":882 * self.sdispls = self.rdispls * self.stypes = self.rtypes * return 0 # <<<<<<<<<<<<<< * self._smsg = message_vecw_I( * smsg, 1, size, */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":877 * &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 */ } /* "MPI/msgbuffer.pxi":883 * self.stypes = self.rtypes * return 0 * self._smsg = message_vecw_I( # <<<<<<<<<<<<<< * smsg, 1, size, * &self.sbuf, &self.scounts, */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_message_vecw_I(__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(4, 883, __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; /* "MPI/msgbuffer.pxi":887 * &self.sbuf, &self.scounts, * &self.sdispls, &self.stypes) * return 0 # <<<<<<<<<<<<<< * * # neighbor alltoallw */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":862 * * # 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; } /* "MPI/msgbuffer.pxi":890 * * # 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; __Pyx_RefNannySetupContext("for_neighbor_alltoallw", 0); /* "MPI/msgbuffer.pxi":893 * 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; } /* "MPI/msgbuffer.pxi":894 * 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_vecw_A( */ __pyx_v_sendsize = 0; __pyx_v_recvsize = 0; /* "MPI/msgbuffer.pxi":895 * if comm == MPI_COMM_NULL: return 0 * cdef int sendsize=0, recvsize=0 * comm_neighbors_count(comm, &recvsize, &sendsize) # <<<<<<<<<<<<<< * self._rmsg = message_vecw_A( * 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 == -1)) __PYX_ERR(4, 895, __pyx_L1_error) /* "MPI/msgbuffer.pxi":896 * cdef int sendsize=0, recvsize=0 * comm_neighbors_count(comm, &recvsize, &sendsize) * self._rmsg = message_vecw_A( # <<<<<<<<<<<<<< * rmsg, 0, recvsize, * &self.rbuf, &self.rcounts, */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_message_vecw_A(__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(4, 896, __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; /* "MPI/msgbuffer.pxi":900 * &self.rbuf, &self.rcounts, * &self.rdisplsA, &self.rtypes) * self._smsg = message_vecw_A( # <<<<<<<<<<<<<< * smsg, 1, sendsize, * &self.sbuf, &self.scounts, */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_message_vecw_A(__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(4, 900, __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; /* "MPI/msgbuffer.pxi":904 * &self.sbuf, &self.scounts, * &self.sdisplsA, &self.stypes) * return 0 # <<<<<<<<<<<<<< * * */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":890 * * # 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; } /* "MPI/msgbuffer.pxi":907 * * * 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; __Pyx_RefNannySetupContext("message_ccow", 0); /* "MPI/msgbuffer.pxi":908 * * 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 = __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(4, 908, __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_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_ccow *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgbuffer.pxi":909 * 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; /* "MPI/msgbuffer.pxi":907 * * * 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; } /* "MPI/msgbuffer.pxi":934 * 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); /* "MPI/msgbuffer.pxi":935 * * def __cinit__(self): * self.oaddr = NULL # <<<<<<<<<<<<<< * self.ocount = 0 * self.otype = MPI_DATATYPE_NULL */ __pyx_v_self->oaddr = NULL; /* "MPI/msgbuffer.pxi":936 * def __cinit__(self): * self.oaddr = NULL * self.ocount = 0 # <<<<<<<<<<<<<< * self.otype = MPI_DATATYPE_NULL * self.raddr = NULL */ __pyx_v_self->ocount = 0; /* "MPI/msgbuffer.pxi":937 * self.oaddr = NULL * self.ocount = 0 * self.otype = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * self.raddr = NULL * self.rcount = 0 */ __pyx_v_self->otype = MPI_DATATYPE_NULL; /* "MPI/msgbuffer.pxi":938 * self.ocount = 0 * self.otype = MPI_DATATYPE_NULL * self.raddr = NULL # <<<<<<<<<<<<<< * self.rcount = 0 * self.rtype = MPI_DATATYPE_NULL */ __pyx_v_self->raddr = NULL; /* "MPI/msgbuffer.pxi":939 * self.otype = MPI_DATATYPE_NULL * self.raddr = NULL * self.rcount = 0 # <<<<<<<<<<<<<< * self.rtype = MPI_DATATYPE_NULL * self.tdisp = 0 */ __pyx_v_self->rcount = 0; /* "MPI/msgbuffer.pxi":940 * self.raddr = NULL * self.rcount = 0 * self.rtype = MPI_DATATYPE_NULL # <<<<<<<<<<<<<< * self.tdisp = 0 * self.tcount = 0 */ __pyx_v_self->rtype = MPI_DATATYPE_NULL; /* "MPI/msgbuffer.pxi":941 * self.rcount = 0 * self.rtype = MPI_DATATYPE_NULL * self.tdisp = 0 # <<<<<<<<<<<<<< * self.tcount = 0 * self.ttype = MPI_DATATYPE_NULL */ __pyx_v_self->tdisp = 0; /* "MPI/msgbuffer.pxi":942 * self.rtype = MPI_DATATYPE_NULL * self.tdisp = 0 * self.tcount = 0 # <<<<<<<<<<<<<< * self.ttype = MPI_DATATYPE_NULL * */ __pyx_v_self->tcount = 0; /* "MPI/msgbuffer.pxi":943 * 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; /* "MPI/msgbuffer.pxi":934 * cdef object _target * * def __cinit__(self): # <<<<<<<<<<<<<< * self.oaddr = NULL * self.ocount = 0 */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgbuffer.pxi":945 * 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) { 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; __Pyx_RefNannySetupContext("for_rma", 0); /* "MPI/msgbuffer.pxi":948 * 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(4, 948, __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; /* "MPI/msgbuffer.pxi":951 * 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; } /* "MPI/msgbuffer.pxi":952 * &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; } /* "MPI/msgbuffer.pxi":953 * 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:; /* "MPI/msgbuffer.pxi":954 * (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 == -1)) __PYX_ERR(4, 954, __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(4, 954, __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:; /* "MPI/msgbuffer.pxi":951 * 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) { /* "MPI/msgbuffer.pxi":955 * (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(4, 955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Datatype)))) __PYX_ERR(4, 955, __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; /* "MPI/msgbuffer.pxi":956 * (len(origin) > 0 and isinstance(origin[-1], Datatype))): * self.otype = (origin[-1]).ob_mpi * self._origin = origin # <<<<<<<<<<<<<< * # TARGET * if target is None: */ __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; /* "MPI/msgbuffer.pxi":951 * 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 */ } /* "MPI/msgbuffer.pxi":958 * self._origin = origin * # TARGET * 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) { /* "MPI/msgbuffer.pxi":959 * # TARGET * if target is None: * self.tdisp = 0 # <<<<<<<<<<<<<< * self.tcount = self.ocount * self.ttype = self.otype */ __pyx_v_self->tdisp = 0; /* "MPI/msgbuffer.pxi":960 * 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; /* "MPI/msgbuffer.pxi":961 * 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; /* "MPI/msgbuffer.pxi":958 * self._origin = origin * # TARGET * if target is None: # <<<<<<<<<<<<<< * self.tdisp = 0 * self.tcount = self.ocount */ goto __pyx_L10; } /* "MPI/msgbuffer.pxi":962 * 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) { /* "MPI/msgbuffer.pxi":963 * 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(4, 963, __pyx_L1_error) __pyx_v_self->tdisp = ((MPI_Aint)__pyx_t_8); /* "MPI/msgbuffer.pxi":964 * 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; /* "MPI/msgbuffer.pxi":965 * self.tdisp = target * self.tcount = self.ocount * self.ttype = self.otype # <<<<<<<<<<<<<< * elif is_list(target) or is_tuple(target): * if len(target) != 3: */ __pyx_t_6 = __pyx_v_self->otype; __pyx_v_self->ttype = __pyx_t_6; /* "MPI/msgbuffer.pxi":962 * self.tcount = self.ocount * self.ttype = self.otype * elif is_integral(target): # <<<<<<<<<<<<<< * self.tdisp = target * self.tcount = self.ocount */ goto __pyx_L10; } /* "MPI/msgbuffer.pxi":966 * self.tcount = self.ocount * self.ttype = self.otype * elif is_list(target) or is_tuple(target): # <<<<<<<<<<<<<< * if len(target) != 3: * raise ValueError("target: expecting 3 items") */ __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 (__pyx_t_3) { /* "MPI/msgbuffer.pxi":967 * self.ttype = self.otype * elif is_list(target) or is_tuple(target): * if len(target) != 3: # <<<<<<<<<<<<<< * raise ValueError("target: expecting 3 items") * self.tdisp = target[0] */ __pyx_t_5 = PyObject_Length(__pyx_v_target); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(4, 967, __pyx_L1_error) __pyx_t_3 = ((__pyx_t_5 != 3) != 0); if (__pyx_t_3) { /* "MPI/msgbuffer.pxi":968 * elif is_list(target) or is_tuple(target): * if len(target) != 3: * raise ValueError("target: expecting 3 items") # <<<<<<<<<<<<<< * self.tdisp = target[0] * self.tcount = target[1] */ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(4, 968, __pyx_L1_error) /* "MPI/msgbuffer.pxi":967 * self.ttype = self.otype * elif is_list(target) or is_tuple(target): * if len(target) != 3: # <<<<<<<<<<<<<< * raise ValueError("target: expecting 3 items") * self.tdisp = target[0] */ } /* "MPI/msgbuffer.pxi":969 * if len(target) != 3: * raise ValueError("target: expecting 3 items") * self.tdisp = target[0] # <<<<<<<<<<<<<< * self.tcount = target[1] * self.ttype = (target[2]).ob_mpi */ __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(4, 969, __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(4, 969, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_self->tdisp = ((MPI_Aint)__pyx_t_8); /* "MPI/msgbuffer.pxi":970 * raise ValueError("target: expecting 3 items") * self.tdisp = target[0] * self.tcount = target[1] # <<<<<<<<<<<<<< * self.ttype = (target[2]).ob_mpi * else: */ __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(4, 970, __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(4, 970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_self->tcount = ((int)__pyx_t_7); /* "MPI/msgbuffer.pxi":971 * self.tdisp = target[0] * self.tcount = target[1] * self.ttype = (target[2]).ob_mpi # <<<<<<<<<<<<<< * else: * raise ValueError("target: expecting integral or list/tuple") */ __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(4, 971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_6mpi4py_3MPI_Datatype)))) __PYX_ERR(4, 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; /* "MPI/msgbuffer.pxi":966 * self.tcount = self.ocount * self.ttype = self.otype * elif is_list(target) or is_tuple(target): # <<<<<<<<<<<<<< * if len(target) != 3: * raise ValueError("target: expecting 3 items") */ goto __pyx_L10; } /* "MPI/msgbuffer.pxi":973 * self.ttype = (target[2]).ob_mpi * 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__28, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 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(4, 973, __pyx_L1_error) } __pyx_L10:; /* "MPI/msgbuffer.pxi":974 * 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; /* "MPI/msgbuffer.pxi":975 * 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; /* "MPI/msgbuffer.pxi":945 * 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; } /* "MPI/msgbuffer.pxi":977 * 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; __Pyx_RefNannySetupContext("for_put", 0); /* "MPI/msgbuffer.pxi":978 * * 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 == -1)) __PYX_ERR(4, 978, __pyx_L1_error) /* "MPI/msgbuffer.pxi":979 * 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; /* "MPI/msgbuffer.pxi":977 * 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; } /* "MPI/msgbuffer.pxi":981 * 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; __Pyx_RefNannySetupContext("for_get", 0); /* "MPI/msgbuffer.pxi":982 * * 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 == -1)) __PYX_ERR(4, 982, __pyx_L1_error) /* "MPI/msgbuffer.pxi":983 * 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; /* "MPI/msgbuffer.pxi":981 * 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; } /* "MPI/msgbuffer.pxi":985 * 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; __Pyx_RefNannySetupContext("for_acc", 0); /* "MPI/msgbuffer.pxi":986 * * 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 == -1)) __PYX_ERR(4, 986, __pyx_L1_error) /* "MPI/msgbuffer.pxi":987 * cdef int for_acc(self, object origin, int rank, object target) except -1: * self.for_rma(1, origin, rank, target) * return 0 # <<<<<<<<<<<<<< * * cdef int for_get_acc(self, object origin, object result, */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":985 * 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; } /* "MPI/msgbuffer.pxi":989 * return 0 * * cdef int for_get_acc(self, object origin, object result, # <<<<<<<<<<<<<< * int rank, object target) except -1: * # ORIGIN & 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; PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("for_get_acc", 0); /* "MPI/msgbuffer.pxi":992 * int rank, object target) except -1: * # ORIGIN & TARGET * self.for_rma(0, origin, rank, target) # <<<<<<<<<<<<<< * # RESULT * self._result = message_simple( */ __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 == -1)) __PYX_ERR(4, 992, __pyx_L1_error) /* "MPI/msgbuffer.pxi":994 * self.for_rma(0, origin, rank, target) * # RESULT * self._result = message_simple( # <<<<<<<<<<<<<< * result, 0, rank, 0, * &self.raddr, &self.rcount, &self.rtype) */ __pyx_t_2 = ((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_2)) __PYX_ERR(4, 994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->_result); __Pyx_DECREF(__pyx_v_self->_result); __pyx_v_self->_result = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgbuffer.pxi":997 * result, 0, rank, 0, * &self.raddr, &self.rcount, &self.rtype) * return 0 # <<<<<<<<<<<<<< * * cdef inline _p_msg_rma message_rma(): */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":989 * return 0 * * cdef int for_get_acc(self, object origin, object result, # <<<<<<<<<<<<<< * int rank, object target) except -1: * # ORIGIN & TARGET */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __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; } /* "MPI/msgbuffer.pxi":999 * 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; __Pyx_RefNannySetupContext("message_rma", 0); /* "MPI/msgbuffer.pxi":1000 * * 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 = __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(4, 1000, __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_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_rma *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgbuffer.pxi":1001 * 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; /* "MPI/msgbuffer.pxi":999 * 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; } /* "MPI/msgbuffer.pxi":1016 * 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); /* "MPI/msgbuffer.pxi":1017 * * def __cinit__(self): * self.buf = NULL # <<<<<<<<<<<<<< * self.count = 0 * self.dtype = MPI_DATATYPE_NULL */ __pyx_v_self->buf = NULL; /* "MPI/msgbuffer.pxi":1018 * def __cinit__(self): * self.buf = NULL * self.count = 0 # <<<<<<<<<<<<<< * self.dtype = MPI_DATATYPE_NULL * */ __pyx_v_self->count = 0; /* "MPI/msgbuffer.pxi":1019 * 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; /* "MPI/msgbuffer.pxi":1016 * cdef object _msg * * def __cinit__(self): # <<<<<<<<<<<<<< * self.buf = NULL * self.count = 0 */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgbuffer.pxi":1021 * 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; __Pyx_RefNannySetupContext("for_read", 0); /* "MPI/msgbuffer.pxi":1022 * * 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(4, 1022, __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; /* "MPI/msgbuffer.pxi":1027 * &self.count, * &self.dtype) * return 0 # <<<<<<<<<<<<<< * * cdef int for_write(self, object msg) except -1: */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":1021 * 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; } /* "MPI/msgbuffer.pxi":1029 * 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; __Pyx_RefNannySetupContext("for_write", 0); /* "MPI/msgbuffer.pxi":1030 * * 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(4, 1030, __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; /* "MPI/msgbuffer.pxi":1035 * &self.count, * &self.dtype) * return 0 # <<<<<<<<<<<<<< * * cdef inline _p_msg_io message_io_read(object buf): */ __pyx_r = 0; goto __pyx_L0; /* "MPI/msgbuffer.pxi":1029 * 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; } /* "MPI/msgbuffer.pxi":1037 * 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; __Pyx_RefNannySetupContext("message_io_read", 0); /* "MPI/msgbuffer.pxi":1038 * * 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 = __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(4, 1038, __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_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgbuffer.pxi":1039 * 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 == -1)) __PYX_ERR(4, 1039, __pyx_L1_error) /* "MPI/msgbuffer.pxi":1040 * 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; /* "MPI/msgbuffer.pxi":1037 * 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; } /* "MPI/msgbuffer.pxi":1042 * 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; __Pyx_RefNannySetupContext("message_io_write", 0); /* "MPI/msgbuffer.pxi":1043 * * 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 = __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(4, 1043, __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_msg = ((struct __pyx_obj_6mpi4py_3MPI__p_msg_io *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgbuffer.pxi":1044 * 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 == -1)) __PYX_ERR(4, 1044, __pyx_L1_error) /* "MPI/msgbuffer.pxi":1045 * 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; /* "MPI/msgbuffer.pxi":1042 * 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; } /* "MPI/msgpickle.pxi":51 * cdef object ob_PROTOCOL * * def __cinit__(self, *args, **kwargs): # <<<<<<<<<<<<<< * self.ob_dumps = None * self.ob_loads = None */ /* 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); /* "MPI/msgpickle.pxi":52 * * def __cinit__(self, *args, **kwargs): * self.ob_dumps = None # <<<<<<<<<<<<<< * self.ob_loads = None * self.ob_PROTOCOL = PyPickle_PROTOCOL */ __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->ob_dumps); __Pyx_DECREF(__pyx_v_self->ob_dumps); __pyx_v_self->ob_dumps = Py_None; /* "MPI/msgpickle.pxi":53 * def __cinit__(self, *args, **kwargs): * self.ob_dumps = None * self.ob_loads = None # <<<<<<<<<<<<<< * self.ob_PROTOCOL = PyPickle_PROTOCOL * */ __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->ob_loads); __Pyx_DECREF(__pyx_v_self->ob_loads); __pyx_v_self->ob_loads = Py_None; /* "MPI/msgpickle.pxi":54 * self.ob_dumps = None * self.ob_loads = None * self.ob_PROTOCOL = 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_PROTOCOL); __Pyx_DECREF(__pyx_v_self->ob_PROTOCOL); __pyx_v_self->ob_PROTOCOL = __pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL; /* "MPI/msgpickle.pxi":51 * cdef object ob_PROTOCOL * * def __cinit__(self, *args, **kwargs): # <<<<<<<<<<<<<< * self.ob_dumps = None * self.ob_loads = None */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":56 * self.ob_PROTOCOL = PyPickle_PROTOCOL * * def __init__(self, dumps=None, loads=None, protocol=None): # <<<<<<<<<<<<<< * if dumps is None and protocol is None: * protocol = PyPickle_PROTOCOL */ /* 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_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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dumps); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_loads); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(19, 56, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(19, 56, __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; int __pyx_t_3; __Pyx_RefNannySetupContext("__init__", 0); __Pyx_INCREF(__pyx_v_protocol); /* "MPI/msgpickle.pxi":57 * * def __init__(self, dumps=None, loads=None, protocol=None): * if dumps is None and protocol is None: # <<<<<<<<<<<<<< * protocol = PyPickle_PROTOCOL * self.ob_dumps = dumps */ __pyx_t_2 = (__pyx_v_dumps == 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_v_protocol == Py_None); __pyx_t_2 = (__pyx_t_3 != 0); __pyx_t_1 = __pyx_t_2; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { /* "MPI/msgpickle.pxi":58 * def __init__(self, dumps=None, loads=None, protocol=None): * if dumps is None and protocol is None: * 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); /* "MPI/msgpickle.pxi":57 * * def __init__(self, dumps=None, loads=None, protocol=None): * if dumps is None and protocol is None: # <<<<<<<<<<<<<< * protocol = PyPickle_PROTOCOL * self.ob_dumps = dumps */ } /* "MPI/msgpickle.pxi":59 * if dumps is None and protocol is None: * protocol = PyPickle_PROTOCOL * self.ob_dumps = dumps # <<<<<<<<<<<<<< * self.ob_loads = loads * self.ob_PROTOCOL = 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; /* "MPI/msgpickle.pxi":60 * protocol = PyPickle_PROTOCOL * self.ob_dumps = dumps * self.ob_loads = loads # <<<<<<<<<<<<<< * self.ob_PROTOCOL = 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; /* "MPI/msgpickle.pxi":61 * self.ob_dumps = dumps * self.ob_loads = loads * self.ob_PROTOCOL = protocol # <<<<<<<<<<<<<< * * property dumps: */ __Pyx_INCREF(__pyx_v_protocol); __Pyx_GIVEREF(__pyx_v_protocol); __Pyx_GOTREF(__pyx_v_self->ob_PROTOCOL); __Pyx_DECREF(__pyx_v_self->ob_PROTOCOL); __pyx_v_self->ob_PROTOCOL = __pyx_v_protocol; /* "MPI/msgpickle.pxi":56 * self.ob_PROTOCOL = PyPickle_PROTOCOL * * def __init__(self, dumps=None, loads=None, protocol=None): # <<<<<<<<<<<<<< * if dumps is None and protocol is None: * protocol = PyPickle_PROTOCOL */ /* function exit code */ __pyx_r = 0; __Pyx_XDECREF(__pyx_v_protocol); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":65 * property dumps: * "dumps(obj) -> bytes" * def __get__(self): # <<<<<<<<<<<<<< * if self.ob_dumps is None: * return PyPickle_dumps */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Pickle_5dumps_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6Pickle_5dumps_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Pickle_5dumps___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_5dumps___get__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/msgpickle.pxi":66 * "dumps(obj) -> bytes" * def __get__(self): * if self.ob_dumps is None: # <<<<<<<<<<<<<< * return PyPickle_dumps * else: */ __pyx_t_1 = (__pyx_v_self->ob_dumps == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":67 * def __get__(self): * if self.ob_dumps is None: * return PyPickle_dumps # <<<<<<<<<<<<<< * else: * return self.ob_dumps */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_dumps); __pyx_r = __pyx_v_6mpi4py_3MPI_PyPickle_dumps; goto __pyx_L0; /* "MPI/msgpickle.pxi":66 * "dumps(obj) -> bytes" * def __get__(self): * if self.ob_dumps is None: # <<<<<<<<<<<<<< * return PyPickle_dumps * else: */ } /* "MPI/msgpickle.pxi":69 * return PyPickle_dumps * else: * return self.ob_dumps # <<<<<<<<<<<<<< * def __set__(self, dumps): * if dumps is PyPickle_dumps: */ /*else*/ { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_self->ob_dumps); __pyx_r = __pyx_v_self->ob_dumps; goto __pyx_L0; } /* "MPI/msgpickle.pxi":65 * property dumps: * "dumps(obj) -> bytes" * def __get__(self): # <<<<<<<<<<<<<< * if self.ob_dumps is None: * return PyPickle_dumps */ /* function exit code */ __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":70 * else: * return self.ob_dumps * def __set__(self, dumps): # <<<<<<<<<<<<<< * if dumps is PyPickle_dumps: * self.ob_dumps = None */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Pickle_5dumps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dumps); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Pickle_5dumps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dumps) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Pickle_5dumps_2__set__(((struct __pyx_obj_6mpi4py_3MPI_Pickle *)__pyx_v_self), ((PyObject *)__pyx_v_dumps)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6Pickle_5dumps_2__set__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_dumps) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("__set__", 0); /* "MPI/msgpickle.pxi":71 * return self.ob_dumps * def __set__(self, dumps): * if dumps is PyPickle_dumps: # <<<<<<<<<<<<<< * self.ob_dumps = None * else: */ __pyx_t_1 = (__pyx_v_dumps == __pyx_v_6mpi4py_3MPI_PyPickle_dumps); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":72 * def __set__(self, dumps): * if dumps is PyPickle_dumps: * self.ob_dumps = None # <<<<<<<<<<<<<< * else: * self.ob_dumps = dumps */ __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->ob_dumps); __Pyx_DECREF(__pyx_v_self->ob_dumps); __pyx_v_self->ob_dumps = Py_None; /* "MPI/msgpickle.pxi":71 * return self.ob_dumps * def __set__(self, dumps): * if dumps is PyPickle_dumps: # <<<<<<<<<<<<<< * self.ob_dumps = None * else: */ goto __pyx_L3; } /* "MPI/msgpickle.pxi":74 * self.ob_dumps = None * else: * self.ob_dumps = dumps # <<<<<<<<<<<<<< * def __del__(self): * self.ob_dumps = None */ /*else*/ { __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; } __pyx_L3:; /* "MPI/msgpickle.pxi":70 * else: * return self.ob_dumps * def __set__(self, dumps): # <<<<<<<<<<<<<< * if dumps is PyPickle_dumps: * self.ob_dumps = None */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":75 * else: * self.ob_dumps = dumps * def __del__(self): # <<<<<<<<<<<<<< * self.ob_dumps = None * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Pickle_5dumps_5__del__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Pickle_5dumps_5__del__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Pickle_5dumps_4__del__(((struct __pyx_obj_6mpi4py_3MPI_Pickle *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6Pickle_5dumps_4__del__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); /* "MPI/msgpickle.pxi":76 * self.ob_dumps = dumps * def __del__(self): * self.ob_dumps = None # <<<<<<<<<<<<<< * * property loads: */ __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->ob_dumps); __Pyx_DECREF(__pyx_v_self->ob_dumps); __pyx_v_self->ob_dumps = Py_None; /* "MPI/msgpickle.pxi":75 * else: * self.ob_dumps = dumps * def __del__(self): # <<<<<<<<<<<<<< * self.ob_dumps = None * */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":80 * property loads: * "loads(input) -> object" * def __get__(self): # <<<<<<<<<<<<<< * if self.ob_loads is None: * return PyPickle_loads */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_6Pickle_5loads_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_6Pickle_5loads_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Pickle_5loads___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_5loads___get__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/msgpickle.pxi":81 * "loads(input) -> object" * def __get__(self): * if self.ob_loads is None: # <<<<<<<<<<<<<< * return PyPickle_loads * else: */ __pyx_t_1 = (__pyx_v_self->ob_loads == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":82 * def __get__(self): * if self.ob_loads is None: * return PyPickle_loads # <<<<<<<<<<<<<< * else: * return self.ob_loads */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_loads); __pyx_r = __pyx_v_6mpi4py_3MPI_PyPickle_loads; goto __pyx_L0; /* "MPI/msgpickle.pxi":81 * "loads(input) -> object" * def __get__(self): * if self.ob_loads is None: # <<<<<<<<<<<<<< * return PyPickle_loads * else: */ } /* "MPI/msgpickle.pxi":84 * return PyPickle_loads * else: * return self.ob_loads # <<<<<<<<<<<<<< * def __set__(self, loads): * if loads is PyPickle_loads: */ /*else*/ { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_self->ob_loads); __pyx_r = __pyx_v_self->ob_loads; goto __pyx_L0; } /* "MPI/msgpickle.pxi":80 * property loads: * "loads(input) -> object" * def __get__(self): # <<<<<<<<<<<<<< * if self.ob_loads is None: * return PyPickle_loads */ /* function exit code */ __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":85 * else: * return self.ob_loads * def __set__(self, loads): # <<<<<<<<<<<<<< * if loads is PyPickle_loads: * self.ob_loads = None */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Pickle_5loads_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_loads); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Pickle_5loads_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_loads) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Pickle_5loads_2__set__(((struct __pyx_obj_6mpi4py_3MPI_Pickle *)__pyx_v_self), ((PyObject *)__pyx_v_loads)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6Pickle_5loads_2__set__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_loads) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("__set__", 0); /* "MPI/msgpickle.pxi":86 * return self.ob_loads * def __set__(self, loads): * if loads is PyPickle_loads: # <<<<<<<<<<<<<< * self.ob_loads = None * else: */ __pyx_t_1 = (__pyx_v_loads == __pyx_v_6mpi4py_3MPI_PyPickle_loads); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":87 * def __set__(self, loads): * if loads is PyPickle_loads: * self.ob_loads = None # <<<<<<<<<<<<<< * else: * self.ob_loads = loads */ __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->ob_loads); __Pyx_DECREF(__pyx_v_self->ob_loads); __pyx_v_self->ob_loads = Py_None; /* "MPI/msgpickle.pxi":86 * return self.ob_loads * def __set__(self, loads): * if loads is PyPickle_loads: # <<<<<<<<<<<<<< * self.ob_loads = None * else: */ goto __pyx_L3; } /* "MPI/msgpickle.pxi":89 * self.ob_loads = None * else: * self.ob_loads = loads # <<<<<<<<<<<<<< * def __del__(self): * self.ob_loads = None */ /*else*/ { __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; } __pyx_L3:; /* "MPI/msgpickle.pxi":85 * else: * return self.ob_loads * def __set__(self, loads): # <<<<<<<<<<<<<< * if loads is PyPickle_loads: * self.ob_loads = None */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":90 * else: * self.ob_loads = loads * def __del__(self): # <<<<<<<<<<<<<< * self.ob_loads = None * */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Pickle_5loads_5__del__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Pickle_5loads_5__del__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Pickle_5loads_4__del__(((struct __pyx_obj_6mpi4py_3MPI_Pickle *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6Pickle_5loads_4__del__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__", 0); /* "MPI/msgpickle.pxi":91 * self.ob_loads = loads * def __del__(self): * self.ob_loads = None # <<<<<<<<<<<<<< * * property PROTOCOL: */ __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->ob_loads); __Pyx_DECREF(__pyx_v_self->ob_loads); __pyx_v_self->ob_loads = Py_None; /* "MPI/msgpickle.pxi":90 * else: * self.ob_loads = loads * def __del__(self): # <<<<<<<<<<<<<< * self.ob_loads = None * */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":95 * property PROTOCOL: * "protocol" * def __get__(self): # <<<<<<<<<<<<<< * return self.ob_PROTOCOL * 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); /* "MPI/msgpickle.pxi":96 * "protocol" * def __get__(self): * return self.ob_PROTOCOL # <<<<<<<<<<<<<< * def __set__(self, PROTOCOL): * self.ob_PROTOCOL = PROTOCOL */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_self->ob_PROTOCOL); __pyx_r = __pyx_v_self->ob_PROTOCOL; goto __pyx_L0; /* "MPI/msgpickle.pxi":95 * property PROTOCOL: * "protocol" * def __get__(self): # <<<<<<<<<<<<<< * return self.ob_PROTOCOL * def __set__(self, PROTOCOL): */ /* function exit code */ __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":97 * def __get__(self): * return self.ob_PROTOCOL * def __set__(self, PROTOCOL): # <<<<<<<<<<<<<< * self.ob_PROTOCOL = PROTOCOL * def __del__(self): */ /* 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 __Pyx_RefNannySetupContext("__set__", 0); /* "MPI/msgpickle.pxi":98 * return self.ob_PROTOCOL * def __set__(self, PROTOCOL): * self.ob_PROTOCOL = PROTOCOL # <<<<<<<<<<<<<< * def __del__(self): * if self.ob_dumps is None: */ __Pyx_INCREF(__pyx_v_PROTOCOL); __Pyx_GIVEREF(__pyx_v_PROTOCOL); __Pyx_GOTREF(__pyx_v_self->ob_PROTOCOL); __Pyx_DECREF(__pyx_v_self->ob_PROTOCOL); __pyx_v_self->ob_PROTOCOL = __pyx_v_PROTOCOL; /* "MPI/msgpickle.pxi":97 * def __get__(self): * return self.ob_PROTOCOL * def __set__(self, PROTOCOL): # <<<<<<<<<<<<<< * self.ob_PROTOCOL = PROTOCOL * def __del__(self): */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":99 * def __set__(self, PROTOCOL): * self.ob_PROTOCOL = PROTOCOL * def __del__(self): # <<<<<<<<<<<<<< * if self.ob_dumps is None: * self.ob_PROTOCOL = PyPickle_PROTOCOL */ /* Python wrapper */ static int __pyx_pw_6mpi4py_3MPI_6Pickle_8PROTOCOL_5__del__(PyObject *__pyx_v_self); /*proto*/ static int __pyx_pw_6mpi4py_3MPI_6Pickle_8PROTOCOL_5__del__(PyObject *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_6Pickle_8PROTOCOL_4__del__(((struct __pyx_obj_6mpi4py_3MPI_Pickle *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_6mpi4py_3MPI_6Pickle_8PROTOCOL_4__del__(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; __Pyx_RefNannySetupContext("__del__", 0); /* "MPI/msgpickle.pxi":100 * self.ob_PROTOCOL = PROTOCOL * def __del__(self): * if self.ob_dumps is None: # <<<<<<<<<<<<<< * self.ob_PROTOCOL = PyPickle_PROTOCOL * else: */ __pyx_t_1 = (__pyx_v_self->ob_dumps == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":101 * def __del__(self): * if self.ob_dumps is None: * self.ob_PROTOCOL = PyPickle_PROTOCOL # <<<<<<<<<<<<<< * else: * self.ob_PROTOCOL = None */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); __Pyx_GIVEREF(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); __Pyx_GOTREF(__pyx_v_self->ob_PROTOCOL); __Pyx_DECREF(__pyx_v_self->ob_PROTOCOL); __pyx_v_self->ob_PROTOCOL = __pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL; /* "MPI/msgpickle.pxi":100 * self.ob_PROTOCOL = PROTOCOL * def __del__(self): * if self.ob_dumps is None: # <<<<<<<<<<<<<< * self.ob_PROTOCOL = PyPickle_PROTOCOL * else: */ goto __pyx_L3; } /* "MPI/msgpickle.pxi":103 * self.ob_PROTOCOL = PyPickle_PROTOCOL * else: * self.ob_PROTOCOL = None # <<<<<<<<<<<<<< * * cdef object dump(self, object obj, void **p, int *n): */ /*else*/ { __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); __Pyx_GOTREF(__pyx_v_self->ob_PROTOCOL); __Pyx_DECREF(__pyx_v_self->ob_PROTOCOL); __pyx_v_self->ob_PROTOCOL = Py_None; } __pyx_L3:; /* "MPI/msgpickle.pxi":99 * def __set__(self, PROTOCOL): * self.ob_PROTOCOL = PROTOCOL * def __del__(self): # <<<<<<<<<<<<<< * if self.ob_dumps is None: * self.ob_PROTOCOL = PyPickle_PROTOCOL */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":105 * self.ob_PROTOCOL = None * * cdef object dump(self, object obj, void **p, int *n): # <<<<<<<<<<<<<< * if obj is None: * p[0] = NULL */ 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 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; char *__pyx_t_8; Py_ssize_t __pyx_t_9; __Pyx_RefNannySetupContext("dump", 0); /* "MPI/msgpickle.pxi":106 * * cdef object dump(self, object obj, void **p, int *n): * if obj is None: # <<<<<<<<<<<<<< * p[0] = NULL * n[0] = 0 */ __pyx_t_1 = (__pyx_v_obj == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":107 * cdef object dump(self, object obj, void **p, int *n): * if obj is None: * p[0] = NULL # <<<<<<<<<<<<<< * n[0] = 0 * return None */ (__pyx_v_p[0]) = NULL; /* "MPI/msgpickle.pxi":108 * if obj is None: * p[0] = NULL * n[0] = 0 # <<<<<<<<<<<<<< * return None * cdef object buf */ (__pyx_v_n[0]) = 0; /* "MPI/msgpickle.pxi":109 * p[0] = NULL * n[0] = 0 * return None # <<<<<<<<<<<<<< * cdef object buf * if self.ob_dumps is None: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/msgpickle.pxi":106 * * cdef object dump(self, object obj, void **p, int *n): * if obj is None: # <<<<<<<<<<<<<< * p[0] = NULL * n[0] = 0 */ } /* "MPI/msgpickle.pxi":111 * return None * cdef object buf * if self.ob_dumps is None: # <<<<<<<<<<<<<< * buf = PyPickle_dumps(obj, self.ob_PROTOCOL) * else: */ __pyx_t_2 = (__pyx_v_self->ob_dumps == Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "MPI/msgpickle.pxi":112 * cdef object buf * if self.ob_dumps is None: * buf = PyPickle_dumps(obj, self.ob_PROTOCOL) # <<<<<<<<<<<<<< * else: * if self.ob_PROTOCOL is None: */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_dumps); __pyx_t_4 = __pyx_v_6mpi4py_3MPI_PyPickle_dumps; __pyx_t_5 = NULL; __pyx_t_6 = 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_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_PROTOCOL}; __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(19, 112, __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_PROTOCOL}; __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(19, 112, __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(19, 112, __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_PROTOCOL); __Pyx_GIVEREF(__pyx_v_self->ob_PROTOCOL); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_self->ob_PROTOCOL); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 112, __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_v_buf = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":111 * return None * cdef object buf * if self.ob_dumps is None: # <<<<<<<<<<<<<< * buf = PyPickle_dumps(obj, self.ob_PROTOCOL) * else: */ goto __pyx_L4; } /* "MPI/msgpickle.pxi":114 * buf = PyPickle_dumps(obj, self.ob_PROTOCOL) * else: * if self.ob_PROTOCOL is None: # <<<<<<<<<<<<<< * buf = self.ob_dumps(obj) * else: */ /*else*/ { __pyx_t_1 = (__pyx_v_self->ob_PROTOCOL == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":115 * else: * if self.ob_PROTOCOL is None: * buf = self.ob_dumps(obj) # <<<<<<<<<<<<<< * else: * buf = self.ob_dumps(obj, self.ob_PROTOCOL) */ __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); } } if (!__pyx_t_7) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_obj); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_obj}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 115, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_obj}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 115, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL; __Pyx_INCREF(__pyx_v_obj); __Pyx_GIVEREF(__pyx_v_obj); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_obj); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_buf = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":114 * buf = PyPickle_dumps(obj, self.ob_PROTOCOL) * else: * if self.ob_PROTOCOL is None: # <<<<<<<<<<<<<< * buf = self.ob_dumps(obj) * else: */ goto __pyx_L5; } /* "MPI/msgpickle.pxi":117 * buf = self.ob_dumps(obj) * else: * buf = self.ob_dumps(obj, self.ob_PROTOCOL) # <<<<<<<<<<<<<< * p[0] = PyBytes_AsString(buf) * n[0] = downcast(PyBytes_Size(buf)) */ /*else*/ { __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_PROTOCOL}; __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(19, 117, __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_PROTOCOL}; __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(19, 117, __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(19, 117, __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_PROTOCOL); __Pyx_GIVEREF(__pyx_v_self->ob_PROTOCOL); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_self->ob_PROTOCOL); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 117, __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_v_buf = __pyx_t_3; __pyx_t_3 = 0; } __pyx_L5:; } __pyx_L4:; /* "MPI/msgpickle.pxi":118 * else: * buf = self.ob_dumps(obj, self.ob_PROTOCOL) * p[0] = PyBytes_AsString(buf) # <<<<<<<<<<<<<< * n[0] = downcast(PyBytes_Size(buf)) * return buf */ __pyx_t_8 = PyBytes_AsString(__pyx_v_buf); if (unlikely(__pyx_t_8 == NULL)) __PYX_ERR(19, 118, __pyx_L1_error) (__pyx_v_p[0]) = ((void *)__pyx_t_8); /* "MPI/msgpickle.pxi":119 * buf = self.ob_dumps(obj, self.ob_PROTOCOL) * p[0] = PyBytes_AsString(buf) * n[0] = downcast(PyBytes_Size(buf)) # <<<<<<<<<<<<<< * return buf * */ __pyx_t_9 = PyBytes_Size(__pyx_v_buf); if (unlikely(__pyx_t_9 == -1L)) __PYX_ERR(19, 119, __pyx_L1_error) __pyx_t_6 = __pyx_f_6mpi4py_3MPI_downcast(__pyx_t_9); if (unlikely(__pyx_t_6 == -1 && PyErr_Occurred())) __PYX_ERR(19, 119, __pyx_L1_error) (__pyx_v_n[0]) = __pyx_t_6; /* "MPI/msgpickle.pxi":120 * p[0] = PyBytes_AsString(buf) * n[0] = downcast(PyBytes_Size(buf)) * return buf # <<<<<<<<<<<<<< * * cdef object alloc(self, void **p, int n): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_buf); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "MPI/msgpickle.pxi":105 * self.ob_PROTOCOL = None * * cdef object dump(self, object obj, void **p, int *n): # <<<<<<<<<<<<<< * if obj is None: * p[0] = NULL */ /* 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.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; } /* "MPI/msgpickle.pxi":122 * return buf * * cdef object alloc(self, void **p, int n): # <<<<<<<<<<<<<< * if n == 0: * p[0] = NULL */ 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 int __pyx_t_1; PyObject *__pyx_t_2 = NULL; char *__pyx_t_3; __Pyx_RefNannySetupContext("alloc", 0); /* "MPI/msgpickle.pxi":123 * * cdef object alloc(self, void **p, int n): * if n == 0: # <<<<<<<<<<<<<< * p[0] = NULL * return None */ __pyx_t_1 = ((__pyx_v_n == 0) != 0); if (__pyx_t_1) { /* "MPI/msgpickle.pxi":124 * cdef object alloc(self, void **p, int n): * if n == 0: * p[0] = NULL # <<<<<<<<<<<<<< * return None * cdef object buf */ (__pyx_v_p[0]) = NULL; /* "MPI/msgpickle.pxi":125 * if n == 0: * p[0] = NULL * return None # <<<<<<<<<<<<<< * cdef object buf * buf = PyBytes_FromStringAndSize(NULL, n) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/msgpickle.pxi":123 * * cdef object alloc(self, void **p, int n): * if n == 0: # <<<<<<<<<<<<<< * p[0] = NULL * return None */ } /* "MPI/msgpickle.pxi":127 * return None * cdef object buf * buf = PyBytes_FromStringAndSize(NULL, n) # <<<<<<<<<<<<<< * p[0] = PyBytes_AsString(buf) * return buf */ __pyx_t_2 = PyBytes_FromStringAndSize(NULL, __pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_buf = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":128 * cdef object buf * buf = PyBytes_FromStringAndSize(NULL, n) * p[0] = PyBytes_AsString(buf) # <<<<<<<<<<<<<< * return buf * */ __pyx_t_3 = PyBytes_AsString(__pyx_v_buf); if (unlikely(__pyx_t_3 == NULL)) __PYX_ERR(19, 128, __pyx_L1_error) (__pyx_v_p[0]) = __pyx_t_3; /* "MPI/msgpickle.pxi":129 * buf = PyBytes_FromStringAndSize(NULL, n) * p[0] = PyBytes_AsString(buf) * return buf # <<<<<<<<<<<<<< * * cdef object load(self, object buf): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_buf); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "MPI/msgpickle.pxi":122 * return buf * * cdef object alloc(self, void **p, int n): # <<<<<<<<<<<<<< * if n == 0: * p[0] = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __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; } /* "MPI/msgpickle.pxi":131 * return buf * * cdef object load(self, object buf): # <<<<<<<<<<<<<< * if buf is None: return None * cdef bint use_StringIO = \ */ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_load(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_buf) { int __pyx_v_use_StringIO; 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; __Pyx_RefNannySetupContext("load", 0); __Pyx_INCREF(__pyx_v_buf); /* "MPI/msgpickle.pxi":132 * * cdef object load(self, object buf): * if buf is None: return None # <<<<<<<<<<<<<< * cdef bint use_StringIO = \ * (PY_MAJOR_VERSION == 2 and */ __pyx_t_1 = (__pyx_v_buf == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":134 * if buf is None: return None * cdef bint use_StringIO = \ * (PY_MAJOR_VERSION == 2 and # <<<<<<<<<<<<<< * not PyBytes_CheckExact(buf) and * PyStringIO_New is not None) */ __pyx_t_1 = ((PY_MAJOR_VERSION == 2) != 0); if (__pyx_t_1) { } else { __pyx_t_2 = __pyx_t_1; goto __pyx_L4_bool_binop_done; } /* "MPI/msgpickle.pxi":135 * cdef bint use_StringIO = \ * (PY_MAJOR_VERSION == 2 and * not PyBytes_CheckExact(buf) and # <<<<<<<<<<<<<< * PyStringIO_New is not None) * if self.ob_loads is None: */ __pyx_t_1 = ((!(PyBytes_CheckExact(__pyx_v_buf) != 0)) != 0); if (__pyx_t_1) { } else { __pyx_t_2 = __pyx_t_1; goto __pyx_L4_bool_binop_done; } /* "MPI/msgpickle.pxi":136 * (PY_MAJOR_VERSION == 2 and * not PyBytes_CheckExact(buf) and * PyStringIO_New is not None) # <<<<<<<<<<<<<< * if self.ob_loads is None: * if use_StringIO: */ __pyx_t_1 = (__pyx_v_6mpi4py_3MPI_PyStringIO_New != Py_None); __pyx_t_3 = (__pyx_t_1 != 0); __pyx_t_2 = __pyx_t_3; __pyx_L4_bool_binop_done:; __pyx_v_use_StringIO = __pyx_t_2; /* "MPI/msgpickle.pxi":137 * not PyBytes_CheckExact(buf) and * PyStringIO_New is not None) * if self.ob_loads is None: # <<<<<<<<<<<<<< * if use_StringIO: * buf = PyStringIO_New(buf) */ __pyx_t_2 = (__pyx_v_self->ob_loads == Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* "MPI/msgpickle.pxi":138 * PyStringIO_New is not None) * if self.ob_loads is None: * if use_StringIO: # <<<<<<<<<<<<<< * buf = PyStringIO_New(buf) * if PyPickle_loadf is not None: */ __pyx_t_3 = (__pyx_v_use_StringIO != 0); if (__pyx_t_3) { /* "MPI/msgpickle.pxi":139 * if self.ob_loads is None: * if use_StringIO: * buf = PyStringIO_New(buf) # <<<<<<<<<<<<<< * if PyPickle_loadf is not None: * return PyPickle_loadf(buf) */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyStringIO_New); __pyx_t_5 = __pyx_v_6mpi4py_3MPI_PyStringIO_New; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(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); } } if (!__pyx_t_6) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_buf}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 139, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_buf}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 139, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(19, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; __Pyx_INCREF(__pyx_v_buf); __Pyx_GIVEREF(__pyx_v_buf); PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_buf); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":140 * if use_StringIO: * buf = PyStringIO_New(buf) * if PyPickle_loadf is not None: # <<<<<<<<<<<<<< * return PyPickle_loadf(buf) * buf = buf.read() */ __pyx_t_3 = (__pyx_v_6mpi4py_3MPI_PyPickle_loadf != Py_None); __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":141 * buf = PyStringIO_New(buf) * if PyPickle_loadf is not None: * return PyPickle_loadf(buf) # <<<<<<<<<<<<<< * buf = buf.read() * return PyPickle_loads(buf) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_loadf); __pyx_t_5 = __pyx_v_6mpi4py_3MPI_PyPickle_loadf; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } if (!__pyx_t_7) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_buf}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 141, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_buf}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 141, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(19, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = NULL; __Pyx_INCREF(__pyx_v_buf); __Pyx_GIVEREF(__pyx_v_buf); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_buf); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":140 * if use_StringIO: * buf = PyStringIO_New(buf) * if PyPickle_loadf is not None: # <<<<<<<<<<<<<< * return PyPickle_loadf(buf) * buf = buf.read() */ } /* "MPI/msgpickle.pxi":142 * if PyPickle_loadf is not None: * return PyPickle_loadf(buf) * buf = buf.read() # <<<<<<<<<<<<<< * return PyPickle_loads(buf) * else: */ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } if (__pyx_t_6) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 142, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else { __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 142, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":138 * PyStringIO_New is not None) * if self.ob_loads is None: * if use_StringIO: # <<<<<<<<<<<<<< * buf = PyStringIO_New(buf) * if PyPickle_loadf is not None: */ } /* "MPI/msgpickle.pxi":143 * return PyPickle_loadf(buf) * buf = buf.read() * return PyPickle_loads(buf) # <<<<<<<<<<<<<< * else: * if use_StringIO: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyPickle_loads); __pyx_t_5 = __pyx_v_6mpi4py_3MPI_PyPickle_loads; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(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); } } if (!__pyx_t_6) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_buf}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 143, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_buf}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 143, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(19, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; __Pyx_INCREF(__pyx_v_buf); __Pyx_GIVEREF(__pyx_v_buf); PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_buf); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":137 * not PyBytes_CheckExact(buf) and * PyStringIO_New is not None) * if self.ob_loads is None: # <<<<<<<<<<<<<< * if use_StringIO: * buf = PyStringIO_New(buf) */ } /* "MPI/msgpickle.pxi":145 * return PyPickle_loads(buf) * else: * if use_StringIO: # <<<<<<<<<<<<<< * buf = PyStringIO_New(buf) * buf = buf.read() */ /*else*/ { __pyx_t_2 = (__pyx_v_use_StringIO != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":146 * else: * if use_StringIO: * buf = PyStringIO_New(buf) # <<<<<<<<<<<<<< * buf = buf.read() * return self.ob_loads(buf) */ __Pyx_INCREF(__pyx_v_6mpi4py_3MPI_PyStringIO_New); __pyx_t_5 = __pyx_v_6mpi4py_3MPI_PyStringIO_New; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } if (!__pyx_t_7) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_buf}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 146, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_buf}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 146, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(19, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = NULL; __Pyx_INCREF(__pyx_v_buf); __Pyx_GIVEREF(__pyx_v_buf); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_buf); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":147 * if use_StringIO: * buf = PyStringIO_New(buf) * buf = buf.read() # <<<<<<<<<<<<<< * return self.ob_loads(buf) * */ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } if (__pyx_t_6) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 147, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else { __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 147, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":145 * return PyPickle_loads(buf) * else: * if use_StringIO: # <<<<<<<<<<<<<< * buf = PyStringIO_New(buf) * buf = buf.read() */ } /* "MPI/msgpickle.pxi":148 * buf = PyStringIO_New(buf) * buf = buf.read() * return self.ob_loads(buf) # <<<<<<<<<<<<<< * * cdef object dumpv(self, object obj, void **p, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_self->ob_loads); __pyx_t_5 = __pyx_v_self->ob_loads; __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); } } if (!__pyx_t_6) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_buf}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 148, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_buf}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 148, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(19, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; __Pyx_INCREF(__pyx_v_buf); __Pyx_GIVEREF(__pyx_v_buf); PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_buf); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; } /* "MPI/msgpickle.pxi":131 * return buf * * cdef object load(self, object buf): # <<<<<<<<<<<<<< * if buf is None: return None * cdef bint use_StringIO = \ */ /* 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.Pickle.load", __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; } /* "MPI/msgpickle.pxi":150 * return self.ob_loads(buf) * * cdef object dumpv(self, object obj, void **p, # <<<<<<<<<<<<<< * int n, int cnt[], int dsp[]): * cdef Py_ssize_t i=0, m=n */ 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_d; int __pyx_v_c; PyObject *__pyx_v_buf = 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; int __pyx_t_7; char *__pyx_t_8; __Pyx_RefNannySetupContext("dumpv", 0); /* "MPI/msgpickle.pxi":152 * cdef object dumpv(self, object obj, void **p, * int n, int cnt[], int dsp[]): * cdef Py_ssize_t i=0, m=n # <<<<<<<<<<<<<< * if obj is None: * p[0] = NULL */ __pyx_v_i = 0; __pyx_v_m = __pyx_v_n; /* "MPI/msgpickle.pxi":153 * int n, int cnt[], int dsp[]): * cdef Py_ssize_t i=0, m=n * if obj is None: # <<<<<<<<<<<<<< * p[0] = NULL * for i from 0 <= i < m: */ __pyx_t_1 = (__pyx_v_obj == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":154 * cdef Py_ssize_t i=0, m=n * if obj is None: * p[0] = NULL # <<<<<<<<<<<<<< * for i from 0 <= i < m: * cnt[i] = 0 */ (__pyx_v_p[0]) = NULL; /* "MPI/msgpickle.pxi":155 * if obj is None: * p[0] = NULL * for i from 0 <= i < m: # <<<<<<<<<<<<<< * cnt[i] = 0 * dsp[i] = 0 */ __pyx_t_3 = __pyx_v_m; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { /* "MPI/msgpickle.pxi":156 * p[0] = NULL * for i from 0 <= i < m: * cnt[i] = 0 # <<<<<<<<<<<<<< * dsp[i] = 0 * return None */ (__pyx_v_cnt[__pyx_v_i]) = 0; /* "MPI/msgpickle.pxi":157 * for i from 0 <= i < m: * cnt[i] = 0 * dsp[i] = 0 # <<<<<<<<<<<<<< * return None * cdef object items = list(obj) */ (__pyx_v_dsp[__pyx_v_i]) = 0; } /* "MPI/msgpickle.pxi":158 * cnt[i] = 0 * dsp[i] = 0 * return None # <<<<<<<<<<<<<< * cdef object items = list(obj) * m = len(items) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/msgpickle.pxi":153 * int n, int cnt[], int dsp[]): * cdef Py_ssize_t i=0, m=n * if obj is None: # <<<<<<<<<<<<<< * p[0] = NULL * for i from 0 <= i < m: */ } /* "MPI/msgpickle.pxi":159 * dsp[i] = 0 * return None * cdef object items = list(obj) # <<<<<<<<<<<<<< * m = len(items) * if m != n: raise ValueError( */ __pyx_t_4 = PySequence_List(__pyx_v_obj); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_items = __pyx_t_4; __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":160 * return None * cdef object items = list(obj) * m = len(items) # <<<<<<<<<<<<<< * if m != n: raise ValueError( * "expecting %d items, got %d" % (n, m)) */ __pyx_t_3 = PyObject_Length(__pyx_v_items); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(19, 160, __pyx_L1_error) __pyx_v_m = __pyx_t_3; /* "MPI/msgpickle.pxi":161 * cdef object items = list(obj) * m = len(items) * if m != n: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (n, m)) * cdef int d=0, c=0 */ __pyx_t_2 = ((__pyx_v_m != __pyx_v_n) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":162 * m = len(items) * if m != n: raise ValueError( * "expecting %d items, got %d" % (n, m)) # <<<<<<<<<<<<<< * cdef int d=0, c=0 * for i from 0 <= i < m: */ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_m); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(19, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); __pyx_t_4 = 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(19, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "MPI/msgpickle.pxi":161 * cdef object items = list(obj) * m = len(items) * if m != n: raise ValueError( # <<<<<<<<<<<<<< * "expecting %d items, got %d" % (n, m)) * cdef int d=0, c=0 */ __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(19, 161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 161, __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(19, 161, __pyx_L1_error) } /* "MPI/msgpickle.pxi":163 * if m != n: raise ValueError( * "expecting %d items, got %d" % (n, m)) * cdef int d=0, c=0 # <<<<<<<<<<<<<< * for i from 0 <= i < m: * items[i] = self.dump(items[i], p, &c) */ __pyx_v_d = 0; __pyx_v_c = 0; /* "MPI/msgpickle.pxi":164 * "expecting %d items, got %d" % (n, m)) * cdef int d=0, c=0 * for i from 0 <= i < m: # <<<<<<<<<<<<<< * items[i] = self.dump(items[i], p, &c) * if c == 0: items[i] = b'' */ __pyx_t_3 = __pyx_v_m; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { /* "MPI/msgpickle.pxi":165 * cdef int d=0, c=0 * for i from 0 <= i < m: * items[i] = self.dump(items[i], p, &c) # <<<<<<<<<<<<<< * if c == 0: items[i] = b'' * cnt[i] = c; dsp[i] = d */ __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_items, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __pyx_f_6mpi4py_3MPI_6Pickle_dump(__pyx_v_self, __pyx_t_5, __pyx_v_p, (&__pyx_v_c)); if (unlikely(!__pyx_t_6)) __PYX_ERR(19, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_v_items, __pyx_v_i, __pyx_t_6, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(19, 165, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* "MPI/msgpickle.pxi":166 * for i from 0 <= i < m: * items[i] = self.dump(items[i], p, &c) * if c == 0: items[i] = b'' # <<<<<<<<<<<<<< * cnt[i] = c; dsp[i] = d * d = downcast(d + c) */ __pyx_t_2 = ((__pyx_v_c == 0) != 0); if (__pyx_t_2) { if (unlikely(__Pyx_SetItemInt(__pyx_v_items, __pyx_v_i, __pyx_kp_b__29, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(19, 166, __pyx_L1_error) } /* "MPI/msgpickle.pxi":167 * items[i] = self.dump(items[i], p, &c) * if c == 0: items[i] = b'' * 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; /* "MPI/msgpickle.pxi":168 * if c == 0: items[i] = b'' * 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 == -1 && PyErr_Occurred())) __PYX_ERR(19, 168, __pyx_L1_error) __pyx_v_d = __pyx_t_7; } /* "MPI/msgpickle.pxi":169 * 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_6 = _PyBytes_Join(__pyx_kp_b__29, __pyx_v_items); if (unlikely(!__pyx_t_6)) __PYX_ERR(19, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_v_buf = __pyx_t_6; __pyx_t_6 = 0; /* "MPI/msgpickle.pxi":170 * 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 == NULL)) __PYX_ERR(19, 170, __pyx_L1_error) (__pyx_v_p[0]) = __pyx_t_8; /* "MPI/msgpickle.pxi":171 * cdef object buf = PyBytes_Join(b'', items) * p[0] = PyBytes_AsString(buf) * return buf # <<<<<<<<<<<<<< * * cdef object allocv(self, void **p, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_buf); __pyx_r = __pyx_v_buf; goto __pyx_L0; /* "MPI/msgpickle.pxi":150 * return self.ob_loads(buf) * * cdef object dumpv(self, object obj, void **p, # <<<<<<<<<<<<<< * int n, int cnt[], int dsp[]): * cdef Py_ssize_t i=0, m=n */ /* 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.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; } /* "MPI/msgpickle.pxi":173 * return buf * * cdef object allocv(self, void **p, # <<<<<<<<<<<<<< * int n, int cnt[], int dsp[]): * cdef int i=0, d=0 */ 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; __Pyx_RefNannySetupContext("allocv", 0); /* "MPI/msgpickle.pxi":175 * 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; /* "MPI/msgpickle.pxi":176 * 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++) { /* "MPI/msgpickle.pxi":177 * 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; /* "MPI/msgpickle.pxi":178 * 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])); } /* "MPI/msgpickle.pxi":179 * dsp[i] = d * d += cnt[i] * return self.alloc(p, d) # <<<<<<<<<<<<<< * * cdef object loadv(self, object obj, */ __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(19, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":173 * return buf * * cdef object allocv(self, void **p, # <<<<<<<<<<<<<< * int n, int cnt[], int dsp[]): * cdef int i=0, d=0 */ /* 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; } /* "MPI/msgpickle.pxi":181 * return self.alloc(p, d) * * cdef object loadv(self, object obj, # <<<<<<<<<<<<<< * int n, int cnt[], int dsp[]): * cdef Py_ssize_t i=0, m=n */ static PyObject *__pyx_f_6mpi4py_3MPI_6Pickle_loadv(struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_self, PyObject *__pyx_v_obj, 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; char *__pyx_v_p; PyObject *__pyx_v_buf = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; int __pyx_t_3; char *__pyx_t_4; Py_ssize_t __pyx_t_5; __Pyx_RefNannySetupContext("loadv", 0); /* "MPI/msgpickle.pxi":183 * cdef object loadv(self, object obj, * int n, int cnt[], int dsp[]): * cdef Py_ssize_t i=0, m=n # <<<<<<<<<<<<<< * cdef object items = [None] * m * if obj is None: return items */ __pyx_v_i = 0; __pyx_v_m = __pyx_v_n; /* "MPI/msgpickle.pxi":184 * int n, int cnt[], int dsp[]): * cdef Py_ssize_t i=0, m=n * cdef object items = [None] * m # <<<<<<<<<<<<<< * if obj is None: return items * cdef char *p = PyBytes_AsString(obj) */ __pyx_t_1 = PyList_New(1 * ((__pyx_v_m<0) ? 0:__pyx_v_m)); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 184, __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; /* "MPI/msgpickle.pxi":185 * cdef Py_ssize_t i=0, m=n * cdef object items = [None] * m * if obj is None: return items # <<<<<<<<<<<<<< * cdef char *p = PyBytes_AsString(obj) * cdef object buf = None */ __pyx_t_2 = (__pyx_v_obj == Py_None); __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_items); __pyx_r = __pyx_v_items; goto __pyx_L0; } /* "MPI/msgpickle.pxi":186 * cdef object items = [None] * m * if obj is None: return items * cdef char *p = PyBytes_AsString(obj) # <<<<<<<<<<<<<< * cdef object buf = None * for i from 0 <= i < m: */ __pyx_t_4 = PyBytes_AsString(__pyx_v_obj); if (unlikely(__pyx_t_4 == NULL)) __PYX_ERR(19, 186, __pyx_L1_error) __pyx_v_p = __pyx_t_4; /* "MPI/msgpickle.pxi":187 * if obj is None: return items * cdef char *p = PyBytes_AsString(obj) * cdef object buf = None # <<<<<<<<<<<<<< * for i from 0 <= i < m: * if cnt[i] == 0: continue */ __Pyx_INCREF(Py_None); __pyx_v_buf = Py_None; /* "MPI/msgpickle.pxi":188 * cdef char *p = PyBytes_AsString(obj) * cdef object buf = None * for i from 0 <= i < m: # <<<<<<<<<<<<<< * if cnt[i] == 0: continue * buf = PyBytes_FromStringAndSize(p+dsp[i], cnt[i]) */ __pyx_t_5 = __pyx_v_m; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_5; __pyx_v_i++) { /* "MPI/msgpickle.pxi":189 * cdef object buf = None * for i from 0 <= i < m: * if cnt[i] == 0: continue # <<<<<<<<<<<<<< * buf = PyBytes_FromStringAndSize(p+dsp[i], cnt[i]) * items[i] = self.load(buf) */ __pyx_t_3 = (((__pyx_v_cnt[__pyx_v_i]) == 0) != 0); if (__pyx_t_3) { goto __pyx_L4_continue; } /* "MPI/msgpickle.pxi":190 * for i from 0 <= i < m: * if cnt[i] == 0: continue * buf = PyBytes_FromStringAndSize(p+dsp[i], cnt[i]) # <<<<<<<<<<<<<< * items[i] = self.load(buf) * return items */ __pyx_t_1 = PyBytes_FromStringAndSize((__pyx_v_p + (__pyx_v_dsp[__pyx_v_i])), (__pyx_v_cnt[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":191 * if cnt[i] == 0: continue * buf = PyBytes_FromStringAndSize(p+dsp[i], cnt[i]) * items[i] = self.load(buf) # <<<<<<<<<<<<<< * return items * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_self, __pyx_v_buf); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 191, __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(19, 191, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_L4_continue:; } /* "MPI/msgpickle.pxi":192 * buf = PyBytes_FromStringAndSize(p+dsp[i], cnt[i]) * items[i] = self.load(buf) * return items # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_items); __pyx_r = __pyx_v_items; goto __pyx_L0; /* "MPI/msgpickle.pxi":181 * return self.alloc(p, d) * * cdef object loadv(self, object obj, # <<<<<<<<<<<<<< * int n, int cnt[], int dsp[]): * cdef Py_ssize_t i=0, m=n */ /* 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_XDECREF(__pyx_v_buf); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":200 * # ----------------------------------------------------------------------------- * * 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; __Pyx_RefNannySetupContext("PyMPI_send", 0); /* "MPI/msgpickle.pxi":202 * 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; /* "MPI/msgpickle.pxi":204 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "MPI/msgpickle.pxi":205 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * # */ __pyx_v_scount = 0; /* "MPI/msgpickle.pxi":206 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object tmps = None */ __pyx_v_stype = MPI_BYTE; /* "MPI/msgpickle.pxi":208 * 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; /* "MPI/msgpickle.pxi":209 * # * 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) { /* "MPI/msgpickle.pxi":210 * 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(19, 210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":209 * # * cdef object tmps = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, */ } /* "MPI/msgpickle.pxi":211 * 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 #endif /*try:*/ { /* "MPI/msgpickle.pxi":212 * 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 == -1)) __PYX_ERR(19, 211, __pyx_L5_error) } /* "MPI/msgpickle.pxi":211 * 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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":213 * with nogil: CHKERR( MPI_Send(sbuf, scount, stype, * dest, tag, comm) ) * return None # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/msgpickle.pxi":200 * # ----------------------------------------------------------------------------- * * 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; } /* "MPI/msgpickle.pxi":216 * * * 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; __Pyx_RefNannySetupContext("PyMPI_bsend", 0); /* "MPI/msgpickle.pxi":218 * 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; /* "MPI/msgpickle.pxi":220 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "MPI/msgpickle.pxi":221 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * # */ __pyx_v_scount = 0; /* "MPI/msgpickle.pxi":222 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object tmps = None */ __pyx_v_stype = MPI_BYTE; /* "MPI/msgpickle.pxi":224 * 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; /* "MPI/msgpickle.pxi":225 * # * 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) { /* "MPI/msgpickle.pxi":226 * 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(19, 226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":225 * # * cdef object tmps = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Bsend(sbuf, scount, stype, */ } /* "MPI/msgpickle.pxi":227 * 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 #endif /*try:*/ { /* "MPI/msgpickle.pxi":228 * 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 == -1)) __PYX_ERR(19, 227, __pyx_L5_error) } /* "MPI/msgpickle.pxi":227 * 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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":229 * with nogil: CHKERR( MPI_Bsend(sbuf, scount, stype, * dest, tag, comm) ) * return None # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/msgpickle.pxi":216 * * * 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; } /* "MPI/msgpickle.pxi":232 * * * 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; __Pyx_RefNannySetupContext("PyMPI_ssend", 0); /* "MPI/msgpickle.pxi":234 * 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; /* "MPI/msgpickle.pxi":236 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "MPI/msgpickle.pxi":237 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * # */ __pyx_v_scount = 0; /* "MPI/msgpickle.pxi":238 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object tmps = None */ __pyx_v_stype = MPI_BYTE; /* "MPI/msgpickle.pxi":240 * 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; /* "MPI/msgpickle.pxi":241 * # * 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) { /* "MPI/msgpickle.pxi":242 * 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(19, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":241 * # * cdef object tmps = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * tmps = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Ssend(sbuf, scount, stype, */ } /* "MPI/msgpickle.pxi":243 * 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 #endif /*try:*/ { /* "MPI/msgpickle.pxi":244 * 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 == -1)) __PYX_ERR(19, 243, __pyx_L5_error) } /* "MPI/msgpickle.pxi":243 * 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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":245 * with nogil: CHKERR( MPI_Ssend(sbuf, scount, stype, * dest, tag, comm) ) * return None # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/msgpickle.pxi":232 * * * 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; } /* "MPI/msgpickle.pxi":248 * * * cdef object PyMPI_recv(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(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; PyObject *__pyx_v_rmsg = 0; MPI_Message __pyx_v_match; MPI_Status __pyx_v_rsts; MPI_Aint __pyx_v_rlen; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("PyMPI_recv", 0); /* "MPI/msgpickle.pxi":250 * cdef object PyMPI_recv(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; /* "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; /* "MPI/msgpickle.pxi":253 * # * cdef void *rbuf = NULL * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rcount = 0; /* "MPI/msgpickle.pxi":254 * cdef void *rbuf = NULL * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object rmsg = None */ __pyx_v_rtype = MPI_BYTE; /* "MPI/msgpickle.pxi":256 * cdef MPI_Datatype rtype = MPI_BYTE * # * cdef object rmsg = None # <<<<<<<<<<<<<< * cdef MPI_Message match = MPI_MESSAGE_NULL * cdef MPI_Status rsts */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "MPI/msgpickle.pxi":257 * # * cdef object rmsg = None * cdef MPI_Message match = MPI_MESSAGE_NULL # <<<<<<<<<<<<<< * cdef MPI_Status rsts * cdef MPI_Aint rlen = 0 */ __pyx_v_match = MPI_MESSAGE_NULL; /* "MPI/msgpickle.pxi":259 * cdef MPI_Message match = MPI_MESSAGE_NULL * cdef MPI_Status rsts * cdef MPI_Aint rlen = 0 # <<<<<<<<<<<<<< * if source != MPI_PROC_NULL: * if obj is None: */ __pyx_v_rlen = 0; /* "MPI/msgpickle.pxi":260 * cdef MPI_Status rsts * cdef MPI_Aint rlen = 0 * if source != MPI_PROC_NULL: # <<<<<<<<<<<<<< * if obj is None: * with nogil: */ __pyx_t_1 = ((__pyx_v_source != MPI_PROC_NULL) != 0); if (__pyx_t_1) { /* "MPI/msgpickle.pxi":261 * cdef MPI_Aint rlen = 0 * if source != MPI_PROC_NULL: * if obj is None: # <<<<<<<<<<<<<< * with nogil: * if options.recv_mprobe: */ __pyx_t_1 = (__pyx_v_obj == Py_None); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":262 * if source != MPI_PROC_NULL: * if obj is None: * with nogil: # <<<<<<<<<<<<<< * if options.recv_mprobe: * CHKERR( MPI_Mprobe(source, tag, comm, &match, &rsts) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":263 * if obj is None: * with nogil: * if options.recv_mprobe: # <<<<<<<<<<<<<< * CHKERR( MPI_Mprobe(source, tag, comm, &match, &rsts) ) * else: */ __pyx_t_2 = (__pyx_v_6mpi4py_3MPI_options.recv_mprobe != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":264 * with nogil: * if options.recv_mprobe: * CHKERR( MPI_Mprobe(source, tag, comm, &match, &rsts) ) # <<<<<<<<<<<<<< * else: * CHKERR( MPI_Probe(source, tag, comm, &rsts) ) */ __pyx_t_3 = __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_3 == -1)) __PYX_ERR(19, 264, __pyx_L6_error) /* "MPI/msgpickle.pxi":263 * if obj is None: * with nogil: * if options.recv_mprobe: # <<<<<<<<<<<<<< * CHKERR( MPI_Mprobe(source, tag, comm, &match, &rsts) ) * else: */ goto __pyx_L8; } /* "MPI/msgpickle.pxi":266 * CHKERR( MPI_Mprobe(source, tag, comm, &match, &rsts) ) * else: * CHKERR( MPI_Probe(source, tag, comm, &rsts) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) * rmsg = pickle.alloc(&rbuf, rcount) */ /*else*/ { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Probe(__pyx_v_source, __pyx_v_tag, __pyx_v_comm, (&__pyx_v_rsts))); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(19, 266, __pyx_L6_error) } __pyx_L8:; /* "MPI/msgpickle.pxi":267 * else: * CHKERR( MPI_Probe(source, tag, comm, &rsts) ) * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) # <<<<<<<<<<<<<< * rmsg = pickle.alloc(&rbuf, rcount) * source = rsts.MPI_SOURCE */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_count((&__pyx_v_rsts), __pyx_v_rtype, (&__pyx_v_rcount))); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(19, 267, __pyx_L6_error) } /* "MPI/msgpickle.pxi":262 * if source != MPI_PROC_NULL: * if obj is None: * with nogil: # <<<<<<<<<<<<<< * if options.recv_mprobe: * CHKERR( MPI_Mprobe(source, tag, comm, &match, &rsts) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L7; } __pyx_L6_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L7:; } } /* "MPI/msgpickle.pxi":268 * CHKERR( MPI_Probe(source, tag, comm, &rsts) ) * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) * rmsg = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * source = rsts.MPI_SOURCE * tag = rsts.MPI_TAG */ __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(19, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":269 * CHKERR( MPI_Get_count(&rsts, rtype, &rcount) ) * rmsg = pickle.alloc(&rbuf, rcount) * source = rsts.MPI_SOURCE # <<<<<<<<<<<<<< * tag = rsts.MPI_TAG * else: */ __pyx_t_3 = __pyx_v_rsts.MPI_SOURCE; __pyx_v_source = __pyx_t_3; /* "MPI/msgpickle.pxi":270 * rmsg = pickle.alloc(&rbuf, rcount) * source = rsts.MPI_SOURCE * tag = rsts.MPI_TAG # <<<<<<<<<<<<<< * else: * if is_integral(obj): */ __pyx_t_3 = __pyx_v_rsts.MPI_TAG; __pyx_v_tag = __pyx_t_3; /* "MPI/msgpickle.pxi":261 * cdef MPI_Aint rlen = 0 * if source != MPI_PROC_NULL: * if obj is None: # <<<<<<<<<<<<<< * with nogil: * if options.recv_mprobe: */ goto __pyx_L4; } /* "MPI/msgpickle.pxi":272 * tag = rsts.MPI_TAG * else: * if is_integral(obj): # <<<<<<<<<<<<<< * rcount = obj * rmsg = pickle.alloc(&rbuf, rcount) */ /*else*/ { __pyx_t_2 = (__pyx_f_6mpi4py_3MPI_is_integral(__pyx_v_obj) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":273 * else: * if is_integral(obj): * rcount = obj # <<<<<<<<<<<<<< * rmsg = pickle.alloc(&rbuf, rcount) * rlen = rcount */ __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_v_obj); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(19, 273, __pyx_L1_error) __pyx_v_rcount = ((int)__pyx_t_3); /* "MPI/msgpickle.pxi":274 * if is_integral(obj): * rcount = obj * rmsg = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * rlen = rcount * else: */ __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(19, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":275 * rcount = obj * rmsg = pickle.alloc(&rbuf, rcount) * rlen = rcount # <<<<<<<<<<<<<< * else: * rmsg = getbuffer_w(obj, &rbuf, &rlen) */ __pyx_v_rlen = ((MPI_Aint)__pyx_v_rcount); /* "MPI/msgpickle.pxi":272 * tag = rsts.MPI_TAG * else: * if is_integral(obj): # <<<<<<<<<<<<<< * rcount = obj * rmsg = pickle.alloc(&rbuf, rcount) */ goto __pyx_L9; } /* "MPI/msgpickle.pxi":277 * rlen = rcount * else: * rmsg = getbuffer_w(obj, &rbuf, &rlen) # <<<<<<<<<<<<<< * rcount = clipcount(rlen) * if status == MPI_STATUS_IGNORE: */ /*else*/ { __pyx_t_4 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_w(__pyx_v_obj, (&__pyx_v_rbuf), (&__pyx_v_rlen))); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":278 * 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_L9:; /* "MPI/msgpickle.pxi":279 * rmsg = getbuffer_w(obj, &rbuf, &rlen) * rcount = clipcount(rlen) * if status == MPI_STATUS_IGNORE: # <<<<<<<<<<<<<< * status = &rsts * # */ __pyx_t_2 = ((__pyx_v_status == MPI_STATUS_IGNORE) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":280 * rcount = clipcount(rlen) * if status == MPI_STATUS_IGNORE: * status = &rsts # <<<<<<<<<<<<<< * # * with nogil: */ __pyx_v_status = (&__pyx_v_rsts); /* "MPI/msgpickle.pxi":279 * rmsg = getbuffer_w(obj, &rbuf, &rlen) * rcount = clipcount(rlen) * if status == MPI_STATUS_IGNORE: # <<<<<<<<<<<<<< * status = &rsts * # */ } } __pyx_L4:; /* "MPI/msgpickle.pxi":260 * cdef MPI_Status rsts * cdef MPI_Aint rlen = 0 * if source != MPI_PROC_NULL: # <<<<<<<<<<<<<< * if obj is None: * with nogil: */ } /* "MPI/msgpickle.pxi":282 * status = &rsts * # * with nogil: # <<<<<<<<<<<<<< * if match != MPI_MESSAGE_NULL: * CHKERR( MPI_Mrecv(rbuf, rcount, rtype, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":283 * # * with nogil: * if match != MPI_MESSAGE_NULL: # <<<<<<<<<<<<<< * CHKERR( MPI_Mrecv(rbuf, rcount, rtype, * &match, status) ) */ __pyx_t_2 = ((__pyx_v_match != MPI_MESSAGE_NULL) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":284 * with nogil: * if match != MPI_MESSAGE_NULL: * CHKERR( MPI_Mrecv(rbuf, rcount, rtype, # <<<<<<<<<<<<<< * &match, status) ) * else: */ __pyx_t_3 = __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_3 == -1)) __PYX_ERR(19, 284, __pyx_L12_error) /* "MPI/msgpickle.pxi":283 * # * with nogil: * if match != MPI_MESSAGE_NULL: # <<<<<<<<<<<<<< * CHKERR( MPI_Mrecv(rbuf, rcount, rtype, * &match, status) ) */ goto __pyx_L14; } /* "MPI/msgpickle.pxi":287 * &match, status) ) * else: * CHKERR( MPI_Recv(rbuf, rcount, rtype, # <<<<<<<<<<<<<< * source, tag, comm, status) ) * if rcount > 0 and rlen > 0: */ /*else*/ { /* "MPI/msgpickle.pxi":288 * else: * CHKERR( MPI_Recv(rbuf, rcount, rtype, * source, tag, comm, status) ) # <<<<<<<<<<<<<< * if rcount > 0 and rlen > 0: * CHKERR( MPI_Get_count(status, rtype, &rcount) ) */ __pyx_t_3 = __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_3 == -1)) __PYX_ERR(19, 287, __pyx_L12_error) } __pyx_L14:; /* "MPI/msgpickle.pxi":289 * CHKERR( MPI_Recv(rbuf, rcount, rtype, * source, tag, comm, status) ) * if rcount > 0 and rlen > 0: # <<<<<<<<<<<<<< * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * if rcount <= 0: return None */ __pyx_t_1 = ((__pyx_v_rcount > 0) != 0); if (__pyx_t_1) { } else { __pyx_t_2 = __pyx_t_1; goto __pyx_L16_bool_binop_done; } __pyx_t_1 = ((__pyx_v_rlen > 0) != 0); __pyx_t_2 = __pyx_t_1; __pyx_L16_bool_binop_done:; if (__pyx_t_2) { /* "MPI/msgpickle.pxi":290 * source, tag, comm, status) ) * if rcount > 0 and rlen > 0: * CHKERR( MPI_Get_count(status, rtype, &rcount) ) # <<<<<<<<<<<<<< * if rcount <= 0: return None * return pickle.load(rmsg) */ __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 == -1)) __PYX_ERR(19, 290, __pyx_L12_error) /* "MPI/msgpickle.pxi":289 * CHKERR( MPI_Recv(rbuf, rcount, rtype, * source, tag, comm, status) ) * if rcount > 0 and rlen > 0: # <<<<<<<<<<<<<< * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * if rcount <= 0: return None */ } } /* "MPI/msgpickle.pxi":282 * status = &rsts * # * with nogil: # <<<<<<<<<<<<<< * if match != MPI_MESSAGE_NULL: * CHKERR( MPI_Mrecv(rbuf, rcount, rtype, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L13; } __pyx_L12_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L13:; } } /* "MPI/msgpickle.pxi":291 * if rcount > 0 and rlen > 0: * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * if rcount <= 0: return None # <<<<<<<<<<<<<< * return pickle.load(rmsg) * */ __pyx_t_2 = ((__pyx_v_rcount <= 0) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":292 * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * if rcount <= 0: return None * return pickle.load(rmsg) # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_rmsg); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":248 * * * cdef object PyMPI_recv(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_4); __Pyx_AddTraceback("mpi4py.MPI.PyMPI_recv", __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; } /* "MPI/msgpickle.pxi":296 * # ----------------------------------------------------------------------------- * * 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; __Pyx_RefNannySetupContext("PyMPI_isend", 0); /* "MPI/msgpickle.pxi":298 * 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; /* "MPI/msgpickle.pxi":300 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "MPI/msgpickle.pxi":301 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * # */ __pyx_v_scount = 0; /* "MPI/msgpickle.pxi":302 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object smsg = None */ __pyx_v_stype = MPI_BYTE; /* "MPI/msgpickle.pxi":304 * 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; /* "MPI/msgpickle.pxi":305 * # * 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) { /* "MPI/msgpickle.pxi":306 * 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(19, 306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_smsg, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":305 * # * cdef object smsg = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Isend(sbuf, scount, stype, */ } /* "MPI/msgpickle.pxi":307 * 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 #endif /*try:*/ { /* "MPI/msgpickle.pxi":308 * 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 == -1)) __PYX_ERR(19, 307, __pyx_L5_error) } /* "MPI/msgpickle.pxi":307 * 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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":309 * 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; /* "MPI/msgpickle.pxi":296 * # ----------------------------------------------------------------------------- * * 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; } /* "MPI/msgpickle.pxi":312 * * * 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; __Pyx_RefNannySetupContext("PyMPI_ibsend", 0); /* "MPI/msgpickle.pxi":314 * 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; /* "MPI/msgpickle.pxi":316 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "MPI/msgpickle.pxi":317 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * # */ __pyx_v_scount = 0; /* "MPI/msgpickle.pxi":318 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object smsg = None */ __pyx_v_stype = MPI_BYTE; /* "MPI/msgpickle.pxi":320 * 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; /* "MPI/msgpickle.pxi":321 * # * 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) { /* "MPI/msgpickle.pxi":322 * 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(19, 322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_smsg, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":321 * # * cdef object smsg = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Ibsend(sbuf, scount, stype, */ } /* "MPI/msgpickle.pxi":323 * 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 #endif /*try:*/ { /* "MPI/msgpickle.pxi":324 * 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 == -1)) __PYX_ERR(19, 323, __pyx_L5_error) } /* "MPI/msgpickle.pxi":323 * 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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":325 * 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; /* "MPI/msgpickle.pxi":312 * * * 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; } /* "MPI/msgpickle.pxi":328 * * * 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; __Pyx_RefNannySetupContext("PyMPI_issend", 0); /* "MPI/msgpickle.pxi":330 * 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; /* "MPI/msgpickle.pxi":332 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "MPI/msgpickle.pxi":333 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * # */ __pyx_v_scount = 0; /* "MPI/msgpickle.pxi":334 * cdef void *sbuf = NULL * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object smsg = None */ __pyx_v_stype = MPI_BYTE; /* "MPI/msgpickle.pxi":336 * 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; /* "MPI/msgpickle.pxi":337 * # * 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) { /* "MPI/msgpickle.pxi":338 * 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(19, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_smsg, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":337 * # * cdef object smsg = None * if dest != MPI_PROC_NULL: # <<<<<<<<<<<<<< * smsg = pickle.dump(obj, &sbuf, &scount) * with nogil: CHKERR( MPI_Issend(sbuf, scount, stype, */ } /* "MPI/msgpickle.pxi":339 * 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 #endif /*try:*/ { /* "MPI/msgpickle.pxi":340 * 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 == -1)) __PYX_ERR(19, 339, __pyx_L5_error) } /* "MPI/msgpickle.pxi":339 * 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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":341 * 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; /* "MPI/msgpickle.pxi":328 * * * 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; } /* "MPI/msgpickle.pxi":344 * * * 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; __Pyx_RefNannySetupContext("PyMPI_irecv", 0); __Pyx_INCREF(__pyx_v_obj); /* "MPI/msgpickle.pxi":346 * 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; /* "MPI/msgpickle.pxi":348 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *rbuf = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint rlen = 0 * cdef int rcount = 0 */ __pyx_v_rbuf = NULL; /* "MPI/msgpickle.pxi":349 * # * cdef void *rbuf = NULL * cdef MPI_Aint rlen = 0 # <<<<<<<<<<<<<< * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ __pyx_v_rlen = 0; /* "MPI/msgpickle.pxi":350 * cdef void *rbuf = NULL * cdef MPI_Aint rlen = 0 * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rcount = 0; /* "MPI/msgpickle.pxi":351 * cdef MPI_Aint rlen = 0 * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * # * cdef object rmsg = None */ __pyx_v_rtype = MPI_BYTE; /* "MPI/msgpickle.pxi":353 * 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; /* "MPI/msgpickle.pxi":354 * # * 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) { /* "MPI/msgpickle.pxi":355 * 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) { /* "MPI/msgpickle.pxi":356 * 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); /* "MPI/msgpickle.pxi":357 * 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(19, 357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_obj, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":358 * 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(19, 358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":355 * cdef object rmsg = None * if source != MPI_PROC_NULL: * if obj is None: # <<<<<<<<<<<<<< * rcount = (1<<15) * obj = pickle.alloc(&rbuf, rcount) */ goto __pyx_L4; } /* "MPI/msgpickle.pxi":359 * 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) { /* "MPI/msgpickle.pxi":360 * 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(19, 360, __pyx_L1_error) __pyx_v_rcount = ((int)__pyx_t_4); /* "MPI/msgpickle.pxi":361 * 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(19, 361, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_obj, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":362 * 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(19, 362, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":359 * 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; } /* "MPI/msgpickle.pxi":364 * 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(19, 364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":365 * 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:; /* "MPI/msgpickle.pxi":354 * # * cdef object rmsg = None * if source != MPI_PROC_NULL: # <<<<<<<<<<<<<< * if obj is None: * rcount = (1<<15) */ } /* "MPI/msgpickle.pxi":366 * 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 #endif /*try:*/ { /* "MPI/msgpickle.pxi":367 * 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 == -1)) __PYX_ERR(19, 366, __pyx_L6_error) } /* "MPI/msgpickle.pxi":366 * 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 Py_BLOCK_THREADS #endif goto __pyx_L7; } __pyx_L6_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L7:; } } /* "MPI/msgpickle.pxi":368 * 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; /* "MPI/msgpickle.pxi":344 * * * 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; } /* "MPI/msgpickle.pxi":372 * # ----------------------------------------------------------------------------- * * 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; __Pyx_RefNannySetupContext("PyMPI_sendrecv", 0); __Pyx_INCREF(__pyx_v_sobj); __Pyx_INCREF(__pyx_v_robj); /* "MPI/msgpickle.pxi":375 * 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; /* "MPI/msgpickle.pxi":376 * 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) * 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(19, 376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_sobj, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":377 * cdef MPI_Request request = MPI_REQUEST_NULL * sobj = PyMPI_isend(sobj, dest, sendtag, comm, &request) * robj = PyMPI_recv (robj, source, recvtag, comm, status) # <<<<<<<<<<<<<< * 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(19, 377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_robj, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":378 * sobj = PyMPI_isend(sobj, dest, sendtag, comm, &request) * robj = PyMPI_recv (robj, source, recvtag, comm, status) * CHKERR( MPI_Wait(&request, MPI_STATUS_IGNORE) ) # <<<<<<<<<<<<<< * return robj * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Wait((&__pyx_v_request), MPI_STATUS_IGNORE)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(19, 378, __pyx_L1_error) /* "MPI/msgpickle.pxi":379 * robj = PyMPI_recv (robj, source, recvtag, comm, status) * 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; /* "MPI/msgpickle.pxi":372 * # ----------------------------------------------------------------------------- * * 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; } /* "MPI/msgpickle.pxi":383 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_load(MPI_Status *status, object buf): # <<<<<<<<<<<<<< * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ static PyObject *__pyx_f_6mpi4py_3MPI_PyMPI_load(MPI_Status *__pyx_v_status, PyObject *__pyx_v_buf) { int __pyx_v_rcount; MPI_Datatype __pyx_v_rtype; struct __pyx_obj_6mpi4py_3MPI_Pickle *__pyx_v_pickle = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("PyMPI_load", 0); /* "MPI/msgpickle.pxi":384 * * cdef object PyMPI_load(MPI_Status *status, object buf): * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * if type(buf) is not _p_buffer: return None */ __pyx_v_rcount = 0; /* "MPI/msgpickle.pxi":385 * cdef object PyMPI_load(MPI_Status *status, object buf): * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE # <<<<<<<<<<<<<< * if type(buf) is not _p_buffer: return None * CHKERR( MPI_Get_count(status, rtype, &rcount) ) */ __pyx_v_rtype = MPI_BYTE; /* "MPI/msgpickle.pxi":386 * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE * if type(buf) is not _p_buffer: return None # <<<<<<<<<<<<<< * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * if rcount <= 0: return None */ __pyx_t_1 = (((PyObject *)Py_TYPE(__pyx_v_buf)) != ((PyObject *)__pyx_ptype_6mpi4py_3MPI__p_buffer)); __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":387 * cdef MPI_Datatype rtype = MPI_BYTE * if type(buf) is not _p_buffer: return None * CHKERR( MPI_Get_count(status, rtype, &rcount) ) # <<<<<<<<<<<<<< * if rcount <= 0: return None * cdef Pickle pickle = PyMPI_PICKLE */ __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 == -1)) __PYX_ERR(19, 387, __pyx_L1_error) /* "MPI/msgpickle.pxi":388 * if type(buf) is not _p_buffer: return None * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * if rcount <= 0: return None # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * return pickle.load(buf) */ __pyx_t_2 = ((__pyx_v_rcount <= 0) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":389 * CHKERR( MPI_Get_count(status, rtype, &rcount) ) * if rcount <= 0: return None * cdef Pickle pickle = PyMPI_PICKLE # <<<<<<<<<<<<<< * return pickle.load(buf) * */ __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI_PyMPI_PICKLE)); __pyx_v_pickle = __pyx_v_6mpi4py_3MPI_PyMPI_PICKLE; /* "MPI/msgpickle.pxi":390 * if rcount <= 0: return None * cdef Pickle pickle = PyMPI_PICKLE * return pickle.load(buf) # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_buf); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":383 * # ----------------------------------------------------------------------------- * * cdef object PyMPI_load(MPI_Status *status, object buf): # <<<<<<<<<<<<<< * cdef int rcount = 0 * cdef MPI_Datatype rtype = MPI_BYTE */ /* 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_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":393 * * * 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; __Pyx_RefNannySetupContext("PyMPI_wait", 0); /* "MPI/msgpickle.pxi":397 * # * 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 #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 == -1)) __PYX_ERR(19, 397, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/msgpickle.pxi":398 * 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; /* "MPI/msgpickle.pxi":399 * 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) { /* "MPI/msgpickle.pxi":400 * 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; /* "MPI/msgpickle.pxi":399 * 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: */ } /* "MPI/msgpickle.pxi":401 * 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) { /* "MPI/msgpickle.pxi":402 * 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; /* "MPI/msgpickle.pxi":401 * if status is not None: * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * request.ob_buf = None * # */ } /* "MPI/msgpickle.pxi":404 * 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(19, 404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":393 * * * 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; } /* "MPI/msgpickle.pxi":407 * * * 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; __Pyx_RefNannySetupContext("PyMPI_test", 0); /* "MPI/msgpickle.pxi":408 * * 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; /* "MPI/msgpickle.pxi":411 * # * 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 #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 == -1)) __PYX_ERR(19, 411, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/msgpickle.pxi":412 * 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) { /* "MPI/msgpickle.pxi":413 * 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; /* "MPI/msgpickle.pxi":412 * 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: */ } /* "MPI/msgpickle.pxi":414 * 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) { /* "MPI/msgpickle.pxi":415 * 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; /* "MPI/msgpickle.pxi":414 * if flag[0]: * buf = request.ob_buf * if status is not None: # <<<<<<<<<<<<<< * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: */ } /* "MPI/msgpickle.pxi":416 * 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) { /* "MPI/msgpickle.pxi":417 * 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; /* "MPI/msgpickle.pxi":416 * if status is not None: * status.ob_mpi = rsts * if request.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * request.ob_buf = None * # */ } /* "MPI/msgpickle.pxi":419 * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":420 * # * 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(19, 420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":407 * * * 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; } /* "MPI/msgpickle.pxi":423 * * * 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; __Pyx_RefNannySetupContext("PyMPI_waitany", 0); /* "MPI/msgpickle.pxi":424 * * 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; /* "MPI/msgpickle.pxi":426 * cdef object buf = None * # * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef MPI_Status rsts */ __pyx_v_count = 0; /* "MPI/msgpickle.pxi":427 * # * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef MPI_Status rsts * # */ __pyx_v_irequests = NULL; /* "MPI/msgpickle.pxi":430 * 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(19, 430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":431 * # * 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:*/ { /* "MPI/msgpickle.pxi":432 * 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 #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 == -1)) __PYX_ERR(19, 432, __pyx_L7_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L4_error; } __pyx_L8:; } } /* "MPI/msgpickle.pxi":433 * 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) { /* "MPI/msgpickle.pxi":434 * 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(19, 434, __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; /* "MPI/msgpickle.pxi":433 * 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: */ } /* "MPI/msgpickle.pxi":435 * 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) { /* "MPI/msgpickle.pxi":436 * 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; /* "MPI/msgpickle.pxi":435 * if index[0] != MPI_UNDEFINED: * buf = (requests[index[0]]).ob_buf * if status is not None: # <<<<<<<<<<<<<< * status.ob_mpi = rsts * finally: */ } } /* "MPI/msgpickle.pxi":438 * 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 == -1)) __PYX_ERR(19, 438, __pyx_L1_error) goto __pyx_L5; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __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 == -1)) __PYX_ERR(19, 438, __pyx_L12_error) } __Pyx_PyThreadState_assign 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:; __Pyx_PyThreadState_assign 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:; } /* "MPI/msgpickle.pxi":440 * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":441 * # * 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(19, 441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":423 * * * 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; } /* "MPI/msgpickle.pxi":444 * * * 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; __Pyx_RefNannySetupContext("PyMPI_testany", 0); /* "MPI/msgpickle.pxi":445 * * 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; /* "MPI/msgpickle.pxi":447 * cdef object buf = None * # * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Request *irequests = NULL * cdef MPI_Status rsts */ __pyx_v_count = 0; /* "MPI/msgpickle.pxi":448 * # * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef MPI_Status rsts * # */ __pyx_v_irequests = NULL; /* "MPI/msgpickle.pxi":451 * 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(19, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":452 * # * 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:*/ { /* "MPI/msgpickle.pxi":453 * 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 #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 == -1)) __PYX_ERR(19, 453, __pyx_L7_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L4_error; } __pyx_L8:; } } /* "MPI/msgpickle.pxi":454 * 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) { /* "MPI/msgpickle.pxi":455 * 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(19, 455, __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; /* "MPI/msgpickle.pxi":454 * 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: */ } /* "MPI/msgpickle.pxi":456 * 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) { /* "MPI/msgpickle.pxi":457 * 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; /* "MPI/msgpickle.pxi":456 * if index[0] != MPI_UNDEFINED: * buf = (requests[index[0]]).ob_buf * if status is not None: # <<<<<<<<<<<<<< * status.ob_mpi = rsts * finally: */ } } /* "MPI/msgpickle.pxi":459 * 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 == -1)) __PYX_ERR(19, 459, __pyx_L1_error) goto __pyx_L5; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __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 == -1)) __PYX_ERR(19, 459, __pyx_L12_error) } __Pyx_PyThreadState_assign 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:; __Pyx_PyThreadState_assign 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:; } /* "MPI/msgpickle.pxi":461 * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":462 * # * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":463 * 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(19, 463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":444 * * * 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; } /* "MPI/msgpickle.pxi":466 * * * 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; __Pyx_RefNannySetupContext("PyMPI_waitall", 0); /* "MPI/msgpickle.pxi":467 * * 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; /* "MPI/msgpickle.pxi":469 * cdef object bufs = None * # * cdef Py_ssize_t i = 0 # <<<<<<<<<<<<<< * cdef int count = 0 * cdef MPI_Request *irequests = NULL */ __pyx_v_i = 0; /* "MPI/msgpickle.pxi":470 * # * 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; /* "MPI/msgpickle.pxi":471 * 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; /* "MPI/msgpickle.pxi":472 * 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; /* "MPI/msgpickle.pxi":474 * 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(19, 474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":475 * # * 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:*/ { /* "MPI/msgpickle.pxi":476 * 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 #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 == -1)) __PYX_ERR(19, 476, __pyx_L7_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L4_error; } __pyx_L8:; } } /* "MPI/msgpickle.pxi":477 * 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(19, 477, __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(19, 477, __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(19, 477, __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; } /* "MPI/msgpickle.pxi":479 * 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 == -1)) __PYX_ERR(19, 479, __pyx_L1_error) goto __pyx_L5; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 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 == -1)) __PYX_ERR(19, 479, __pyx_L12_error) } __Pyx_PyThreadState_assign 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:; __Pyx_PyThreadState_assign 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:; } /* "MPI/msgpickle.pxi":481 * 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(19, 481, __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(19, 481, __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(19, 481, __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(19, 481, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":466 * * * 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; } /* "MPI/msgpickle.pxi":484 * * * 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; __Pyx_RefNannySetupContext("PyMPI_testall", 0); /* "MPI/msgpickle.pxi":485 * * 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; /* "MPI/msgpickle.pxi":487 * cdef object bufs = None * # * cdef Py_ssize_t i = 0 # <<<<<<<<<<<<<< * cdef int count = 0 * cdef MPI_Request *irequests = NULL */ __pyx_v_i = 0; /* "MPI/msgpickle.pxi":488 * # * 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; /* "MPI/msgpickle.pxi":489 * 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; /* "MPI/msgpickle.pxi":490 * 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; /* "MPI/msgpickle.pxi":492 * 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(19, 492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":493 * # * cdef tmp = acquire_rs(requests, True, &count, &irequests, &istatuses) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Testall(count, irequests, flag, istatuses) ) * if flag[0]: */ /*try:*/ { /* "MPI/msgpickle.pxi":494 * 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 #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 == -1)) __PYX_ERR(19, 494, __pyx_L7_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L4_error; } __pyx_L8:; } } /* "MPI/msgpickle.pxi":495 * 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) { /* "MPI/msgpickle.pxi":496 * 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(19, 496, __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(19, 496, __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(19, 496, __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; /* "MPI/msgpickle.pxi":495 * 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: */ } } /* "MPI/msgpickle.pxi":498 * 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 == -1)) __PYX_ERR(19, 498, __pyx_L1_error) goto __pyx_L5; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 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 == -1)) __PYX_ERR(19, 498, __pyx_L13_error) } __Pyx_PyThreadState_assign 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:; __Pyx_PyThreadState_assign 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:; } /* "MPI/msgpickle.pxi":500 * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":501 * # * 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(19, 501, __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(19, 501, __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(19, 501, __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(19, 501, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":484 * * * 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; } /* "MPI/msgpickle.pxi":505 * # ----------------------------------------------------------------------------- * * 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; __Pyx_RefNannySetupContext("PyMPI_probe", 0); /* "MPI/msgpickle.pxi":507 * 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 #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 == -1)) __PYX_ERR(19, 507, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/msgpickle.pxi":508 * 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; /* "MPI/msgpickle.pxi":505 * # ----------------------------------------------------------------------------- * * 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; } /* "MPI/msgpickle.pxi":510 * 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; __Pyx_RefNannySetupContext("PyMPI_iprobe", 0); /* "MPI/msgpickle.pxi":512 * 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; /* "MPI/msgpickle.pxi":513 * 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 #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 == -1)) __PYX_ERR(19, 513, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/msgpickle.pxi":514 * 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(19, 514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":510 * 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; } /* "MPI/msgpickle.pxi":516 * 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; __Pyx_RefNannySetupContext("PyMPI_mprobe", 0); /* "MPI/msgpickle.pxi":518 * 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; /* "MPI/msgpickle.pxi":519 * 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; /* "MPI/msgpickle.pxi":520 * 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; /* "MPI/msgpickle.pxi":521 * 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; /* "MPI/msgpickle.pxi":523 * 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); } /* "MPI/msgpickle.pxi":524 * 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 #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 == -1)) __PYX_ERR(19, 524, __pyx_L5_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":525 * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":526 * 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 == -1)) __PYX_ERR(19, 526, __pyx_L1_error) /* "MPI/msgpickle.pxi":527 * 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(19, 527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_rmsg = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":528 * 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; /* "MPI/msgpickle.pxi":516 * 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; } /* "MPI/msgpickle.pxi":530 * 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; __Pyx_RefNannySetupContext("PyMPI_improbe", 0); /* "MPI/msgpickle.pxi":532 * 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; /* "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; /* "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; /* "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; /* "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_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); } /* "MPI/msgpickle.pxi":538 * 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 #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 == -1)) __PYX_ERR(19, 538, __pyx_L5_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":539 * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":540 * 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 == -1)) __PYX_ERR(19, 540, __pyx_L1_error) /* "MPI/msgpickle.pxi":541 * 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(19, 541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_rmsg = __pyx_t_4; __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":542 * 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; /* "MPI/msgpickle.pxi":530 * 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; } /* "MPI/msgpickle.pxi":544 * 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; __Pyx_RefNannySetupContext("PyMPI_mrecv", 0); __Pyx_INCREF(__pyx_v_rmsg); /* "MPI/msgpickle.pxi":546 * 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; /* "MPI/msgpickle.pxi":547 * 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; /* "MPI/msgpickle.pxi":548 * 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; /* "MPI/msgpickle.pxi":549 * 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; /* "MPI/msgpickle.pxi":550 * 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) { /* "MPI/msgpickle.pxi":551 * 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); /* "MPI/msgpickle.pxi":550 * 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; } /* "MPI/msgpickle.pxi":552 * 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; } /* "MPI/msgpickle.pxi":554 * 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) { /* "MPI/msgpickle.pxi":555 * 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(19, 555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":554 * elif rmsg is None: * pass * elif PyBytes_CheckExact(rmsg): # <<<<<<<<<<<<<< * rmsg = getbuffer_r(rmsg, &rbuf, &rlen) * else: */ goto __pyx_L3; } /* "MPI/msgpickle.pxi":557 * 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(19, 557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; } __pyx_L3:; /* "MPI/msgpickle.pxi":558 * 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(rmsg) */ __pyx_v_rcount = __pyx_f_6mpi4py_3MPI_clipcount(__pyx_v_rlen); /* "MPI/msgpickle.pxi":559 * rmsg = getbuffer_w(rmsg, &rbuf, &rlen) * cdef int rcount = clipcount(rlen) * with nogil: CHKERR( MPI_Mrecv(rbuf, rcount, rtype, message, status) ) # <<<<<<<<<<<<<< * rmsg = pickle.load(rmsg) * return rmsg */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #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 == -1)) __PYX_ERR(19, 559, __pyx_L5_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":560 * cdef int rcount = clipcount(rlen) * with nogil: CHKERR( MPI_Mrecv(rbuf, rcount, rtype, message, status) ) * rmsg = pickle.load(rmsg) # <<<<<<<<<<<<<< * return rmsg * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_rmsg); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 560, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":561 * with nogil: CHKERR( MPI_Mrecv(rbuf, rcount, rtype, message, status) ) * rmsg = pickle.load(rmsg) * 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; /* "MPI/msgpickle.pxi":544 * 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; } /* "MPI/msgpickle.pxi":563 * 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; __Pyx_RefNannySetupContext("PyMPI_imrecv", 0); __Pyx_INCREF(__pyx_v_rmsg); /* "MPI/msgpickle.pxi":565 * 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; /* "MPI/msgpickle.pxi":566 * 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; /* "MPI/msgpickle.pxi":567 * 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; /* "MPI/msgpickle.pxi":568 * 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) { /* "MPI/msgpickle.pxi":569 * 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); /* "MPI/msgpickle.pxi":568 * 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; } /* "MPI/msgpickle.pxi":570 * 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; } /* "MPI/msgpickle.pxi":572 * 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) { /* "MPI/msgpickle.pxi":573 * 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(19, 573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":572 * elif rmsg is None: * pass * elif PyBytes_CheckExact(rmsg): # <<<<<<<<<<<<<< * rmsg = getbuffer_r(rmsg, &rbuf, &rlen) * else: */ goto __pyx_L3; } /* "MPI/msgpickle.pxi":575 * 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(19, 575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; } __pyx_L3:; /* "MPI/msgpickle.pxi":576 * 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); /* "MPI/msgpickle.pxi":577 * 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 #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 == -1)) __PYX_ERR(19, 577, __pyx_L5_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":578 * 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; /* "MPI/msgpickle.pxi":563 * 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; } /* "MPI/msgpickle.pxi":582 * # ----------------------------------------------------------------------------- * * 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; __Pyx_RefNannySetupContext("PyMPI_barrier", 0); /* "MPI/msgpickle.pxi":583 * * cdef object PyMPI_barrier(MPI_Comm comm): * with nogil: CHKERR( MPI_Barrier(comm) ) # <<<<<<<<<<<<<< * return None * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Barrier(__pyx_v_comm)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 583, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/msgpickle.pxi":584 * cdef object PyMPI_barrier(MPI_Comm comm): * with nogil: CHKERR( MPI_Barrier(comm) ) * return None # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/msgpickle.pxi":582 * # ----------------------------------------------------------------------------- * * 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; } /* "MPI/msgpickle.pxi":587 * * * 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; __Pyx_RefNannySetupContext("PyMPI_bcast", 0); /* "MPI/msgpickle.pxi":588 * * 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; /* "MPI/msgpickle.pxi":590 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *buf = NULL # <<<<<<<<<<<<<< * cdef int count = 0 * cdef MPI_Datatype dtype = MPI_BYTE */ __pyx_v_buf = NULL; /* "MPI/msgpickle.pxi":591 * # * cdef void *buf = NULL * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype dtype = MPI_BYTE * # */ __pyx_v_count = 0; /* "MPI/msgpickle.pxi":592 * 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; /* "MPI/msgpickle.pxi":594 * 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; /* "MPI/msgpickle.pxi":595 * # * 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; /* "MPI/msgpickle.pxi":596 * 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 == -1)) __PYX_ERR(19, 596, __pyx_L1_error) /* "MPI/msgpickle.pxi":597 * 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) { /* "MPI/msgpickle.pxi":598 * 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) { /* "MPI/msgpickle.pxi":599 * 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; /* "MPI/msgpickle.pxi":598 * 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; } /* "MPI/msgpickle.pxi":600 * 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) { /* "MPI/msgpickle.pxi":601 * 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; /* "MPI/msgpickle.pxi":600 * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; * elif root == MPI_ROOT: # <<<<<<<<<<<<<< * dosend=1; dorecv=0; * else: */ goto __pyx_L4; } /* "MPI/msgpickle.pxi":603 * 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:; /* "MPI/msgpickle.pxi":597 * 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; } /* "MPI/msgpickle.pxi":605 * 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 == -1)) __PYX_ERR(19, 605, __pyx_L1_error) /* "MPI/msgpickle.pxi":606 * 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) { /* "MPI/msgpickle.pxi":607 * 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; /* "MPI/msgpickle.pxi":606 * else: * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * dosend=1; dorecv=1; * else: */ goto __pyx_L5; } /* "MPI/msgpickle.pxi":609 * 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:; /* "MPI/msgpickle.pxi":611 * dosend=0; dorecv=1; * # * cdef object smsg = None # <<<<<<<<<<<<<< * if dosend: smsg = pickle.dump(obj, &buf, &count) * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, */ __Pyx_INCREF(Py_None); __pyx_v_smsg = Py_None; /* "MPI/msgpickle.pxi":612 * # * cdef object smsg = None * if dosend: smsg = pickle.dump(obj, &buf, &count) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, * root, comm) ) */ __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(19, 612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_smsg, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":613 * cdef object smsg = None * if dosend: smsg = pickle.dump(obj, &buf, &count) * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, # <<<<<<<<<<<<<< * root, comm) ) * cdef object rmsg = None */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":614 * if dosend: smsg = pickle.dump(obj, &buf, &count) * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, * root, comm) ) # <<<<<<<<<<<<<< * cdef object rmsg = None * if dorecv and dosend: rmsg = smsg */ __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 == -1)) __PYX_ERR(19, 613, __pyx_L8_error) } /* "MPI/msgpickle.pxi":613 * cdef object smsg = None * if dosend: smsg = pickle.dump(obj, &buf, &count) * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, # <<<<<<<<<<<<<< * root, comm) ) * cdef object rmsg = None */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L9; } __pyx_L8_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L9:; } } /* "MPI/msgpickle.pxi":615 * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, * root, comm) ) * cdef object rmsg = None # <<<<<<<<<<<<<< * if dorecv and dosend: rmsg = smsg * elif dorecv: rmsg = pickle.alloc(&buf, count) */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "MPI/msgpickle.pxi":616 * root, comm) ) * cdef object rmsg = None * if dorecv and dosend: rmsg = smsg # <<<<<<<<<<<<<< * elif dorecv: rmsg = pickle.alloc(&buf, count) * with nogil: CHKERR( MPI_Bcast(buf, count, dtype, */ __pyx_t_4 = (__pyx_v_dorecv != 0); if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L11_bool_binop_done; } __pyx_t_4 = (__pyx_v_dosend != 0); __pyx_t_2 = __pyx_t_4; __pyx_L11_bool_binop_done:; if (__pyx_t_2) { __Pyx_INCREF(__pyx_v_smsg); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_v_smsg); goto __pyx_L10; } /* "MPI/msgpickle.pxi":617 * cdef object rmsg = None * if dorecv and dosend: rmsg = smsg * elif dorecv: rmsg = pickle.alloc(&buf, count) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bcast(buf, count, dtype, * root, comm) ) */ __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_buf), __pyx_v_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; } __pyx_L10:; /* "MPI/msgpickle.pxi":618 * if dorecv and dosend: rmsg = smsg * elif dorecv: rmsg = pickle.alloc(&buf, count) * with nogil: CHKERR( MPI_Bcast(buf, count, dtype, # <<<<<<<<<<<<<< * root, comm) ) * if dorecv: rmsg = pickle.load(rmsg) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":619 * elif dorecv: rmsg = pickle.alloc(&buf, count) * with nogil: CHKERR( MPI_Bcast(buf, count, dtype, * root, comm) ) # <<<<<<<<<<<<<< * if dorecv: rmsg = pickle.load(rmsg) * return rmsg */ __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 == -1)) __PYX_ERR(19, 618, __pyx_L14_error) } /* "MPI/msgpickle.pxi":618 * if dorecv and dosend: rmsg = smsg * elif dorecv: rmsg = pickle.alloc(&buf, count) * with nogil: CHKERR( MPI_Bcast(buf, count, dtype, # <<<<<<<<<<<<<< * root, comm) ) * if dorecv: rmsg = pickle.load(rmsg) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L15; } __pyx_L14_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L15:; } } /* "MPI/msgpickle.pxi":620 * with nogil: CHKERR( MPI_Bcast(buf, count, dtype, * root, comm) ) * if dorecv: rmsg = pickle.load(rmsg) # <<<<<<<<<<<<<< * return rmsg * */ __pyx_t_2 = (__pyx_v_dorecv != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_rmsg); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":621 * root, comm) ) * if dorecv: rmsg = pickle.load(rmsg) * return rmsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "MPI/msgpickle.pxi":587 * * * 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_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; } /* "MPI/msgpickle.pxi":624 * * * 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_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmps = 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; __Pyx_RefNannySetupContext("PyMPI_gather", 0); /* "MPI/msgpickle.pxi":625 * * 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; /* "MPI/msgpickle.pxi":627 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "MPI/msgpickle.pxi":628 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL */ __pyx_v_scount = 0; /* "MPI/msgpickle.pxi":629 * 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; /* "MPI/msgpickle.pxi":630 * 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; /* "MPI/msgpickle.pxi":631 * 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; /* "MPI/msgpickle.pxi":632 * cdef void *rbuf = NULL * cdef int *rcounts = NULL * cdef int *rdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rdispls = NULL; /* "MPI/msgpickle.pxi":633 * 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; /* "MPI/msgpickle.pxi":635 * 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; /* "MPI/msgpickle.pxi":636 * # * 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; /* "MPI/msgpickle.pxi":637 * 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 == -1)) __PYX_ERR(19, 637, __pyx_L1_error) /* "MPI/msgpickle.pxi":638 * 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) { /* "MPI/msgpickle.pxi":639 * 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 == -1)) __PYX_ERR(19, 639, __pyx_L1_error) /* "MPI/msgpickle.pxi":640 * 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) { /* "MPI/msgpickle.pxi":641 * 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; /* "MPI/msgpickle.pxi":640 * 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; } /* "MPI/msgpickle.pxi":642 * 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) { /* "MPI/msgpickle.pxi":643 * 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; /* "MPI/msgpickle.pxi":642 * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; * elif root == MPI_ROOT: # <<<<<<<<<<<<<< * dosend=0; dorecv=1; * else: */ goto __pyx_L4; } /* "MPI/msgpickle.pxi":645 * 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:; /* "MPI/msgpickle.pxi":638 * 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; } /* "MPI/msgpickle.pxi":647 * 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 == -1)) __PYX_ERR(19, 647, __pyx_L1_error) /* "MPI/msgpickle.pxi":648 * 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 == -1)) __PYX_ERR(19, 648, __pyx_L1_error) /* "MPI/msgpickle.pxi":649 * 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) { /* "MPI/msgpickle.pxi":650 * 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; /* "MPI/msgpickle.pxi":649 * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * dosend=1; dorecv=1; * else: */ goto __pyx_L5; } /* "MPI/msgpickle.pxi":652 * dosend=1; dorecv=1; * else: * dosend=1; dorecv=0; # <<<<<<<<<<<<<< * # * cdef object tmp1 = None, tmp2 = None */ /*else*/ { __pyx_v_dosend = 1; __pyx_v_dorecv = 0; } __pyx_L5:; } __pyx_L3:; /* "MPI/msgpickle.pxi":654 * dosend=1; dorecv=0; * # * cdef object tmp1 = None, tmp2 = None # <<<<<<<<<<<<<< * if dorecv: tmp1 = allocate_int(size, &rcounts) * if dorecv: tmp2 = allocate_int(size, &rdispls) */ __Pyx_INCREF(Py_None); __pyx_v_tmp1 = Py_None; __Pyx_INCREF(Py_None); __pyx_v_tmp2 = Py_None; /* "MPI/msgpickle.pxi":655 * # * cdef object tmp1 = None, tmp2 = None * if dorecv: tmp1 = allocate_int(size, &rcounts) # <<<<<<<<<<<<<< * if dorecv: tmp2 = allocate_int(size, &rdispls) * # */ __pyx_t_2 = (__pyx_v_dorecv != 0); if (__pyx_t_2) { __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_size, (&__pyx_v_rcounts))); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_tmp1, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":656 * cdef object tmp1 = None, tmp2 = None * if dorecv: tmp1 = allocate_int(size, &rcounts) * if dorecv: tmp2 = allocate_int(size, &rdispls) # <<<<<<<<<<<<<< * # * cdef object tmps = None */ __pyx_t_2 = (__pyx_v_dorecv != 0); if (__pyx_t_2) { __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_size, (&__pyx_v_rdispls))); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_tmp2, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":658 * if dorecv: tmp2 = allocate_int(size, &rdispls) * # * cdef object tmps = None # <<<<<<<<<<<<<< * if dosend: tmps = pickle.dump(sendobj, &sbuf, &scount) * with nogil: CHKERR( MPI_Gather(&scount, 1, MPI_INT, */ __Pyx_INCREF(Py_None); __pyx_v_tmps = Py_None; /* "MPI/msgpickle.pxi":659 * # * cdef object tmps = None * if dosend: tmps = pickle.dump(sendobj, &sbuf, &scount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Gather(&scount, 1, MPI_INT, * rcounts, 1, MPI_INT, */ __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(19, 659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":660 * cdef object tmps = None * if dosend: tmps = pickle.dump(sendobj, &sbuf, &scount) * with nogil: CHKERR( MPI_Gather(&scount, 1, MPI_INT, # <<<<<<<<<<<<<< * rcounts, 1, MPI_INT, * root, comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":662 * with nogil: CHKERR( MPI_Gather(&scount, 1, MPI_INT, * rcounts, 1, MPI_INT, * root, comm) ) # <<<<<<<<<<<<<< * cdef object rmsg = None * if dorecv: rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) */ __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 == -1)) __PYX_ERR(19, 660, __pyx_L10_error) } /* "MPI/msgpickle.pxi":660 * cdef object tmps = None * if dosend: tmps = pickle.dump(sendobj, &sbuf, &scount) * with nogil: CHKERR( MPI_Gather(&scount, 1, MPI_INT, # <<<<<<<<<<<<<< * rcounts, 1, MPI_INT, * root, comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L11; } __pyx_L10_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L11:; } } /* "MPI/msgpickle.pxi":663 * rcounts, 1, MPI_INT, * root, comm) ) * cdef object rmsg = None # <<<<<<<<<<<<<< * if dorecv: rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Gatherv(sbuf, scount, stype, */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "MPI/msgpickle.pxi":664 * root, comm) ) * cdef object rmsg = None * if dorecv: rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Gatherv(sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, */ __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(19, 664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":665 * cdef object rmsg = None * if dorecv: rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Gatherv(sbuf, scount, stype, # <<<<<<<<<<<<<< * rbuf, rcounts, rdispls, rtype, * root, comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":667 * with nogil: CHKERR( MPI_Gatherv(sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, * root, comm) ) # <<<<<<<<<<<<<< * if dorecv: rmsg = pickle.loadv(rmsg, size, rcounts, rdispls) * return rmsg */ __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 == -1)) __PYX_ERR(19, 665, __pyx_L14_error) } /* "MPI/msgpickle.pxi":665 * cdef object rmsg = None * if dorecv: rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Gatherv(sbuf, scount, stype, # <<<<<<<<<<<<<< * rbuf, rcounts, rdispls, rtype, * root, comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L15; } __pyx_L14_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L15:; } } /* "MPI/msgpickle.pxi":668 * rbuf, rcounts, rdispls, rtype, * root, comm) ) * if dorecv: rmsg = pickle.loadv(rmsg, size, rcounts, rdispls) # <<<<<<<<<<<<<< * return rmsg * */ __pyx_t_2 = (__pyx_v_dorecv != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_loadv(__pyx_v_pickle, __pyx_v_rmsg, __pyx_v_size, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":669 * root, comm) ) * if dorecv: rmsg = pickle.loadv(rmsg, size, rcounts, rdispls) * return rmsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "MPI/msgpickle.pxi":624 * * * 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_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_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":672 * * * 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_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmps = 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; __Pyx_RefNannySetupContext("PyMPI_scatter", 0); /* "MPI/msgpickle.pxi":673 * * 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; /* "MPI/msgpickle.pxi":675 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int *scounts = NULL * cdef int *sdispls = NULL */ __pyx_v_sbuf = NULL; /* "MPI/msgpickle.pxi":676 * # * cdef void *sbuf = NULL * cdef int *scounts = NULL # <<<<<<<<<<<<<< * cdef int *sdispls = NULL * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_scounts = NULL; /* "MPI/msgpickle.pxi":677 * 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; /* "MPI/msgpickle.pxi":678 * 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; /* "MPI/msgpickle.pxi":679 * 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; /* "MPI/msgpickle.pxi":680 * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL * cdef int rcount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rcount = 0; /* "MPI/msgpickle.pxi":681 * 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; /* "MPI/msgpickle.pxi":683 * 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; /* "MPI/msgpickle.pxi":684 * # * 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; /* "MPI/msgpickle.pxi":685 * 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 == -1)) __PYX_ERR(19, 685, __pyx_L1_error) /* "MPI/msgpickle.pxi":686 * 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) { /* "MPI/msgpickle.pxi":687 * 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 == -1)) __PYX_ERR(19, 687, __pyx_L1_error) /* "MPI/msgpickle.pxi":688 * 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) { /* "MPI/msgpickle.pxi":689 * 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; /* "MPI/msgpickle.pxi":688 * 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; } /* "MPI/msgpickle.pxi":690 * 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) { /* "MPI/msgpickle.pxi":691 * 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; /* "MPI/msgpickle.pxi":690 * if root == MPI_PROC_NULL: * dosend=0; dorecv=0; * elif root == MPI_ROOT: # <<<<<<<<<<<<<< * dosend=1; dorecv=0; * else: */ goto __pyx_L4; } /* "MPI/msgpickle.pxi":693 * 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:; /* "MPI/msgpickle.pxi":686 * 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; } /* "MPI/msgpickle.pxi":695 * 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 == -1)) __PYX_ERR(19, 695, __pyx_L1_error) /* "MPI/msgpickle.pxi":696 * 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 == -1)) __PYX_ERR(19, 696, __pyx_L1_error) /* "MPI/msgpickle.pxi":697 * 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) { /* "MPI/msgpickle.pxi":698 * 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; /* "MPI/msgpickle.pxi":697 * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * dosend=1; dorecv=1; * else: */ goto __pyx_L5; } /* "MPI/msgpickle.pxi":700 * dosend=1; dorecv=1; * else: * dosend=0; dorecv=1; # <<<<<<<<<<<<<< * # * cdef object tmp1 = None, tmp2 = None */ /*else*/ { __pyx_v_dosend = 0; __pyx_v_dorecv = 1; } __pyx_L5:; } __pyx_L3:; /* "MPI/msgpickle.pxi":702 * dosend=0; dorecv=1; * # * cdef object tmp1 = None, tmp2 = None # <<<<<<<<<<<<<< * if dosend: tmp1 = allocate_int(size, &scounts) * if dosend: tmp2 = allocate_int(size, &sdispls) */ __Pyx_INCREF(Py_None); __pyx_v_tmp1 = Py_None; __Pyx_INCREF(Py_None); __pyx_v_tmp2 = Py_None; /* "MPI/msgpickle.pxi":703 * # * cdef object tmp1 = None, tmp2 = None * if dosend: tmp1 = allocate_int(size, &scounts) # <<<<<<<<<<<<<< * if dosend: tmp2 = allocate_int(size, &sdispls) * # */ __pyx_t_2 = (__pyx_v_dosend != 0); if (__pyx_t_2) { __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_size, (&__pyx_v_scounts))); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_tmp1, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":704 * cdef object tmp1 = None, tmp2 = None * if dosend: tmp1 = allocate_int(size, &scounts) * if dosend: tmp2 = allocate_int(size, &sdispls) # <<<<<<<<<<<<<< * # * cdef object tmps = None */ __pyx_t_2 = (__pyx_v_dosend != 0); if (__pyx_t_2) { __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_size, (&__pyx_v_sdispls))); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 704, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_tmp2, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":706 * if dosend: tmp2 = allocate_int(size, &sdispls) * # * cdef object tmps = None # <<<<<<<<<<<<<< * if dosend: tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with nogil: CHKERR( MPI_Scatter(scounts, 1, MPI_INT, */ __Pyx_INCREF(Py_None); __pyx_v_tmps = Py_None; /* "MPI/msgpickle.pxi":707 * # * cdef object tmps = None * if dosend: tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Scatter(scounts, 1, MPI_INT, * &rcount, 1, MPI_INT, */ __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(19, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_tmps, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":708 * cdef object tmps = None * if dosend: tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with nogil: CHKERR( MPI_Scatter(scounts, 1, MPI_INT, # <<<<<<<<<<<<<< * &rcount, 1, MPI_INT, * root, comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":710 * with nogil: CHKERR( MPI_Scatter(scounts, 1, MPI_INT, * &rcount, 1, MPI_INT, * root, comm) ) # <<<<<<<<<<<<<< * cdef object rmsg = None * if dorecv: rmsg = pickle.alloc(&rbuf, rcount) */ __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 == -1)) __PYX_ERR(19, 708, __pyx_L10_error) } /* "MPI/msgpickle.pxi":708 * cdef object tmps = None * if dosend: tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with nogil: CHKERR( MPI_Scatter(scounts, 1, MPI_INT, # <<<<<<<<<<<<<< * &rcount, 1, MPI_INT, * root, comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L11; } __pyx_L10_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L11:; } } /* "MPI/msgpickle.pxi":711 * &rcount, 1, MPI_INT, * root, comm) ) * cdef object rmsg = None # <<<<<<<<<<<<<< * if dorecv: rmsg = pickle.alloc(&rbuf, rcount) * with nogil: CHKERR( MPI_Scatterv(sbuf, scounts, sdispls, stype, */ __Pyx_INCREF(Py_None); __pyx_v_rmsg = Py_None; /* "MPI/msgpickle.pxi":712 * root, comm) ) * cdef object rmsg = None * if dorecv: rmsg = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Scatterv(sbuf, scounts, sdispls, stype, * rbuf, rcount, rtype, */ __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(19, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":713 * cdef object rmsg = None * if dorecv: rmsg = pickle.alloc(&rbuf, rcount) * with nogil: CHKERR( MPI_Scatterv(sbuf, scounts, sdispls, stype, # <<<<<<<<<<<<<< * rbuf, rcount, rtype, * root, comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":715 * with nogil: CHKERR( MPI_Scatterv(sbuf, scounts, sdispls, stype, * rbuf, rcount, rtype, * root, comm) ) # <<<<<<<<<<<<<< * if dorecv: rmsg = pickle.load(rmsg) * return rmsg */ __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 == -1)) __PYX_ERR(19, 713, __pyx_L14_error) } /* "MPI/msgpickle.pxi":713 * cdef object rmsg = None * if dorecv: rmsg = pickle.alloc(&rbuf, rcount) * with nogil: CHKERR( MPI_Scatterv(sbuf, scounts, sdispls, stype, # <<<<<<<<<<<<<< * rbuf, rcount, rtype, * root, comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L15; } __pyx_L14_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L15:; } } /* "MPI/msgpickle.pxi":716 * rbuf, rcount, rtype, * root, comm) ) * if dorecv: rmsg = pickle.load(rmsg) # <<<<<<<<<<<<<< * return rmsg * */ __pyx_t_2 = (__pyx_v_dorecv != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_rmsg); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":717 * root, comm) ) * if dorecv: rmsg = pickle.load(rmsg) * return rmsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "MPI/msgpickle.pxi":672 * * * 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_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_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":720 * * * 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_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmps = 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; __Pyx_RefNannySetupContext("PyMPI_allgather", 0); /* "MPI/msgpickle.pxi":721 * * 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; /* "MPI/msgpickle.pxi":723 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "MPI/msgpickle.pxi":724 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL */ __pyx_v_scount = 0; /* "MPI/msgpickle.pxi":725 * 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; /* "MPI/msgpickle.pxi":726 * 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; /* "MPI/msgpickle.pxi":727 * 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; /* "MPI/msgpickle.pxi":728 * cdef void *rbuf = NULL * cdef int *rcounts = NULL * cdef int *rdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rdispls = NULL; /* "MPI/msgpickle.pxi":729 * 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; /* "MPI/msgpickle.pxi":731 * 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; /* "MPI/msgpickle.pxi":732 * # * 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 == -1)) __PYX_ERR(19, 732, __pyx_L1_error) /* "MPI/msgpickle.pxi":733 * 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) { /* "MPI/msgpickle.pxi":734 * 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 == -1)) __PYX_ERR(19, 734, __pyx_L1_error) /* "MPI/msgpickle.pxi":733 * 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; } /* "MPI/msgpickle.pxi":736 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * else: * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * # * cdef object tmp1 = allocate_int(size, &rcounts) */ /*else*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 736, __pyx_L1_error) } __pyx_L3:; /* "MPI/msgpickle.pxi":738 * CHKERR( MPI_Comm_size(comm, &size) ) * # * cdef object tmp1 = allocate_int(size, &rcounts) # <<<<<<<<<<<<<< * cdef object tmp2 = allocate_int(size, &rdispls) * # */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_size, (&__pyx_v_rcounts))); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp1 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":739 * # * cdef object tmp1 = allocate_int(size, &rcounts) * cdef object tmp2 = allocate_int(size, &rdispls) # <<<<<<<<<<<<<< * # * cdef object tmps = pickle.dump(sendobj, &sbuf, &scount) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_size, (&__pyx_v_rdispls))); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 739, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp2 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":741 * cdef object tmp2 = allocate_int(size, &rdispls) * # * cdef object tmps = pickle.dump(sendobj, &sbuf, &scount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Allgather(&scount, 1, MPI_INT, * rcounts, 1, MPI_INT, */ __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(19, 741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmps = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":742 * # * cdef object tmps = pickle.dump(sendobj, &sbuf, &scount) * with nogil: CHKERR( MPI_Allgather(&scount, 1, MPI_INT, # <<<<<<<<<<<<<< * rcounts, 1, MPI_INT, * comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":744 * with nogil: CHKERR( MPI_Allgather(&scount, 1, MPI_INT, * rcounts, 1, MPI_INT, * comm) ) # <<<<<<<<<<<<<< * cdef object rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Allgatherv(sbuf, scount, stype, */ __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 == -1)) __PYX_ERR(19, 742, __pyx_L5_error) } /* "MPI/msgpickle.pxi":742 * # * cdef object tmps = pickle.dump(sendobj, &sbuf, &scount) * with nogil: CHKERR( MPI_Allgather(&scount, 1, MPI_INT, # <<<<<<<<<<<<<< * rcounts, 1, MPI_INT, * comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":745 * rcounts, 1, MPI_INT, * comm) ) * cdef object rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Allgatherv(sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, */ __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(19, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_rmsg = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":746 * comm) ) * cdef object rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Allgatherv(sbuf, scount, stype, # <<<<<<<<<<<<<< * rbuf, rcounts, rdispls, rtype, * comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":748 * with nogil: CHKERR( MPI_Allgatherv(sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, * comm) ) # <<<<<<<<<<<<<< * rmsg = pickle.loadv(rmsg, size, rcounts, rdispls) * return rmsg */ __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 == -1)) __PYX_ERR(19, 746, __pyx_L8_error) } /* "MPI/msgpickle.pxi":746 * comm) ) * cdef object rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Allgatherv(sbuf, scount, stype, # <<<<<<<<<<<<<< * rbuf, rcounts, rdispls, rtype, * comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L9; } __pyx_L8_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L9:; } } /* "MPI/msgpickle.pxi":749 * rbuf, rcounts, rdispls, rtype, * comm) ) * rmsg = pickle.loadv(rmsg, size, rcounts, rdispls) # <<<<<<<<<<<<<< * return rmsg * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_loadv(__pyx_v_pickle, __pyx_v_rmsg, __pyx_v_size, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":750 * comm) ) * rmsg = pickle.loadv(rmsg, size, rcounts, rdispls) * return rmsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "MPI/msgpickle.pxi":720 * * * 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_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_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":753 * * * 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_tmps1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmps2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmpr1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmpr2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmps = 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; __Pyx_RefNannySetupContext("PyMPI_alltoall", 0); /* "MPI/msgpickle.pxi":754 * * 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; /* "MPI/msgpickle.pxi":756 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int *scounts = NULL * cdef int *sdispls = NULL */ __pyx_v_sbuf = NULL; /* "MPI/msgpickle.pxi":757 * # * cdef void *sbuf = NULL * cdef int *scounts = NULL # <<<<<<<<<<<<<< * cdef int *sdispls = NULL * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_scounts = NULL; /* "MPI/msgpickle.pxi":758 * 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; /* "MPI/msgpickle.pxi":759 * 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; /* "MPI/msgpickle.pxi":760 * 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; /* "MPI/msgpickle.pxi":761 * 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; /* "MPI/msgpickle.pxi":762 * cdef void *rbuf = NULL * cdef int *rcounts = NULL * cdef int *rdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rdispls = NULL; /* "MPI/msgpickle.pxi":763 * 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; /* "MPI/msgpickle.pxi":765 * 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; /* "MPI/msgpickle.pxi":766 * # * 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 == -1)) __PYX_ERR(19, 766, __pyx_L1_error) /* "MPI/msgpickle.pxi":767 * 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) { /* "MPI/msgpickle.pxi":768 * 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 == -1)) __PYX_ERR(19, 768, __pyx_L1_error) /* "MPI/msgpickle.pxi":767 * 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; } /* "MPI/msgpickle.pxi":770 * CHKERR( MPI_Comm_remote_size(comm, &size) ) * else: * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * # * cdef object tmps1 = allocate_int(size, &scounts) */ /*else*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 770, __pyx_L1_error) } __pyx_L3:; /* "MPI/msgpickle.pxi":772 * CHKERR( MPI_Comm_size(comm, &size) ) * # * cdef object tmps1 = allocate_int(size, &scounts) # <<<<<<<<<<<<<< * cdef object tmps2 = allocate_int(size, &sdispls) * cdef object tmpr1 = allocate_int(size, &rcounts) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_size, (&__pyx_v_scounts))); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmps1 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":773 * # * cdef object tmps1 = allocate_int(size, &scounts) * cdef object tmps2 = allocate_int(size, &sdispls) # <<<<<<<<<<<<<< * cdef object tmpr1 = allocate_int(size, &rcounts) * cdef object tmpr2 = allocate_int(size, &rdispls) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_size, (&__pyx_v_sdispls))); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmps2 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":774 * cdef object tmps1 = allocate_int(size, &scounts) * cdef object tmps2 = allocate_int(size, &sdispls) * cdef object tmpr1 = allocate_int(size, &rcounts) # <<<<<<<<<<<<<< * cdef object tmpr2 = allocate_int(size, &rdispls) * # */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_size, (&__pyx_v_rcounts))); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmpr1 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":775 * cdef object tmps2 = allocate_int(size, &sdispls) * cdef object tmpr1 = allocate_int(size, &rcounts) * cdef object tmpr2 = allocate_int(size, &rdispls) # <<<<<<<<<<<<<< * # * cdef object tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_size, (&__pyx_v_rdispls))); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmpr2 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":777 * cdef object tmpr2 = allocate_int(size, &rdispls) * # * cdef object tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Alltoall(scounts, 1, MPI_INT, * rcounts, 1, MPI_INT, */ __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(19, 777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmps = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":778 * # * cdef object tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with nogil: CHKERR( MPI_Alltoall(scounts, 1, MPI_INT, # <<<<<<<<<<<<<< * rcounts, 1, MPI_INT, * comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":780 * with nogil: CHKERR( MPI_Alltoall(scounts, 1, MPI_INT, * rcounts, 1, MPI_INT, * comm) ) # <<<<<<<<<<<<<< * cdef object rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Alltoallv(sbuf, scounts, sdispls, stype, */ __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 == -1)) __PYX_ERR(19, 778, __pyx_L5_error) } /* "MPI/msgpickle.pxi":778 * # * cdef object tmps = pickle.dumpv(sendobj, &sbuf, size, scounts, sdispls) * with nogil: CHKERR( MPI_Alltoall(scounts, 1, MPI_INT, # <<<<<<<<<<<<<< * rcounts, 1, MPI_INT, * comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":781 * rcounts, 1, MPI_INT, * comm) ) * cdef object rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Alltoallv(sbuf, scounts, sdispls, stype, * rbuf, rcounts, rdispls, rtype, */ __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(19, 781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_rmsg = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":782 * comm) ) * cdef object rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Alltoallv(sbuf, scounts, sdispls, stype, # <<<<<<<<<<<<<< * rbuf, rcounts, rdispls, rtype, * comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":784 * with nogil: CHKERR( MPI_Alltoallv(sbuf, scounts, sdispls, stype, * rbuf, rcounts, rdispls, rtype, * comm) ) # <<<<<<<<<<<<<< * rmsg = pickle.loadv(rmsg, size, rcounts, rdispls) * return rmsg */ __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 == -1)) __PYX_ERR(19, 782, __pyx_L8_error) } /* "MPI/msgpickle.pxi":782 * comm) ) * cdef object rmsg = pickle.allocv(&rbuf, size, rcounts, rdispls) * with nogil: CHKERR( MPI_Alltoallv(sbuf, scounts, sdispls, stype, # <<<<<<<<<<<<<< * rbuf, rcounts, rdispls, rtype, * comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L9; } __pyx_L8_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L9:; } } /* "MPI/msgpickle.pxi":785 * rbuf, rcounts, rdispls, rtype, * comm) ) * rmsg = pickle.loadv(rmsg, size, rcounts, rdispls) # <<<<<<<<<<<<<< * return rmsg * */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_loadv(__pyx_v_pickle, __pyx_v_rmsg, __pyx_v_size, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":786 * comm) ) * rmsg = pickle.loadv(rmsg, size, rcounts, rdispls) * return rmsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "MPI/msgpickle.pxi":753 * * * 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_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_tmps1); __Pyx_XDECREF(__pyx_v_tmps2); __Pyx_XDECREF(__pyx_v_tmpr1); __Pyx_XDECREF(__pyx_v_tmpr2); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":789 * * * 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_tmp1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmp2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; PyObject *__pyx_v_rmsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("PyMPI_neighbor_allgather", 0); /* "MPI/msgpickle.pxi":790 * * 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; /* "MPI/msgpickle.pxi":792 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int scount = 0 * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_sbuf = NULL; /* "MPI/msgpickle.pxi":793 * # * cdef void *sbuf = NULL * cdef int scount = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype stype = MPI_BYTE * cdef void *rbuf = NULL */ __pyx_v_scount = 0; /* "MPI/msgpickle.pxi":794 * 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; /* "MPI/msgpickle.pxi":795 * 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; /* "MPI/msgpickle.pxi":796 * 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; /* "MPI/msgpickle.pxi":797 * cdef void *rbuf = NULL * cdef int *rcounts = NULL * cdef int *rdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rdispls = NULL; /* "MPI/msgpickle.pxi":798 * 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; /* "MPI/msgpickle.pxi":800 * 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; /* "MPI/msgpickle.pxi":801 * # * cdef int i=0, rsize=0 * comm_neighbors_count(comm, &rsize, NULL) # <<<<<<<<<<<<<< * # * cdef object tmp1 = allocate_int(rsize, &rcounts) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_comm_neighbors_count(__pyx_v_comm, (&__pyx_v_rsize), NULL); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 801, __pyx_L1_error) /* "MPI/msgpickle.pxi":803 * comm_neighbors_count(comm, &rsize, NULL) * # * cdef object tmp1 = allocate_int(rsize, &rcounts) # <<<<<<<<<<<<<< * cdef object tmp2 = allocate_int(rsize, &rdispls) * for i from 0 <= i < rsize: rcounts[i] = 0 */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_rsize, (&__pyx_v_rcounts))); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":804 * # * cdef object tmp1 = allocate_int(rsize, &rcounts) * cdef object tmp2 = allocate_int(rsize, &rdispls) # <<<<<<<<<<<<<< * for i from 0 <= i < rsize: rcounts[i] = 0 * # */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_rsize, (&__pyx_v_rdispls))); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":805 * cdef object tmp1 = allocate_int(rsize, &rcounts) * cdef object tmp2 = allocate_int(rsize, &rdispls) * for i from 0 <= i < rsize: rcounts[i] = 0 # <<<<<<<<<<<<<< * # * cdef object tmps = pickle.dump(sendobj, &sbuf, &scount) */ __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; } /* "MPI/msgpickle.pxi":807 * for i from 0 <= i < rsize: rcounts[i] = 0 * # * cdef object tmps = pickle.dump(sendobj, &sbuf, &scount) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_allgather(&scount, 1, MPI_INT, * rcounts, 1, MPI_INT, */ __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(19, 807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmps = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":808 * # * cdef object tmps = pickle.dump(sendobj, &sbuf, &scount) * with nogil: CHKERR( MPI_Neighbor_allgather(&scount, 1, MPI_INT, # <<<<<<<<<<<<<< * rcounts, 1, MPI_INT, * comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":810 * with nogil: CHKERR( MPI_Neighbor_allgather(&scount, 1, MPI_INT, * rcounts, 1, MPI_INT, * comm) ) # <<<<<<<<<<<<<< * cdef object rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) * with nogil: CHKERR( MPI_Neighbor_allgatherv(sbuf, scount, stype, */ __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 == -1)) __PYX_ERR(19, 808, __pyx_L6_error) } /* "MPI/msgpickle.pxi":808 * # * cdef object tmps = pickle.dump(sendobj, &sbuf, &scount) * with nogil: CHKERR( MPI_Neighbor_allgather(&scount, 1, MPI_INT, # <<<<<<<<<<<<<< * rcounts, 1, MPI_INT, * comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L7; } __pyx_L6_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L7:; } } /* "MPI/msgpickle.pxi":811 * rcounts, 1, MPI_INT, * comm) ) * cdef object rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_allgatherv(sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, */ __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(19, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_rmsg = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":812 * comm) ) * cdef object rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) * with nogil: CHKERR( MPI_Neighbor_allgatherv(sbuf, scount, stype, # <<<<<<<<<<<<<< * rbuf, rcounts, rdispls, rtype, * comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":814 * with nogil: CHKERR( MPI_Neighbor_allgatherv(sbuf, scount, stype, * rbuf, rcounts, rdispls, rtype, * comm) ) # <<<<<<<<<<<<<< * rmsg = pickle.loadv(rmsg, rsize, rcounts, rdispls) * return rmsg */ __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 == -1)) __PYX_ERR(19, 812, __pyx_L9_error) } /* "MPI/msgpickle.pxi":812 * comm) ) * cdef object rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) * with nogil: CHKERR( MPI_Neighbor_allgatherv(sbuf, scount, stype, # <<<<<<<<<<<<<< * rbuf, rcounts, rdispls, rtype, * comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L10; } __pyx_L9_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L10:; } } /* "MPI/msgpickle.pxi":815 * rbuf, rcounts, rdispls, rtype, * comm) ) * rmsg = pickle.loadv(rmsg, rsize, rcounts, rdispls) # <<<<<<<<<<<<<< * return rmsg * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_loadv(__pyx_v_pickle, __pyx_v_rmsg, __pyx_v_rsize, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":816 * comm) ) * rmsg = pickle.loadv(rmsg, rsize, rcounts, rdispls) * return rmsg # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "MPI/msgpickle.pxi":789 * * * 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_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_tmp1); __Pyx_XDECREF(__pyx_v_tmp2); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":819 * * * 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_tmps1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmps2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmpr1 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmpr2 = 0; CYTHON_UNUSED PyObject *__pyx_v_tmps = 0; PyObject *__pyx_v_rmsg = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("PyMPI_neighbor_alltoall", 0); /* "MPI/msgpickle.pxi":820 * * 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; /* "MPI/msgpickle.pxi":822 * cdef Pickle pickle = PyMPI_PICKLE * # * cdef void *sbuf = NULL # <<<<<<<<<<<<<< * cdef int *scounts = NULL * cdef int *sdispls = NULL */ __pyx_v_sbuf = NULL; /* "MPI/msgpickle.pxi":823 * # * cdef void *sbuf = NULL * cdef int *scounts = NULL # <<<<<<<<<<<<<< * cdef int *sdispls = NULL * cdef MPI_Datatype stype = MPI_BYTE */ __pyx_v_scounts = NULL; /* "MPI/msgpickle.pxi":824 * 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; /* "MPI/msgpickle.pxi":825 * 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; /* "MPI/msgpickle.pxi":826 * 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; /* "MPI/msgpickle.pxi":827 * 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; /* "MPI/msgpickle.pxi":828 * cdef void *rbuf = NULL * cdef int *rcounts = NULL * cdef int *rdispls = NULL # <<<<<<<<<<<<<< * cdef MPI_Datatype rtype = MPI_BYTE * # */ __pyx_v_rdispls = NULL; /* "MPI/msgpickle.pxi":829 * 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; /* "MPI/msgpickle.pxi":831 * 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; /* "MPI/msgpickle.pxi":832 * # * cdef int i=0, ssize=0, rsize=0 * comm_neighbors_count(comm, &rsize, &ssize) # <<<<<<<<<<<<<< * # * cdef object tmps1 = allocate_int(ssize, &scounts) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_comm_neighbors_count(__pyx_v_comm, (&__pyx_v_rsize), (&__pyx_v_ssize)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 832, __pyx_L1_error) /* "MPI/msgpickle.pxi":834 * comm_neighbors_count(comm, &rsize, &ssize) * # * cdef object tmps1 = allocate_int(ssize, &scounts) # <<<<<<<<<<<<<< * cdef object tmps2 = allocate_int(ssize, &sdispls) * cdef object tmpr1 = allocate_int(rsize, &rcounts) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_ssize, (&__pyx_v_scounts))); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmps1 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":835 * # * cdef object tmps1 = allocate_int(ssize, &scounts) * cdef object tmps2 = allocate_int(ssize, &sdispls) # <<<<<<<<<<<<<< * cdef object tmpr1 = allocate_int(rsize, &rcounts) * cdef object tmpr2 = allocate_int(rsize, &rdispls) */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_ssize, (&__pyx_v_sdispls))); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmps2 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":836 * cdef object tmps1 = allocate_int(ssize, &scounts) * cdef object tmps2 = allocate_int(ssize, &sdispls) * cdef object tmpr1 = allocate_int(rsize, &rcounts) # <<<<<<<<<<<<<< * cdef object tmpr2 = allocate_int(rsize, &rdispls) * for i from 0 <= i < rsize: rcounts[i] = 0 */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_rsize, (&__pyx_v_rcounts))); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmpr1 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":837 * cdef object tmps2 = allocate_int(ssize, &sdispls) * cdef object tmpr1 = allocate_int(rsize, &rcounts) * cdef object tmpr2 = allocate_int(rsize, &rdispls) # <<<<<<<<<<<<<< * for i from 0 <= i < rsize: rcounts[i] = 0 * # */ __pyx_t_2 = ((PyObject *)__pyx_f_6mpi4py_3MPI_allocate_int(__pyx_v_rsize, (&__pyx_v_rdispls))); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmpr2 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":838 * cdef object tmpr1 = allocate_int(rsize, &rcounts) * cdef object tmpr2 = allocate_int(rsize, &rdispls) * for i from 0 <= i < rsize: rcounts[i] = 0 # <<<<<<<<<<<<<< * # * cdef object tmps = pickle.dumpv(sendobj, &sbuf, ssize, scounts, sdispls) */ __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; } /* "MPI/msgpickle.pxi":840 * for i from 0 <= i < rsize: rcounts[i] = 0 * # * cdef object tmps = pickle.dumpv(sendobj, &sbuf, ssize, scounts, sdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_alltoall(scounts, 1, MPI_INT, * rcounts, 1, MPI_INT, */ __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(19, 840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmps = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":841 * # * cdef object tmps = pickle.dumpv(sendobj, &sbuf, ssize, scounts, sdispls) * with nogil: CHKERR( MPI_Neighbor_alltoall(scounts, 1, MPI_INT, # <<<<<<<<<<<<<< * rcounts, 1, MPI_INT, * comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":843 * with nogil: CHKERR( MPI_Neighbor_alltoall(scounts, 1, MPI_INT, * rcounts, 1, MPI_INT, * comm) ) # <<<<<<<<<<<<<< * cdef object rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) * with nogil: CHKERR( MPI_Neighbor_alltoallv(sbuf, scounts, sdispls, stype, */ __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 == -1)) __PYX_ERR(19, 841, __pyx_L6_error) } /* "MPI/msgpickle.pxi":841 * # * cdef object tmps = pickle.dumpv(sendobj, &sbuf, ssize, scounts, sdispls) * with nogil: CHKERR( MPI_Neighbor_alltoall(scounts, 1, MPI_INT, # <<<<<<<<<<<<<< * rcounts, 1, MPI_INT, * comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L7; } __pyx_L6_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L7:; } } /* "MPI/msgpickle.pxi":844 * rcounts, 1, MPI_INT, * comm) ) * cdef object rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Neighbor_alltoallv(sbuf, scounts, sdispls, stype, * rbuf, rcounts, rdispls, rtype, */ __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(19, 844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_rmsg = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":845 * comm) ) * cdef object rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) * with nogil: CHKERR( MPI_Neighbor_alltoallv(sbuf, scounts, sdispls, stype, # <<<<<<<<<<<<<< * rbuf, rcounts, rdispls, rtype, * comm) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":847 * with nogil: CHKERR( MPI_Neighbor_alltoallv(sbuf, scounts, sdispls, stype, * rbuf, rcounts, rdispls, rtype, * comm) ) # <<<<<<<<<<<<<< * rmsg = pickle.loadv(rmsg, rsize, rcounts, rdispls) * return rmsg */ __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 == -1)) __PYX_ERR(19, 845, __pyx_L9_error) } /* "MPI/msgpickle.pxi":845 * comm) ) * cdef object rmsg = pickle.allocv(&rbuf, rsize, rcounts, rdispls) * with nogil: CHKERR( MPI_Neighbor_alltoallv(sbuf, scounts, sdispls, stype, # <<<<<<<<<<<<<< * rbuf, rcounts, rdispls, rtype, * comm) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L10; } __pyx_L9_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L10:; } } /* "MPI/msgpickle.pxi":848 * rbuf, rcounts, rdispls, rtype, * comm) ) * rmsg = pickle.loadv(rmsg, rsize, rcounts, rdispls) # <<<<<<<<<<<<<< * return rmsg * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_loadv(__pyx_v_pickle, __pyx_v_rmsg, __pyx_v_rsize, __pyx_v_rcounts, __pyx_v_rdispls); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":849 * comm) ) * rmsg = pickle.loadv(rmsg, rsize, rcounts, rdispls) * return rmsg # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_rmsg); __pyx_r = __pyx_v_rmsg; goto __pyx_L0; /* "MPI/msgpickle.pxi":819 * * * 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_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_tmps1); __Pyx_XDECREF(__pyx_v_tmps2); __Pyx_XDECREF(__pyx_v_tmpr1); __Pyx_XDECREF(__pyx_v_tmpr2); __Pyx_XDECREF(__pyx_v_tmps); __Pyx_XDECREF(__pyx_v_rmsg); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":853 * # ----------------------------------------------------------------------------- * * 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; __Pyx_RefNannySetupContext("_py_reduce", 0); /* "MPI/msgpickle.pxi":854 * * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":855 * 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; /* "MPI/msgpickle.pxi":856 * 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 == -1)) __PYX_ERR(19, 856, __pyx_L1_error) __pyx_v_n = __pyx_t_3; /* "MPI/msgpickle.pxi":857 * 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(19, 857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_res = __pyx_t_4; __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":858 * 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++) { /* "MPI/msgpickle.pxi":859 * 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(19, 859, __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(19, 859, __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(19, 859, __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(19, 859, __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(19, 859, __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; } /* "MPI/msgpickle.pxi":860 * 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; /* "MPI/msgpickle.pxi":853 * # ----------------------------------------------------------------------------- * * 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; } /* "MPI/msgpickle.pxi":862 * 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; __Pyx_RefNannySetupContext("_py_scan", 0); /* "MPI/msgpickle.pxi":863 * * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":864 * 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; /* "MPI/msgpickle.pxi":865 * 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 == -1)) __PYX_ERR(19, 865, __pyx_L1_error) __pyx_v_n = __pyx_t_3; /* "MPI/msgpickle.pxi":866 * 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++) { /* "MPI/msgpickle.pxi":867 * 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(19, 867, __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(19, 867, __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(19, 867, __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(19, 867, __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(19, 867, __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(19, 867, __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(19, 867, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } /* "MPI/msgpickle.pxi":868 * 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; /* "MPI/msgpickle.pxi":862 * 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; } /* "MPI/msgpickle.pxi":870 * 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; __Pyx_RefNannySetupContext("_py_exscan", 0); __Pyx_INCREF(__pyx_v_seq); /* "MPI/msgpickle.pxi":871 * * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/msgpickle.pxi":872 * 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(19, 872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_seq, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":873 * 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(19, 873, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":874 * 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(19, 874, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 874, __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; /* "MPI/msgpickle.pxi":875 * 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; /* "MPI/msgpickle.pxi":870 * 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; } /* "MPI/msgpickle.pxi":877 * 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; __Pyx_RefNannySetupContext("PyMPI_reduce_naive", 0); /* "MPI/msgpickle.pxi":879 * 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(19, 879, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_items = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":880 * 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(19, 880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":877 * 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; } /* "MPI/msgpickle.pxi":882 * 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; __Pyx_RefNannySetupContext("PyMPI_allreduce_naive", 0); /* "MPI/msgpickle.pxi":883 * * 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(19, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_items = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":884 * 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(19, 884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":882 * 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; } /* "MPI/msgpickle.pxi":886 * 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; __Pyx_RefNannySetupContext("PyMPI_scan_naive", 0); /* "MPI/msgpickle.pxi":887 * * 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(19, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_items = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":888 * 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(19, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_items, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":889 * 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(19, 889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":886 * 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; } /* "MPI/msgpickle.pxi":891 * 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; __Pyx_RefNannySetupContext("PyMPI_exscan_naive", 0); /* "MPI/msgpickle.pxi":892 * * 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(19, 892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_items = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":893 * 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(19, 893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_items, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":894 * 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(19, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":891 * 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; } /* "MPI/msgpickle.pxi":898 * # ----- * * 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; __Pyx_RefNannySetupContext("PyMPI_copy", 0); __Pyx_INCREF(__pyx_v_obj); /* "MPI/msgpickle.pxi":899 * * 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; /* "MPI/msgpickle.pxi":900 * 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; /* "MPI/msgpickle.pxi":901 * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = NULL * cdef int count = 0 # <<<<<<<<<<<<<< * obj = pickle.dump(obj, &buf, &count) * return pickle.load(obj) */ __pyx_v_count = 0; /* "MPI/msgpickle.pxi":902 * cdef void *buf = NULL * cdef int count = 0 * obj = pickle.dump(obj, &buf, &count) # <<<<<<<<<<<<<< * return pickle.load(obj) * */ __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(19, 902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_obj, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":903 * cdef int count = 0 * obj = pickle.dump(obj, &buf, &count) * return pickle.load(obj) # <<<<<<<<<<<<<< * * 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_obj); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 903, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":898 * # ----- * * 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; } /* "MPI/msgpickle.pxi":905 * return pickle.load(obj) * * cdef object PyMPI_send_p2p(object obj, int dst, int tag, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = 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_buf; int __pyx_v_count; MPI_Datatype __pyx_v_dtype; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; __Pyx_RefNannySetupContext("PyMPI_send_p2p", 0); __Pyx_INCREF(__pyx_v_obj); /* "MPI/msgpickle.pxi":906 * * cdef object PyMPI_send_p2p(object obj, int dst, int tag, 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; /* "MPI/msgpickle.pxi":907 * cdef object PyMPI_send_p2p(object obj, int dst, int tag, 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; /* "MPI/msgpickle.pxi":908 * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = NULL * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype dtype = MPI_BYTE * obj = pickle.dump(obj, &buf, &count) */ __pyx_v_count = 0; /* "MPI/msgpickle.pxi":909 * cdef void *buf = NULL * cdef int count = 0 * cdef MPI_Datatype dtype = MPI_BYTE # <<<<<<<<<<<<<< * obj = pickle.dump(obj, &buf, &count) * with nogil: */ __pyx_v_dtype = MPI_BYTE; /* "MPI/msgpickle.pxi":910 * cdef int count = 0 * cdef MPI_Datatype dtype = MPI_BYTE * obj = pickle.dump(obj, &buf, &count) # <<<<<<<<<<<<<< * with nogil: * CHKERR( MPI_Send(&count, 1, MPI_INT, dst, tag, comm) ) */ __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(19, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_obj, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":911 * cdef MPI_Datatype dtype = MPI_BYTE * obj = pickle.dump(obj, &buf, &count) * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Send(&count, 1, MPI_INT, dst, tag, comm) ) * with nogil: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":912 * obj = pickle.dump(obj, &buf, &count) * with nogil: * CHKERR( MPI_Send(&count, 1, MPI_INT, dst, tag, comm) ) # <<<<<<<<<<<<<< * with nogil: * CHKERR( MPI_Send(buf, count, dtype, dst, tag, comm) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Send((&__pyx_v_count), 1, MPI_INT, __pyx_v_dst, __pyx_v_tag, __pyx_v_comm)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(19, 912, __pyx_L4_error) } /* "MPI/msgpickle.pxi":911 * cdef MPI_Datatype dtype = MPI_BYTE * obj = pickle.dump(obj, &buf, &count) * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Send(&count, 1, MPI_INT, dst, tag, comm) ) * with nogil: */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/msgpickle.pxi":913 * with nogil: * CHKERR( MPI_Send(&count, 1, MPI_INT, dst, tag, comm) ) * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Send(buf, count, dtype, dst, tag, comm) ) * return None */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":914 * CHKERR( MPI_Send(&count, 1, MPI_INT, dst, tag, comm) ) * with nogil: * CHKERR( MPI_Send(buf, count, dtype, dst, tag, comm) ) # <<<<<<<<<<<<<< * return None * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Send(__pyx_v_buf, __pyx_v_count, __pyx_v_dtype, __pyx_v_dst, __pyx_v_tag, __pyx_v_comm)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(19, 914, __pyx_L7_error) } /* "MPI/msgpickle.pxi":913 * with nogil: * CHKERR( MPI_Send(&count, 1, MPI_INT, dst, tag, comm) ) * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Send(buf, count, dtype, dst, tag, comm) ) * return None */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L8:; } } /* "MPI/msgpickle.pxi":915 * with nogil: * CHKERR( MPI_Send(buf, count, dtype, dst, tag, comm) ) * return None # <<<<<<<<<<<<<< * * cdef object PyMPI_recv_p2p(int src, int tag, MPI_Comm comm): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/msgpickle.pxi":905 * return pickle.load(obj) * * cdef object PyMPI_send_p2p(object obj, int dst, int tag, MPI_Comm comm): # <<<<<<<<<<<<<< * 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_send_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; } /* "MPI/msgpickle.pxi":917 * return None * * cdef object PyMPI_recv_p2p(int src, int tag, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = 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_buf; int __pyx_v_count; MPI_Datatype __pyx_v_dtype; MPI_Status *__pyx_v_status; PyObject *__pyx_v_obj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("PyMPI_recv_p2p", 0); /* "MPI/msgpickle.pxi":918 * * cdef object PyMPI_recv_p2p(int src, int tag, 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; /* "MPI/msgpickle.pxi":919 * cdef object PyMPI_recv_p2p(int src, int tag, 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; /* "MPI/msgpickle.pxi":920 * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = NULL * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Datatype dtype = MPI_BYTE * cdef MPI_Status *status = MPI_STATUS_IGNORE */ __pyx_v_count = 0; /* "MPI/msgpickle.pxi":921 * cdef void *buf = NULL * cdef int count = 0 * cdef MPI_Datatype dtype = MPI_BYTE # <<<<<<<<<<<<<< * cdef MPI_Status *status = MPI_STATUS_IGNORE * cdef object obj */ __pyx_v_dtype = MPI_BYTE; /* "MPI/msgpickle.pxi":922 * cdef int count = 0 * cdef MPI_Datatype dtype = MPI_BYTE * cdef MPI_Status *status = MPI_STATUS_IGNORE # <<<<<<<<<<<<<< * cdef object obj * with nogil: */ __pyx_v_status = MPI_STATUS_IGNORE; /* "MPI/msgpickle.pxi":924 * cdef MPI_Status *status = MPI_STATUS_IGNORE * cdef object obj * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Recv(&count, 1, MPI_INT, src, tag, comm, status) ) * obj = pickle.alloc(&buf, count) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":925 * cdef object obj * with nogil: * CHKERR( MPI_Recv(&count, 1, MPI_INT, src, tag, comm, status) ) # <<<<<<<<<<<<<< * obj = pickle.alloc(&buf, count) * with nogil: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Recv((&__pyx_v_count), 1, MPI_INT, __pyx_v_src, __pyx_v_tag, __pyx_v_comm, __pyx_v_status)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 925, __pyx_L4_error) } /* "MPI/msgpickle.pxi":924 * cdef MPI_Status *status = MPI_STATUS_IGNORE * cdef object obj * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Recv(&count, 1, MPI_INT, src, tag, comm, status) ) * obj = pickle.alloc(&buf, count) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/msgpickle.pxi":926 * with nogil: * CHKERR( MPI_Recv(&count, 1, MPI_INT, src, tag, comm, status) ) * obj = pickle.alloc(&buf, count) # <<<<<<<<<<<<<< * with nogil: * CHKERR( MPI_Recv(buf, count, dtype, src, tag, comm, status) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_6Pickle_alloc(__pyx_v_pickle, (&__pyx_v_buf), __pyx_v_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 926, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_obj = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":927 * CHKERR( MPI_Recv(&count, 1, MPI_INT, src, tag, comm, status) ) * obj = pickle.alloc(&buf, count) * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Recv(buf, count, dtype, src, tag, comm, status) ) * return pickle.load(obj) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":928 * obj = pickle.alloc(&buf, count) * with nogil: * CHKERR( MPI_Recv(buf, count, dtype, src, tag, comm, status) ) # <<<<<<<<<<<<<< * return pickle.load(obj) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Recv(__pyx_v_buf, __pyx_v_count, __pyx_v_dtype, __pyx_v_src, __pyx_v_tag, __pyx_v_comm, __pyx_v_status)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 928, __pyx_L7_error) } /* "MPI/msgpickle.pxi":927 * CHKERR( MPI_Recv(&count, 1, MPI_INT, src, tag, comm, status) ) * obj = pickle.alloc(&buf, count) * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Recv(buf, count, dtype, src, tag, comm, status) ) * return pickle.load(obj) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L8:; } } /* "MPI/msgpickle.pxi":929 * with nogil: * CHKERR( MPI_Recv(buf, count, dtype, src, tag, comm, status) ) * return pickle.load(obj) # <<<<<<<<<<<<<< * * 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_obj); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":917 * return None * * cdef object PyMPI_recv_p2p(int src, int tag, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef Pickle pickle = PyMPI_PICKLE * cdef void *buf = 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_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":931 * return pickle.load(obj) * * 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; PyObject *__pyx_v_robj = 0; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; __Pyx_RefNannySetupContext("PyMPI_sendrecv_p2p", 0); /* "MPI/msgpickle.pxi":935 * 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; /* "MPI/msgpickle.pxi":936 * 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; /* "MPI/msgpickle.pxi":937 * 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; /* "MPI/msgpickle.pxi":938 * 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: */ __pyx_v_dtype = MPI_BYTE; /* "MPI/msgpickle.pxi":939 * 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_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(19, 939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmps = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":940 * 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, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":941 * 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) ) */ __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 == -1)) __PYX_ERR(19, 941, __pyx_L4_error) } /* "MPI/msgpickle.pxi":940 * 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, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/msgpickle.pxi":944 * &rcount, 1, MPI_INT, src, rtag, * comm, MPI_STATUS_IGNORE) ) * cdef object robj = pickle.alloc(&rbuf, rcount) # <<<<<<<<<<<<<< * with nogil: * CHKERR( MPI_Sendrecv(sbuf, scount, dtype, dst, stag, */ __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(19, 944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_robj = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":945 * comm, MPI_STATUS_IGNORE) ) * cdef object robj = pickle.alloc(&rbuf, rcount) * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Sendrecv(sbuf, scount, dtype, dst, stag, * rbuf, rcount, dtype, src, rtag, */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/msgpickle.pxi":946 * cdef object robj = pickle.alloc(&rbuf, rcount) * with nogil: * CHKERR( MPI_Sendrecv(sbuf, scount, dtype, dst, stag, # <<<<<<<<<<<<<< * rbuf, rcount, dtype, src, rtag, * comm, MPI_STATUS_IGNORE) ) */ __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 == -1)) __PYX_ERR(19, 946, __pyx_L7_error) } /* "MPI/msgpickle.pxi":945 * comm, MPI_STATUS_IGNORE) ) * cdef object robj = pickle.alloc(&rbuf, rcount) * with nogil: # <<<<<<<<<<<<<< * CHKERR( MPI_Sendrecv(sbuf, scount, dtype, dst, stag, * rbuf, rcount, dtype, src, rtag, */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L8:; } } /* "MPI/msgpickle.pxi":949 * rbuf, rcount, dtype, src, rtag, * comm, MPI_STATUS_IGNORE) ) * return pickle.load(robj) # <<<<<<<<<<<<<< * * 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_robj); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":931 * return pickle.load(obj) * * 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_robj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":951 * return pickle.load(robj) * * 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; __Pyx_RefNannySetupContext("PyMPI_bcast_p2p", 0); __Pyx_INCREF(__pyx_v_obj); /* "MPI/msgpickle.pxi":952 * * 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; /* "MPI/msgpickle.pxi":953 * 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; /* "MPI/msgpickle.pxi":954 * 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; /* "MPI/msgpickle.pxi":955 * 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; /* "MPI/msgpickle.pxi":956 * 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; /* "MPI/msgpickle.pxi":957 * 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 nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, root, comm) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 957, __pyx_L1_error) /* "MPI/msgpickle.pxi":958 * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: obj = pickle.dump(obj, &buf, &count) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Bcast(&count, 1, MPI_INT, root, comm) ) * if root != rank: obj = pickle.alloc(&buf, count) */ __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(19, 958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_obj, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":959 * CHKERR( MPI_Comm_rank(comm, &rank) ) * if root == rank: obj = pickle.dump(obj, &buf, &count) * 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 #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 == -1)) __PYX_ERR(19, 959, __pyx_L5_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/msgpickle.pxi":960 * if root == rank: obj = pickle.dump(obj, &buf, &count) * 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(obj) */ __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(19, 960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_obj, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":961 * 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(obj) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #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 == -1)) __PYX_ERR(19, 961, __pyx_L9_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L10; } __pyx_L9_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L10:; } } /* "MPI/msgpickle.pxi":962 * if root != rank: obj = pickle.alloc(&buf, count) * with nogil: CHKERR( MPI_Bcast(buf, count, dtype, root, comm) ) * return pickle.load(obj) # <<<<<<<<<<<<<< * * cdef object PyMPI_reduce_p2p(object sendobj, object op, int root, */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __pyx_f_6mpi4py_3MPI_6Pickle_load(__pyx_v_pickle, __pyx_v_obj); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":951 * return pickle.load(robj) * * 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_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; } /* "MPI/msgpickle.pxi":964 * return pickle.load(obj) * * 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; PyObject *__pyx_t_8 = NULL; __Pyx_RefNannySetupContext("PyMPI_reduce_p2p", 0); __Pyx_INCREF(__pyx_v_sendobj); /* "MPI/msgpickle.pxi":967 * 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; /* "MPI/msgpickle.pxi":968 * # 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; /* "MPI/msgpickle.pxi":969 * 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 == -1)) __PYX_ERR(19, 969, __pyx_L1_error) /* "MPI/msgpickle.pxi":970 * 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 == -1)) __PYX_ERR(19, 970, __pyx_L1_error) /* "MPI/msgpickle.pxi":972 * 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 (__pyx_t_2) { /* "MPI/msgpickle.pxi":973 * # Check root argument * if root < 0 or root >= size: * MPI_Comm_call_errhandler(comm, MPI_ERR_ROOT) # <<<<<<<<<<<<<< * raise MPIException(MPI_ERR_ROOT) * if size == 1: sendobj = PyMPI_copy(sendobj) */ ((void)MPI_Comm_call_errhandler(__pyx_v_comm, MPI_ERR_ROOT)); /* "MPI/msgpickle.pxi":974 * if root < 0 or root >= size: * MPI_Comm_call_errhandler(comm, MPI_ERR_ROOT) * raise MPIException(MPI_ERR_ROOT) # <<<<<<<<<<<<<< * if size == 1: sendobj = PyMPI_copy(sendobj) * # */ __pyx_t_5 = __Pyx_PyInt_From_int(MPI_ERR_ROOT); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 974, __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); } } if (!__pyx_t_7) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 974, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 974, __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[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 974, __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_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(19, 974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } } __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(19, 974, __pyx_L1_error) /* "MPI/msgpickle.pxi":972 * 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) */ } /* "MPI/msgpickle.pxi":975 * MPI_Comm_call_errhandler(comm, MPI_ERR_ROOT) * raise MPIException(MPI_ERR_ROOT) * if size == 1: sendobj = PyMPI_copy(sendobj) # <<<<<<<<<<<<<< * # * cdef object result = sendobj */ __pyx_t_2 = ((__pyx_v_size == 1) != 0); if (__pyx_t_2) { __pyx_t_4 = __pyx_f_6mpi4py_3MPI_PyMPI_copy(__pyx_v_sendobj); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_sendobj, __pyx_t_4); __pyx_t_4 = 0; } /* "MPI/msgpickle.pxi":977 * if size == 1: sendobj = PyMPI_copy(sendobj) * # * cdef object result = sendobj # <<<<<<<<<<<<<< * cdef object tmp * # Compute reduction at process 0 */ __Pyx_INCREF(__pyx_v_sendobj); __pyx_v_result = __pyx_v_sendobj; /* "MPI/msgpickle.pxi":980 * 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); /* "MPI/msgpickle.pxi":981 * # 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); /* "MPI/msgpickle.pxi":982 * 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); /* "MPI/msgpickle.pxi":983 * 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; /* "MPI/msgpickle.pxi":984 * 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; /* "MPI/msgpickle.pxi":985 * 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) { /* "MPI/msgpickle.pxi":986 * 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)); /* "MPI/msgpickle.pxi":987 * 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(19, 987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":985 * cdef int target = 0 * while umask < usize: * if (umask & urank) != 0: # <<<<<<<<<<<<<< * target = ((urank & ~umask) % usize) * PyMPI_send_p2p(result, target, tag, comm) */ goto __pyx_L9; } /* "MPI/msgpickle.pxi":989 * 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)); /* "MPI/msgpickle.pxi":990 * 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) { /* "MPI/msgpickle.pxi":991 * 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(19, 991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_tmp, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":992 * 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_8 = NULL; __pyx_t_1 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_8); __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_8, __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(19, 992, __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_6)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __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(19, 992, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_result); __Pyx_GIVEREF(__pyx_v_result); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_1, __pyx_v_result); __Pyx_INCREF(__pyx_v_tmp); __Pyx_GIVEREF(__pyx_v_tmp); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_1, __pyx_v_tmp); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":990 * else: * target = (urank | umask) * if target < size: # <<<<<<<<<<<<<< * tmp = PyMPI_recv_p2p(target, tag, comm) * result = op(result, tmp) */ } } __pyx_L9:; /* "MPI/msgpickle.pxi":993 * 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); } /* "MPI/msgpickle.pxi":995 * umask <<= 1 * # Send reduction to root * if root != 0: # <<<<<<<<<<<<<< * if rank == 0: * result = PyMPI_send_p2p(result, root, tag, comm) */ __pyx_t_2 = ((__pyx_v_root != 0) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":996 * # Send reduction to root * if root != 0: * if rank == 0: # <<<<<<<<<<<<<< * result = PyMPI_send_p2p(result, root, tag, comm) * elif rank == root: */ __pyx_t_2 = ((__pyx_v_rank == 0) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":997 * if root != 0: * if rank == 0: * result = 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(19, 997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":996 * # Send reduction to root * if root != 0: * if rank == 0: # <<<<<<<<<<<<<< * result = PyMPI_send_p2p(result, root, tag, comm) * elif rank == root: */ goto __pyx_L12; } /* "MPI/msgpickle.pxi":998 * if rank == 0: * result = 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) { /* "MPI/msgpickle.pxi":999 * result = 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(19, 999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":998 * if rank == 0: * result = PyMPI_send_p2p(result, root, tag, comm) * elif rank == root: # <<<<<<<<<<<<<< * result = PyMPI_recv_p2p(0, tag, comm) * if rank != root: */ } __pyx_L12:; /* "MPI/msgpickle.pxi":995 * umask <<= 1 * # Send reduction to root * if root != 0: # <<<<<<<<<<<<<< * if rank == 0: * result = PyMPI_send_p2p(result, root, tag, comm) */ } /* "MPI/msgpickle.pxi":1000 * 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) { /* "MPI/msgpickle.pxi":1001 * 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); /* "MPI/msgpickle.pxi":1000 * elif rank == root: * result = PyMPI_recv_p2p(0, tag, comm) * if rank != root: # <<<<<<<<<<<<<< * result = None * # */ } /* "MPI/msgpickle.pxi":1003 * 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; /* "MPI/msgpickle.pxi":964 * return pickle.load(obj) * * 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_XDECREF(__pyx_t_8); __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_XDECREF(__pyx_v_sendobj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":1005 * 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; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("PyMPI_scan_p2p", 0); __Pyx_INCREF(__pyx_v_sendobj); /* "MPI/msgpickle.pxi":1008 * 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; /* "MPI/msgpickle.pxi":1009 * # 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; /* "MPI/msgpickle.pxi":1010 * cdef int size = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_size(comm, &size) ) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(comm, &rank) ) * if size == 1: sendobj = PyMPI_copy(sendobj) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_size(__pyx_v_comm, (&__pyx_v_size))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 1010, __pyx_L1_error) /* "MPI/msgpickle.pxi":1011 * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * if size == 1: sendobj = 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 == -1)) __PYX_ERR(19, 1011, __pyx_L1_error) /* "MPI/msgpickle.pxi":1012 * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) * if size == 1: sendobj = PyMPI_copy(sendobj) # <<<<<<<<<<<<<< * # * cdef object result = sendobj */ __pyx_t_2 = ((__pyx_v_size == 1) != 0); if (__pyx_t_2) { __pyx_t_3 = __pyx_f_6mpi4py_3MPI_PyMPI_copy(__pyx_v_sendobj); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1012, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_sendobj, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/msgpickle.pxi":1014 * if size == 1: sendobj = PyMPI_copy(sendobj) * # * cdef object result = sendobj # <<<<<<<<<<<<<< * cdef object partial = result * cdef object tmp */ __Pyx_INCREF(__pyx_v_sendobj); __pyx_v_result = __pyx_v_sendobj; /* "MPI/msgpickle.pxi":1015 * # * cdef object result = sendobj * cdef object partial = result # <<<<<<<<<<<<<< * cdef object tmp * # Compute prefix op */ __Pyx_INCREF(__pyx_v_result); __pyx_v_partial = __pyx_v_result; /* "MPI/msgpickle.pxi":1018 * cdef object tmp * # Compute prefix op * cdef unsigned int umask = 1 # <<<<<<<<<<<<<< * cdef unsigned int usize = size * cdef unsigned int urank = rank */ __pyx_v_umask = ((unsigned int)1); /* "MPI/msgpickle.pxi":1019 * # Compute prefix op * 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); /* "MPI/msgpickle.pxi":1020 * 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); /* "MPI/msgpickle.pxi":1021 * cdef unsigned int usize = size * cdef unsigned int urank = rank * cdef int target = 0 # <<<<<<<<<<<<<< * while umask < usize: * target = (urank ^ umask) */ __pyx_v_target = 0; /* "MPI/msgpickle.pxi":1022 * cdef unsigned int urank = rank * cdef int target = 0 * while umask < usize: # <<<<<<<<<<<<<< * target = (urank ^ umask) * if target < size: */ while (1) { __pyx_t_2 = ((__pyx_v_umask < __pyx_v_usize) != 0); if (!__pyx_t_2) break; /* "MPI/msgpickle.pxi":1023 * 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)); /* "MPI/msgpickle.pxi":1024 * while umask < usize: * target = (urank ^ umask) * if target < size: # <<<<<<<<<<<<<< * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) */ __pyx_t_2 = ((__pyx_v_target < __pyx_v_size) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":1025 * target = (urank ^ umask) * if target < size: * tmp = PyMPI_sendrecv_p2p(partial, target, tag, # <<<<<<<<<<<<<< * target, tag, comm) * if rank > target: */ __pyx_t_3 = __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_3)) __PYX_ERR(19, 1025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_tmp, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":1027 * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) * if rank > target: # <<<<<<<<<<<<<< * partial = op(tmp, partial) * result = op(tmp, result) */ __pyx_t_2 = ((__pyx_v_rank > __pyx_v_target) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":1028 * 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_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1028, __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_tmp, __pyx_v_partial}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1028, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(19, 1028, __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_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __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_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":1029 * 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_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1029, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 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_6, __pyx_v_tmp, __pyx_v_result}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1029, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 1029, __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_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __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_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":1027 * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) * if rank > target: # <<<<<<<<<<<<<< * partial = op(tmp, partial) * result = op(tmp, result) */ goto __pyx_L7; } /* "MPI/msgpickle.pxi":1031 * 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_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1031, __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_partial, __pyx_v_tmp}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1031, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(19, 1031, __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_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __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_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":1032 * else: * tmp = op(partial, tmp) * partial = tmp # <<<<<<<<<<<<<< * umask <<= 1 * # */ __Pyx_INCREF(__pyx_v_tmp); __Pyx_DECREF_SET(__pyx_v_partial, __pyx_v_tmp); } __pyx_L7:; /* "MPI/msgpickle.pxi":1024 * while umask < usize: * target = (urank ^ umask) * if target < size: # <<<<<<<<<<<<<< * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) */ } /* "MPI/msgpickle.pxi":1033 * tmp = op(partial, tmp) * partial = tmp * umask <<= 1 # <<<<<<<<<<<<<< * # * return result */ __pyx_v_umask = (__pyx_v_umask << 1); } /* "MPI/msgpickle.pxi":1035 * 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; /* "MPI/msgpickle.pxi":1005 * 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_3); __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_XDECREF(__pyx_v_sendobj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/msgpickle.pxi":1037 * 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; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("PyMPI_exscan_p2p", 0); /* "MPI/msgpickle.pxi":1040 * 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; /* "MPI/msgpickle.pxi":1041 * # 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; /* "MPI/msgpickle.pxi":1042 * 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 == -1)) __PYX_ERR(19, 1042, __pyx_L1_error) /* "MPI/msgpickle.pxi":1043 * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Comm_size(comm, &size) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) # <<<<<<<<<<<<<< * # * cdef object result = sendobj */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_rank(__pyx_v_comm, (&__pyx_v_rank))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 1043, __pyx_L1_error) /* "MPI/msgpickle.pxi":1045 * CHKERR( MPI_Comm_rank(comm, &rank) ) * # * cdef object result = sendobj # <<<<<<<<<<<<<< * cdef object partial = result * cdef object tmp */ __Pyx_INCREF(__pyx_v_sendobj); __pyx_v_result = __pyx_v_sendobj; /* "MPI/msgpickle.pxi":1046 * # * cdef object result = sendobj * cdef object partial = result # <<<<<<<<<<<<<< * cdef object tmp * # Compute prefix reduction */ __Pyx_INCREF(__pyx_v_result); __pyx_v_partial = __pyx_v_result; /* "MPI/msgpickle.pxi":1049 * 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); /* "MPI/msgpickle.pxi":1050 * # 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); /* "MPI/msgpickle.pxi":1051 * 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); /* "MPI/msgpickle.pxi":1052 * 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); /* "MPI/msgpickle.pxi":1053 * cdef unsigned int urank = rank * cdef unsigned int uflag = 0 * cdef int target = 0 # <<<<<<<<<<<<<< * while umask < usize: * target = (urank ^ umask) */ __pyx_v_target = 0; /* "MPI/msgpickle.pxi":1054 * cdef unsigned int uflag = 0 * cdef int target = 0 * while umask < usize: # <<<<<<<<<<<<<< * target = (urank ^ umask) * if target < size: */ while (1) { __pyx_t_2 = ((__pyx_v_umask < __pyx_v_usize) != 0); if (!__pyx_t_2) break; /* "MPI/msgpickle.pxi":1055 * 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)); /* "MPI/msgpickle.pxi":1056 * while umask < usize: * target = (urank ^ umask) * if target < size: # <<<<<<<<<<<<<< * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) */ __pyx_t_2 = ((__pyx_v_target < __pyx_v_size) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":1057 * target = (urank ^ umask) * if target < size: * tmp = PyMPI_sendrecv_p2p(partial, target, tag, # <<<<<<<<<<<<<< * target, tag, comm) * if rank > target: */ __pyx_t_3 = __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_3)) __PYX_ERR(19, 1057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_tmp, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":1059 * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) * if rank > target: # <<<<<<<<<<<<<< * partial = op(tmp, partial) * if rank != 0: */ __pyx_t_2 = ((__pyx_v_rank > __pyx_v_target) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":1060 * target, tag, comm) * if rank > target: * partial = op(tmp, partial) # <<<<<<<<<<<<<< * if rank != 0: * if uflag == 0: */ __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_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1060, __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_tmp, __pyx_v_partial}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1060, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(19, 1060, __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_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __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_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":1061 * if rank > target: * partial = op(tmp, partial) * if rank != 0: # <<<<<<<<<<<<<< * if uflag == 0: * result = tmp; uflag = 1 */ __pyx_t_2 = ((__pyx_v_rank != 0) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":1062 * partial = op(tmp, partial) * if rank != 0: * if uflag == 0: # <<<<<<<<<<<<<< * result = tmp; uflag = 1 * else: */ __pyx_t_2 = ((__pyx_v_uflag == 0) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":1063 * if rank != 0: * 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; /* "MPI/msgpickle.pxi":1062 * partial = op(tmp, partial) * if rank != 0: * if uflag == 0: # <<<<<<<<<<<<<< * result = tmp; uflag = 1 * else: */ goto __pyx_L8; } /* "MPI/msgpickle.pxi":1065 * 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_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1065, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 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_6, __pyx_v_tmp, __pyx_v_result}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1065, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 1065, __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_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __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_3); __pyx_t_3 = 0; } __pyx_L8:; /* "MPI/msgpickle.pxi":1061 * if rank > target: * partial = op(tmp, partial) * if rank != 0: # <<<<<<<<<<<<<< * if uflag == 0: * result = tmp; uflag = 1 */ } /* "MPI/msgpickle.pxi":1059 * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) * if rank > target: # <<<<<<<<<<<<<< * partial = op(tmp, partial) * if rank != 0: */ goto __pyx_L6; } /* "MPI/msgpickle.pxi":1067 * 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_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1067, __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_partial, __pyx_v_tmp}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_1, 2+__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1067, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(19, 1067, __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_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 1067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __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_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":1068 * 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:; /* "MPI/msgpickle.pxi":1056 * while umask < usize: * target = (urank ^ umask) * if target < size: # <<<<<<<<<<<<<< * tmp = PyMPI_sendrecv_p2p(partial, target, tag, * target, tag, comm) */ } /* "MPI/msgpickle.pxi":1069 * tmp = op(partial, tmp) * partial = tmp * umask <<= 1 # <<<<<<<<<<<<<< * # * if rank == 0: */ __pyx_v_umask = (__pyx_v_umask << 1); } /* "MPI/msgpickle.pxi":1071 * umask <<= 1 * # * if rank == 0: # <<<<<<<<<<<<<< * result = None * return result */ __pyx_t_2 = ((__pyx_v_rank == 0) != 0); if (__pyx_t_2) { /* "MPI/msgpickle.pxi":1072 * # * if rank == 0: * result = None # <<<<<<<<<<<<<< * return result * */ __Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_result, Py_None); /* "MPI/msgpickle.pxi":1071 * umask <<= 1 * # * if rank == 0: # <<<<<<<<<<<<<< * result = None * return result */ } /* "MPI/msgpickle.pxi":1073 * if rank == 0: * result = None * return result # <<<<<<<<<<<<<< * * # ----- */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_result); __pyx_r = __pyx_v_result; goto __pyx_L0; /* "MPI/msgpickle.pxi":1037 * 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_3); __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; } /* "MPI/msgpickle.pxi":1081 * int PyMPI_Commctx_inter(MPI_Comm,MPI_Comm*,int*,MPI_Comm*,int*) nogil * * 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; __Pyx_RefNannySetupContext("PyMPI_reduce_intra", 0); /* "MPI/msgpickle.pxi":1083 * cdef object PyMPI_reduce_intra(object sendobj, object op, * int root, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( PyMPI_Commctx_intra(comm, &comm, &tag) ) * return PyMPI_reduce_p2p(sendobj, op, root, comm, tag) */ __pyx_v_tag = MPI_UNDEFINED; /* "MPI/msgpickle.pxi":1084 * int root, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED * CHKERR( PyMPI_Commctx_intra(comm, &comm, &tag) ) # <<<<<<<<<<<<<< * return PyMPI_reduce_p2p(sendobj, op, root, comm, tag) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(PyMPI_Commctx_intra(__pyx_v_comm, (&__pyx_v_comm), (&__pyx_v_tag))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 1084, __pyx_L1_error) /* "MPI/msgpickle.pxi":1085 * cdef int tag = MPI_UNDEFINED * CHKERR( 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(19, 1085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":1081 * int PyMPI_Commctx_inter(MPI_Comm,MPI_Comm*,int*,MPI_Comm*,int*) nogil * * 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; } /* "MPI/msgpickle.pxi":1087 * 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; PyObject *__pyx_t_8 = NULL; __Pyx_RefNannySetupContext("PyMPI_reduce_inter", 0); __Pyx_INCREF(__pyx_v_sendobj); /* "MPI/msgpickle.pxi":1089 * 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 * CHKERR( PyMPI_Commctx_inter(comm, &comm, &tag, &localcomm, NULL) ) */ __pyx_v_tag = MPI_UNDEFINED; /* "MPI/msgpickle.pxi":1090 * int root, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED * cdef MPI_Comm localcomm = MPI_COMM_NULL # <<<<<<<<<<<<<< * CHKERR( PyMPI_Commctx_inter(comm, &comm, &tag, &localcomm, NULL) ) * # Get communicator remote size and rank */ __pyx_v_localcomm = MPI_COMM_NULL; /* "MPI/msgpickle.pxi":1091 * cdef int tag = MPI_UNDEFINED * cdef MPI_Comm localcomm = MPI_COMM_NULL * CHKERR( 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_CHKERR(PyMPI_Commctx_inter(__pyx_v_comm, (&__pyx_v_comm), (&__pyx_v_tag), (&__pyx_v_localcomm), NULL)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 1091, __pyx_L1_error) /* "MPI/msgpickle.pxi":1093 * CHKERR( 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; /* "MPI/msgpickle.pxi":1094 * # 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; /* "MPI/msgpickle.pxi":1095 * 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 == -1)) __PYX_ERR(19, 1095, __pyx_L1_error) /* "MPI/msgpickle.pxi":1096 * 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 == -1)) __PYX_ERR(19, 1096, __pyx_L1_error) /* "MPI/msgpickle.pxi":1097 * 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) { /* "MPI/msgpickle.pxi":1099 * 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(19, 1099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_sendobj, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/msgpickle.pxi":1100 * # 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(19, 1100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } /* "MPI/msgpickle.pxi":1101 * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/msgpickle.pxi":1097 * 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) */ } /* "MPI/msgpickle.pxi":1102 * 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) { /* "MPI/msgpickle.pxi":1103 * 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(19, 1103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":1102 * 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 */ } /* "MPI/msgpickle.pxi":1104 * 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 (__pyx_t_2) { /* "MPI/msgpickle.pxi":1105 * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/msgpickle.pxi":1104 * 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 */ } /* "MPI/msgpickle.pxi":1107 * 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)); /* "MPI/msgpickle.pxi":1108 * else: # Wrong root argument * MPI_Comm_call_errhandler(comm, MPI_ERR_ROOT) * raise MPIException(MPI_ERR_ROOT) # <<<<<<<<<<<<<< * * cdef object PyMPI_allreduce_intra(object sendobj, object op, MPI_Comm comm): */ __pyx_t_5 = __Pyx_PyInt_From_int(MPI_ERR_ROOT); if (unlikely(!__pyx_t_5)) __PYX_ERR(19, 1108, __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); } } if (!__pyx_t_7) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 1108, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 1108, __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[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 1108, __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_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(19, 1108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 1108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } } __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(19, 1108, __pyx_L1_error) } /* "MPI/msgpickle.pxi":1087 * 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_XDECREF(__pyx_t_8); __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; } /* "MPI/msgpickle.pxi":1110 * raise MPIException(MPI_ERR_ROOT) * * cdef object PyMPI_allreduce_intra(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef int tag = MPI_UNDEFINED * CHKERR( 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; __Pyx_RefNannySetupContext("PyMPI_allreduce_intra", 0); __Pyx_INCREF(__pyx_v_sendobj); /* "MPI/msgpickle.pxi":1111 * * cdef object PyMPI_allreduce_intra(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( PyMPI_Commctx_intra(comm, &comm, &tag) ) * sendobj = PyMPI_reduce_p2p(sendobj, op, 0, comm, tag) */ __pyx_v_tag = MPI_UNDEFINED; /* "MPI/msgpickle.pxi":1112 * cdef object PyMPI_allreduce_intra(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED * CHKERR( 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_CHKERR(PyMPI_Commctx_intra(__pyx_v_comm, (&__pyx_v_comm), (&__pyx_v_tag))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 1112, __pyx_L1_error) /* "MPI/msgpickle.pxi":1113 * cdef int tag = MPI_UNDEFINED * CHKERR( 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(19, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_sendobj, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":1114 * CHKERR( 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(19, 1114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":1110 * raise MPIException(MPI_ERR_ROOT) * * cdef object PyMPI_allreduce_intra(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef int tag = MPI_UNDEFINED * CHKERR( 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; } /* "MPI/msgpickle.pxi":1116 * 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; __Pyx_RefNannySetupContext("PyMPI_allreduce_inter", 0); __Pyx_INCREF(__pyx_v_sendobj); /* "MPI/msgpickle.pxi":1117 * * 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; /* "MPI/msgpickle.pxi":1118 * 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 * CHKERR( PyMPI_Commctx_inter(comm, &comm, &tag, &localcomm, NULL) ) */ __pyx_v_rank = MPI_PROC_NULL; /* "MPI/msgpickle.pxi":1119 * cdef int tag = MPI_UNDEFINED * cdef int rank = MPI_PROC_NULL * cdef MPI_Comm localcomm = MPI_COMM_NULL # <<<<<<<<<<<<<< * CHKERR( PyMPI_Commctx_inter(comm, &comm, &tag, &localcomm, NULL) ) * CHKERR( MPI_Comm_rank(comm, &rank) ) */ __pyx_v_localcomm = MPI_COMM_NULL; /* "MPI/msgpickle.pxi":1120 * cdef int rank = MPI_PROC_NULL * cdef MPI_Comm localcomm = MPI_COMM_NULL * CHKERR( 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_CHKERR(PyMPI_Commctx_inter(__pyx_v_comm, (&__pyx_v_comm), (&__pyx_v_tag), (&__pyx_v_localcomm), NULL)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 1120, __pyx_L1_error) /* "MPI/msgpickle.pxi":1121 * cdef MPI_Comm localcomm = MPI_COMM_NULL * CHKERR( 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 == -1)) __PYX_ERR(19, 1121, __pyx_L1_error) /* "MPI/msgpickle.pxi":1123 * 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(19, 1123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_sendobj, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":1124 * # 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) { /* "MPI/msgpickle.pxi":1125 * 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(19, 1125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_sendobj, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/msgpickle.pxi":1124 * # 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) */ } /* "MPI/msgpickle.pxi":1126 * if rank == 0: * sendobj = PyMPI_sendrecv_p2p(sendobj, 0, tag, 0, tag, comm) * return PyMPI_bcast_p2p(sendobj, 0, localcomm) # <<<<<<<<<<<<<< * * cdef object PyMPI_scan_intra(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_localcomm); if (unlikely(!__pyx_t_2)) __PYX_ERR(19, 1126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":1116 * 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; } /* "MPI/msgpickle.pxi":1128 * return PyMPI_bcast_p2p(sendobj, 0, localcomm) * * cdef object PyMPI_scan_intra(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef int tag = MPI_UNDEFINED * CHKERR( 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; __Pyx_RefNannySetupContext("PyMPI_scan_intra", 0); /* "MPI/msgpickle.pxi":1129 * * cdef object PyMPI_scan_intra(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( PyMPI_Commctx_intra(comm, &comm, &tag) ) * return PyMPI_scan_p2p(sendobj, op, comm, tag) */ __pyx_v_tag = MPI_UNDEFINED; /* "MPI/msgpickle.pxi":1130 * cdef object PyMPI_scan_intra(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED * CHKERR( PyMPI_Commctx_intra(comm, &comm, &tag) ) # <<<<<<<<<<<<<< * return PyMPI_scan_p2p(sendobj, op, comm, tag) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(PyMPI_Commctx_intra(__pyx_v_comm, (&__pyx_v_comm), (&__pyx_v_tag))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 1130, __pyx_L1_error) /* "MPI/msgpickle.pxi":1131 * cdef int tag = MPI_UNDEFINED * CHKERR( 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(19, 1131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":1128 * return PyMPI_bcast_p2p(sendobj, 0, localcomm) * * cdef object PyMPI_scan_intra(object sendobj, object op, MPI_Comm comm): # <<<<<<<<<<<<<< * cdef int tag = MPI_UNDEFINED * CHKERR( 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; } /* "MPI/msgpickle.pxi":1133 * 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 * CHKERR( 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; __Pyx_RefNannySetupContext("PyMPI_exscan_intra", 0); /* "MPI/msgpickle.pxi":1134 * * cdef object PyMPI_exscan_intra(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( PyMPI_Commctx_intra(comm, &comm, &tag) ) * return PyMPI_exscan_p2p(sendobj, op, comm, tag) */ __pyx_v_tag = MPI_UNDEFINED; /* "MPI/msgpickle.pxi":1135 * cdef object PyMPI_exscan_intra(object sendobj, object op, MPI_Comm comm): * cdef int tag = MPI_UNDEFINED * CHKERR( PyMPI_Commctx_intra(comm, &comm, &tag) ) # <<<<<<<<<<<<<< * return PyMPI_exscan_p2p(sendobj, op, comm, tag) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(PyMPI_Commctx_intra(__pyx_v_comm, (&__pyx_v_comm), (&__pyx_v_tag))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(19, 1135, __pyx_L1_error) /* "MPI/msgpickle.pxi":1136 * cdef int tag = MPI_UNDEFINED * CHKERR( 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(19, 1136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":1133 * 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 * CHKERR( 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; } /* "MPI/msgpickle.pxi":1140 * # ----- * * 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; /* "MPI/msgpickle.pxi":1141 * * 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; /* "MPI/msgpickle.pxi":1142 * 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 == -1)) __PYX_ERR(19, 1142, __pyx_L1_error) /* "MPI/msgpickle.pxi":1143 * 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; } /* "MPI/msgpickle.pxi":1144 * CHKERR( MPI_Comm_test_inter(comm, &inter) ) * if inter: return 0 * else: return 1 # <<<<<<<<<<<<<< * * */ /*else*/ { __pyx_r = 1; goto __pyx_L0; } /* "MPI/msgpickle.pxi":1140 * # ----- * * 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 = PyGILState_Ensure(); #endif __Pyx_AddTraceback("mpi4py.MPI.comm_is_intra", __pyx_clineno, __pyx_lineno, __pyx_filename); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif } __pyx_r = -1; __pyx_L0:; return __pyx_r; } /* "MPI/msgpickle.pxi":1147 * * * 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; __Pyx_RefNannySetupContext("PyMPI_reduce", 0); /* "MPI/msgpickle.pxi":1148 * * 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) { /* "MPI/msgpickle.pxi":1149 * 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(19, 1149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":1148 * * 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): */ } /* "MPI/msgpickle.pxi":1150 * 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 == -1)) __PYX_ERR(19, 1150, __pyx_L1_error) __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* "MPI/msgpickle.pxi":1151 * 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(19, 1151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":1150 * 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: */ } /* "MPI/msgpickle.pxi":1153 * 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(19, 1153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "MPI/msgpickle.pxi":1147 * * * 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; } /* "MPI/msgpickle.pxi":1156 * * * 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; __Pyx_RefNannySetupContext("PyMPI_allreduce", 0); /* "MPI/msgpickle.pxi":1157 * * 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) { /* "MPI/msgpickle.pxi":1158 * 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(19, 1158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":1157 * * 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): */ } /* "MPI/msgpickle.pxi":1159 * 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 == -1)) __PYX_ERR(19, 1159, __pyx_L1_error) __pyx_t_3 = (__pyx_t_1 != 0); if (__pyx_t_3) { /* "MPI/msgpickle.pxi":1160 * 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(19, 1160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":1159 * 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: */ } /* "MPI/msgpickle.pxi":1162 * 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(19, 1162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "MPI/msgpickle.pxi":1156 * * * 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; } /* "MPI/msgpickle.pxi":1165 * * * 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; __Pyx_RefNannySetupContext("PyMPI_scan", 0); /* "MPI/msgpickle.pxi":1166 * * 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) { /* "MPI/msgpickle.pxi":1167 * 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(19, 1167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":1166 * * cdef object PyMPI_scan(object sendobj, object op, MPI_Comm comm): * if not options.fast_reduce: # <<<<<<<<<<<<<< * return PyMPI_scan_naive(sendobj, op, comm) * else: */ } /* "MPI/msgpickle.pxi":1169 * 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(19, 1169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "MPI/msgpickle.pxi":1165 * * * 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; } /* "MPI/msgpickle.pxi":1172 * * * 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; __Pyx_RefNannySetupContext("PyMPI_exscan", 0); /* "MPI/msgpickle.pxi":1173 * * 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) { /* "MPI/msgpickle.pxi":1174 * 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(19, 1174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/msgpickle.pxi":1173 * * cdef object PyMPI_exscan(object sendobj, object op, MPI_Comm comm): * if not options.fast_reduce: # <<<<<<<<<<<<<< * return PyMPI_exscan_naive(sendobj, op, comm) * else: */ } /* "MPI/msgpickle.pxi":1176 * 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(19, 1176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "MPI/msgpickle.pxi":1172 * * * 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; } /* "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; __Pyx_RefNannySetupContext("PyMPIDatatype_New", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 6, __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_obj = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; /* "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; /* "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; } /* "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 __Pyx_RefNannySetupContext("PyMPIDatatype_Get", 0); /* "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(20, 11, __pyx_L1_error) __pyx_r = (&((struct PyMPIDatatypeObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("PyMPIStatus_New", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Status(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Status), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 18, __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_obj = ((struct PyMPIStatusObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; } /* "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; } /* "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:; /* "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) { /* "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]); /* "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; } /* "MPI/CAPI.pxi":23 * arg != MPI_STATUSES_IGNORE): * obj.ob_mpi = arg[0] * else: pass # XXX should fail ? # <<<<<<<<<<<<<< * return obj * */ /*else*/ { } __pyx_L3:; /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("PyMPIStatus_Get", 0); /* "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; } /* "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(20, 28, __pyx_L1_error) __pyx_r = (&((struct PyMPIStatusObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("PyMPIRequest_New", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 35, __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_obj = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; /* "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; /* "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; } /* "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 __Pyx_RefNannySetupContext("PyMPIRequest_Get", 0); /* "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(20, 40, __pyx_L1_error) __pyx_r = (&((struct PyMPIRequestObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("PyMPIMessage_New", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 47, __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_obj = ((struct PyMPIMessageObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; /* "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; /* "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; } /* "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 __Pyx_RefNannySetupContext("PyMPIMessage_Get", 0); /* "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(20, 52, __pyx_L1_error) __pyx_r = (&((struct PyMPIMessageObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("PyMPIOp_New", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Op(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Op), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 59, __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_obj = ((struct PyMPIOpObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; /* "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; /* "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; } /* "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 __Pyx_RefNannySetupContext("PyMPIOp_Get", 0); /* "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(20, 64, __pyx_L1_error) __pyx_r = (&((struct PyMPIOpObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("PyMPIInfo_New", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 71, __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_obj = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; /* "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; /* "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; } /* "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 __Pyx_RefNannySetupContext("PyMPIInfo_Get", 0); /* "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(20, 76, __pyx_L1_error) __pyx_r = (&((struct PyMPIInfoObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("PyMPIGroup_New", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 83, __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_obj = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; /* "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; /* "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; } /* "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 __Pyx_RefNannySetupContext("PyMPIGroup_Get", 0); /* "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(20, 88, __pyx_L1_error) __pyx_r = (&((struct PyMPIGroupObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("PyMPIComm_New", 0); /* "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; /* "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; /* "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; /* "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) { /* "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 == -1)) __PYX_ERR(20, 99, __pyx_L1_error) /* "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) { /* "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); /* "MPI/CAPI.pxi":100 * if arg != MPI_COMM_NULL: * CHKERR( MPI_Comm_test_inter(arg, &inter) ) * if inter: # <<<<<<<<<<<<<< * cls = Intercomm * else: */ goto __pyx_L4; } /* "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 == -1)) __PYX_ERR(20, 103, __pyx_L1_error) /* "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) { /* "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); /* "MPI/CAPI.pxi":104 * else: * CHKERR( MPI_Topo_test(arg, &topo) ) * if topo == MPI_UNDEFINED: # <<<<<<<<<<<<<< * cls = Intracomm * elif topo == MPI_CART: */ goto __pyx_L5; } /* "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) { /* "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); /* "MPI/CAPI.pxi":106 * if topo == MPI_UNDEFINED: * cls = Intracomm * elif topo == MPI_CART: # <<<<<<<<<<<<<< * cls = Cartcomm * elif topo == MPI_GRAPH: */ goto __pyx_L5; } /* "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) { /* "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); /* "MPI/CAPI.pxi":108 * elif topo == MPI_CART: * cls = Cartcomm * elif topo == MPI_GRAPH: # <<<<<<<<<<<<<< * cls = Graphcomm * elif topo == MPI_DIST_GRAPH: */ goto __pyx_L5; } /* "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) { /* "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); /* "MPI/CAPI.pxi":110 * elif topo == MPI_GRAPH: * cls = Graphcomm * elif topo == MPI_DIST_GRAPH: # <<<<<<<<<<<<<< * cls = Distgraphcomm * else: */ goto __pyx_L5; } /* "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:; /* "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: */ } /* "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(20, 114, __pyx_L1_error) } __pyx_t_3 = __Pyx_tp_new(((PyObject *)__pyx_v_cls), __pyx_empty_tuple); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 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; /* "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; /* "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; /* "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; } /* "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 __Pyx_RefNannySetupContext("PyMPIComm_Get", 0); /* "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(20, 119, __pyx_L1_error) __pyx_r = (&((struct PyMPICommObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("PyMPIWin_New", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 126, __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_obj = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; /* "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; /* "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; } /* "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 __Pyx_RefNannySetupContext("PyMPIWin_Get", 0); /* "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(20, 131, __pyx_L1_error) __pyx_r = (&((struct PyMPIWinObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("PyMPIFile_New", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_File(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_File), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 138, __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_obj = ((struct PyMPIFileObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; /* "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; /* "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; } /* "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 __Pyx_RefNannySetupContext("PyMPIFile_Get", 0); /* "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(20, 143, __pyx_L1_error) __pyx_r = (&((struct PyMPIFileObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("PyMPIErrhandler_New", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Errhandler(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 150, __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_obj = ((struct PyMPIErrhandlerObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; /* "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; /* "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; } /* "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 __Pyx_RefNannySetupContext("PyMPIErrhandler_Get", 0); /* "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(20, 155, __pyx_L1_error) __pyx_r = (&((struct PyMPIErrhandlerObject *)__pyx_v_arg)->ob_mpi); goto __pyx_L0; /* "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; } /* "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)__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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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); 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; __Pyx_RefNannySetupContext("__init__", 0); /* "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; } /* "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; /* "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; /* "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; } /* "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)__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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("__eq__", 0); /* "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; /* "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; /* "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; } /* "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)__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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("__ne__", 0); /* "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; /* "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; /* "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; } /* "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)__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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("__lt__", 0); /* "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; /* "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; /* "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; } /* "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)__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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("__le__", 0); /* "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; /* "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; /* "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; } /* "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)__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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("__gt__", 0); /* "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; /* "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; /* "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; } /* "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)__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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("__ge__", 0); /* "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; /* "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; /* "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; } /* "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)__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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("__hash__", 0); /* "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 == -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; /* "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; } /* "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)__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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("__bool__", 0); /* "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; /* "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; /* "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; } /* "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)__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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("__int__", 0); /* "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; /* "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; } /* "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)__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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("__repr__", 0); /* "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_Format(__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; /* "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; } /* "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)__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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("__str__", 0); /* "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) { /* "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_Format(__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; /* "MPI/ExceptionP.pyx":52 * * def __str__(self): * if not mpi_active(): # <<<<<<<<<<<<<< * return "error code: %d" % self.ob_mpi * return self.Get_error_string() */ } /* "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); } } if (__pyx_t_4) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 54, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); 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; /* "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; } /* "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)__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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("Get_error_code", 0); /* "MPI/ExceptionP.pyx":60 * Error code * """ * cdef int errorcode = MPI_SUCCESS # <<<<<<<<<<<<<< * errorcode = self.ob_mpi * return errorcode */ __pyx_v_errorcode = MPI_SUCCESS; /* "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; /* "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; /* "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; } /* "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)__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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("Get_error_class", 0); /* "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; /* "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 == -1)) __PYX_ERR(1, 71, __pyx_L1_error) /* "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; /* "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; } /* "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)__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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("Get_error_string", 0); /* "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; /* "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 == -1)) __PYX_ERR(1, 82, __pyx_L1_error) /* "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; /* "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; } /* "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_1Get_error_class(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_Get_error_class[] = "Get_error_class(int errorcode)\n\n Convert an *error code* into an *error class*\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_1Get_error_class = {"Get_error_class", (PyCFunction)__pyx_pw_6mpi4py_3MPI_1Get_error_class, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_Get_error_class}; static PyObject *__pyx_pw_6mpi4py_3MPI_1Get_error_class(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorcode; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(21, 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(21, 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(21, 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_Get_error_class(__pyx_self, __pyx_v_errorcode); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_Get_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; __Pyx_RefNannySetupContext("Get_error_class", 0); /* "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; /* "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 == -1)) __PYX_ERR(21, 92, __pyx_L1_error) /* "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(21, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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_3Get_error_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_2Get_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_3Get_error_string = {"Get_error_string", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Get_error_string, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2Get_error_string}; static PyObject *__pyx_pw_6mpi4py_3MPI_3Get_error_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorcode; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(21, 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(21, 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(21, 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_2Get_error_string(__pyx_self, __pyx_v_errorcode); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_2Get_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; __Pyx_RefNannySetupContext("Get_error_string", 0); /* "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; /* "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 == -1)) __PYX_ERR(21, 102, __pyx_L1_error) /* "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(21, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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_5Add_error_class(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Add_error_class[] = "Add_error_class()\n\n Add an *error class* to the known error classes\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_5Add_error_class = {"Add_error_class", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Add_error_class, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Add_error_class}; static PyObject *__pyx_pw_6mpi4py_3MPI_5Add_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_4Add_error_class(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Add_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; __Pyx_RefNannySetupContext("Add_error_class", 0); /* "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; /* "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 == -1)) __PYX_ERR(21, 111, __pyx_L1_error) /* "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(21, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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_7Add_error_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_6Add_error_code[] = "Add_error_code(int errorclass)\n\n Add an *error code* to an *error class*\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_7Add_error_code = {"Add_error_code", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Add_error_code, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Add_error_code}; static PyObject *__pyx_pw_6mpi4py_3MPI_7Add_error_code(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorclass; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(21, 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(21, 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(21, 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_6Add_error_code(__pyx_self, __pyx_v_errorclass); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_6Add_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; __Pyx_RefNannySetupContext("Add_error_code", 0); /* "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; /* "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 == -1)) __PYX_ERR(21, 119, __pyx_L1_error) /* "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(21, 120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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_9Add_error_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_8Add_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_9Add_error_string = {"Add_error_string", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Add_error_string, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Add_error_string}; static PyObject *__pyx_pw_6mpi4py_3MPI_9Add_error_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorcode; PyObject *__pyx_v_string = 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_errorcode)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_string)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Add_error_string", 1, 2, 2, 1); __PYX_ERR(21, 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(21, 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(21, 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(21, 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_8Add_error_string(__pyx_self, __pyx_v_errorcode, __pyx_v_string); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_8Add_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; __Pyx_RefNannySetupContext("Add_error_string", 0); __Pyx_INCREF(__pyx_v_string); /* "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; /* "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(21, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_string, __pyx_t_1); __pyx_t_1 = 0; /* "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 == -1)) __PYX_ERR(21, 129, __pyx_L1_error) /* "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; } /* "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_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); 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 = PyDict_GetItem(__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(5, 7, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(5, 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(5, 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); /* "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; /* "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; } /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "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; } /* "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 == -1)) __PYX_ERR(5, 14, __pyx_L1_error) /* "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, 0, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "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__(((PyObject *)__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__(PyObject *__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; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "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; } /* "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 = __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; /* "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 str 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(5, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ * cdef str 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(5, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef str cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(5, 21, __pyx_L1_error) __pyx_v_mod = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Errhandler.pyx":22 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef str mod = type(self).__module__ * cdef str cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(5, 22, __pyx_L1_error) __pyx_v_cls = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Errhandler.pyx":23 * cdef str mod = type(self).__module__ * cdef str 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(5, 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(5, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 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(5, 23, __pyx_L1_error) /* "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; } /* "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); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("Free", 0); /* "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 == -1)) __PYX_ERR(5, 32, __pyx_L1_error) /* "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; } /* "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; } /* "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; } /* "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; __Pyx_RefNannySetupContext("py2f", 0); /* "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(5, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(5, 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(5, 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; __Pyx_RefNannySetupContext("f2py", 0); /* "MPI/Errhandler.pyx":48 * """ * """ * cdef Errhandler errhandler = Errhandler.__new__(Errhandler) # <<<<<<<<<<<<<< * errhandler.ob_mpi = MPI_Errhandler_f2c(arg) * return errhandler */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Errhandler(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 48, __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_errhandler = ((struct PyMPIErrhandlerObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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(5, 49, __pyx_L1_error) __pyx_v_errhandler->ob_mpi = MPI_Errhandler_f2c(__pyx_t_3); /* "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; /* "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; } /* "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_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); 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 = PyDict_GetItem(__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(6, 49, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(6, 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(6, 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); /* "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; /* "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; } /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "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; } /* "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 == -1)) __PYX_ERR(6, 56, __pyx_L1_error) /* "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, 0, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "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__(((PyObject *)__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__(PyObject *__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; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "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; } /* "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 = __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; /* "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 str 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(6, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ * cdef str 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(6, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef str cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(6, 63, __pyx_L1_error) __pyx_v_mod = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":64 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef str mod = type(self).__module__ * cdef str cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(6, 64, __pyx_L1_error) __pyx_v_cls = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":65 * cdef str mod = type(self).__module__ * cdef str 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(6, 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(6, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 65, __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(6, 65, __pyx_L1_error) /* "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; } /* "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); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("Get_size", 0); /* "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; /* "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 == -1)) __PYX_ERR(6, 79, __pyx_L1_error) /* "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(6, 80, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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; /* "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 == -1)) __PYX_ERR(6, 86, __pyx_L1_error) /* "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(6, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("Get_extent", 0); /* "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; /* "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 == -1)) __PYX_ERR(6, 94, __pyx_L1_error) /* "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(6, 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(6, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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; /* "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 == -1)) __PYX_ERR(6, 101, __pyx_L1_error) /* "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(6, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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; /* "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 == -1)) __PYX_ERR(6, 108, __pyx_L1_error) /* "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(6, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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; /* "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 == -1)) __PYX_ERR(6, 115, __pyx_L1_error) /* "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(6, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("Dup", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 125, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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 == -1)) __PYX_ERR(6, 126, __pyx_L1_error) /* "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; /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(6, 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(6, 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(6, 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; __Pyx_RefNannySetupContext("Create_contiguous", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 135, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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 == -1)) __PYX_ERR(6, 136, __pyx_L1_error) /* "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; /* "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; } /* "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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_blocklength)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_vector", 1, 3, 3, 1); __PYX_ERR(6, 140, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_stride)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_vector", 1, 3, 3, 2); __PYX_ERR(6, 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(6, 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(6, 140, __pyx_L3_error) __pyx_v_blocklength = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_blocklength == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 140, __pyx_L3_error) __pyx_v_stride = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_stride == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 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(6, 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; __Pyx_RefNannySetupContext("Create_vector", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 144, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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 == -1)) __PYX_ERR(6, 145, __pyx_L1_error) /* "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; /* "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; } /* "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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_blocklength)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_hvector", 1, 3, 3, 1); __PYX_ERR(6, 149, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_stride)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_hvector", 1, 3, 3, 2); __PYX_ERR(6, 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(6, 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(6, 149, __pyx_L3_error) __pyx_v_blocklength = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_blocklength == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 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(6, 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(6, 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; __Pyx_RefNannySetupContext("Create_hvector", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 153, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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 == -1)) __PYX_ERR(6, 154, __pyx_L1_error) /* "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; /* "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; } /* "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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_blocklengths)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_displacements)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_indexed", 1, 2, 2, 1); __PYX_ERR(6, 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(6, 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(6, 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; __Pyx_RefNannySetupContext("Create_indexed", 0); __Pyx_INCREF(__pyx_v_blocklengths); __Pyx_INCREF(__pyx_v_displacements); /* "MPI/Datatype.pyx":163 * Create an indexed datatype * """ * cdef int count = 0, *iblen = NULL, *idisp = NULL # <<<<<<<<<<<<<< * blocklengths = getarray_int(blocklengths, &count, &iblen) * displacements = chkarray_int(displacements, count, &idisp) */ __pyx_v_count = 0; __pyx_v_iblen = NULL; __pyx_v_idisp = NULL; /* "MPI/Datatype.pyx":164 * """ * cdef int count = 0, *iblen = NULL, *idisp = NULL * blocklengths = getarray_int(blocklengths, &count, &iblen) # <<<<<<<<<<<<<< * displacements = chkarray_int(displacements, count, &idisp) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_blocklengths, (&__pyx_v_count), (&__pyx_v_iblen)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_blocklengths, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":165 * cdef int count = 0, *iblen = NULL, *idisp = NULL * blocklengths = getarray_int(blocklengths, &count, &iblen) * displacements = chkarray_int(displacements, count, &idisp) # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_chkarray_int(__pyx_v_displacements, __pyx_v_count, (&__pyx_v_idisp)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_displacements, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":167 * displacements = chkarray_int(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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 167, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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 == -1)) __PYX_ERR(6, 168, __pyx_L1_error) /* "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; /* "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; } /* "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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_blocklengths)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_displacements)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_hindexed", 1, 2, 2, 1); __PYX_ERR(6, 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(6, 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(6, 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; __Pyx_RefNannySetupContext("Create_hindexed", 0); __Pyx_INCREF(__pyx_v_blocklengths); __Pyx_INCREF(__pyx_v_displacements); /* "MPI/Datatype.pyx":177 * with displacements in bytes * """ * cdef int count = 0, *iblen = NULL # <<<<<<<<<<<<<< * blocklengths = getarray_int(blocklengths, &count, &iblen) * cdef MPI_Aint *idisp = NULL */ __pyx_v_count = 0; __pyx_v_iblen = NULL; /* "MPI/Datatype.pyx":178 * """ * cdef int count = 0, *iblen = NULL * blocklengths = getarray_int(blocklengths, &count, &iblen) # <<<<<<<<<<<<<< * cdef MPI_Aint *idisp = NULL * displacements = asarray_Aint(displacements, count, &idisp) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_blocklengths, (&__pyx_v_count), (&__pyx_v_iblen)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_blocklengths, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":179 * cdef int count = 0, *iblen = NULL * blocklengths = getarray_int(blocklengths, &count, &iblen) * cdef MPI_Aint *idisp = NULL # <<<<<<<<<<<<<< * displacements = asarray_Aint(displacements, count, &idisp) * # */ __pyx_v_idisp = NULL; /* "MPI/Datatype.pyx":180 * blocklengths = getarray_int(blocklengths, &count, &iblen) * cdef MPI_Aint *idisp = NULL * displacements = asarray_Aint(displacements, count, &idisp) # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asarray_Aint(__pyx_v_displacements, __pyx_v_count, (&__pyx_v_idisp)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_displacements, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":182 * displacements = asarray_Aint(displacements, count, &idisp) * # * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_hindexed(count, iblen, idisp, * self.ob_mpi, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 182, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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 == -1)) __PYX_ERR(6, 183, __pyx_L1_error) /* "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; /* "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; } /* "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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_blocklength)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_displacements)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_indexed_block", 1, 2, 2, 1); __PYX_ERR(6, 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(6, 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(6, 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(6, 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; __Pyx_RefNannySetupContext("Create_indexed_block", 0); __Pyx_INCREF(__pyx_v_displacements); /* "MPI/Datatype.pyx":193 * with constant-sized blocks * """ * cdef int count = 0, *idisp = NULL # <<<<<<<<<<<<<< * displacements = getarray_int(displacements, &count, &idisp) * # */ __pyx_v_count = 0; __pyx_v_idisp = NULL; /* "MPI/Datatype.pyx":194 * """ * cdef int count = 0, *idisp = NULL * displacements = getarray_int(displacements, &count, &idisp) # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_displacements, (&__pyx_v_count), (&__pyx_v_idisp)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_displacements, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":196 * displacements = getarray_int(displacements, &count, &idisp) * # * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_indexed_block(count, blocklength, * idisp, self.ob_mpi, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 196, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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 == -1)) __PYX_ERR(6, 197, __pyx_L1_error) /* "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; /* "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; } /* "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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_blocklength)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_displacements)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_hindexed_block", 1, 2, 2, 1); __PYX_ERR(6, 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(6, 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(6, 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(6, 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 Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; __Pyx_RefNannySetupContext("Create_hindexed_block", 0); __Pyx_INCREF(__pyx_v_displacements); /* "MPI/Datatype.pyx":208 * and displacements in bytes * """ * cdef int count = 0 # <<<<<<<<<<<<<< * cdef MPI_Aint *idisp = NULL * count = len(displacements) */ __pyx_v_count = 0; /* "MPI/Datatype.pyx":209 * """ * cdef int count = 0 * cdef MPI_Aint *idisp = NULL # <<<<<<<<<<<<<< * count = len(displacements) * displacements = asarray_Aint(displacements, count, &idisp) */ __pyx_v_idisp = NULL; /* "MPI/Datatype.pyx":210 * cdef int count = 0 * cdef MPI_Aint *idisp = NULL * count = len(displacements) # <<<<<<<<<<<<<< * displacements = asarray_Aint(displacements, count, &idisp) * # */ __pyx_t_1 = PyObject_Length(__pyx_v_displacements); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(6, 210, __pyx_L1_error) __pyx_v_count = ((int)__pyx_t_1); /* "MPI/Datatype.pyx":211 * cdef MPI_Aint *idisp = NULL * count = len(displacements) * displacements = asarray_Aint(displacements, count, &idisp) # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_asarray_Aint(__pyx_v_displacements, __pyx_v_count, (&__pyx_v_idisp)); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_displacements, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/Datatype.pyx":213 * displacements = asarray_Aint(displacements, count, &idisp) * # * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_hindexed_block(count, blocklength, * idisp, self.ob_mpi, */ __pyx_t_2 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 213, __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_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":214 * # * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_hindexed_block(count, blocklength, # <<<<<<<<<<<<<< * idisp, self.ob_mpi, * &datatype.ob_mpi) ) */ __pyx_t_4 = __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_4 == -1)) __PYX_ERR(6, 214, __pyx_L1_error) /* "MPI/Datatype.pyx":217 * 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; /* "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_2); __Pyx_XDECREF(__pyx_t_3); __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; } /* "MPI/Datatype.pyx":220 * * @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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_blocklengths)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_displacements)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_struct", 1, 3, 3, 1); __PYX_ERR(6, 220, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_datatypes)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_struct", 1, 3, 3, 2); __PYX_ERR(6, 220, __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(6, 220, __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(6, 220, __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; __Pyx_RefNannySetupContext("Create_struct", 0); __Pyx_INCREF(__pyx_v_blocklengths); __Pyx_INCREF(__pyx_v_displacements); __Pyx_INCREF(__pyx_v_datatypes); /* "MPI/Datatype.pyx":225 * block sizes, displacements and datatypes * """ * cdef int count = 0, *iblen = NULL # <<<<<<<<<<<<<< * blocklengths = getarray_int(blocklengths, &count, &iblen) * cdef MPI_Aint *idisp = NULL */ __pyx_v_count = 0; __pyx_v_iblen = NULL; /* "MPI/Datatype.pyx":226 * """ * cdef int count = 0, *iblen = NULL * blocklengths = getarray_int(blocklengths, &count, &iblen) # <<<<<<<<<<<<<< * cdef MPI_Aint *idisp = NULL * displacements = asarray_Aint(displacements, count, &idisp) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_blocklengths, (&__pyx_v_count), (&__pyx_v_iblen)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_blocklengths, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":227 * cdef int count = 0, *iblen = NULL * blocklengths = getarray_int(blocklengths, &count, &iblen) * cdef MPI_Aint *idisp = NULL # <<<<<<<<<<<<<< * displacements = asarray_Aint(displacements, count, &idisp) * cdef MPI_Datatype *ptype = NULL */ __pyx_v_idisp = NULL; /* "MPI/Datatype.pyx":228 * blocklengths = getarray_int(blocklengths, &count, &iblen) * cdef MPI_Aint *idisp = NULL * displacements = asarray_Aint(displacements, count, &idisp) # <<<<<<<<<<<<<< * cdef MPI_Datatype *ptype = NULL * datatypes = asarray_Datatype(datatypes, count, &ptype) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asarray_Aint(__pyx_v_displacements, __pyx_v_count, (&__pyx_v_idisp)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_displacements, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":229 * cdef MPI_Aint *idisp = NULL * displacements = asarray_Aint(displacements, count, &idisp) * cdef MPI_Datatype *ptype = NULL # <<<<<<<<<<<<<< * datatypes = asarray_Datatype(datatypes, count, &ptype) * # */ __pyx_v_ptype = NULL; /* "MPI/Datatype.pyx":230 * displacements = asarray_Aint(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(6, 230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_datatypes, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":232 * 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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 232, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Datatype.pyx":233 * # * 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 == -1)) __PYX_ERR(6, 233, __pyx_L1_error) /* "MPI/Datatype.pyx":235 * 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; /* "MPI/Datatype.pyx":220 * * @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; } /* "MPI/Datatype.pyx":240 * # ----------------------------- * * 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; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sizes)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_subsizes)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_subarray", 0, 3, 4, 1); __PYX_ERR(6, 240, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_starts)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_subarray", 0, 3, 4, 2); __PYX_ERR(6, 240, __pyx_L3_error) } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(6, 240, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); 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(6, 241, __pyx_L3_error) } else { __pyx_v_order = __pyx_k__31; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_subarray", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(6, 240, __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; int __pyx_v_iorder; struct PyMPIDatatypeObject *__pyx_v_datatype = 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; __Pyx_RefNannySetupContext("Create_subarray", 0); __Pyx_INCREF(__pyx_v_sizes); __Pyx_INCREF(__pyx_v_subsizes); __Pyx_INCREF(__pyx_v_starts); /* "MPI/Datatype.pyx":246 * a regular, multidimensional array * """ * cdef int ndims = 0, *isizes = NULL # <<<<<<<<<<<<<< * cdef int *isubsizes = NULL, *istarts = NULL * sizes = getarray_int(sizes, &ndims, &isizes ) */ __pyx_v_ndims = 0; __pyx_v_isizes = NULL; /* "MPI/Datatype.pyx":247 * """ * cdef int ndims = 0, *isizes = NULL * cdef int *isubsizes = NULL, *istarts = NULL # <<<<<<<<<<<<<< * sizes = getarray_int(sizes, &ndims, &isizes ) * subsizes = chkarray_int(subsizes, ndims, &isubsizes) */ __pyx_v_isubsizes = NULL; __pyx_v_istarts = NULL; /* "MPI/Datatype.pyx":248 * cdef int ndims = 0, *isizes = NULL * cdef int *isubsizes = NULL, *istarts = NULL * sizes = getarray_int(sizes, &ndims, &isizes ) # <<<<<<<<<<<<<< * subsizes = chkarray_int(subsizes, ndims, &isubsizes) * starts = chkarray_int(starts, ndims, &istarts ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_sizes, (&__pyx_v_ndims), (&__pyx_v_isizes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_sizes, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":249 * cdef int *isubsizes = NULL, *istarts = NULL * sizes = getarray_int(sizes, &ndims, &isizes ) * subsizes = chkarray_int(subsizes, ndims, &isubsizes) # <<<<<<<<<<<<<< * starts = chkarray_int(starts, ndims, &istarts ) * cdef int iorder = MPI_ORDER_C */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_chkarray_int(__pyx_v_subsizes, __pyx_v_ndims, (&__pyx_v_isubsizes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_subsizes, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":250 * sizes = getarray_int(sizes, &ndims, &isizes ) * subsizes = chkarray_int(subsizes, ndims, &isubsizes) * starts = chkarray_int(starts, ndims, &istarts ) # <<<<<<<<<<<<<< * cdef int iorder = MPI_ORDER_C * if order is not None: iorder = order */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_chkarray_int(__pyx_v_starts, __pyx_v_ndims, (&__pyx_v_istarts)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_starts, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":251 * subsizes = chkarray_int(subsizes, ndims, &isubsizes) * starts = chkarray_int(starts, ndims, &istarts ) * cdef int iorder = MPI_ORDER_C # <<<<<<<<<<<<<< * if order is not None: iorder = order * # */ __pyx_v_iorder = MPI_ORDER_C; /* "MPI/Datatype.pyx":252 * starts = chkarray_int(starts, ndims, &istarts ) * cdef int iorder = MPI_ORDER_C * if order is not None: iorder = order # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_order); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = (__pyx_t_1 != Py_None); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { __pyx_v_iorder = __pyx_v_order; } /* "MPI/Datatype.pyx":254 * if order is not None: iorder = order * # * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_subarray(ndims, isizes, * isubsizes, istarts, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":255 * # * cdef Datatype datatype = Datatype.__new__(Datatype) * CHKERR( MPI_Type_create_subarray(ndims, isizes, # <<<<<<<<<<<<<< * isubsizes, istarts, * iorder, self.ob_mpi, */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_create_subarray(__pyx_v_ndims, __pyx_v_isizes, __pyx_v_isubsizes, __pyx_v_istarts, __pyx_v_iorder, __pyx_v_self->ob_mpi, (&__pyx_v_datatype->ob_mpi))); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(6, 255, __pyx_L1_error) /* "MPI/Datatype.pyx":259 * iorder, 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; /* "MPI/Datatype.pyx":240 * # ----------------------------- * * 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_4); __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; } /* "MPI/Datatype.pyx":264 * # -------------------------------------- * * 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; 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); case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_darray", 0, 6, 7, 1); __PYX_ERR(6, 264, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_gsizes)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_darray", 0, 6, 7, 2); __PYX_ERR(6, 264, __pyx_L3_error) } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_distribs)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_darray", 0, 6, 7, 3); __PYX_ERR(6, 264, __pyx_L3_error) } case 4: if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dargs)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_darray", 0, 6, 7, 4); __PYX_ERR(6, 264, __pyx_L3_error) } case 5: if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_psizes)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_darray", 0, 6, 7, 5); __PYX_ERR(6, 264, __pyx_L3_error) } case 6: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(6, 264, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); 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(6, 264, __pyx_L3_error) __pyx_v_rank = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_rank == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 264, __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(6, 266, __pyx_L3_error) } else { __pyx_v_order = __pyx_k__32; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_darray", 0, 6, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(6, 264, __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; __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); /* "MPI/Datatype.pyx":271 * distributed array on Cartesian process grids * """ * cdef int ndims = 0, *igsizes = NULL # <<<<<<<<<<<<<< * cdef int *idistribs = NULL, *idargs = NULL, *ipsizes = NULL * gsizes = getarray_int(gsizes, &ndims, &igsizes ) */ __pyx_v_ndims = 0; __pyx_v_igsizes = NULL; /* "MPI/Datatype.pyx":272 * """ * cdef int ndims = 0, *igsizes = NULL * cdef int *idistribs = NULL, *idargs = NULL, *ipsizes = NULL # <<<<<<<<<<<<<< * gsizes = getarray_int(gsizes, &ndims, &igsizes ) * distribs = chkarray_int(distribs, ndims, &idistribs ) */ __pyx_v_idistribs = NULL; __pyx_v_idargs = NULL; __pyx_v_ipsizes = NULL; /* "MPI/Datatype.pyx":273 * cdef int ndims = 0, *igsizes = NULL * cdef int *idistribs = NULL, *idargs = NULL, *ipsizes = NULL * gsizes = getarray_int(gsizes, &ndims, &igsizes ) # <<<<<<<<<<<<<< * distribs = chkarray_int(distribs, ndims, &idistribs ) * dargs = chkarray_int(dargs, ndims, &idargs ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_gsizes, (&__pyx_v_ndims), (&__pyx_v_igsizes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_gsizes, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":274 * cdef int *idistribs = NULL, *idargs = NULL, *ipsizes = NULL * gsizes = getarray_int(gsizes, &ndims, &igsizes ) * distribs = chkarray_int(distribs, ndims, &idistribs ) # <<<<<<<<<<<<<< * dargs = chkarray_int(dargs, ndims, &idargs ) * psizes = chkarray_int(psizes, ndims, &ipsizes ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_chkarray_int(__pyx_v_distribs, __pyx_v_ndims, (&__pyx_v_idistribs)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_distribs, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":275 * gsizes = getarray_int(gsizes, &ndims, &igsizes ) * distribs = chkarray_int(distribs, ndims, &idistribs ) * dargs = chkarray_int(dargs, ndims, &idargs ) # <<<<<<<<<<<<<< * psizes = chkarray_int(psizes, ndims, &ipsizes ) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_chkarray_int(__pyx_v_dargs, __pyx_v_ndims, (&__pyx_v_idargs)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_dargs, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":276 * distribs = chkarray_int(distribs, ndims, &idistribs ) * dargs = chkarray_int(dargs, ndims, &idargs ) * psizes = chkarray_int(psizes, ndims, &ipsizes ) # <<<<<<<<<<<<<< * # * cdef Datatype datatype = Datatype.__new__(Datatype) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_chkarray_int(__pyx_v_psizes, __pyx_v_ndims, (&__pyx_v_ipsizes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_psizes, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":278 * psizes = chkarray_int(psizes, ndims, &ipsizes ) * # * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_create_darray(size, rank, ndims, igsizes, * idistribs, idargs, ipsizes, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 278, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Datatype.pyx":279 * # * 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 == -1)) __PYX_ERR(6, 279, __pyx_L1_error) /* "MPI/Datatype.pyx":283 * 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; /* "MPI/Datatype.pyx":264 * # -------------------------------------- * * 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; } /* "MPI/Datatype.pyx":289 * * @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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(6, 289, __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(6, 289, __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(6, 289, __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; __Pyx_RefNannySetupContext("Create_f90_integer", 0); /* "MPI/Datatype.pyx":293 * 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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 293, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Datatype.pyx":294 * """ * 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 == -1)) __PYX_ERR(6, 294, __pyx_L1_error) /* "MPI/Datatype.pyx":295 * 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; /* "MPI/Datatype.pyx":289 * * @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; } /* "MPI/Datatype.pyx":298 * * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_p)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_r)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_f90_real", 1, 2, 2, 1); __PYX_ERR(6, 298, __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(6, 298, __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(6, 298, __pyx_L3_error) __pyx_v_r = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_r == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 298, __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(6, 298, __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; __Pyx_RefNannySetupContext("Create_f90_real", 0); /* "MPI/Datatype.pyx":302 * 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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 302, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Datatype.pyx":303 * """ * 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 == -1)) __PYX_ERR(6, 303, __pyx_L1_error) /* "MPI/Datatype.pyx":304 * 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; /* "MPI/Datatype.pyx":298 * * @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; } /* "MPI/Datatype.pyx":307 * * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_p)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_r)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_f90_complex", 1, 2, 2, 1); __PYX_ERR(6, 307, __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(6, 307, __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(6, 307, __pyx_L3_error) __pyx_v_r = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_r == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 307, __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(6, 307, __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; __Pyx_RefNannySetupContext("Create_f90_complex", 0); /* "MPI/Datatype.pyx":311 * 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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 311, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Datatype.pyx":312 * """ * 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 == -1)) __PYX_ERR(6, 312, __pyx_L1_error) /* "MPI/Datatype.pyx":313 * 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; /* "MPI/Datatype.pyx":307 * * @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; } /* "MPI/Datatype.pyx":316 * * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_typeclass)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Match_size", 1, 2, 2, 1); __PYX_ERR(6, 316, __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(6, 316, __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(6, 316, __pyx_L3_error) __pyx_v_size = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(6, 316, __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(6, 316, __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; __Pyx_RefNannySetupContext("Match_size", 0); /* "MPI/Datatype.pyx":320 * 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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 320, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Datatype.pyx":321 * """ * 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 == -1)) __PYX_ERR(6, 321, __pyx_L1_error) /* "MPI/Datatype.pyx":322 * 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; /* "MPI/Datatype.pyx":316 * * @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; } /* "MPI/Datatype.pyx":327 * # ------------------------ * * 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; __Pyx_RefNannySetupContext("Commit", 0); /* "MPI/Datatype.pyx":331 * 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 == -1)) __PYX_ERR(6, 331, __pyx_L1_error) /* "MPI/Datatype.pyx":332 * """ * 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; /* "MPI/Datatype.pyx":327 * # ------------------------ * * 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; } /* "MPI/Datatype.pyx":334 * 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; __Pyx_RefNannySetupContext("Free", 0); /* "MPI/Datatype.pyx":338 * 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 == -1)) __PYX_ERR(6, 338, __pyx_L1_error) /* "MPI/Datatype.pyx":339 * """ * 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; /* "MPI/Datatype.pyx":340 * 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; /* "MPI/Datatype.pyx":341 * 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; } /* "MPI/Datatype.pyx":342 * 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; } /* "MPI/Datatype.pyx":343 * 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; } /* "MPI/Datatype.pyx":344 * 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; } /* "MPI/Datatype.pyx":345 * 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; } /* "MPI/Datatype.pyx":346 * 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; } /* "MPI/Datatype.pyx":347 * 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; } /* "MPI/Datatype.pyx":348 * 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; } /* "MPI/Datatype.pyx":349 * 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; } /* "MPI/Datatype.pyx":350 * 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; } /* "MPI/Datatype.pyx":351 * 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; } /* "MPI/Datatype.pyx":352 * 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; } /* "MPI/Datatype.pyx":353 * 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; } /* "MPI/Datatype.pyx":354 * 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; } /* "MPI/Datatype.pyx":355 * 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; } /* "MPI/Datatype.pyx":356 * 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; } /* "MPI/Datatype.pyx":357 * 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; } /* "MPI/Datatype.pyx":358 * 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; } /* "MPI/Datatype.pyx":359 * 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; } /* "MPI/Datatype.pyx":360 * 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; } /* "MPI/Datatype.pyx":361 * 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; } /* "MPI/Datatype.pyx":362 * 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; } /* "MPI/Datatype.pyx":363 * 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; } /* "MPI/Datatype.pyx":364 * 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; } /* "MPI/Datatype.pyx":365 * 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; } /* "MPI/Datatype.pyx":366 * 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; } /* "MPI/Datatype.pyx":367 * 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; } /* "MPI/Datatype.pyx":368 * 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; } /* "MPI/Datatype.pyx":369 * 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; } /* "MPI/Datatype.pyx":370 * 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; } /* "MPI/Datatype.pyx":371 * 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; } /* "MPI/Datatype.pyx":372 * 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; } /* "MPI/Datatype.pyx":373 * 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; } /* "MPI/Datatype.pyx":374 * 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; } /* "MPI/Datatype.pyx":375 * 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; } /* "MPI/Datatype.pyx":376 * 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; } /* "MPI/Datatype.pyx":377 * 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; } /* "MPI/Datatype.pyx":378 * 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; } /* "MPI/Datatype.pyx":379 * 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; } /* "MPI/Datatype.pyx":380 * 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; } /* "MPI/Datatype.pyx":381 * 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; } /* "MPI/Datatype.pyx":382 * 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; } /* "MPI/Datatype.pyx":383 * 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; } /* "MPI/Datatype.pyx":384 * 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; } /* "MPI/Datatype.pyx":385 * 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; } /* "MPI/Datatype.pyx":386 * 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; } /* "MPI/Datatype.pyx":387 * 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; } /* "MPI/Datatype.pyx":388 * 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; } /* "MPI/Datatype.pyx":389 * 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; } /* "MPI/Datatype.pyx":390 * 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; } /* "MPI/Datatype.pyx":391 * 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; } /* "MPI/Datatype.pyx":392 * 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; } /* "MPI/Datatype.pyx":393 * 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; } /* "MPI/Datatype.pyx":394 * 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; } /* "MPI/Datatype.pyx":395 * 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; } /* "MPI/Datatype.pyx":396 * 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; } /* "MPI/Datatype.pyx":397 * 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; } /* "MPI/Datatype.pyx":398 * 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; } /* "MPI/Datatype.pyx":399 * 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; } /* "MPI/Datatype.pyx":400 * 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; } /* "MPI/Datatype.pyx":401 * 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; } /* "MPI/Datatype.pyx":402 * 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; } /* "MPI/Datatype.pyx":403 * 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; } /* "MPI/Datatype.pyx":404 * 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; } /* "MPI/Datatype.pyx":405 * 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; } /* "MPI/Datatype.pyx":406 * 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; } /* "MPI/Datatype.pyx":407 * 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; } /* "MPI/Datatype.pyx":408 * 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; } /* "MPI/Datatype.pyx":409 * 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:; /* "MPI/Datatype.pyx":410 * 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; /* "MPI/Datatype.pyx":334 * 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; } /* "MPI/Datatype.pyx":415 * # ----------------- * * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_lb)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_extent)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_resized", 1, 2, 2, 1); __PYX_ERR(6, 415, __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(6, 415, __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(6, 415, __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(6, 415, __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(6, 415, __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; __Pyx_RefNannySetupContext("Create_resized", 0); /* "MPI/Datatype.pyx":419 * 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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 419, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Datatype.pyx":420 * """ * 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 == -1)) __PYX_ERR(6, 420, __pyx_L1_error) /* "MPI/Datatype.pyx":423 * 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; /* "MPI/Datatype.pyx":415 * # ----------------- * * 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; } /* "MPI/Datatype.pyx":427 * 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; __Pyx_RefNannySetupContext("Get_true_extent", 0); /* "MPI/Datatype.pyx":431 * 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; /* "MPI/Datatype.pyx":432 * """ * 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 == -1)) __PYX_ERR(6, 432, __pyx_L1_error) /* "MPI/Datatype.pyx":434 * 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(6, 434, __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(6, 434, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 434, __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; /* "MPI/Datatype.pyx":427 * 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; } /* "MPI/Datatype.pyx":438 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Datatype.pyx":439 * """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; /* "MPI/Datatype.pyx":440 * 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 == -1)) __PYX_ERR(6, 440, __pyx_L1_error) /* "MPI/Datatype.pyx":442 * 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(6, 442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":438 * 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; } /* "MPI/Datatype.pyx":446 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Datatype.pyx":447 * """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; /* "MPI/Datatype.pyx":448 * 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 == -1)) __PYX_ERR(6, 448, __pyx_L1_error) /* "MPI/Datatype.pyx":450 * 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(6, 450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":446 * 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; } /* "MPI/Datatype.pyx":454 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Datatype.pyx":455 * """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; /* "MPI/Datatype.pyx":456 * 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 == -1)) __PYX_ERR(6, 456, __pyx_L1_error) /* "MPI/Datatype.pyx":458 * 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(6, 458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":454 * 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; } /* "MPI/Datatype.pyx":463 * # ------------------- * * 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; __Pyx_RefNannySetupContext("Get_envelope", 0); /* "MPI/Datatype.pyx":468 * 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; /* "MPI/Datatype.pyx":469 * """ * 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 == -1)) __PYX_ERR(6, 469, __pyx_L1_error) /* "MPI/Datatype.pyx":470 * 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(6, 470, __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(6, 470, __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(6, 470, __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(6, 470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(6, 470, __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; /* "MPI/Datatype.pyx":463 * # ------------------- * * 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; } /* "MPI/Datatype.pyx":474 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Datatype.pyx":475 * """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(6, 475, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 475, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 475, __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; /* "MPI/Datatype.pyx":474 * 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; } /* "MPI/Datatype.pyx":477 * 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; __Pyx_RefNannySetupContext("Get_contents", 0); /* "MPI/Datatype.pyx":482 * 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; /* "MPI/Datatype.pyx":483 * """ * 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 == -1)) __PYX_ERR(6, 483, __pyx_L1_error) /* "MPI/Datatype.pyx":484 * 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; /* "MPI/Datatype.pyx":485 * 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; /* "MPI/Datatype.pyx":486 * 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; /* "MPI/Datatype.pyx":487 * 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)), ((void **)(&__pyx_v_i)))); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Datatype.pyx":488 * 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)), ((void **)(&__pyx_v_a)))); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Datatype.pyx":489 * 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)), ((void **)(&__pyx_v_d)))); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp3 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Datatype.pyx":490 * 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 == -1)) __PYX_ERR(6, 490, __pyx_L1_error) /* "MPI/Datatype.pyx":491 * 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; /* "MPI/Datatype.pyx":492 * 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(6, 492, __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(6, 492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(6, 492, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_integers = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Datatype.pyx":493 * 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(6, 493, __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(6, 493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(6, 493, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_addresses = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Datatype.pyx":494 * 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(6, 494, __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(6, 494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(6, 494, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_datatypes = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Datatype.pyx":495 * 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(6, 495, __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; /* "MPI/Datatype.pyx":477 * 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; } /* "MPI/Datatype.pyx":499 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Datatype.pyx":500 * """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(6, 500, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 500, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 500, __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; /* "MPI/Datatype.pyx":499 * 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; } /* "MPI/Datatype.pyx":502 * 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; __Pyx_RefNannySetupContext("decode", 0); /* "MPI/Datatype.pyx":507 * """ * # 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; /* "MPI/Datatype.pyx":508 * # 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 == -1)) __PYX_ERR(6, 508, __pyx_L1_error) /* "MPI/Datatype.pyx":510 * 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; } /* "MPI/Datatype.pyx":512 * 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; /* "MPI/Datatype.pyx":513 * # 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; /* "MPI/Datatype.pyx":514 * 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; /* "MPI/Datatype.pyx":515 * 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)), ((void **)(&__pyx_v_i)))); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp1 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/Datatype.pyx":516 * 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)), ((void **)(&__pyx_v_a)))); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp2 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/Datatype.pyx":517 * 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)), ((void **)(&__pyx_v_d)))); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 517, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp3 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/Datatype.pyx":518 * 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 == -1)) __PYX_ERR(6, 518, __pyx_L1_error) /* "MPI/Datatype.pyx":520 * 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; /* "MPI/Datatype.pyx":521 * # 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; /* "MPI/Datatype.pyx":522 * 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) { /* "MPI/Datatype.pyx":523 * 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(6, 523, __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(6, 523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(6, 523, __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; /* "MPI/Datatype.pyx":522 * 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; } /* "MPI/Datatype.pyx":524 * 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; } /* "MPI/Datatype.pyx":525 * 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; } /* "MPI/Datatype.pyx":526 * 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:; /* "MPI/Datatype.pyx":524 * 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) { /* "MPI/Datatype.pyx":527 * 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(6, 527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_oldtype, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":524 * 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:; /* "MPI/Datatype.pyx":529 * 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) { /* "MPI/Datatype.pyx":530 * # 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 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 530, __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; /* "MPI/Datatype.pyx":529 * oldtype = ref_Datatype(d[0]) * # dispatch depending on the combiner value * if combiner == MPI_COMBINER_DUP: # <<<<<<<<<<<<<< * return (oldtype, ('DUP'), {}) * elif combiner == MPI_COMBINER_CONTIGUOUS: */ } /* "MPI/Datatype.pyx":531 * 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) { /* "MPI/Datatype.pyx":532 * return (oldtype, ('DUP'), {}) * elif combiner == MPI_COMBINER_CONTIGUOUS: * return (oldtype, ('CONTIGUOUS'), # <<<<<<<<<<<<<< * {('count') : i[0]}) * elif combiner == MPI_COMBINER_VECTOR: */ __Pyx_XDECREF(__pyx_r); /* "MPI/Datatype.pyx":533 * elif combiner == MPI_COMBINER_CONTIGUOUS: * return (oldtype, ('CONTIGUOUS'), * {('count') : i[0]}) # <<<<<<<<<<<<<< * elif combiner == MPI_COMBINER_VECTOR: * return (oldtype, ('VECTOR'), */ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 533, __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(6, 533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_count, __pyx_t_3) < 0) __PYX_ERR(6, 533, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":532 * 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(6, 532, __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; /* "MPI/Datatype.pyx":531 * if combiner == MPI_COMBINER_DUP: * return (oldtype, ('DUP'), {}) * elif combiner == MPI_COMBINER_CONTIGUOUS: # <<<<<<<<<<<<<< * return (oldtype, ('CONTIGUOUS'), * {('count') : i[0]}) */ } /* "MPI/Datatype.pyx":534 * 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) { /* "MPI/Datatype.pyx":535 * {('count') : i[0]}) * elif combiner == MPI_COMBINER_VECTOR: * return (oldtype, ('VECTOR'), # <<<<<<<<<<<<<< * {('count') : i[0], * ('blocklength') : i[1], */ __Pyx_XDECREF(__pyx_r); /* "MPI/Datatype.pyx":536 * elif combiner == MPI_COMBINER_VECTOR: * return (oldtype, ('VECTOR'), * {('count') : i[0], # <<<<<<<<<<<<<< * ('blocklength') : i[1], * ('stride') : i[2]}) */ __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 536, __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(6, 536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_count, __pyx_t_4) < 0) __PYX_ERR(6, 536, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":537 * 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(6, 537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_blocklength, __pyx_t_4) < 0) __PYX_ERR(6, 536, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":538 * {('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(6, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_stride, __pyx_t_4) < 0) __PYX_ERR(6, 536, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":535 * {('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(6, 535, __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; /* "MPI/Datatype.pyx":534 * return (oldtype, ('CONTIGUOUS'), * {('count') : i[0]}) * elif combiner == MPI_COMBINER_VECTOR: # <<<<<<<<<<<<<< * return (oldtype, ('VECTOR'), * {('count') : i[0], */ } /* "MPI/Datatype.pyx":539 * ('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) { /* "MPI/Datatype.pyx":540 * ('stride') : i[2]}) * elif combiner == MPI_COMBINER_HVECTOR: * return (oldtype, ('HVECTOR'), # <<<<<<<<<<<<<< * {('count') : i[0], * ('blocklength') : i[1], */ __Pyx_XDECREF(__pyx_r); /* "MPI/Datatype.pyx":541 * elif combiner == MPI_COMBINER_HVECTOR: * return (oldtype, ('HVECTOR'), * {('count') : i[0], # <<<<<<<<<<<<<< * ('blocklength') : i[1], * ('stride') : a[0]}) */ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 541, __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(6, 541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_count, __pyx_t_3) < 0) __PYX_ERR(6, 541, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":542 * 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(6, 542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_blocklength, __pyx_t_3) < 0) __PYX_ERR(6, 541, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":543 * {('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(6, 543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_stride, __pyx_t_3) < 0) __PYX_ERR(6, 541, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":540 * ('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(6, 540, __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; /* "MPI/Datatype.pyx":539 * ('blocklength') : i[1], * ('stride') : i[2]}) * elif combiner == MPI_COMBINER_HVECTOR: # <<<<<<<<<<<<<< * return (oldtype, ('HVECTOR'), * {('count') : i[0], */ } /* "MPI/Datatype.pyx":544 * ('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) { /* "MPI/Datatype.pyx":545 * ('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]); /* "MPI/Datatype.pyx":546 * 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])); /* "MPI/Datatype.pyx":547 * 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); /* "MPI/Datatype.pyx":548 * 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 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 548, __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(6, 548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 548, __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(6, 548, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":549 * 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(6, 549, __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(6, 549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 549, __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(6, 548, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":547 * 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(6, 547, __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; /* "MPI/Datatype.pyx":544 * ('blocklength') : i[1], * ('stride') : a[0]}) * elif combiner == MPI_COMBINER_INDEXED: # <<<<<<<<<<<<<< * s1 = 1; e1 = i[0] * s2 = i[0]+1; e2 = 2*i[0] */ } /* "MPI/Datatype.pyx":550 * {('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) { /* "MPI/Datatype.pyx":551 * ('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]); /* "MPI/Datatype.pyx":552 * 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); /* "MPI/Datatype.pyx":553 * 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); /* "MPI/Datatype.pyx":554 * 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 = PyDict_New(); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 554, __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(6, 554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 554, __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(6, 554, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":555 * 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(6, 555, __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(6, 555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 555, __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(6, 554, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":553 * 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(6, 553, __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; /* "MPI/Datatype.pyx":550 * {('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 */ } /* "MPI/Datatype.pyx":556 * {('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) { /* "MPI/Datatype.pyx":557 * ('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); /* "MPI/Datatype.pyx":558 * 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); /* "MPI/Datatype.pyx":559 * 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 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 559, __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(6, 559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_blocklength, __pyx_t_4) < 0) __PYX_ERR(6, 559, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":560 * 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(6, 560, __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(6, 560, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 560, __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(6, 559, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":558 * 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(6, 558, __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; /* "MPI/Datatype.pyx":556 * {('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'), */ } /* "MPI/Datatype.pyx":561 * {('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) { /* "MPI/Datatype.pyx":562 * ('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); /* "MPI/Datatype.pyx":563 * 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); /* "MPI/Datatype.pyx":564 * 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 = PyDict_New(); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 564, __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(6, 564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_blocklength, __pyx_t_3) < 0) __PYX_ERR(6, 564, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":565 * 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(6, 565, __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(6, 565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 565, __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(6, 564, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":563 * 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(6, 563, __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; /* "MPI/Datatype.pyx":561 * {('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'), */ } /* "MPI/Datatype.pyx":566 * {('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) { /* "MPI/Datatype.pyx":567 * ('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]); /* "MPI/Datatype.pyx":568 * 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); /* "MPI/Datatype.pyx":569 * 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); /* "MPI/Datatype.pyx":570 * 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 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 570, __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(6, 570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 570, __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(6, 570, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":571 * 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(6, 571, __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(6, 571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 571, __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(6, 570, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":572 * {('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(6, 570, __pyx_L1_error) /* "MPI/Datatype.pyx":569 * 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(6, 569, __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; /* "MPI/Datatype.pyx":566 * {('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 */ } /* "MPI/Datatype.pyx":573 * ('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) { /* "MPI/Datatype.pyx":574 * ('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]); /* "MPI/Datatype.pyx":575 * 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])); /* "MPI/Datatype.pyx":576 * 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])); /* "MPI/Datatype.pyx":577 * 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); /* "MPI/Datatype.pyx":578 * 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 = PyDict_New(); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 578, __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(6, 578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 578, __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(6, 578, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":579 * 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(6, 579, __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(6, 579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 579, __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(6, 578, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":580 * {('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(6, 580, __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(6, 580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 580, __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(6, 578, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":581 * ('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(6, 581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_order, __pyx_t_3) < 0) __PYX_ERR(6, 578, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":577 * 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(6, 577, __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; /* "MPI/Datatype.pyx":573 * ('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] */ } /* "MPI/Datatype.pyx":582 * ('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) { /* "MPI/Datatype.pyx":583 * ('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); /* "MPI/Datatype.pyx":584 * 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); /* "MPI/Datatype.pyx":585 * 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); /* "MPI/Datatype.pyx":586 * 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); /* "MPI/Datatype.pyx":587 * 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); /* "MPI/Datatype.pyx":588 * 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 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 588, __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(6, 588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_size, __pyx_t_4) < 0) __PYX_ERR(6, 588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":589 * 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(6, 589, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_rank, __pyx_t_4) < 0) __PYX_ERR(6, 588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":590 * {('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(6, 590, __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(6, 590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 590, __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(6, 588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":591 * ('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(6, 591, __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(6, 591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 591, __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(6, 588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":592 * ('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(6, 592, __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(6, 592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 592, __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(6, 588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":593 * ('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(6, 593, __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(6, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(6, 593, __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(6, 588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":594 * ('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(6, 594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_order, __pyx_t_4) < 0) __PYX_ERR(6, 588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":587 * 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(6, 587, __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; /* "MPI/Datatype.pyx":582 * ('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 */ } /* "MPI/Datatype.pyx":595 * ('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) { /* "MPI/Datatype.pyx":596 * ('order') : i[4*i[2]+3]}) * elif combiner == MPI_COMBINER_RESIZED: * return (oldtype, ('RESIZED'), # <<<<<<<<<<<<<< * {('lb') : a[0], * ('extent') : a[1]}) */ __Pyx_XDECREF(__pyx_r); /* "MPI/Datatype.pyx":597 * elif combiner == MPI_COMBINER_RESIZED: * return (oldtype, ('RESIZED'), * {('lb') : a[0], # <<<<<<<<<<<<<< * ('extent') : a[1]}) * elif combiner == MPI_COMBINER_F90_INTEGER: */ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 597, __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(6, 597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_lb, __pyx_t_3) < 0) __PYX_ERR(6, 597, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":598 * 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(6, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_extent, __pyx_t_3) < 0) __PYX_ERR(6, 597, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":596 * ('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(6, 596, __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; /* "MPI/Datatype.pyx":595 * ('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], */ } /* "MPI/Datatype.pyx":599 * {('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) { /* "MPI/Datatype.pyx":600 * ('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); /* "MPI/Datatype.pyx":601 * 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 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 601, __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(6, 601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_r, __pyx_t_4) < 0) __PYX_ERR(6, 601, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":600 * ('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(6, 600, __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; /* "MPI/Datatype.pyx":599 * {('lb') : a[0], * ('extent') : a[1]}) * elif combiner == MPI_COMBINER_F90_INTEGER: # <<<<<<<<<<<<<< * return (Datatype, ('F90_INTEGER'), * {('r') : i[0]}) */ } /* "MPI/Datatype.pyx":602 * 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) { /* "MPI/Datatype.pyx":603 * {('r') : i[0]}) * elif combiner == MPI_COMBINER_F90_REAL: * return (Datatype, ('F90_REAL'), # <<<<<<<<<<<<<< * {('p') : i[0], * ('r') : i[1]}) */ __Pyx_XDECREF(__pyx_r); /* "MPI/Datatype.pyx":604 * 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 = PyDict_New(); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 604, __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(6, 604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_p, __pyx_t_3) < 0) __PYX_ERR(6, 604, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":605 * 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(6, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_r, __pyx_t_3) < 0) __PYX_ERR(6, 604, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":603 * {('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(6, 603, __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; /* "MPI/Datatype.pyx":602 * return (Datatype, ('F90_INTEGER'), * {('r') : i[0]}) * elif combiner == MPI_COMBINER_F90_REAL: # <<<<<<<<<<<<<< * return (Datatype, ('F90_REAL'), * {('p') : i[0], */ } /* "MPI/Datatype.pyx":606 * {('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) { /* "MPI/Datatype.pyx":607 * ('r') : i[1]}) * elif combiner == MPI_COMBINER_F90_COMPLEX: * return (Datatype, ('F90_COMPLEX'), # <<<<<<<<<<<<<< * {('p') : i[0], * ('r') : i[1]}) */ __Pyx_XDECREF(__pyx_r); /* "MPI/Datatype.pyx":608 * elif combiner == MPI_COMBINER_F90_COMPLEX: * return (Datatype, ('F90_COMPLEX'), * {('p') : i[0], # <<<<<<<<<<<<<< * ('r') : i[1]}) * else: */ __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 608, __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(6, 608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_p, __pyx_t_4) < 0) __PYX_ERR(6, 608, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":609 * 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(6, 609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_r, __pyx_t_4) < 0) __PYX_ERR(6, 608, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Datatype.pyx":607 * ('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(6, 607, __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; /* "MPI/Datatype.pyx":606 * {('p') : i[0], * ('r') : i[1]}) * elif combiner == MPI_COMBINER_F90_COMPLEX: # <<<<<<<<<<<<<< * return (Datatype, ('F90_COMPLEX'), * {('p') : i[0], */ } /* "MPI/Datatype.pyx":611 * ('r') : i[1]}) * else: * return None # <<<<<<<<<<<<<< * * property combiner: */ /*else*/ { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/Datatype.pyx":502 * 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; } /* "MPI/Datatype.pyx":615 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Datatype.pyx":616 * """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(6, 616, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 616, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 616, __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(6, 616, __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; /* "MPI/Datatype.pyx":615 * 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; } /* "MPI/Datatype.pyx":620 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Datatype.pyx":621 * """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(6, 621, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 621, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 621, __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(6, 621, __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(6, 621, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_combiner = __pyx_t_4; /* "MPI/Datatype.pyx":622 * 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(6, 622, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":620 * 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; } /* "MPI/Datatype.pyx":626 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Datatype.pyx":627 * """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; } /* "MPI/Datatype.pyx":628 * 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(6, 628, __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); } } if (__pyx_t_4) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 628, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 628, __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(6, 628, __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(6, 628, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_combiner = __pyx_t_5; /* "MPI/Datatype.pyx":629 * 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(6, 629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L4_bool_binop_done; } /* "MPI/Datatype.pyx":630 * 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(6, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L4_bool_binop_done; } /* "MPI/Datatype.pyx":631 * 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(6, 631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L4_bool_binop_done; } /* "MPI/Datatype.pyx":632 * 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(6, 632, __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; /* "MPI/Datatype.pyx":626 * 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; } /* "MPI/Datatype.pyx":637 * # --------------- * * def Pack(self, inbuf, outbuf, int position, Comm comm not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_inbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_outbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack", 1, 4, 4, 1); __PYX_ERR(6, 637, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_position)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack", 1, 4, 4, 2); __PYX_ERR(6, 637, __pyx_L3_error) } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack", 1, 4, 4, 3); __PYX_ERR(6, 637, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Pack") < 0)) __PYX_ERR(6, 637, __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(6, 637, __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(6, 637, __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(6, 637, __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; __Pyx_RefNannySetupContext("Pack", 0); /* "MPI/Datatype.pyx":641 * 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; /* "MPI/Datatype.pyx":642 * """ * 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 == -1)) __PYX_ERR(6, 642, __pyx_L1_error) /* "MPI/Datatype.pyx":644 * 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; /* "MPI/Datatype.pyx":645 * # * 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; /* "MPI/Datatype.pyx":646 * 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(6, 646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Datatype.pyx":647 * 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(6, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Datatype.pyx":648 * 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 == -1 && PyErr_Occurred())) __PYX_ERR(6, 648, __pyx_L1_error) __pyx_v_icount = __pyx_t_1; /* "MPI/Datatype.pyx":649 * 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); /* "MPI/Datatype.pyx":651 * 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 == -1)) __PYX_ERR(6, 651, __pyx_L1_error) /* "MPI/Datatype.pyx":653 * 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 not None): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_position); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":637 * # --------------- * * def Pack(self, inbuf, outbuf, int position, Comm comm not None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Datatype.pyx":655 * return position * * def Unpack(self, inbuf, int position, outbuf, Comm comm not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_inbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_position)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpack", 1, 4, 4, 1); __PYX_ERR(6, 655, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_outbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpack", 1, 4, 4, 2); __PYX_ERR(6, 655, __pyx_L3_error) } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpack", 1, 4, 4, 3); __PYX_ERR(6, 655, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Unpack") < 0)) __PYX_ERR(6, 655, __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(6, 655, __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(6, 655, __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(6, 655, __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; __Pyx_RefNannySetupContext("Unpack", 0); /* "MPI/Datatype.pyx":659 * 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; /* "MPI/Datatype.pyx":660 * """ * 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 == -1)) __PYX_ERR(6, 660, __pyx_L1_error) /* "MPI/Datatype.pyx":662 * 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; /* "MPI/Datatype.pyx":663 * # * 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; /* "MPI/Datatype.pyx":664 * 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(6, 664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Datatype.pyx":665 * 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(6, 665, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Datatype.pyx":666 * 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); /* "MPI/Datatype.pyx":667 * 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 == -1 && PyErr_Occurred())) __PYX_ERR(6, 667, __pyx_L1_error) __pyx_v_ocount = __pyx_t_1; /* "MPI/Datatype.pyx":669 * 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 == -1)) __PYX_ERR(6, 669, __pyx_L1_error) /* "MPI/Datatype.pyx":671 * CHKERR( MPI_Unpack(ibptr, isize, &position, obptr, ocount, * self.ob_mpi, comm.ob_mpi) ) * return position # <<<<<<<<<<<<<< * * def Pack_size(self, int count, Comm comm not None): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_position); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":655 * return position * * def Unpack(self, inbuf, int position, outbuf, Comm comm not None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Datatype.pyx":673 * return position * * def Pack_size(self, int count, Comm comm not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack_size", 1, 2, 2, 1); __PYX_ERR(6, 673, __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(6, 673, __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(6, 673, __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(6, 673, __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(6, 673, __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; __Pyx_RefNannySetupContext("Pack_size", 0); /* "MPI/Datatype.pyx":678 * 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; /* "MPI/Datatype.pyx":679 * """ * 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 == -1)) __PYX_ERR(6, 679, __pyx_L1_error) /* "MPI/Datatype.pyx":681 * 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(6, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":673 * return position * * def Pack_size(self, int count, Comm comm not None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Datatype.pyx":686 * # ------------------------- * * 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; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_datarep)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_inbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack_external", 1, 4, 4, 1); __PYX_ERR(6, 686, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_outbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack_external", 1, 4, 4, 2); __PYX_ERR(6, 686, __pyx_L3_error) } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_position)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack_external", 1, 4, 4, 3); __PYX_ERR(6, 686, __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(6, 686, __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(6, 686, __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(6, 686, __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; __Pyx_RefNannySetupContext("Pack_external", 0); __Pyx_INCREF(__pyx_v_datarep); /* "MPI/Datatype.pyx":691 * 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; /* "MPI/Datatype.pyx":692 * """ * 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(6, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_datarep, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":693 * 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; /* "MPI/Datatype.pyx":694 * 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 == -1)) __PYX_ERR(6, 694, __pyx_L1_error) /* "MPI/Datatype.pyx":696 * 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; /* "MPI/Datatype.pyx":697 * # * 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; /* "MPI/Datatype.pyx":698 * 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(6, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp1 = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Datatype.pyx":699 * 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(6, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp2 = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Datatype.pyx":700 * 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 == -1 && PyErr_Occurred())) __PYX_ERR(6, 700, __pyx_L1_error) __pyx_v_icount = __pyx_t_2; /* "MPI/Datatype.pyx":702 * 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 == -1)) __PYX_ERR(6, 702, __pyx_L1_error) /* "MPI/Datatype.pyx":705 * 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(6, 705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":686 * # ------------------------- * * 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; } /* "MPI/Datatype.pyx":707 * 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; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_datarep)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_inbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpack_external", 1, 4, 4, 1); __PYX_ERR(6, 707, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_position)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpack_external", 1, 4, 4, 2); __PYX_ERR(6, 707, __pyx_L3_error) } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_outbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpack_external", 1, 4, 4, 3); __PYX_ERR(6, 707, __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(6, 707, __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(6, 707, __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(6, 707, __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; __Pyx_RefNannySetupContext("Unpack_external", 0); __Pyx_INCREF(__pyx_v_datarep); /* "MPI/Datatype.pyx":712 * 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; /* "MPI/Datatype.pyx":713 * """ * 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(6, 713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_datarep, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":714 * 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; /* "MPI/Datatype.pyx":715 * 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 == -1)) __PYX_ERR(6, 715, __pyx_L1_error) /* "MPI/Datatype.pyx":717 * 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; /* "MPI/Datatype.pyx":718 * # * 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; /* "MPI/Datatype.pyx":719 * 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(6, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp1 = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Datatype.pyx":720 * 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(6, 720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp2 = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Datatype.pyx":721 * 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 == -1 && PyErr_Occurred())) __PYX_ERR(6, 721, __pyx_L1_error) __pyx_v_ocount = __pyx_t_2; /* "MPI/Datatype.pyx":723 * 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 == -1)) __PYX_ERR(6, 723, __pyx_L1_error) /* "MPI/Datatype.pyx":725 * 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(6, 725, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":707 * 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; } /* "MPI/Datatype.pyx":727 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_datarep)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Pack_external_size", 1, 2, 2, 1); __PYX_ERR(6, 727, __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(6, 727, __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(6, 727, __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(6, 727, __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; __Pyx_RefNannySetupContext("Pack_external_size", 0); __Pyx_INCREF(__pyx_v_datarep); /* "MPI/Datatype.pyx":733 * using a portable data representation (**external32**). * """ * cdef char *cdatarep = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0 * datarep = asmpistr(datarep, &cdatarep) */ __pyx_v_cdatarep = NULL; /* "MPI/Datatype.pyx":734 * """ * cdef char *cdatarep = NULL * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * datarep = asmpistr(datarep, &cdatarep) * CHKERR( MPI_Pack_external_size(cdatarep, count, */ __pyx_v_size = 0; /* "MPI/Datatype.pyx":735 * 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(6, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_datarep, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":736 * 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 == -1)) __PYX_ERR(6, 736, __pyx_L1_error) /* "MPI/Datatype.pyx":738 * 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(6, 738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":727 * 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; } /* "MPI/Datatype.pyx":743 * # ---------- * * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(6, 743, __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(6, 743, __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(6, 743, __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_t_4; __Pyx_RefNannySetupContext("Get_attr", 0); /* "MPI/Datatype.pyx":747 * 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; /* "MPI/Datatype.pyx":748 * """ * 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; /* "MPI/Datatype.pyx":749 * 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 not attrval: 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 == -1)) __PYX_ERR(6, 749, __pyx_L1_error) /* "MPI/Datatype.pyx":750 * cdef int flag = 0 * CHKERR( MPI_Type_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) * if not flag: return None # <<<<<<<<<<<<<< * if not attrval: return 0 * # handle predefined keyvals */ __pyx_t_2 = ((!(__pyx_v_flag != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/Datatype.pyx":751 * CHKERR( MPI_Type_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) * if not flag: return None * if not attrval: return 0 # <<<<<<<<<<<<<< * # handle predefined keyvals * if 0: pass */ __pyx_t_2 = ((!(__pyx_v_attrval != 0)) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_int_0); __pyx_r = __pyx_int_0; goto __pyx_L0; } /* "MPI/Datatype.pyx":755 * if 0: pass * # likely be a user-defined keyval * elif keyval in type_keyval: # <<<<<<<<<<<<<< * return attrval * else: */ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__pyx_v_6mpi4py_3MPI_type_keyval == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(6, 755, __pyx_L1_error) } __pyx_t_2 = (__Pyx_PyDict_ContainsTF(__pyx_t_3, __pyx_v_6mpi4py_3MPI_type_keyval, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(6, 755, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = (__pyx_t_2 != 0); if (__pyx_t_4) { /* "MPI/Datatype.pyx":756 * # likely be a user-defined keyval * elif keyval in type_keyval: * 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; /* "MPI/Datatype.pyx":755 * if 0: pass * # likely be a user-defined keyval * elif keyval in type_keyval: # <<<<<<<<<<<<<< * return attrval * else: */ } /* "MPI/Datatype.pyx":758 * return attrval * else: * return PyLong_FromVoidPtr(attrval) # <<<<<<<<<<<<<< * * def Set_attr(self, int keyval, object attrval): */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyLong_FromVoidPtr(__pyx_v_attrval); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "MPI/Datatype.pyx":743 * # ---------- * * 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; } /* "MPI/Datatype.pyx":760 * return PyLong_FromVoidPtr(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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_keyval)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_attrval)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Set_attr", 1, 2, 2, 1); __PYX_ERR(6, 760, __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(6, 760, __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(6, 760, __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(6, 760, __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) { void *__pyx_v_ptrval; PyObject *__pyx_v_state = 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; __Pyx_RefNannySetupContext("Set_attr", 0); /* "MPI/Datatype.pyx":764 * Store attribute value associated with a key * """ * cdef void *ptrval = NULL # <<<<<<<<<<<<<< * cdef object state = type_keyval.get(keyval) * if state is not None: */ __pyx_v_ptrval = NULL; /* "MPI/Datatype.pyx":765 * """ * cdef void *ptrval = NULL * cdef object state = type_keyval.get(keyval) # <<<<<<<<<<<<<< * if state is not None: * ptrval = attrval */ if (unlikely(__pyx_v_6mpi4py_3MPI_type_keyval == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get"); __PYX_ERR(6, 765, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 765, __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(6, 765, __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; /* "MPI/Datatype.pyx":766 * cdef void *ptrval = NULL * cdef object state = type_keyval.get(keyval) * if state is not None: # <<<<<<<<<<<<<< * ptrval = attrval * else: */ __pyx_t_3 = (__pyx_v_state != Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* "MPI/Datatype.pyx":767 * cdef object state = type_keyval.get(keyval) * if state is not None: * ptrval = attrval # <<<<<<<<<<<<<< * else: * ptrval = PyLong_AsVoidPtr(attrval) */ __pyx_v_ptrval = ((void *)__pyx_v_attrval); /* "MPI/Datatype.pyx":766 * cdef void *ptrval = NULL * cdef object state = type_keyval.get(keyval) * if state is not None: # <<<<<<<<<<<<<< * ptrval = attrval * else: */ goto __pyx_L3; } /* "MPI/Datatype.pyx":769 * ptrval = attrval * else: * ptrval = PyLong_AsVoidPtr(attrval) # <<<<<<<<<<<<<< * CHKERR( MPI_Type_set_attr(self.ob_mpi, keyval, ptrval) ) * if state is None: return */ /*else*/ { __pyx_v_ptrval = PyLong_AsVoidPtr(__pyx_v_attrval); } __pyx_L3:; /* "MPI/Datatype.pyx":770 * else: * ptrval = PyLong_AsVoidPtr(attrval) * CHKERR( MPI_Type_set_attr(self.ob_mpi, keyval, ptrval) ) # <<<<<<<<<<<<<< * if state is None: return * Py_INCREF(attrval) */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Type_set_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval, __pyx_v_ptrval)); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(6, 770, __pyx_L1_error) /* "MPI/Datatype.pyx":771 * ptrval = PyLong_AsVoidPtr(attrval) * CHKERR( MPI_Type_set_attr(self.ob_mpi, keyval, ptrval) ) * if state is None: return # <<<<<<<<<<<<<< * Py_INCREF(attrval) * Py_INCREF(state) */ __pyx_t_4 = (__pyx_v_state == Py_None); __pyx_t_3 = (__pyx_t_4 != 0); if (__pyx_t_3) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "MPI/Datatype.pyx":772 * CHKERR( MPI_Type_set_attr(self.ob_mpi, keyval, ptrval) ) * if state is None: return * Py_INCREF(attrval) # <<<<<<<<<<<<<< * Py_INCREF(state) * */ Py_INCREF(__pyx_v_attrval); /* "MPI/Datatype.pyx":773 * if state is None: return * Py_INCREF(attrval) * Py_INCREF(state) # <<<<<<<<<<<<<< * * def Delete_attr(self, int keyval): */ Py_INCREF(__pyx_v_state); /* "MPI/Datatype.pyx":760 * return PyLong_FromVoidPtr(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_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Datatype.Set_attr", __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; } /* "MPI/Datatype.pyx":775 * Py_INCREF(state) * * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(6, 775, __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(6, 775, __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(6, 775, __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; __Pyx_RefNannySetupContext("Delete_attr", 0); /* "MPI/Datatype.pyx":779 * 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 == -1)) __PYX_ERR(6, 779, __pyx_L1_error) /* "MPI/Datatype.pyx":775 * Py_INCREF(state) * * 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; } /* "MPI/Datatype.pyx":782 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None): # <<<<<<<<<<<<<< * """ * 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)\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_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_keyval (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_copy_fn,&__pyx_n_s_delete_fn,0}; PyObject* values[2] = {0,0}; values[0] = ((PyObject *)Py_None); 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_copy_fn); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_delete_fn); 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_keyval") < 0)) __PYX_ERR(6, 782, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_copy_fn = values[0]; __pyx_v_delete_fn = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_keyval", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(6, 782, __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); /* 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_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; __Pyx_RefNannySetupContext("Create_keyval", 0); /* "MPI/Datatype.pyx":786 * Create a new attribute key for datatypes * """ * cdef object state = _p_keyval(copy_fn, delete_fn) # <<<<<<<<<<<<<< * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Type_copy_attr_function *_copy = type_attr_copy_fn */ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 786, __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_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6mpi4py_3MPI__p_keyval), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 786, __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; /* "MPI/Datatype.pyx":787 * """ * cdef object state = _p_keyval(copy_fn, delete_fn) * cdef int keyval = MPI_KEYVAL_INVALID # <<<<<<<<<<<<<< * cdef MPI_Type_copy_attr_function *_copy = type_attr_copy_fn * cdef MPI_Type_delete_attr_function *_del = type_attr_delete_fn */ __pyx_v_keyval = MPI_KEYVAL_INVALID; /* "MPI/Datatype.pyx":788 * cdef object state = _p_keyval(copy_fn, delete_fn) * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Type_copy_attr_function *_copy = type_attr_copy_fn # <<<<<<<<<<<<<< * cdef MPI_Type_delete_attr_function *_del = type_attr_delete_fn * cdef void *extra_state = state */ __pyx_v__copy = __pyx_f_6mpi4py_3MPI_type_attr_copy_fn; /* "MPI/Datatype.pyx":789 * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Type_copy_attr_function *_copy = type_attr_copy_fn * cdef MPI_Type_delete_attr_function *_del = type_attr_delete_fn # <<<<<<<<<<<<<< * cdef void *extra_state = state * CHKERR( MPI_Type_create_keyval(_copy, _del, &keyval, extra_state) ) */ __pyx_v__del = __pyx_f_6mpi4py_3MPI_type_attr_delete_fn; /* "MPI/Datatype.pyx":790 * cdef MPI_Type_copy_attr_function *_copy = type_attr_copy_fn * cdef MPI_Type_delete_attr_function *_del = type_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); /* "MPI/Datatype.pyx":791 * cdef MPI_Type_delete_attr_function *_del = type_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 == -1)) __PYX_ERR(6, 791, __pyx_L1_error) /* "MPI/Datatype.pyx":792 * 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(6, 792, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 792, __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(6, 792, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Datatype.pyx":793 * 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(6, 793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":782 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Datatype.pyx":796 * * @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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(6, 796, __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(6, 796, __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(6, 796, __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; __Pyx_RefNannySetupContext("Free_keyval", 0); /* "MPI/Datatype.pyx":800 * 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; /* "MPI/Datatype.pyx":801 * """ * 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 == -1)) __PYX_ERR(6, 801, __pyx_L1_error) /* "MPI/Datatype.pyx":802 * 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(6, 802, __pyx_L3_error) } __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_keyval_save); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 802, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_DelItem(__pyx_v_6mpi4py_3MPI_type_keyval, __pyx_t_5) < 0)) __PYX_ERR(6, 802, __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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /* "MPI/Datatype.pyx":803 * 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:; /* "MPI/Datatype.pyx":802 * cdef int keyval_save = keyval * CHKERR( MPI_Type_free_keyval(&keyval) ) * try: del type_keyval[keyval_save] # <<<<<<<<<<<<<< * except KeyError: pass * return keyval */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/Datatype.pyx":804 * 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(6, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":796 * * @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; } /* "MPI/Datatype.pyx":809 * # -------------- * * 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; __Pyx_RefNannySetupContext("Get_name", 0); /* "MPI/Datatype.pyx":814 * """ * 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; /* "MPI/Datatype.pyx":815 * 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 == -1)) __PYX_ERR(6, 815, __pyx_L1_error) /* "MPI/Datatype.pyx":816 * 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(6, 816, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":809 * # -------------- * * 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; } /* "MPI/Datatype.pyx":818 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(6, 818, __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(6, 818, __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; __Pyx_RefNannySetupContext("Set_name", 0); __Pyx_INCREF(__pyx_v_name); /* "MPI/Datatype.pyx":822 * 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; /* "MPI/Datatype.pyx":823 * """ * 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(6, 823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":824 * 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 == -1)) __PYX_ERR(6, 824, __pyx_L1_error) /* "MPI/Datatype.pyx":818 * 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; } /* "MPI/Datatype.pyx":828 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Datatype.pyx":829 * """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(6, 829, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 829, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 829, __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; /* "MPI/Datatype.pyx":828 * 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; } /* "MPI/Datatype.pyx":830 * 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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__set__", 0); /* "MPI/Datatype.pyx":831 * 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(6, 831, __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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 831, __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[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 831, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 831, __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 = NULL; __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_value); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Datatype.pyx":830 * 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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Datatype.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/Datatype.pyx":836 * # -------------- * * 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; __Pyx_RefNannySetupContext("py2f", 0); /* "MPI/Datatype.pyx":839 * """ * """ * 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(6, 839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":836 * # -------------- * * 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; } /* "MPI/Datatype.pyx":842 * * @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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(6, 842, __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(6, 842, __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; __Pyx_RefNannySetupContext("f2py", 0); /* "MPI/Datatype.pyx":845 * """ * """ * cdef Datatype datatype = Datatype.__new__(Datatype) # <<<<<<<<<<<<<< * datatype.ob_mpi = MPI_Type_f2c(arg) * return datatype */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 845, __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_datatype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Datatype.pyx":846 * """ * 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(6, 846, __pyx_L1_error) __pyx_v_datatype->ob_mpi = MPI_Type_f2c(__pyx_t_3); /* "MPI/Datatype.pyx":847 * 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; /* "MPI/Datatype.pyx":842 * * @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; } /* "MPI/Datatype.pyx":854 * # ---------------- * * def Get_address(location): # <<<<<<<<<<<<<< * """ * Get the address of a location in memory */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_11Get_address(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_10Get_address[] = "Get_address(location)\n\n Get the address of a location in memory\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_11Get_address = {"Get_address", (PyCFunction)__pyx_pw_6mpi4py_3MPI_11Get_address, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_10Get_address}; static PyObject *__pyx_pw_6mpi4py_3MPI_11Get_address(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_location = 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(6, 854, __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(6, 854, __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_10Get_address(__pyx_self, __pyx_v_location); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_10Get_address(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_location) { void *__pyx_v_baseptr; CYTHON_UNUSED PyObject *__pyx_v_tmp = 0; MPI_Aint __pyx_v_address; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; __Pyx_RefNannySetupContext("Get_address", 0); /* "MPI/Datatype.pyx":858 * Get the address of a location in memory * """ * cdef void *baseptr = NULL # <<<<<<<<<<<<<< * cdef tmp = getbuffer_r(location, &baseptr, NULL) * cdef MPI_Aint address = 0 */ __pyx_v_baseptr = NULL; /* "MPI/Datatype.pyx":859 * """ * cdef void *baseptr = NULL * cdef tmp = getbuffer_r(location, &baseptr, NULL) # <<<<<<<<<<<<<< * cdef MPI_Aint address = 0 * CHKERR( MPI_Get_address(baseptr, &address) ) */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_getbuffer_r(__pyx_v_location, (&__pyx_v_baseptr), NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Datatype.pyx":860 * cdef void *baseptr = NULL * cdef tmp = getbuffer_r(location, &baseptr, NULL) * cdef MPI_Aint address = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Get_address(baseptr, &address) ) * return address */ __pyx_v_address = 0; /* "MPI/Datatype.pyx":861 * cdef tmp = getbuffer_r(location, &baseptr, NULL) * cdef MPI_Aint address = 0 * CHKERR( MPI_Get_address(baseptr, &address) ) # <<<<<<<<<<<<<< * return address * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_address(__pyx_v_baseptr, (&__pyx_v_address))); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(6, 861, __pyx_L1_error) /* "MPI/Datatype.pyx":862 * cdef MPI_Aint address = 0 * CHKERR( MPI_Get_address(baseptr, &address) ) * return address # <<<<<<<<<<<<<< * * */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_address); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 862, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Datatype.pyx":854 * # ---------------- * * def Get_address(location): # <<<<<<<<<<<<<< * """ * Get the address of a location in memory */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("mpi4py.MPI.Get_address", __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; } /* "MPI/typemap.pxi":3 * # ----------------------------------------------------------------------------- * * cdef inline int AddTypeMap(dict TD, object key, Datatype datatype) except -1: # <<<<<<<<<<<<<< * if datatype.ob_mpi != MPI_DATATYPE_NULL: * TD[key] = datatype */ static CYTHON_INLINE int __pyx_f_6mpi4py_3MPI_AddTypeMap(PyObject *__pyx_v_TD, PyObject *__pyx_v_key, struct PyMPIDatatypeObject *__pyx_v_datatype) { int __pyx_r; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("AddTypeMap", 0); /* "MPI/typemap.pxi":4 * * cdef inline int AddTypeMap(dict TD, object key, Datatype datatype) except -1: * if datatype.ob_mpi != MPI_DATATYPE_NULL: # <<<<<<<<<<<<<< * TD[key] = datatype * return 1 */ __pyx_t_1 = ((__pyx_v_datatype->ob_mpi != MPI_DATATYPE_NULL) != 0); if (__pyx_t_1) { /* "MPI/typemap.pxi":5 * cdef inline int AddTypeMap(dict TD, object key, Datatype datatype) except -1: * if datatype.ob_mpi != MPI_DATATYPE_NULL: * TD[key] = datatype # <<<<<<<<<<<<<< * 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) } if (unlikely(PyDict_SetItem(__pyx_v_TD, __pyx_v_key, ((PyObject *)__pyx_v_datatype)) < 0)) __PYX_ERR(22, 5, __pyx_L1_error) /* "MPI/typemap.pxi":6 * if datatype.ob_mpi != MPI_DATATYPE_NULL: * TD[key] = datatype * return 1 # <<<<<<<<<<<<<< * return 0 * */ __pyx_r = 1; goto __pyx_L0; /* "MPI/typemap.pxi":4 * * cdef inline int AddTypeMap(dict TD, object key, Datatype datatype) except -1: * if datatype.ob_mpi != MPI_DATATYPE_NULL: # <<<<<<<<<<<<<< * TD[key] = datatype * return 1 */ } /* "MPI/typemap.pxi":7 * TD[key] = datatype * return 1 * return 0 # <<<<<<<<<<<<<< * * # ----------------------------------------------------------------------------- */ __pyx_r = 0; goto __pyx_L0; /* "MPI/typemap.pxi":3 * # ----------------------------------------------------------------------------- * * cdef inline int AddTypeMap(dict TD, object key, Datatype datatype) except -1: # <<<<<<<<<<<<<< * if datatype.ob_mpi != MPI_DATATYPE_NULL: * TD[key] = datatype */ /* function exit code */ __pyx_L1_error:; __Pyx_AddTraceback("mpi4py.MPI.AddTypeMap", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "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_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); 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 = PyDict_GetItem(__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(23, 7, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(23, 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(23, 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; __Pyx_RefNannySetupContext("__cinit__", 0); /* "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; /* "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; /* "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 * copy_Status(&status.ob_mpi, &self.ob_mpi) */ __pyx_v_self->ob_mpi.MPI_ERROR = MPI_SUCCESS; /* "MPI/Status.pyx":11 * self.ob_mpi.MPI_TAG = MPI_ANY_TAG * self.ob_mpi.MPI_ERROR = MPI_SUCCESS * if status is None: return # <<<<<<<<<<<<<< * copy_Status(&status.ob_mpi, &self.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; } /* "MPI/Status.pyx":12 * self.ob_mpi.MPI_ERROR = MPI_SUCCESS * if status is None: return * copy_Status(&status.ob_mpi, &self.ob_mpi) # <<<<<<<<<<<<<< * * def __richcmp__(self, other, int op): */ __pyx_f_6mpi4py_3MPI_copy_Status((&__pyx_v_status->ob_mpi), (&__pyx_v_self->ob_mpi)); /* "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; } /* "MPI/Status.pyx":14 * copy_Status(&status.ob_mpi, &self.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__(((PyObject *)__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__(PyObject *__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_r; 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; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "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 r = equal_Status(&s.ob_mpi, &o.ob_mpi) */ __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; } /* "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 r = equal_Status(&s.ob_mpi, &o.ob_mpi) * if op == Py_EQ: return r != 0 */ __pyx_t_3 = __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; /* "MPI/Status.pyx":17 * if not isinstance(other, Status): return NotImplemented * cdef Status s = self, o = other * cdef int r = equal_Status(&s.ob_mpi, &o.ob_mpi) # <<<<<<<<<<<<<< * if op == Py_EQ: return r != 0 * elif op == Py_NE: return r == 0 */ __pyx_v_r = __pyx_f_6mpi4py_3MPI_equal_Status((&__pyx_v_s->ob_mpi), (&__pyx_v_o->ob_mpi)); /* "MPI/Status.pyx":18 * cdef Status s = self, o = other * cdef int r = equal_Status(&s.ob_mpi, &o.ob_mpi) * if op == Py_EQ: return r != 0 # <<<<<<<<<<<<<< * elif op == Py_NE: return r == 0 * cdef str 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_r != 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(23, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "MPI/Status.pyx":19 * cdef int r = equal_Status(&s.ob_mpi, &o.ob_mpi) * if op == Py_EQ: return r != 0 * elif op == Py_NE: return r == 0 # <<<<<<<<<<<<<< * cdef str mod = type(self).__module__ * cdef str 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_r == 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(23, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "MPI/Status.pyx":20 * if op == Py_EQ: return r != 0 * elif op == Py_NE: return r == 0 * cdef str mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef str cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(23, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(23, 20, __pyx_L1_error) __pyx_v_mod = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Status.pyx":21 * elif op == Py_NE: return r == 0 * cdef str mod = type(self).__module__ * cdef str cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(23, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(23, 21, __pyx_L1_error) __pyx_v_cls = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Status.pyx":22 * cdef str mod = type(self).__module__ * cdef str 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(23, 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(23, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(23, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(23, 22, __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(23, 22, __pyx_L1_error) /* "MPI/Status.pyx":14 * copy_Status(&status.ob_mpi, &self.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; } /* "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; __Pyx_RefNannySetupContext("Get_source", 0); /* "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(23, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(23, 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(23, 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(23, 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); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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(23, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 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; /* "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; } /* "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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__set__", 0); /* "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(23, 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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 41, __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[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 41, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(23, 41, __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 = NULL; __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_value); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Status.source.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "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; __Pyx_RefNannySetupContext("Get_tag", 0); /* "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(23, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(23, 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(23, 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(23, 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); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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(23, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 58, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 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; /* "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; } /* "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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__set__", 0); /* "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(23, 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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 60, __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[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 60, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(23, 60, __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 = NULL; __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_value); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Status.tag.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "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; __Pyx_RefNannySetupContext("Get_error", 0); /* "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(23, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(23, 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(23, 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(23, 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); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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(23, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 77, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 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; /* "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; } /* "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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__set__", 0); /* "MPI/Status.pyx":79 * return self.Get_error() * def __set__(self, value): * self.Set_error(value) # <<<<<<<<<<<<<< * * def Get_count(self, Datatype datatype not None=BYTE): */ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(23, 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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 79, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 79, __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[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 79, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(23, 79, __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 = NULL; __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_value); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 79, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Status.error.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/Status.pyx":81 * self.Set_error(value) * * def Get_count(self, Datatype datatype not None=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; 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__33; 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); 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 = PyDict_GetItem(__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(23, 81, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(23, 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(23, 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; __Pyx_RefNannySetupContext("Get_count", 0); /* "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; /* "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; /* "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 == -1)) __PYX_ERR(23, 87, __pyx_L1_error) /* "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(23, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/Status.pyx":81 * self.Set_error(value) * * def Get_count(self, Datatype datatype not None=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; } /* "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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Status.pyx":93 * """byte count""" * def __get__(self): * return self.Get_count(__BYTE__) # <<<<<<<<<<<<<< * * def Get_elements(self, Datatype datatype not None): */ __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(23, 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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_6mpi4py_3MPI___BYTE__)); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, ((PyObject *)__pyx_v_6mpi4py_3MPI___BYTE__)}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 93, __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[2] = {__pyx_t_3, ((PyObject *)__pyx_v_6mpi4py_3MPI___BYTE__)}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 93, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(23, 93, __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 = NULL; __Pyx_INCREF(((PyObject *)__pyx_v_6mpi4py_3MPI___BYTE__)); __Pyx_GIVEREF(((PyObject *)__pyx_v_6mpi4py_3MPI___BYTE__)); PyTuple_SET_ITEM(__pyx_t_4, 0+1, ((PyObject *)__pyx_v_6mpi4py_3MPI___BYTE__)); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "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_XDECREF(__pyx_t_4); __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; } /* "MPI/Status.pyx":95 * return self.Get_count(__BYTE__) * * def Get_elements(self, Datatype datatype not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(23, 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(23, 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(23, 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; __Pyx_RefNannySetupContext("Get_elements", 0); /* "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; /* "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; /* "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 == -1)) __PYX_ERR(23, 101, __pyx_L1_error) /* "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 not None, Count count): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_From_MPI_Count(__pyx_v_elements); if (unlikely(!__pyx_t_3)) __PYX_ERR(23, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/Status.pyx":95 * return self.Get_count(__BYTE__) * * def Get_elements(self, Datatype datatype not None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Status.pyx":104 * return elements * * def Set_elements(self, Datatype datatype not None, 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_datatype)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Set_elements", 1, 2, 2, 1); __PYX_ERR(23, 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(23, 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(23, 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(23, 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(23, 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; __Pyx_RefNannySetupContext("Set_elements", 0); /* "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; /* "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 == -1)) __PYX_ERR(23, 112, __pyx_L1_error) /* "MPI/Status.pyx":104 * return elements * * def Set_elements(self, Datatype datatype not None, 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; } /* "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; __Pyx_RefNannySetupContext("Is_cancelled", 0); /* "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; /* "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 == -1)) __PYX_ERR(23, 119, __pyx_L1_error) /* "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(23, 120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(23, 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(23, 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(23, 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; __Pyx_RefNannySetupContext("Set_cancelled", 0); /* "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 == -1)) __PYX_ERR(23, 129, __pyx_L1_error) /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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(23, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 136, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 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; /* "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; } /* "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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__set__", 0); /* "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(23, 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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 138, __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[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 138, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(23, 138, __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 = NULL; __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_value); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Status.cancelled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "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; __Pyx_RefNannySetupContext("py2f", 0); /* "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; /* "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; /* "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)))); /* "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); /* "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; /* "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)), ((void **)(&__pyx_v_f_status)))); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "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 == -1)) __PYX_ERR(23, 152, __pyx_L1_error) /* "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(23, 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(23, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(23, 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; /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(23, 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(23, 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; __Pyx_RefNannySetupContext("f2py", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Status(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Status), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 159, __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_status = ((struct PyMPIStatusObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; /* "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)))); /* "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); /* "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; /* "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)), ((void **)(&__pyx_v_f_status)))); if (unlikely(!__pyx_t_2)) __PYX_ERR(23, 164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp = __pyx_t_2; __pyx_t_2 = 0; /* "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(23, 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(23, 165, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; (__pyx_v_f_status[__pyx_v_i]) = __pyx_t_4; } /* "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 == -1)) __PYX_ERR(23, 166, __pyx_L1_error) /* "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; /* "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; } /* "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_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); 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 = PyDict_GetItem(__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(24, 7, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(24, 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(24, 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); /* "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; /* "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; } /* "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; /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "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; } /* "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 == -1)) __PYX_ERR(24, 15, __pyx_L1_error) /* "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, 0, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "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__(((PyObject *)__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__(PyObject *__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; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "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; } /* "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 = __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; /* "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 str 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(24, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ * cdef str 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(24, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef str cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(24, 22, __pyx_L1_error) __pyx_v_mod = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Request.pyx":23 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef str mod = type(self).__module__ * cdef str cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(24, 23, __pyx_L1_error) __pyx_v_cls = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Request.pyx":24 * cdef str mod = type(self).__module__ * cdef str 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(24, 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(24, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(24, 24, __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(24, 24, __pyx_L1_error) /* "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; } /* "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); /* "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; /* "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; } /* "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; 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); 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 = PyDict_GetItem(__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(24, 32, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(24, 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(24, 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; __Pyx_RefNannySetupContext("Wait", 0); /* "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)); /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(24, 37, __pyx_L4_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Request.pyx":39 * with nogil: CHKERR( MPI_Wait( * &self.ob_mpi, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * self.ob_buf = None * */ __pyx_t_2 = ((__pyx_v_self->ob_mpi == MPI_REQUEST_NULL) != 0); if (__pyx_t_2) { /* "MPI/Request.pyx":40 * &self.ob_mpi, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: * self.ob_buf = None # <<<<<<<<<<<<<< * * def Test(self, Status status=None): */ __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; /* "MPI/Request.pyx":39 * with nogil: CHKERR( MPI_Wait( * &self.ob_mpi, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * self.ob_buf = None * */ } /* "MPI/Request.pyx":32 * # --------------------- * * def Wait(self, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for a send or receive to complete */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __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; } /* "MPI/Request.pyx":42 * self.ob_buf = None * * 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; 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); 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 = PyDict_GetItem(__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(24, 42, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(24, 42, __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(24, 42, __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; __Pyx_RefNannySetupContext("Test", 0); /* "MPI/Request.pyx":46 * 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; /* "MPI/Request.pyx":47 * """ * 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)); /* "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) ) * if self.ob_mpi == MPI_REQUEST_NULL: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Request.pyx":49 * 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 == -1)) __PYX_ERR(24, 48, __pyx_L4_error) } /* "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) ) * if self.ob_mpi == MPI_REQUEST_NULL: */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Request.pyx":50 * 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) { /* "MPI/Request.pyx":51 * &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; /* "MPI/Request.pyx":50 * with nogil: CHKERR( MPI_Test( * &self.ob_mpi, &flag, statusp) ) * if self.ob_mpi == MPI_REQUEST_NULL: # <<<<<<<<<<<<<< * self.ob_buf = None * return flag */ } /* "MPI/Request.pyx":52 * 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(24, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/Request.pyx":42 * self.ob_buf = None * * 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; } /* "MPI/Request.pyx":54 * 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; __Pyx_RefNannySetupContext("Free", 0); /* "MPI/Request.pyx":58 * 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 #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Request_free((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(24, 58, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Request.pyx":54 * 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; } /* "MPI/Request.pyx":60 * 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; 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); 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 = PyDict_GetItem(__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(24, 60, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(24, 60, __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(24, 60, __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; __Pyx_RefNannySetupContext("Get_status", 0); /* "MPI/Request.pyx":64 * 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; /* "MPI/Request.pyx":65 * """ * 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)); /* "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) ) * return flag */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Request.pyx":67 * 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 == -1)) __PYX_ERR(24, 66, __pyx_L4_error) } /* "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) ) * return flag */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Request.pyx":68 * 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(24, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Request.pyx":60 * 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; } /* "MPI/Request.pyx":74 * * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_requests)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(24, 74, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(24, 74, __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(24, 74, __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; __Pyx_RefNannySetupContext("Waitany", 0); /* "MPI/Request.pyx":78 * 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; /* "MPI/Request.pyx":79 * """ * 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; /* "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_index = MPI_UNDEFINED; /* "MPI/Request.pyx":81 * 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)); /* "MPI/Request.pyx":83 * 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(24, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":84 * # * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Waitany( * count, irequests, &index, statusp) ) */ /*try:*/ { /* "MPI/Request.pyx":85 * 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 #endif /*try:*/ { /* "MPI/Request.pyx":86 * 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 == -1)) __PYX_ERR(24, 85, __pyx_L7_error) } /* "MPI/Request.pyx":85 * 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 Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L4_error; } __pyx_L8:; } } } /* "MPI/Request.pyx":88 * 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 == -1)) __PYX_ERR(24, 88, __pyx_L1_error) goto __pyx_L5; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __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 == -1)) __PYX_ERR(24, 88, __pyx_L10_error) } __Pyx_PyThreadState_assign 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:; __Pyx_PyThreadState_assign 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:; } /* "MPI/Request.pyx":89 * 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(24, 89, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Request.pyx":74 * * @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; } /* "MPI/Request.pyx":92 * * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_requests)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(24, 92, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(24, 92, __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(24, 92, __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; __Pyx_RefNannySetupContext("Testany", 0); /* "MPI/Request.pyx":96 * 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; /* "MPI/Request.pyx":97 * """ * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef int index = MPI_UNDEFINED * cdef int flag = 0 */ __pyx_v_irequests = NULL; /* "MPI/Request.pyx":98 * 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; /* "MPI/Request.pyx":99 * 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; /* "MPI/Request.pyx":100 * 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)); /* "MPI/Request.pyx":102 * 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(24, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":103 * # * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Testany( * count, irequests, &index, &flag, statusp) ) */ /*try:*/ { /* "MPI/Request.pyx":104 * 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 #endif /*try:*/ { /* "MPI/Request.pyx":105 * 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 == -1)) __PYX_ERR(24, 104, __pyx_L7_error) } /* "MPI/Request.pyx":104 * 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 Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L4_error; } __pyx_L8:; } } } /* "MPI/Request.pyx":107 * 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 == -1)) __PYX_ERR(24, 107, __pyx_L1_error) goto __pyx_L5; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __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 == -1)) __PYX_ERR(24, 107, __pyx_L10_error) } __Pyx_PyThreadState_assign 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:; __Pyx_PyThreadState_assign 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:; } /* "MPI/Request.pyx":109 * 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(24, 109, __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(24, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(24, 109, __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; /* "MPI/Request.pyx":92 * * @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; } /* "MPI/Request.pyx":112 * * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_requests)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(24, 112, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(24, 112, __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; __Pyx_RefNannySetupContext("Waitall", 0); /* "MPI/Request.pyx":116 * 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; /* "MPI/Request.pyx":117 * """ * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # */ __pyx_v_irequests = NULL; /* "MPI/Request.pyx":118 * 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; /* "MPI/Request.pyx":120 * 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(24, 120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":122 * cdef tmp = acquire_rs(requests, statuses, * &count, &irequests, &istatuses) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Waitall( * count, irequests, istatuses) ) */ /*try:*/ { /* "MPI/Request.pyx":123 * &count, &irequests, &istatuses) * try: * with nogil: CHKERR( MPI_Waitall( # <<<<<<<<<<<<<< * count, irequests, istatuses) ) * finally: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Request.pyx":124 * 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 == -1)) __PYX_ERR(24, 123, __pyx_L7_error) } /* "MPI/Request.pyx":123 * &count, &irequests, &istatuses) * try: * with nogil: CHKERR( MPI_Waitall( # <<<<<<<<<<<<<< * count, irequests, istatuses) ) * finally: */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L4_error; } __pyx_L8:; } } } /* "MPI/Request.pyx":126 * count, irequests, istatuses) ) * finally: * release_rs(requests, statuses, count, irequests, istatuses) # <<<<<<<<<<<<<< * 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 == -1)) __PYX_ERR(24, 126, __pyx_L1_error) goto __pyx_L5; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __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 == -1)) __PYX_ERR(24, 126, __pyx_L10_error) } __Pyx_PyThreadState_assign 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:; __Pyx_PyThreadState_assign 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:; } /* "MPI/Request.pyx":127 * finally: * release_rs(requests, statuses, count, irequests, istatuses) * return None # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/Request.pyx":112 * * @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; } /* "MPI/Request.pyx":130 * * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_requests)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(24, 130, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(24, 130, __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; __Pyx_RefNannySetupContext("Testall", 0); /* "MPI/Request.pyx":134 * 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; /* "MPI/Request.pyx":135 * """ * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef int flag = 0 * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE */ __pyx_v_irequests = NULL; /* "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_flag = 0; /* "MPI/Request.pyx":137 * 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; /* "MPI/Request.pyx":139 * 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(24, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":141 * cdef tmp = acquire_rs(requests, statuses, * &count, &irequests, &istatuses) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Testall( * count, irequests, &flag, istatuses) ) */ /*try:*/ { /* "MPI/Request.pyx":142 * &count, &irequests, &istatuses) * try: * with nogil: CHKERR( MPI_Testall( # <<<<<<<<<<<<<< * count, irequests, &flag, istatuses) ) * finally: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Request.pyx":143 * 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 == -1)) __PYX_ERR(24, 142, __pyx_L7_error) } /* "MPI/Request.pyx":142 * &count, &irequests, &istatuses) * try: * with nogil: CHKERR( MPI_Testall( # <<<<<<<<<<<<<< * count, irequests, &flag, istatuses) ) * finally: */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L4_error; } __pyx_L8:; } } } /* "MPI/Request.pyx":145 * 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 == -1)) __PYX_ERR(24, 145, __pyx_L1_error) goto __pyx_L5; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __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 == -1)) __PYX_ERR(24, 145, __pyx_L10_error) } __Pyx_PyThreadState_assign 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:; __Pyx_PyThreadState_assign 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:; } /* "MPI/Request.pyx":146 * 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(24, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Request.pyx":130 * * @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; } /* "MPI/Request.pyx":149 * * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_requests)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(24, 149, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(24, 149, __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; __Pyx_RefNannySetupContext("Waitsome", 0); /* "MPI/Request.pyx":153 * 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; /* "MPI/Request.pyx":154 * """ * 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; /* "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_outcount = MPI_UNDEFINED; __pyx_v_iindices = NULL; /* "MPI/Request.pyx":156 * 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; /* "MPI/Request.pyx":158 * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # * cdef tmp1 = acquire_rs(requests, statuses, # <<<<<<<<<<<<<< * &incount, &irequests, &istatuses) * cdef tmp2 = mkarray_int(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(24, 158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp1 = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":160 * cdef tmp1 = acquire_rs(requests, statuses, * &incount, &irequests, &istatuses) * cdef tmp2 = mkarray_int(incount, &iindices) # <<<<<<<<<<<<<< * try: * with nogil: CHKERR( MPI_Waitsome( */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_incount, (&__pyx_v_iindices)); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp2 = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":161 * &incount, &irequests, &istatuses) * cdef tmp2 = mkarray_int(incount, &iindices) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Waitsome( * incount, irequests, &outcount, iindices, istatuses) ) */ /*try:*/ { /* "MPI/Request.pyx":162 * cdef tmp2 = mkarray_int(incount, &iindices) * try: * with nogil: CHKERR( MPI_Waitsome( # <<<<<<<<<<<<<< * incount, irequests, &outcount, iindices, istatuses) ) * finally: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Request.pyx":163 * 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 == -1)) __PYX_ERR(24, 162, __pyx_L7_error) } /* "MPI/Request.pyx":162 * cdef tmp2 = mkarray_int(incount, &iindices) * try: * with nogil: CHKERR( MPI_Waitsome( # <<<<<<<<<<<<<< * incount, irequests, &outcount, iindices, istatuses) ) * finally: */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L4_error; } __pyx_L8:; } } } /* "MPI/Request.pyx":165 * 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 == -1)) __PYX_ERR(24, 165, __pyx_L1_error) goto __pyx_L5; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __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 == -1)) __PYX_ERR(24, 165, __pyx_L10_error) } __Pyx_PyThreadState_assign 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:; __Pyx_PyThreadState_assign 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:; } /* "MPI/Request.pyx":167 * release_rs(requests, statuses, incount, irequests, istatuses) * # * cdef int i = 0 # <<<<<<<<<<<<<< * cdef object indices = None * if outcount != MPI_UNDEFINED: */ __pyx_v_i = 0; /* "MPI/Request.pyx":168 * # * 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; /* "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] * return indices */ __pyx_t_12 = ((__pyx_v_outcount != MPI_UNDEFINED) != 0); if (__pyx_t_12) { /* "MPI/Request.pyx":170 * 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(24, 170, __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(24, 170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_13))) __PYX_ERR(24, 170, __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; /* "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] * return indices */ } /* "MPI/Request.pyx":171 * 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; /* "MPI/Request.pyx":149 * * @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; } /* "MPI/Request.pyx":174 * * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_requests)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(24, 174, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(24, 174, __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; __Pyx_RefNannySetupContext("Testsome", 0); /* "MPI/Request.pyx":178 * 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; /* "MPI/Request.pyx":179 * """ * 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; /* "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_outcount = MPI_UNDEFINED; __pyx_v_iindices = NULL; /* "MPI/Request.pyx":181 * 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; /* "MPI/Request.pyx":183 * cdef MPI_Status *istatuses = MPI_STATUSES_IGNORE * # * cdef tmp1 = acquire_rs(requests, statuses, # <<<<<<<<<<<<<< * &incount, &irequests, &istatuses) * cdef tmp2 = mkarray_int(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(24, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp1 = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":185 * cdef tmp1 = acquire_rs(requests, statuses, * &incount, &irequests, &istatuses) * cdef tmp2 = mkarray_int(incount, &iindices) # <<<<<<<<<<<<<< * try: * with nogil: CHKERR( MPI_Testsome( */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_incount, (&__pyx_v_iindices)); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp2 = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":186 * &incount, &irequests, &istatuses) * cdef tmp2 = mkarray_int(incount, &iindices) * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Testsome( * incount, irequests, &outcount, iindices, istatuses) ) */ /*try:*/ { /* "MPI/Request.pyx":187 * cdef tmp2 = mkarray_int(incount, &iindices) * try: * with nogil: CHKERR( MPI_Testsome( # <<<<<<<<<<<<<< * incount, irequests, &outcount, iindices, istatuses) ) * finally: */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Request.pyx":188 * 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 == -1)) __PYX_ERR(24, 187, __pyx_L7_error) } /* "MPI/Request.pyx":187 * cdef tmp2 = mkarray_int(incount, &iindices) * try: * with nogil: CHKERR( MPI_Testsome( # <<<<<<<<<<<<<< * incount, irequests, &outcount, iindices, istatuses) ) * finally: */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L4_error; } __pyx_L8:; } } } /* "MPI/Request.pyx":190 * 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 == -1)) __PYX_ERR(24, 190, __pyx_L1_error) goto __pyx_L5; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __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 == -1)) __PYX_ERR(24, 190, __pyx_L10_error) } __Pyx_PyThreadState_assign 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:; __Pyx_PyThreadState_assign 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:; } /* "MPI/Request.pyx":192 * release_rs(requests, statuses, incount, irequests, istatuses) * # * cdef int i = 0 # <<<<<<<<<<<<<< * cdef object indices = None * if outcount != MPI_UNDEFINED: */ __pyx_v_i = 0; /* "MPI/Request.pyx":193 * # * 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; /* "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] * return indices */ __pyx_t_12 = ((__pyx_v_outcount != MPI_UNDEFINED) != 0); if (__pyx_t_12) { /* "MPI/Request.pyx":195 * 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(24, 195, __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(24, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_13))) __PYX_ERR(24, 195, __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; /* "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] * return indices */ } /* "MPI/Request.pyx":196 * 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; /* "MPI/Request.pyx":174 * * @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; } /* "MPI/Request.pyx":201 * # ------ * * 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; __Pyx_RefNannySetupContext("Cancel", 0); /* "MPI/Request.pyx":205 * Cancel a communication request * """ * with nogil: CHKERR( MPI_Cancel(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Fortran Handle */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Cancel((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(24, 205, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Request.pyx":201 * # ------ * * 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; } /* "MPI/Request.pyx":210 * # -------------- * * 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; __Pyx_RefNannySetupContext("py2f", 0); /* "MPI/Request.pyx":213 * """ * """ * 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(24, 213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Request.pyx":210 * # -------------- * * 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; } /* "MPI/Request.pyx":216 * * @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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 216, __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, 216, __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; __Pyx_RefNannySetupContext("f2py", 0); /* "MPI/Request.pyx":219 * """ * """ * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * if issubclass(cls, Prequest): * request = Prequest.__new__(Prequest) */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 219, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Request.pyx":220 * """ * 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 == -1)) __PYX_ERR(24, 220, __pyx_L1_error) __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* "MPI/Request.pyx":221 * 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 = __pyx_tp_new_6mpi4py_3MPI_Prequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Prequest), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_request, ((struct PyMPIRequestObject *)__pyx_t_1)); __pyx_t_1 = 0; /* "MPI/Request.pyx":220 * """ * cdef Request request = Request.__new__(Request) * if issubclass(cls, Prequest): # <<<<<<<<<<<<<< * request = Prequest.__new__(Prequest) * if issubclass(cls, Grequest): */ } /* "MPI/Request.pyx":222 * 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 == -1)) __PYX_ERR(24, 222, __pyx_L1_error) __pyx_t_3 = (__pyx_t_4 != 0); if (__pyx_t_3) { /* "MPI/Request.pyx":223 * request = Prequest.__new__(Prequest) * if issubclass(cls, Grequest): * request = Grequest.__new__(Grequest) # <<<<<<<<<<<<<< * request.ob_mpi = MPI_Request_f2c(arg) * return request */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Grequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Grequest), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 223, __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_DECREF_SET(__pyx_v_request, ((struct PyMPIRequestObject *)__pyx_t_2)); __pyx_t_2 = 0; /* "MPI/Request.pyx":222 * if issubclass(cls, Prequest): * request = Prequest.__new__(Prequest) * if issubclass(cls, Grequest): # <<<<<<<<<<<<<< * request = Grequest.__new__(Grequest) * request.ob_mpi = MPI_Request_f2c(arg) */ } /* "MPI/Request.pyx":224 * 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(24, 224, __pyx_L1_error) __pyx_v_request->ob_mpi = MPI_Request_f2c(__pyx_t_5); /* "MPI/Request.pyx":225 * 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; /* "MPI/Request.pyx":216 * * @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; } /* "MPI/Request.pyx":230 * # -------------------- * # * 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; 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); 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 = PyDict_GetItem(__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(24, 230, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(24, 230, __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(24, 230, __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; __Pyx_RefNannySetupContext("wait", 0); /* "MPI/Request.pyx":234 * 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(24, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":235 * """ * 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; /* "MPI/Request.pyx":230 * # -------------------- * # * 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; } /* "MPI/Request.pyx":237 * 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; 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); 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 = PyDict_GetItem(__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(24, 237, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(24, 237, __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(24, 237, __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; __Pyx_RefNannySetupContext("test", 0); /* "MPI/Request.pyx":241 * 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; /* "MPI/Request.pyx":242 * """ * 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(24, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":243 * 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(24, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 243, __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; /* "MPI/Request.pyx":237 * 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; } /* "MPI/Request.pyx":246 * # * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_requests)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(24, 246, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(24, 246, __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(24, 246, __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; __Pyx_RefNannySetupContext("waitany", 0); /* "MPI/Request.pyx":250 * 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; /* "MPI/Request.pyx":251 * """ * 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(24, 251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":252 * 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(24, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 252, __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; /* "MPI/Request.pyx":246 * # * @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; } /* "MPI/Request.pyx":255 * # * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_requests)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(24, 255, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(24, 255, __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(24, 255, __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; __Pyx_RefNannySetupContext("testany", 0); /* "MPI/Request.pyx":259 * 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; /* "MPI/Request.pyx":260 * """ * 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; /* "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_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(24, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":262 * 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(24, 262, __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(24, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 262, __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; /* "MPI/Request.pyx":255 * # * @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; } /* "MPI/Request.pyx":265 * # * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_requests)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(24, 265, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(24, 265, __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; __Pyx_RefNannySetupContext("waitall", 0); /* "MPI/Request.pyx":269 * 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(24, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":270 * """ * 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; /* "MPI/Request.pyx":265 * # * @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; } /* "MPI/Request.pyx":273 * # * @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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_requests)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(24, 273, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(24, 273, __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; __Pyx_RefNannySetupContext("testall", 0); /* "MPI/Request.pyx":277 * 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; /* "MPI/Request.pyx":278 * """ * 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(24, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_msg = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":279 * 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(24, 279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 279, __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; /* "MPI/Request.pyx":273 * # * @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; } /* "MPI/Request.pyx":288 * """ * * 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_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); 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 = PyDict_GetItem(__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(24, 288, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(24, 288, __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(24, 288, __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; __Pyx_RefNannySetupContext("__cinit__", 0); /* "MPI/Request.pyx":289 * * 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; } /* "MPI/Request.pyx":290 * 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(24, 290, __pyx_L1_error) ((void)((struct PyMPIPrequestObject *)__pyx_v_request)); /* "MPI/Request.pyx":288 * """ * * 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; } /* "MPI/Request.pyx":292 * (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; __Pyx_RefNannySetupContext("Start", 0); /* "MPI/Request.pyx":296 * Initiate a communication with a persistent request * """ * with nogil: CHKERR( MPI_Start(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * @classmethod */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Start((&__pyx_v_self->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(24, 296, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Request.pyx":292 * (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; } /* "MPI/Request.pyx":299 * * @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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(24, 299, __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(24, 299, __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; __Pyx_RefNannySetupContext("Startall", 0); /* "MPI/Request.pyx":303 * 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; /* "MPI/Request.pyx":304 * """ * cdef int count = 0 * cdef MPI_Request *irequests = NULL # <<<<<<<<<<<<<< * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * # */ __pyx_v_irequests = NULL; /* "MPI/Request.pyx":305 * 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(24, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Request.pyx":307 * cdef tmp = acquire_rs(requests, None, &count, &irequests, NULL) * # * try: # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Startall(count, irequests) ) * finally: */ /*try:*/ { /* "MPI/Request.pyx":308 * # * try: * with nogil: CHKERR( MPI_Startall(count, irequests) ) # <<<<<<<<<<<<<< * finally: * release_rs(requests, None, count, irequests, NULL) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Startall(__pyx_v_count, __pyx_v_irequests)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(24, 308, __pyx_L7_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L4_error; } __pyx_L8:; } } } /* "MPI/Request.pyx":310 * 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 == -1)) __PYX_ERR(24, 310, __pyx_L1_error) goto __pyx_L5; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L4_error:; __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_PyThreadState_assign __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 == -1)) __PYX_ERR(24, 310, __pyx_L10_error) } __Pyx_PyThreadState_assign 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:; __Pyx_PyThreadState_assign 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:; } /* "MPI/Request.pyx":299 * * @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; } /* "MPI/Request.pyx":320 * """ * * 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_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); 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 = PyDict_GetItem(__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(24, 320, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(24, 320, __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(24, 320, __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; __Pyx_RefNannySetupContext("__cinit__", 0); /* "MPI/Request.pyx":321 * * 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; /* "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_2 = ((__pyx_v_self->__pyx_base.ob_mpi == MPI_REQUEST_NULL) != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "MPI/Request.pyx":323 * 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(24, 323, __pyx_L1_error) ((void)((struct PyMPIGrequestObject *)__pyx_v_request)); /* "MPI/Request.pyx":320 * """ * * 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; } /* "MPI/Request.pyx":326 * * @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; 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}; /* "MPI/Request.pyx":327 * @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); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_query_fn)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_free_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Start", 0, 3, 5, 1); __PYX_ERR(24, 326, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cancel_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Start", 0, 3, 5, 2); __PYX_ERR(24, 326, __pyx_L3_error) } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_args); if (value) { values[3] = value; kw_args--; } } case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(24, 326, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); 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(24, 326, __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); /* "MPI/Request.pyx":326 * * @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; __Pyx_RefNannySetupContext("Start", 0); /* "MPI/Request.pyx":331 * 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 = __pyx_tp_new_6mpi4py_3MPI_Grequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Grequest), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 331, __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_request = ((struct PyMPIGrequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Request.pyx":333 * 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(24, 333, __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(24, 333, __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; /* "MPI/Request.pyx":334 * 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 #endif /*try:*/ { /* "MPI/Request.pyx":336 * 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 == -1)) __PYX_ERR(24, 334, __pyx_L4_error) } /* "MPI/Request.pyx":334 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Request.pyx":337 * 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)); /* "MPI/Request.pyx":338 * 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; /* "MPI/Request.pyx":339 * 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; /* "MPI/Request.pyx":326 * * @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; } /* "MPI/Request.pyx":341 * 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; PyObject *__pyx_t_6 = NULL; MPI_Request __pyx_t_7; int __pyx_t_8; __Pyx_RefNannySetupContext("Complete", 0); /* "MPI/Request.pyx":345 * 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) { /* "MPI/Request.pyx":346 * """ * 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 (__pyx_t_1) { /* "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 * 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(24, 347, __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); } } if (!__pyx_t_5) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 347, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 347, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 347, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(24, 347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(24, 347, __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_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(24, 347, __pyx_L1_error) /* "MPI/Request.pyx":346 * """ * 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 */ } /* "MPI/Request.pyx":345 * 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) */ } /* "MPI/Request.pyx":348 * 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_7 = __pyx_v_self->ob_grequest; __pyx_v_grequest = __pyx_t_7; /* "MPI/Request.pyx":349 * 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_7 = __pyx_v_self->__pyx_base.ob_mpi; __pyx_v_self->ob_grequest = __pyx_t_7; /* "MPI/Request.pyx":350 * 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 #endif /*try:*/ { __pyx_t_8 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Grequest_complete(__pyx_v_grequest)); if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(24, 350, __pyx_L6_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L7; } __pyx_L6_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L7:; } } /* "MPI/Request.pyx":351 * 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_7 = __pyx_v_self->__pyx_base.ob_mpi; __pyx_v_self->ob_grequest = __pyx_t_7; /* "MPI/Request.pyx":341 * 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_XDECREF(__pyx_t_6); __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; } /* "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_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); 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 = PyDict_GetItem(__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(25, 7, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(25, 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(25, 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); /* "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; /* "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; } /* "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; /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "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; } /* "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 == -1)) __PYX_ERR(25, 15, __pyx_L1_error) /* "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, 0, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "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__(((PyObject *)__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__(PyObject *__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; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "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; } /* "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 = __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; /* "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 str 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; } /* "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 str mod = type(self).__module__ * cdef str 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; } /* "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 str mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef str cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(25, 22, __pyx_L1_error) __pyx_v_mod = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Message.pyx":23 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef str mod = type(self).__module__ * cdef str cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(25, 23, __pyx_L1_error) __pyx_v_cls = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Message.pyx":24 * cdef str mod = type(self).__module__ * cdef str 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 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); 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_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(25, 24, __pyx_L1_error) /* "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; } /* "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); /* "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; /* "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; } /* "MPI/Message.pyx":33 * * @classmethod * def Probe(cls, Comm comm not None, # <<<<<<<<<<<<<< * 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; 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}; /* "MPI/Message.pyx":34 * @classmethod * def Probe(cls, Comm comm not None, * 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(25, 33, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(25, 34, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__34; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(25, 34, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__35; } __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(25, 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(25, 33, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 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); /* "MPI/Message.pyx":33 * * @classmethod * def Probe(cls, Comm comm not None, # <<<<<<<<<<<<<< * 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; PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("Probe", 0); /* "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; /* "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)); /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(25, 40, __pyx_L4_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "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(25, 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); } } if (!__pyx_t_4) { __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_cls)); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_cls)}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 42, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_cls)}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 42, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(25, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_INCREF(((PyObject *)__pyx_v_cls)); __Pyx_GIVEREF(((PyObject *)__pyx_v_cls)); PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_cls)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(25, 42, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __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; /* "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; /* "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; /* "MPI/Message.pyx":33 * * @classmethod * def Probe(cls, Comm comm not None, # <<<<<<<<<<<<<< * 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_XDECREF(__pyx_t_5); __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; } /* "MPI/Message.pyx":47 * * @classmethod * def Iprobe(cls, Comm comm not None, # <<<<<<<<<<<<<< * 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; 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}; /* "MPI/Message.pyx":48 * @classmethod * def Iprobe(cls, Comm comm not None, * 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(25, 47, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(25, 48, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__36; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(25, 48, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__37; } __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(25, 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(25, 47, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 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); /* "MPI/Message.pyx":47 * * @classmethod * def Iprobe(cls, Comm comm not None, # <<<<<<<<<<<<<< * 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; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("Iprobe", 0); /* "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; /* "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; /* "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)); /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(25, 55, __pyx_L4_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "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(25, 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); } } if (!__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_cls)); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_5, ((PyObject *)__pyx_v_cls)}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 58, __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[2] = {__pyx_t_5, ((PyObject *)__pyx_v_cls)}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 58, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(25, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_INCREF(((PyObject *)__pyx_v_cls)); __Pyx_GIVEREF(((PyObject *)__pyx_v_cls)); PyTuple_SET_ITEM(__pyx_t_6, 0+1, ((PyObject *)__pyx_v_cls)); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __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; /* "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; /* "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; /* "MPI/Message.pyx":47 * * @classmethod * def Iprobe(cls, Comm comm not None, # <<<<<<<<<<<<<< * 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_XDECREF(__pyx_t_6); __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; } /* "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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(25, 65, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(25, 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(25, 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; __Pyx_RefNannySetupContext("Recv", 0); /* "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; /* "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; /* "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) { /* "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; /* "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) */ } /* "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(25, 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; /* "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)); /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(25, 75, __pyx_L5_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "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) { /* "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; /* "MPI/Message.pyx":78 * rmsg.buf, rmsg.count, rmsg.dtype, * &message, statusp) ) * if self is not __MESSAGE_NO_PROC__: # <<<<<<<<<<<<<< * self.ob_mpi = message * */ } /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(25, 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(25, 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; __Pyx_RefNannySetupContext("Irecv", 0); /* "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; /* "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; /* "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) { /* "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; /* "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) */ } /* "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(25, 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; /* "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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 90, __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_request = ((struct PyMPIRequestObject *)__pyx_t_4); __pyx_t_4 = 0; /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(25, 91, __pyx_L5_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "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) { /* "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; /* "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 */ } /* "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); /* "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; /* "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; } /* "MPI/Message.pyx":103 * # * @classmethod * def probe(cls, Comm comm not None, # <<<<<<<<<<<<<< * 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; 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}; /* "MPI/Message.pyx":104 * @classmethod * def probe(cls, Comm comm not None, * 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(25, 103, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(25, 104, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__38; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(25, 104, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__39; } __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(25, 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(25, 103, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 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); /* "MPI/Message.pyx":103 * # * @classmethod * def probe(cls, Comm comm not None, # <<<<<<<<<<<<<< * 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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("probe", 0); /* "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(25, 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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_cls)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, ((PyObject *)__pyx_v_cls)}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 106, __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[2] = {__pyx_t_3, ((PyObject *)__pyx_v_cls)}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 106, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(25, 106, __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 = NULL; __Pyx_INCREF(((PyObject *)__pyx_v_cls)); __Pyx_GIVEREF(((PyObject *)__pyx_v_cls)); PyTuple_SET_ITEM(__pyx_t_4, 0+1, ((PyObject *)__pyx_v_cls)); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __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; /* "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)); /* "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(25, 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; /* "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; /* "MPI/Message.pyx":103 * # * @classmethod * def probe(cls, Comm comm not None, # <<<<<<<<<<<<<< * 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_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; } /* "MPI/Message.pyx":113 * # * @classmethod * def iprobe(cls, Comm comm not None, # <<<<<<<<<<<<<< * 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; 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}; /* "MPI/Message.pyx":114 * @classmethod * def iprobe(cls, Comm comm not None, * 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(25, 113, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(25, 114, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__40; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(25, 114, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__41; } __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(25, 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(25, 113, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status), __pyx_ptype_6mpi4py_3MPI_Status, 1, "status", 0))) __PYX_ERR(25, 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); /* "MPI/Message.pyx":113 * # * @classmethod * def iprobe(cls, Comm comm not None, # <<<<<<<<<<<<<< * 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; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; __Pyx_RefNannySetupContext("iprobe", 0); /* "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; /* "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(25, 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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_cls)); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, ((PyObject *)__pyx_v_cls)}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 117, __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[2] = {__pyx_t_3, ((PyObject *)__pyx_v_cls)}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 117, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(25, 117, __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 = NULL; __Pyx_INCREF(((PyObject *)__pyx_v_cls)); __Pyx_GIVEREF(((PyObject *)__pyx_v_cls)); PyTuple_SET_ITEM(__pyx_t_4, 0+1, ((PyObject *)__pyx_v_cls)); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __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; /* "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)); /* "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(25, 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; /* "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_5 = ((__pyx_v_flag == 0) != 0); if (__pyx_t_5) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "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; /* "MPI/Message.pyx":113 * # * @classmethod * def iprobe(cls, Comm comm not None, # <<<<<<<<<<<<<< * 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_XDECREF(__pyx_t_4); __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; } /* "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; 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); 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 = PyDict_GetItem(__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(25, 124, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(25, 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(25, 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; __Pyx_RefNannySetupContext("recv", 0); /* "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; /* "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; /* "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)); /* "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(25, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_rmsg, __pyx_t_1); __pyx_t_1 = 0; /* "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; } /* "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; } /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("irecv", 0); /* "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; /* "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; /* "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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "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(25, 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; /* "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; } /* "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; } /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("py2f", 0); /* "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(25, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 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(25, 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; __Pyx_RefNannySetupContext("f2py", 0); /* "MPI/Message.pyx":156 * """ * """ * cdef Message message = Message.__new__(Message) # <<<<<<<<<<<<<< * message.ob_mpi = MPI_Message_f2c(arg) * return message */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 156, __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_message = ((struct PyMPIMessageObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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(25, 157, __pyx_L1_error) __pyx_v_message->ob_mpi = MPI_Message_f2c(__pyx_t_3); /* "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; /* "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; } /* "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_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); 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 = PyDict_GetItem(__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(26, 7, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(26, 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(26, 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); /* "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; /* "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; } /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "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; } /* "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 == -1)) __PYX_ERR(26, 14, __pyx_L1_error) /* "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, 0, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "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__(((PyObject *)__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__(PyObject *__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; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "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; } /* "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 = __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; /* "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 str 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, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ * cdef str 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, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef str cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(26, 21, __pyx_L1_error) __pyx_v_mod = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Info.pyx":22 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef str mod = type(self).__module__ * cdef str cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(26, 22, __pyx_L1_error) __pyx_v_cls = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Info.pyx":23 * cdef str mod = type(self).__module__ * cdef str 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, 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(26, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 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(26, 23, __pyx_L1_error) /* "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; } /* "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); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("Create", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 33, __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_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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 == -1)) __PYX_ERR(26, 34, __pyx_L1_error) /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("Free", 0); /* "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 == -1)) __PYX_ERR(26, 41, __pyx_L1_error) /* "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; } /* "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; } /* "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; __Pyx_RefNannySetupContext("Dup", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 49, __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_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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 == -1)) __PYX_ERR(26, 50, __pyx_L1_error) /* "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; /* "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; } /* "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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(26, 53, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(26, 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(26, 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; __Pyx_RefNannySetupContext("Get", 0); __Pyx_INCREF(__pyx_v_key); /* "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; } /* "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; } /* "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; /* "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; /* "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; /* "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(26, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_key, __pyx_t_2); __pyx_t_2 = 0; /* "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)), ((void **)(&__pyx_v_cvalue)))); if (unlikely(!__pyx_t_2)) __PYX_ERR(26, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp = __pyx_t_2; __pyx_t_2 = 0; /* "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 == -1)) __PYX_ERR(26, 64, __pyx_L1_error) /* "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; /* "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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "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(26, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Set", 1, 2, 2, 1); __PYX_ERR(26, 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(26, 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(26, 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; __Pyx_RefNannySetupContext("Set", 0); __Pyx_INCREF(__pyx_v_key); __Pyx_INCREF(__pyx_v_value); /* "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; /* "MPI/Info.pyx":75 * """ * cdef char *ckey = NULL * cdef char *cvalue = NULL # <<<<<<<<<<<<<< * key = asmpistr(key, &ckey) * value = asmpistr(value, &cvalue) */ __pyx_v_cvalue = NULL; /* "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(26, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_key, __pyx_t_1); __pyx_t_1 = 0; /* "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(26, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_1); __pyx_t_1 = 0; /* "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 == -1)) __PYX_ERR(26, 78, __pyx_L1_error) /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(26, 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(26, 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; __Pyx_RefNannySetupContext("Delete", 0); __Pyx_INCREF(__pyx_v_key); /* "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; /* "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(26, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_key, __pyx_t_1); __pyx_t_1 = 0; /* "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 == -1)) __PYX_ERR(26, 86, __pyx_L1_error) /* "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; } /* "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; __Pyx_RefNannySetupContext("Get_nkeys", 0); /* "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; /* "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 == -1)) __PYX_ERR(26, 93, __pyx_L1_error) /* "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(26, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(26, 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(26, 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(26, 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; __Pyx_RefNannySetupContext("Get_nthkey", 0); /* "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 == -1)) __PYX_ERR(26, 103, __pyx_L1_error) /* "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; /* "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(26, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("py2f", 0); /* "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(26, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 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(26, 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; __Pyx_RefNannySetupContext("f2py", 0); /* "MPI/Info.pyx":119 * """ * """ * cdef Info info = Info.__new__(Info) # <<<<<<<<<<<<<< * info.ob_mpi = MPI_Info_f2c(arg) * return info */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 119, __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_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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(26, 120, __pyx_L1_error) __pyx_v_info->ob_mpi = MPI_Info_f2c(__pyx_t_3); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__len__", 0); /* "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(26, 127, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "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(26, 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); } } if (__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 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(26, 128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_6; goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("__contains__", 0); __Pyx_INCREF(__pyx_v_key); /* "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(26, 131, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __pyx_r = 0; goto __pyx_L0; } /* "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; /* "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; /* "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; /* "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(26, 135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_key, __pyx_t_3); __pyx_t_3 = 0; /* "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 == -1)) __PYX_ERR(26, 136, __pyx_L1_error) /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__iter__", 0); /* "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(26, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 140, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 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(26, 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; /* "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; } /* "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; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("__getitem__", 0); /* "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(26, 143, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 143, __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_t_4 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 143, __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(26, 143, __pyx_L1_error) } /* "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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; 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); } } if (!__pyx_t_5) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_key); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_key}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 144, __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_3)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_key}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 144, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(26, 144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_key); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_value = __pyx_t_4; __pyx_t_4 = 0; /* "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 (__pyx_t_1) { __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_key); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 145, __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, 145, __pyx_L1_error) } /* "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; /* "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_XDECREF(__pyx_t_6); __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; } /* "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; __Pyx_RefNannySetupContext("__setitem__", 0); /* "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(26, 149, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 149, __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_t_4 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 149, __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(26, 149, __pyx_L1_error) } /* "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_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __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_key, __pyx_v_value}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 150, __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_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_key, __pyx_v_value}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 150, __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_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(26, 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_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "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; } /* "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; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("__delitem__", 0); /* "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(26, 153, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 153, __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_t_4 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 153, __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(26, 153, __pyx_L1_error) } /* "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(26, 154, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_key); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_KeyError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 154, __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, 154, __pyx_L1_error) } /* "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(26, 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); } } if (!__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_key}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 155, __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[2] = {__pyx_t_5, __pyx_v_key}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 155, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(26, 155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_key); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_XDECREF(__pyx_t_6); __Pyx_AddTraceback("mpi4py.MPI.Info.__delitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(26, 157, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(26, 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; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("get", 0); /* "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(26, 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; } /* "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(26, 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); } } if (!__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_key}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 160, __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[2] = {__pyx_t_5, __pyx_v_key}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 160, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(26, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_key); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_value = __pyx_t_3; __pyx_t_3 = 0; /* "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; } /* "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; /* "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_XDECREF(__pyx_t_6); __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; } /* "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; PyObject *__pyx_t_8 = NULL; int __pyx_t_9; __Pyx_RefNannySetupContext("keys", 0); /* "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(26, 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(26, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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(26, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_keys = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "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(26, 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); } } if (__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 168, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 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(26, 168, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_nkeys = __pyx_t_6; /* "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++) { /* "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(26, 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(26, 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); } } if (!__pyx_t_7) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 171, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 171, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(26, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/Info.pyx":172 * for k from 0 <= k < nkeys: * key = self.Get_nthkey(k) * keys.append(key) # <<<<<<<<<<<<<< * return keys * */ __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_keys, __pyx_v_key); if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(26, 172, __pyx_L1_error) } /* "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; /* "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_XDECREF(__pyx_t_8); __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; } /* "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; PyObject *__pyx_t_8 = NULL; int __pyx_t_9; __Pyx_RefNannySetupContext("values", 0); /* "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(26, 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(26, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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(26, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_values = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "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(26, 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); } } if (__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 179, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 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(26, 179, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_nkeys = __pyx_t_6; /* "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++) { /* "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(26, 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(26, 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); } } if (!__pyx_t_7) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 182, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 182, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 182, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(26, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_3); __pyx_t_3 = 0; /* "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(26, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_8) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_key}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 183, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_key}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 183, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(26, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = NULL; __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_key); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/Info.pyx":184 * key = self.Get_nthkey(k) * val = self.Get(key) * values.append(val) # <<<<<<<<<<<<<< * return values * */ __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_values, __pyx_v_val); if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(26, 184, __pyx_L1_error) } /* "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; /* "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_XDECREF(__pyx_t_8); __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; } /* "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; PyObject *__pyx_t_8 = NULL; int __pyx_t_9; __Pyx_RefNannySetupContext("items", 0); /* "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(26, 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(26, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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(26, 190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_items = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "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(26, 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); } } if (__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 191, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 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(26, 191, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_nkeys = __pyx_t_6; /* "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++) { /* "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(26, 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(26, 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); } } if (!__pyx_t_7) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 194, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 194, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 194, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(26, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_3); __pyx_t_3 = 0; /* "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(26, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_8) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_key}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 195, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_key}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 195, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(26, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = NULL; __Pyx_INCREF(__pyx_v_key); __Pyx_GIVEREF(__pyx_v_key); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_key); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_3); __pyx_t_3 = 0; /* "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(26, 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_9 = __Pyx_PyList_Append(__pyx_v_items, __pyx_t_3); if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(26, 196, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } /* "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; /* "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_XDECREF(__pyx_t_8); __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; } /* "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; 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); 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 = PyDict_GetItem(__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(26, 199, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(26, 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 *); __Pyx_RefNannySetupContext("update", 0); /* "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(26, 201, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __Pyx_Raise(__pyx_builtin_KeyError, 0, 0, 0); __PYX_ERR(26, 201, __pyx_L1_error) } /* "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 = PyObject_HasAttr(__pyx_v_other, __pyx_n_s_keys); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(26, 203, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "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(26, 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); } } if (__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 204, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 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(26, 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(26, 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(26, 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(26, 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(26, 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(26, 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(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(26, 204, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_3); __pyx_t_3 = 0; /* "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(26, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PyObject_GetItem(__pyx_v_other, __pyx_v_key); if (unlikely(!__pyx_t_8)) __PYX_ERR(26, 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(26, 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(26, 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(26, 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(26, 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; /* "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; /* "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; } /* "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(26, 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(26, 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(26, 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(26, 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(26, 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(26, 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(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(26, 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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(26, 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(26, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(26, 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(26, 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(26, 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(26, 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; /* "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(26, 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(26, 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(26, 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(26, 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(26, 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; /* "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:; /* "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(26, 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(26, 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(26, 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(26, 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(26, 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(26, 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(26, 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(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(26, 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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(26, 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(26, 209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(26, 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(26, 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(26, 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(26, 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; /* "MPI/Info.pyx":210 * self.Set(key, value) * for key, value in kwds.items(): * self.Set(key, value) # <<<<<<<<<<<<<< * * def clear(self): */ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Set); if (unlikely(!__pyx_t_8)) __PYX_ERR(26, 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(26, 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(26, 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(26, 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(26, 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; /* "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; /* "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; } /* "MPI/Info.pyx":212 * self.Set(key, value) * * def clear(self): # <<<<<<<<<<<<<< * """info clear""" * if not self: return None */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_51clear(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_4Info_50clear[] = "Info.clear(self)\ninfo clear"; static PyObject *__pyx_pw_6mpi4py_3MPI_4Info_51clear(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_50clear(((struct PyMPIInfoObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_4Info_50clear(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; PyObject *__pyx_t_7 = NULL; __Pyx_RefNannySetupContext("clear", 0); /* "MPI/Info.pyx":214 * 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(26, 214, __pyx_L1_error) __pyx_t_2 = ((!__pyx_t_1) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/Info.pyx":216 * 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(26, 216, __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); } } if (__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 216, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 216, __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(26, 216, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_nkeys = __pyx_t_6; /* "MPI/Info.pyx":217 * 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; /* "MPI/Info.pyx":218 * cdef int k = 0, nkeys = self.Get_nkeys() * while k < nkeys: * key = self.Get_nthkey(0) # <<<<<<<<<<<<<< * self.Delete(key) * k += 1 */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_nthkey); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_4); __pyx_t_4 = 0; /* "MPI/Info.pyx":219 * while k < nkeys: * key = self.Get_nthkey(0) * self.Delete(key) # <<<<<<<<<<<<<< * k += 1 * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Delete); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; 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); } } if (!__pyx_t_5) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_key); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_key}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 219, __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_3)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_key}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 219, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(26, 219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __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+1, __pyx_v_key); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(26, 219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Info.pyx":220 * key = self.Get_nthkey(0) * self.Delete(key) * k += 1 # <<<<<<<<<<<<<< * * */ __pyx_v_k = (__pyx_v_k + 1); } /* "MPI/Info.pyx":212 * self.Set(key, value) * * 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_XDECREF(__pyx_t_7); __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; } /* "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_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); 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 = PyDict_GetItem(__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(27, 7, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(27, 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(27, 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); /* "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; /* "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; } /* "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; /* "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; /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "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; } /* "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 == -1)) __PYX_ERR(27, 16, __pyx_L1_error) /* "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 == -1)) __PYX_ERR(27, 17, __pyx_L1_error) /* "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, 0, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "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__(((PyObject *)__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__(PyObject *__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; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "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; } /* "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 = __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; /* "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 str 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, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ * cdef str 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, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef str cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(27, 24, __pyx_L1_error) __pyx_v_mod = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Op.pyx":25 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef str mod = type(self).__module__ * cdef str cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(27, 25, __pyx_L1_error) __pyx_v_cls = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Op.pyx":26 * cdef str mod = type(self).__module__ * cdef str 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, 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(27, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 26, __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(27, 26, __pyx_L1_error) /* "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; } /* "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); /* "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; /* "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; } /* "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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_x)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_y)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__call__", 1, 2, 2, 1); __PYX_ERR(27, 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(27, 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(27, 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; __Pyx_RefNannySetupContext("__call__", 0); /* "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) { /* "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(27, 33, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Op.pyx":32 * * def __call__(self, x, y): * if self.ob_func != NULL: # <<<<<<<<<<<<<< * return self.ob_func(x, y) * else: */ } /* "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(27, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "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; } /* "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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_function)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(27, 38, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(27, 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(27, 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; __Pyx_RefNannySetupContext("Create", 0); /* "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 = __pyx_tp_new_6mpi4py_3MPI_Op(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Op), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 42, __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_op = ((struct PyMPIOpObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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; /* "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 == -1)) __PYX_ERR(27, 44, __pyx_L1_error) __pyx_v_op->ob_usrid = __pyx_t_3; /* "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 == -1)) __PYX_ERR(27, 45, __pyx_L1_error) /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("Free", 0); /* "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 == -1)) __PYX_ERR(27, 52, __pyx_L1_error) /* "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 == -1)) __PYX_ERR(27, 53, __pyx_L1_error) /* "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; } /* "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; } /* "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; } /* "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; } /* "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; } /* "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; } /* "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; } /* "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; } /* "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; } /* "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; } /* "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; } /* "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; } /* "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; } /* "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:; /* "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; } /* "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; __Pyx_RefNannySetupContext("Is_commutative", 0); /* "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; /* "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 == -1)) __PYX_ERR(27, 77, __pyx_L1_error) /* "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(27, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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(27, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 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; /* "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; } /* "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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_inbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_inoutbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Reduce_local", 1, 2, 2, 1); __PYX_ERR(27, 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(27, 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(27, 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; __Pyx_RefNannySetupContext("Reduce_local", 0); /* "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(27, 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; /* "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 == -1)) __PYX_ERR(27, 91, __pyx_L1_error) /* "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 == -1)) __PYX_ERR(27, 92, __pyx_L1_error) /* "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" % * (self.scount, self.rcount)) */ __pyx_t_3 = ((__pyx_v_m->scount != __pyx_v_m->rcount) != 0); if (__pyx_t_3) { /* "MPI/Op.pyx":96 * if m.scount != m.rcount: raise ValueError( * "mismatch in inbuf count %d and inoutbuf count %d" % * (self.scount, self.rcount)) # <<<<<<<<<<<<<< * if (m.stype != m.rtype): raise ValueError( * "mismatch in inbuf and inoutbuf MPI datatypes") */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_scount); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_rcount); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(27, 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; /* "MPI/Op.pyx":95 * # check counts and datatypes * if m.scount != m.rcount: raise ValueError( * "mismatch in inbuf count %d and inoutbuf count %d" % # <<<<<<<<<<<<<< * (self.scount, self.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(27, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "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" % * (self.scount, self.rcount)) */ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(27, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 94, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(27, 94, __pyx_L1_error) } /* "MPI/Op.pyx":97 * "mismatch in inbuf count %d and inoutbuf count %d" % * (self.scount, self.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 (__pyx_t_3) { __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(27, 97, __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(27, 97, __pyx_L1_error) } /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(27, 100, __pyx_L6_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L7; } __pyx_L6_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L7:; } } /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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; /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; } /* "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(27, 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; /* "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; } /* "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; __Pyx_RefNannySetupContext("py2f", 0); /* "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(27, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "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; } /* "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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 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(27, 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; __Pyx_RefNannySetupContext("f2py", 0); /* "MPI/Op.pyx":135 * """ * """ * cdef Op op = Op.__new__(Op) # <<<<<<<<<<<<<< * op.ob_mpi = MPI_Op_f2c(arg) * return op */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Op(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Op), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 135, __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_op = ((struct PyMPIOpObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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(27, 136, __pyx_L1_error) __pyx_v_op->ob_mpi = MPI_Op_f2c(__pyx_t_3); /* "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; /* "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; } /* "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_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); 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 = PyDict_GetItem(__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(28, 7, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(28, 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(28, 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); /* "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; /* "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; } /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "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; } /* "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 == -1)) __PYX_ERR(28, 14, __pyx_L1_error) /* "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, 0, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "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__(((PyObject *)__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__(PyObject *__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; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "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; } /* "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 = __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; /* "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 str 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, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ * cdef str 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, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef str cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(28, 21, __pyx_L1_error) __pyx_v_mod = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Group.pyx":22 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef str mod = type(self).__module__ * cdef str cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(28, 22, __pyx_L1_error) __pyx_v_cls = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Group.pyx":23 * cdef str mod = type(self).__module__ * cdef str 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, 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(28, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(28, 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(28, 23, __pyx_L1_error) /* "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; } /* "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); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("Get_size", 0); /* "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; /* "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 == -1)) __PYX_ERR(28, 36, __pyx_L1_error) /* "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(28, 37, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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(28, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 42, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 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; /* "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; } /* "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; __Pyx_RefNannySetupContext("Get_rank", 0); /* "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; /* "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 == -1)) __PYX_ERR(28, 49, __pyx_L1_error) /* "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(28, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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(28, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 55, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 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; /* "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; } /* "MPI/Group.pyx":58 * * @classmethod * def Translate_ranks(cls, # <<<<<<<<<<<<<< * Group group1 not None, ranks1, * Group group2=None): */ /* 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; 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}; /* "MPI/Group.pyx":60 * def Translate_ranks(cls, * Group group1 not None, ranks1, * Group group2=None): # <<<<<<<<<<<<<< * """ * Translate the ranks of processes in */ 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group1)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ranks1)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Translate_ranks", 0, 2, 3, 1); __PYX_ERR(28, 58, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(28, 58, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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(28, 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(28, 59, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group2), __pyx_ptype_6mpi4py_3MPI_Group, 1, "group2", 0))) __PYX_ERR(28, 60, __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); /* "MPI/Group.pyx":58 * * @classmethod * def Translate_ranks(cls, # <<<<<<<<<<<<<< * Group group1 not None, ranks1, * Group group2=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_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; __Pyx_RefNannySetupContext("Translate_ranks", 0); /* "MPI/Group.pyx":65 * 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; /* "MPI/Group.pyx":66 * """ * 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_int(ranks1, &n, &iranks1) */ __pyx_v_grp2 = MPI_GROUP_NULL; /* "MPI/Group.pyx":67 * 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_int(ranks1, &n, &iranks1) * cdef tmp2 = newarray_int(n, &iranks2) */ __pyx_v_i = 0; __pyx_v_n = 0; __pyx_v_iranks1 = NULL; __pyx_v_iranks2 = NULL; /* "MPI/Group.pyx":68 * cdef MPI_Group grp2 = MPI_GROUP_NULL * cdef int i = 0, n = 0, *iranks1 = NULL, *iranks2 = NULL * cdef tmp1 = getarray_int(ranks1, &n, &iranks1) # <<<<<<<<<<<<<< * cdef tmp2 = newarray_int(n, &iranks2) * # */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_ranks1, (&__pyx_v_n), (&__pyx_v_iranks1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp1 = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Group.pyx":69 * cdef int i = 0, n = 0, *iranks1 = NULL, *iranks2 = NULL * cdef tmp1 = getarray_int(ranks1, &n, &iranks1) * cdef tmp2 = newarray_int(n, &iranks2) # <<<<<<<<<<<<<< * # * grp1 = group1.ob_mpi */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_newarray_int(__pyx_v_n, (&__pyx_v_iranks2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_tmp2 = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Group.pyx":71 * cdef tmp2 = newarray_int(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; /* "MPI/Group.pyx":72 * # * 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) { /* "MPI/Group.pyx":73 * 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; /* "MPI/Group.pyx":72 * # * grp1 = group1.ob_mpi * if group2 is not None: # <<<<<<<<<<<<<< * grp2 = group2.ob_mpi * else: */ goto __pyx_L3; } /* "MPI/Group.pyx":75 * 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 == -1)) __PYX_ERR(28, 75, __pyx_L1_error) } __pyx_L3:; /* "MPI/Group.pyx":76 * else: * CHKERR( MPI_Comm_group(MPI_COMM_WORLD, &grp2) ) * try: # <<<<<<<<<<<<<< * CHKERR( MPI_Group_translate_ranks(grp1, n, iranks1, * grp2, iranks2) ) */ /*try:*/ { /* "MPI/Group.pyx":77 * 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 == -1)) __PYX_ERR(28, 77, __pyx_L5_error) } /* "MPI/Group.pyx":80 * 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) { /* "MPI/Group.pyx":81 * 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 == -1)) __PYX_ERR(28, 81, __pyx_L1_error) /* "MPI/Group.pyx":80 * grp2, iranks2) ) * finally: * if group2 is None: # <<<<<<<<<<<<<< * CHKERR( MPI_Group_free(&grp2) ) * # */ } goto __pyx_L6; } /*exception exit:*/{ __Pyx_PyThreadState_declare __pyx_L5_error:; __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_PyThreadState_assign __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) { /* "MPI/Group.pyx":81 * 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 == -1)) __PYX_ERR(28, 81, __pyx_L9_error) /* "MPI/Group.pyx":80 * grp2, iranks2) ) * finally: * if group2 is None: # <<<<<<<<<<<<<< * CHKERR( MPI_Group_free(&grp2) ) * # */ } } __Pyx_PyThreadState_assign 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:; __Pyx_PyThreadState_assign 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:; } /* "MPI/Group.pyx":83 * 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(28, 83, __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(28, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_15))) __PYX_ERR(28, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __pyx_v_ranks2 = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/Group.pyx":84 * # * 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; /* "MPI/Group.pyx":58 * * @classmethod * def Translate_ranks(cls, # <<<<<<<<<<<<<< * Group group1 not None, ranks1, * Group group2=None): */ /* 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; } /* "MPI/Group.pyx":87 * * @classmethod * def Compare(cls, # <<<<<<<<<<<<<< * Group group1 not None, * Group group2 not None): */ /* 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group1)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Compare", 1, 2, 2, 1); __PYX_ERR(28, 87, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Compare") < 0)) __PYX_ERR(28, 87, __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(28, 87, __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(28, 88, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group2), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group2", 0))) __PYX_ERR(28, 89, __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; __Pyx_RefNannySetupContext("Compare", 0); /* "MPI/Group.pyx":93 * 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; /* "MPI/Group.pyx":94 * """ * 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 == -1)) __PYX_ERR(28, 94, __pyx_L1_error) /* "MPI/Group.pyx":95 * 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(28, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Group.pyx":87 * * @classmethod * def Compare(cls, # <<<<<<<<<<<<<< * Group group1 not None, * Group group2 not None): */ /* 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; } /* "MPI/Group.pyx":100 * # ------------------ * * 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; __Pyx_RefNannySetupContext("Dup", 0); /* "MPI/Group.pyx":104 * 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 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 104, __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_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Group.pyx":105 * """ * 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 == -1)) __PYX_ERR(28, 105, __pyx_L1_error) /* "MPI/Group.pyx":106 * 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; /* "MPI/Group.pyx":100 * # ------------------ * * 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; } /* "MPI/Group.pyx":109 * * @classmethod * def Union(cls, # <<<<<<<<<<<<<< * Group group1 not None, * Group group2 not None): */ /* 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group1)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Union", 1, 2, 2, 1); __PYX_ERR(28, 109, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Union") < 0)) __PYX_ERR(28, 109, __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(28, 109, __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(28, 110, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group2), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group2", 0))) __PYX_ERR(28, 111, __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; __Pyx_RefNannySetupContext("Union", 0); /* "MPI/Group.pyx":116 * 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 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 116, __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_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Group.pyx":117 * """ * 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 == -1)) __PYX_ERR(28, 117, __pyx_L1_error) /* "MPI/Group.pyx":119 * 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; /* "MPI/Group.pyx":109 * * @classmethod * def Union(cls, # <<<<<<<<<<<<<< * Group group1 not None, * Group group2 not None): */ /* 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; } /* "MPI/Group.pyx":122 * * @classmethod * def Intersection(cls, # <<<<<<<<<<<<<< * Group group1 not None, * Group group2 not None): */ /* 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group1)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Intersection", 1, 2, 2, 1); __PYX_ERR(28, 122, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Intersection") < 0)) __PYX_ERR(28, 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_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(28, 122, __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(28, 123, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group2), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group2", 0))) __PYX_ERR(28, 124, __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; __Pyx_RefNannySetupContext("Intersection", 0); /* "MPI/Group.pyx":129 * 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 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 129, __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_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Group.pyx":130 * """ * 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 == -1)) __PYX_ERR(28, 130, __pyx_L1_error) /* "MPI/Group.pyx":132 * 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; /* "MPI/Group.pyx":122 * * @classmethod * def Intersection(cls, # <<<<<<<<<<<<<< * Group group1 not None, * Group group2 not None): */ /* 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; } /* "MPI/Group.pyx":137 * * @classmethod * def Difference(cls, # <<<<<<<<<<<<<< * Group group1 not None, * Group group2 not None): */ /* 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group1)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Difference", 1, 2, 2, 1); __PYX_ERR(28, 137, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "Difference") < 0)) __PYX_ERR(28, 137, __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(28, 137, __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(28, 138, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group2), __pyx_ptype_6mpi4py_3MPI_Group, 0, "group2", 0))) __PYX_ERR(28, 139, __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; __Pyx_RefNannySetupContext("Difference", 0); /* "MPI/Group.pyx":144 * 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 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 144, __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_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Group.pyx":145 * """ * 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 == -1)) __PYX_ERR(28, 145, __pyx_L1_error) /* "MPI/Group.pyx":147 * 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; /* "MPI/Group.pyx":137 * * @classmethod * def Difference(cls, # <<<<<<<<<<<<<< * Group group1 not None, * Group group2 not None): */ /* 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; } /* "MPI/Group.pyx":149 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(28, 149, __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(28, 149, __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; __Pyx_RefNannySetupContext("Incl", 0); __Pyx_INCREF(__pyx_v_ranks); /* "MPI/Group.pyx":154 * group and taking only listed members * """ * cdef int n = 0, *iranks = NULL # <<<<<<<<<<<<<< * ranks = getarray_int(ranks, &n, &iranks) * cdef Group group = Group.__new__(Group) */ __pyx_v_n = 0; __pyx_v_iranks = NULL; /* "MPI/Group.pyx":155 * """ * cdef int n = 0, *iranks = NULL * ranks = getarray_int(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_f_6mpi4py_3MPI_getarray_int(__pyx_v_ranks, (&__pyx_v_n), (&__pyx_v_iranks)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_ranks, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Group.pyx":156 * cdef int n = 0, *iranks = NULL * ranks = getarray_int(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 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 156, __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_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Group.pyx":157 * ranks = getarray_int(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 == -1)) __PYX_ERR(28, 157, __pyx_L1_error) /* "MPI/Group.pyx":158 * 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; /* "MPI/Group.pyx":149 * 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; } /* "MPI/Group.pyx":160 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(28, 160, __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(28, 160, __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; __Pyx_RefNannySetupContext("Excl", 0); __Pyx_INCREF(__pyx_v_ranks); /* "MPI/Group.pyx":165 * group and taking only unlisted members * """ * cdef int n = 0, *iranks = NULL # <<<<<<<<<<<<<< * ranks = getarray_int(ranks, &n, &iranks) * cdef Group group = Group.__new__(Group) */ __pyx_v_n = 0; __pyx_v_iranks = NULL; /* "MPI/Group.pyx":166 * """ * cdef int n = 0, *iranks = NULL * ranks = getarray_int(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_f_6mpi4py_3MPI_getarray_int(__pyx_v_ranks, (&__pyx_v_n), (&__pyx_v_iranks)); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_ranks, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Group.pyx":167 * cdef int n = 0, *iranks = NULL * ranks = getarray_int(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 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 167, __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_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Group.pyx":168 * ranks = getarray_int(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 == -1)) __PYX_ERR(28, 168, __pyx_L1_error) /* "MPI/Group.pyx":169 * 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; /* "MPI/Group.pyx":160 * 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; } /* "MPI/Group.pyx":171 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(28, 171, __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(28, 171, __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; __Pyx_RefNannySetupContext("Range_incl", 0); /* "MPI/Group.pyx":176 * 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; /* "MPI/Group.pyx":177 * """ * 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; /* "MPI/Group.pyx":178 * 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 == -1)) __PYX_ERR(28, 178, __pyx_L1_error) __pyx_v_n = ((int)__pyx_t_1); /* "MPI/Group.pyx":179 * 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])), ((void **)(&__pyx_v_ranges)))); if (unlikely(!__pyx_t_2)) __PYX_ERR(28, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Group.pyx":180 * 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++) { /* "MPI/Group.pyx":181 * 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])); /* "MPI/Group.pyx":182 * 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(28, 182, __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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(28, 182, __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(28, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(28, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(28, 182, __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(28, 182, __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(28, 182, __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(28, 182, __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(28, 182, __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(28, 182, __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(28, 182, __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; } /* "MPI/Group.pyx":183 * 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 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(28, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_6); __pyx_t_6 = 0; /* "MPI/Group.pyx":184 * 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 == -1)) __PYX_ERR(28, 184, __pyx_L1_error) /* "MPI/Group.pyx":185 * 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; /* "MPI/Group.pyx":171 * 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; } /* "MPI/Group.pyx":187 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(28, 187, __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(28, 187, __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; __Pyx_RefNannySetupContext("Range_excl", 0); /* "MPI/Group.pyx":192 * 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; /* "MPI/Group.pyx":193 * """ * 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; /* "MPI/Group.pyx":194 * 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 == -1)) __PYX_ERR(28, 194, __pyx_L1_error) __pyx_v_n = ((int)__pyx_t_1); /* "MPI/Group.pyx":195 * 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])), ((void **)(&__pyx_v_ranges)))); if (unlikely(!__pyx_t_2)) __PYX_ERR(28, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Group.pyx":196 * 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++) { /* "MPI/Group.pyx":197 * 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])); /* "MPI/Group.pyx":198 * 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(28, 198, __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; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(28, 198, __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(28, 198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(28, 198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(28, 198, __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(28, 198, __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(28, 198, __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(28, 198, __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(28, 198, __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(28, 198, __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(28, 198, __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; } /* "MPI/Group.pyx":199 * 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 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(28, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_6); __pyx_t_6 = 0; /* "MPI/Group.pyx":200 * 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 == -1)) __PYX_ERR(28, 200, __pyx_L1_error) /* "MPI/Group.pyx":201 * 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; /* "MPI/Group.pyx":187 * 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; } /* "MPI/Group.pyx":206 * # ---------------- * * 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; __Pyx_RefNannySetupContext("Free", 0); /* "MPI/Group.pyx":210 * 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 == -1)) __PYX_ERR(28, 210, __pyx_L1_error) /* "MPI/Group.pyx":211 * """ * 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; } /* "MPI/Group.pyx":206 * # ---------------- * * 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; } /* "MPI/Group.pyx":216 * # -------------- * * 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; __Pyx_RefNannySetupContext("py2f", 0); /* "MPI/Group.pyx":219 * """ * """ * 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(28, 219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Group.pyx":216 * # -------------- * * 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; } /* "MPI/Group.pyx":222 * * @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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 222, __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, 222, __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; __Pyx_RefNannySetupContext("f2py", 0); /* "MPI/Group.pyx":225 * """ * """ * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * group.ob_mpi = MPI_Group_f2c(arg) * return group */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 225, __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_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Group.pyx":226 * """ * 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(28, 226, __pyx_L1_error) __pyx_v_group->ob_mpi = MPI_Group_f2c(__pyx_t_3); /* "MPI/Group.pyx":227 * 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; /* "MPI/Group.pyx":222 * * @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; } /* "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_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); 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 = PyDict_GetItem(__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); 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); /* "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; /* "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; } /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "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; } /* "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 == -1)) __PYX_ERR(7, 44, __pyx_L1_error) /* "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, 0, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "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__(((PyObject *)__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__(PyObject *__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; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "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; } /* "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 = __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; /* "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 str 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; } /* "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 str mod = type(self).__module__ * cdef str 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; } /* "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 str mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef str cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(7, 51, __pyx_L1_error) __pyx_v_mod = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":52 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef str mod = type(self).__module__ * cdef str cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(7, 52, __pyx_L1_error) __pyx_v_cls = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":53 * cdef str mod = type(self).__module__ * cdef str 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 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); 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_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(7, 53, __pyx_L1_error) /* "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; } /* "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); /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("Get_group", 0); /* "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 = __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(__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_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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 #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 == -1)) __PYX_ERR(7, 66, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 72, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); 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; /* "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; } /* "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; __Pyx_RefNannySetupContext("Get_size", 0); /* "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; /* "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 == -1)) __PYX_ERR(7, 82, __pyx_L1_error) /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 88, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); 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; /* "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; } /* "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; __Pyx_RefNannySetupContext("Get_rank", 0); /* "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; /* "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 == -1)) __PYX_ERR(7, 95, __pyx_L1_error) /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__get__", 0); /* "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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 101, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); 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; /* "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; } /* "MPI/Comm.pyx":104 * * @classmethod * def Compare(cls, Comm comm1 not None, Comm comm2 not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm1)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("Compare", 0); /* "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; /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(7, 109, __pyx_L4_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "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; /* "MPI/Comm.pyx":104 * * @classmethod * def Compare(cls, Comm comm1 not None, Comm comm2 not None): # <<<<<<<<<<<<<< * """ * 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; } /* "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; __Pyx_RefNannySetupContext("Clone", 0); /* "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)))); /* "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; /* "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 #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 == -1)) __PYX_ERR(7, 122, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "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 == -1)) __PYX_ERR(7, 123, __pyx_L1_error) /* "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; /* "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; } /* "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; 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); 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 = PyDict_GetItem(__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); 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; __Pyx_RefNannySetupContext("Dup", 0); /* "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)); /* "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)))); /* "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; /* "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) { /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(7, 134, __pyx_L5_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "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; } /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(7, 137, __pyx_L8_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L9; } __pyx_L8_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L9:; } } } __pyx_L3:; /* "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 == -1)) __PYX_ERR(7, 139, __pyx_L1_error) /* "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 not None): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "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; } /* "MPI/Comm.pyx":142 * return comm * * def Dup_with_info(self, Info info not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("Dup_with_info", 0); /* "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)))); /* "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; /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(7, 148, __pyx_L4_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "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 == -1)) __PYX_ERR(7, 150, __pyx_L1_error) /* "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; /* "MPI/Comm.pyx":142 * return comm * * def Dup_with_info(self, Info info not 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_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; } /* "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; __Pyx_RefNannySetupContext("Idup", 0); /* "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)))); /* "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; /* "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 = __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(__pyx_t_2); __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_1); __pyx_t_1 = 0; /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(7, 160, __pyx_L4_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "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 == -1)) __PYX_ERR(7, 162, __pyx_L1_error) /* "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 not None): */ __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; /* "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; } /* "MPI/Comm.pyx":165 * return (comm, request) * * def Create(self, Group group not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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; __Pyx_RefNannySetupContext("Create", 0); /* "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; /* "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; } /* "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:; /* "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; /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(7, 173, __pyx_L5_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "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 == -1)) __PYX_ERR(7, 175, __pyx_L1_error) /* "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 not None, int tag=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_comm)); __pyx_r = ((PyObject *)__pyx_v_comm); goto __pyx_L0; /* "MPI/Comm.pyx":165 * return (comm, request) * * def Create(self, Group group not None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Comm.pyx":178 * return comm * * def Create_group(self, Group group not None, 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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); 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; __Pyx_RefNannySetupContext("Create_group", 0); /* "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; /* "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; } /* "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:; /* "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; /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(7, 186, __pyx_L5_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "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 == -1)) __PYX_ERR(7, 188, __pyx_L1_error) /* "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; /* "MPI/Comm.pyx":178 * return comm * * def Create_group(self, Group group not None, 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; } /* "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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_color); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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; __Pyx_RefNannySetupContext("Split", 0); /* "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; /* "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; } /* "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:; /* "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; /* "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 #endif /*try:*/ { /* "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 == -1)) __PYX_ERR(7, 199, __pyx_L5_error) } /* "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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "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 == -1)) __PYX_ERR(7, 201, __pyx_L1_error) /* "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; /* "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; } /* "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; 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__44; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_split_type)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1, "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; MPI_Info __pyx_v_cinfo; 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; __Pyx_RefNannySetupContext("Split_type", 0); /* "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; /* "MPI/Comm.pyx":210 * """ * cdef type comm_type = Comm * if isinstance(self, Intracomm): comm_type = Intracomm # <<<<<<<<<<<<<< * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef MPI_Info cinfo = arg_Info(info) */ __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; } /* "MPI/Comm.pyx":211 * cdef type comm_type = Comm * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * cdef Comm comm = comm_type.__new__(comm_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:; /* "MPI/Comm.pyx":212 * if isinstance(self, Intracomm): comm_type = Intracomm * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_split_type( */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/Comm.pyx":213 * elif isinstance(self, Intercomm): comm_type = Intercomm * cdef MPI_Info cinfo = arg_Info(info) * cdef Comm comm = comm_type.__new__(comm_type) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_split_type( * self.ob_mpi, split_type, key, cinfo, &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, 213, __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, 213, __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; /* "MPI/Comm.pyx":214 * cdef MPI_Info cinfo = arg_Info(info) * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_split_type( # <<<<<<<<<<<<<< * self.ob_mpi, split_type, key, cinfo, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Comm.pyx":215 * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_split_type( * self.ob_mpi, split_type, key, cinfo, &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_cinfo, (&__pyx_v_comm->ob_mpi))); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(7, 214, __pyx_L5_error) } /* "MPI/Comm.pyx":214 * cdef MPI_Info cinfo = arg_Info(info) * cdef Comm comm = comm_type.__new__(comm_type) * with nogil: CHKERR( MPI_Comm_split_type( # <<<<<<<<<<<<<< * self.ob_mpi, split_type, key, cinfo, &comm.ob_mpi) ) * comm_set_eh(comm.ob_mpi) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/Comm.pyx":216 * with nogil: CHKERR( MPI_Comm_split_type( * self.ob_mpi, split_type, key, 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 == -1)) __PYX_ERR(7, 216, __pyx_L1_error) /* "MPI/Comm.pyx":217 * self.ob_mpi, split_type, key, cinfo, &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; /* "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; } /* "MPI/Comm.pyx":222 * # ----------------------- * * 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; __Pyx_RefNannySetupContext("Free", 0); /* "MPI/Comm.pyx":226 * 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 #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_free((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 226, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "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 * */ __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; } /* "MPI/Comm.pyx":228 * 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; } /* "MPI/Comm.pyx":222 * # ----------------------- * * 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; } /* "MPI/Comm.pyx":233 * # ----------------- * * def Set_info(self, Info info not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 233, __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, 233, __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, 233, __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; __Pyx_RefNannySetupContext("Set_info", 0); /* "MPI/Comm.pyx":238 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":239 * """ * 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 == -1)) __PYX_ERR(7, 238, __pyx_L4_error) } /* "MPI/Comm.pyx":238 * associated with a communicator * """ * with nogil: CHKERR( MPI_Comm_set_info( # <<<<<<<<<<<<<< * self.ob_mpi, info.ob_mpi) ) * */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":233 * # ----------------- * * def Set_info(self, Info info not None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Comm.pyx":241 * 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; __Pyx_RefNannySetupContext("Get_info", 0); /* "MPI/Comm.pyx":246 * 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 = __pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 246, __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_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "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 */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Comm.pyx":248 * 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 == -1)) __PYX_ERR(7, 247, __pyx_L4_error) } /* "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 */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":249 * 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; /* "MPI/Comm.pyx":241 * 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; } /* "MPI/Comm.pyx":253 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":254 * """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, 254, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 254, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 254, __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; /* "MPI/Comm.pyx":253 * 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; } /* "MPI/Comm.pyx":255 * 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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__set__", 0); /* "MPI/Comm.pyx":256 * 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, 256, __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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_info}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 256, __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[2] = {__pyx_t_3, __pyx_v_info}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 256, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 256, __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 = NULL; __Pyx_INCREF(__pyx_v_info); __Pyx_GIVEREF(__pyx_v_info); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_info); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":255 * 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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Comm.info.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/Comm.pyx":264 * # ------------------------------------ * * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Send", 0, 2, 3, 1); __PYX_ERR(7, 264, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 264, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 264, __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, 264, __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, 264, __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; __Pyx_RefNannySetupContext("Send", 0); /* "MPI/Comm.pyx":272 * 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, 272, __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; /* "MPI/Comm.pyx":273 * """ * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":275 * 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 == -1)) __PYX_ERR(7, 273, __pyx_L4_error) } /* "MPI/Comm.pyx":273 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":264 * # ------------------------------------ * * 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; } /* "MPI/Comm.pyx":277 * 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; 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}; /* "MPI/Comm.pyx":278 * * 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 277, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 277, __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, 277, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__46; } __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, 277, __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, 278, __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); /* "MPI/Comm.pyx":277 * 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; __Pyx_RefNannySetupContext("Recv", 0); /* "MPI/Comm.pyx":284 * .. 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, 284, __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; /* "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, */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "MPI/Comm.pyx":286 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":288 * 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 == -1)) __PYX_ERR(7, 286, __pyx_L4_error) } /* "MPI/Comm.pyx":286 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":277 * 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; } /* "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): */ /* 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; 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}; /* "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): * """ */ values[3] = ((PyObject *)Py_None); /* "MPI/Comm.pyx":295 * 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); case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Sendrecv", 0, 2, 7, 1); __PYX_ERR(7, 293, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendtag); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf); if (value) { values[3] = value; kw_args--; } } case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[4] = value; kw_args--; } } case 5: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvtag); if (value) { values[5] = value; kw_args--; } } case 6: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 293, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 293, __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, 293, __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, 294, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__47; } if (values[5]) { __pyx_v_recvtag = __Pyx_PyInt_As_int(values[5]); if (unlikely((__pyx_v_recvtag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 294, __pyx_L3_error) } else { __pyx_v_recvtag = __pyx_k__48; } __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, 293, __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, 295, __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); /* "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): */ /* 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; __Pyx_RefNannySetupContext("Sendrecv", 0); /* "MPI/Comm.pyx":307 * 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, 307, __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; /* "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( */ __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, 308, __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; /* "MPI/Comm.pyx":309 * 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)); /* "MPI/Comm.pyx":310 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":313 * 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 == -1)) __PYX_ERR(7, 310, __pyx_L4_error) } /* "MPI/Comm.pyx":310 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "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): */ /* 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; } /* "MPI/Comm.pyx":315 * 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; 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}; /* "MPI/Comm.pyx":317 * 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); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Sendrecv_replace", 0, 2, 6, 1); __PYX_ERR(7, 315, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendtag); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[3] = value; kw_args--; } } case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvtag); if (value) { values[4] = value; kw_args--; } } case 5: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 315, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 315, __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, 315, __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, 316, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__49; } if (values[4]) { __pyx_v_recvtag = __Pyx_PyInt_As_int(values[4]); if (unlikely((__pyx_v_recvtag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 316, __pyx_L3_error) } else { __pyx_v_recvtag = __pyx_k__50; } __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, 315, __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, 317, __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); /* "MPI/Comm.pyx":315 * 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; __Pyx_RefNannySetupContext("Sendrecv_replace", 0); /* "MPI/Comm.pyx":329 * 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; /* "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) */ __pyx_t_1 = ((__pyx_v_dest != MPI_PROC_NULL) != 0); if (__pyx_t_1) { __pyx_v_rank = __pyx_v_dest; } /* "MPI/Comm.pyx":331 * 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; } /* "MPI/Comm.pyx":332 * 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, 332, __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; /* "MPI/Comm.pyx":333 * 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)); /* "MPI/Comm.pyx":334 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":337 * 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 == -1)) __PYX_ERR(7, 334, __pyx_L6_error) } /* "MPI/Comm.pyx":334 * 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 Py_BLOCK_THREADS #endif goto __pyx_L7; } __pyx_L6_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L7:; } } /* "MPI/Comm.pyx":315 * 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; } /* "MPI/Comm.pyx":342 * # -------------------------- * * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Isend", 0, 2, 3, 1); __PYX_ERR(7, 342, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 342, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 342, __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, 342, __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, 342, __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; __Pyx_RefNannySetupContext("Isend", 0); /* "MPI/Comm.pyx":346 * 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, 346, __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; /* "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, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 347, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":348 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":350 * 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 == -1)) __PYX_ERR(7, 348, __pyx_L4_error) } /* "MPI/Comm.pyx":348 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":351 * 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); /* "MPI/Comm.pyx":352 * 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; /* "MPI/Comm.pyx":342 * # -------------------------- * * 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; } /* "MPI/Comm.pyx":354 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 354, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 354, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__51; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 354, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__52; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Irecv", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 354, __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; __Pyx_RefNannySetupContext("Irecv", 0); /* "MPI/Comm.pyx":358 * 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, 358, __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; /* "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, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 359, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":360 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":362 * 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 == -1)) __PYX_ERR(7, 360, __pyx_L4_error) } /* "MPI/Comm.pyx":360 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":363 * 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); /* "MPI/Comm.pyx":364 * 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; /* "MPI/Comm.pyx":354 * 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; } /* "MPI/Comm.pyx":369 * # ----- * * 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; 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}; /* "MPI/Comm.pyx":370 * * 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 369, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 369, __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, 369, __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("Probe", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 369, __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, 370, __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); /* "MPI/Comm.pyx":369 * # ----- * * 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; __Pyx_RefNannySetupContext("Probe", 0); /* "MPI/Comm.pyx":376 * .. 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)); /* "MPI/Comm.pyx":377 * """ * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":378 * 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 == -1)) __PYX_ERR(7, 377, __pyx_L4_error) } /* "MPI/Comm.pyx":377 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":379 * 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; /* "MPI/Comm.pyx":369 * # ----- * * 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; } /* "MPI/Comm.pyx":381 * 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; 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}; /* "MPI/Comm.pyx":382 * * 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 381, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 381, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__55; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 381, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__56; } __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, 381, __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, 382, __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); /* "MPI/Comm.pyx":381 * 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; __Pyx_RefNannySetupContext("Iprobe", 0); /* "MPI/Comm.pyx":386 * 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; /* "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) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "MPI/Comm.pyx":388 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":389 * 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 == -1)) __PYX_ERR(7, 388, __pyx_L4_error) } /* "MPI/Comm.pyx":388 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":390 * 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, 390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":381 * 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; } /* "MPI/Comm.pyx":395 * # -------------- * * 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; 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}; /* "MPI/Comm.pyx":396 * * 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 395, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 395, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__57; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 395, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__58; } __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, 395, __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, 396, __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); /* "MPI/Comm.pyx":395 * # -------------- * * 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; __Pyx_RefNannySetupContext("Mprobe", 0); /* "MPI/Comm.pyx":400 * 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; /* "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) ) */ __pyx_v_statusp = __pyx_f_6mpi4py_3MPI_arg_Status(((PyObject *)__pyx_v_status)); /* "MPI/Comm.pyx":402 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":403 * 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 == -1)) __PYX_ERR(7, 402, __pyx_L4_error) } /* "MPI/Comm.pyx":402 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":404 * 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 = __pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 404, __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_v_message = ((struct PyMPIMessageObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":405 * 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; /* "MPI/Comm.pyx":406 * 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; /* "MPI/Comm.pyx":395 * # -------------- * * 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; } /* "MPI/Comm.pyx":408 * 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; 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}; /* "MPI/Comm.pyx":409 * * 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 408, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 408, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__59; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 408, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__60; } __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, 408, __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, 409, __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); /* "MPI/Comm.pyx":408 * 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; __Pyx_RefNannySetupContext("Improbe", 0); /* "MPI/Comm.pyx":413 * 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; /* "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( */ __pyx_v_cmessage = MPI_MESSAGE_NULL; /* "MPI/Comm.pyx":415 * 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)); /* "MPI/Comm.pyx":416 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":417 * 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 == -1)) __PYX_ERR(7, 416, __pyx_L4_error) } /* "MPI/Comm.pyx":416 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":418 * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/Comm.pyx":419 * 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 = __pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 419, __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_message = ((struct PyMPIMessageObject *)__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Comm.pyx":420 * 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; /* "MPI/Comm.pyx":421 * 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; /* "MPI/Comm.pyx":408 * 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; } /* "MPI/Comm.pyx":426 * # ------------------------ * * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Send_init", 0, 2, 3, 1); __PYX_ERR(7, 426, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 426, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 426, __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, 426, __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, 426, __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; __Pyx_RefNannySetupContext("Send_init", 0); /* "MPI/Comm.pyx":430 * 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, 430, __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; /* "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, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Prequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Prequest), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 431, __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_request = ((struct PyMPIPrequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":432 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":434 * 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 == -1)) __PYX_ERR(7, 432, __pyx_L4_error) } /* "MPI/Comm.pyx":432 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":435 * 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); /* "MPI/Comm.pyx":436 * 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; /* "MPI/Comm.pyx":426 * # ------------------------ * * 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; } /* "MPI/Comm.pyx":438 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 438, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 438, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__61; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 438, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__62; } } 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, 438, __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; __Pyx_RefNannySetupContext("Recv_init", 0); /* "MPI/Comm.pyx":442 * 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, 442, __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; /* "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, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Prequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Prequest), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 443, __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_request = ((struct PyMPIPrequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":444 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":446 * 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 == -1)) __PYX_ERR(7, 444, __pyx_L4_error) } /* "MPI/Comm.pyx":444 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":447 * 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); /* "MPI/Comm.pyx":448 * 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; /* "MPI/Comm.pyx":438 * 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; } /* "MPI/Comm.pyx":455 * # 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Bsend", 0, 2, 3, 1); __PYX_ERR(7, 455, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 455, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 455, __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, 455, __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, 455, __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; __Pyx_RefNannySetupContext("Bsend", 0); /* "MPI/Comm.pyx":459 * 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, 459, __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; /* "MPI/Comm.pyx":460 * """ * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":462 * 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 == -1)) __PYX_ERR(7, 460, __pyx_L4_error) } /* "MPI/Comm.pyx":460 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":455 * # 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; } /* "MPI/Comm.pyx":464 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ssend", 0, 2, 3, 1); __PYX_ERR(7, 464, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 464, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 464, __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, 464, __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, 464, __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; __Pyx_RefNannySetupContext("Ssend", 0); /* "MPI/Comm.pyx":468 * 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, 468, __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; /* "MPI/Comm.pyx":469 * """ * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":471 * 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 == -1)) __PYX_ERR(7, 469, __pyx_L4_error) } /* "MPI/Comm.pyx":469 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":464 * 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; } /* "MPI/Comm.pyx":473 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Rsend", 0, 2, 3, 1); __PYX_ERR(7, 473, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 473, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 473, __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, 473, __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, 473, __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; __Pyx_RefNannySetupContext("Rsend", 0); /* "MPI/Comm.pyx":477 * 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, 477, __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; /* "MPI/Comm.pyx":478 * """ * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":480 * 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 == -1)) __PYX_ERR(7, 478, __pyx_L4_error) } /* "MPI/Comm.pyx":478 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":473 * 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; } /* "MPI/Comm.pyx":484 * # 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ibsend", 0, 2, 3, 1); __PYX_ERR(7, 484, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 484, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 484, __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, 484, __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, 484, __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; __Pyx_RefNannySetupContext("Ibsend", 0); /* "MPI/Comm.pyx":488 * 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, 488, __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; /* "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, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 489, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":490 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":492 * 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 == -1)) __PYX_ERR(7, 490, __pyx_L4_error) } /* "MPI/Comm.pyx":490 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":493 * 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); /* "MPI/Comm.pyx":494 * 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; /* "MPI/Comm.pyx":484 * # 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; } /* "MPI/Comm.pyx":496 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Issend", 0, 2, 3, 1); __PYX_ERR(7, 496, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 496, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 496, __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, 496, __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, 496, __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; __Pyx_RefNannySetupContext("Issend", 0); /* "MPI/Comm.pyx":500 * 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, 500, __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; /* "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, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 501, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":502 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":504 * 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 == -1)) __PYX_ERR(7, 502, __pyx_L4_error) } /* "MPI/Comm.pyx":502 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":505 * 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); /* "MPI/Comm.pyx":506 * 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; /* "MPI/Comm.pyx":496 * 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; } /* "MPI/Comm.pyx":508 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Irsend", 0, 2, 3, 1); __PYX_ERR(7, 508, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 508, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 508, __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, 508, __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, 508, __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; __Pyx_RefNannySetupContext("Irsend", 0); /* "MPI/Comm.pyx":512 * 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, 512, __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; /* "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, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 513, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":514 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":516 * 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 == -1)) __PYX_ERR(7, 514, __pyx_L4_error) } /* "MPI/Comm.pyx":514 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":517 * 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); /* "MPI/Comm.pyx":518 * 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; /* "MPI/Comm.pyx":508 * 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; } /* "MPI/Comm.pyx":522 * # 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Bsend_init", 0, 2, 3, 1); __PYX_ERR(7, 522, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 522, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 522, __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, 522, __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, 522, __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; __Pyx_RefNannySetupContext("Bsend_init", 0); /* "MPI/Comm.pyx":526 * 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, 526, __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; /* "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, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Prequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Prequest), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 527, __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_request = ((struct PyMPIPrequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":528 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":530 * 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 == -1)) __PYX_ERR(7, 528, __pyx_L4_error) } /* "MPI/Comm.pyx":528 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":531 * 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); /* "MPI/Comm.pyx":532 * 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; /* "MPI/Comm.pyx":522 * # 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; } /* "MPI/Comm.pyx":534 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ssend_init", 0, 2, 3, 1); __PYX_ERR(7, 534, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 534, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 534, __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, 534, __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, 534, __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; __Pyx_RefNannySetupContext("Ssend_init", 0); /* "MPI/Comm.pyx":538 * 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, 538, __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; /* "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, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Prequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Prequest), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 539, __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_request = ((struct PyMPIPrequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":540 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":542 * 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 == -1)) __PYX_ERR(7, 540, __pyx_L4_error) } /* "MPI/Comm.pyx":540 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":543 * 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); /* "MPI/Comm.pyx":544 * 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; /* "MPI/Comm.pyx":534 * 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; } /* "MPI/Comm.pyx":546 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Rsend_init", 0, 2, 3, 1); __PYX_ERR(7, 546, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 546, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 546, __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, 546, __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, 546, __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; __Pyx_RefNannySetupContext("Rsend_init", 0); /* "MPI/Comm.pyx":550 * 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, 550, __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; /* "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, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Prequest(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Prequest), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 551, __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_request = ((struct PyMPIPrequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":552 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":554 * 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 == -1)) __PYX_ERR(7, 552, __pyx_L4_error) } /* "MPI/Comm.pyx":552 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":555 * 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); /* "MPI/Comm.pyx":556 * 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; /* "MPI/Comm.pyx":546 * 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; } /* "MPI/Comm.pyx":564 * # ----------------------- * * 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; __Pyx_RefNannySetupContext("Barrier", 0); /* "MPI/Comm.pyx":568 * Barrier synchronization * """ * with nogil: CHKERR( MPI_Barrier(self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Global Communication Functions */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Barrier(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 568, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":564 * # ----------------------- * * 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; } /* "MPI/Comm.pyx":573 * # ------------------------------ * * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 573, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 573, __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, 573, __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; __Pyx_RefNannySetupContext("Bcast", 0); /* "MPI/Comm.pyx":578 * 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, 578, __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; /* "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, */ __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 == -1)) __PYX_ERR(7, 579, __pyx_L1_error) /* "MPI/Comm.pyx":580 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":582 * 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 == -1)) __PYX_ERR(7, 580, __pyx_L4_error) } /* "MPI/Comm.pyx":580 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":573 * # ------------------------------ * * 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; } /* "MPI/Comm.pyx":584 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Gather", 0, 2, 3, 1); __PYX_ERR(7, 584, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 584, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 584, __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, 584, __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; __Pyx_RefNannySetupContext("Gather", 0); /* "MPI/Comm.pyx":588 * 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, 588, __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; /* "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, */ __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 == -1)) __PYX_ERR(7, 589, __pyx_L1_error) /* "MPI/Comm.pyx":590 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":593 * 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 == -1)) __PYX_ERR(7, 590, __pyx_L4_error) } /* "MPI/Comm.pyx":590 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":584 * 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; } /* "MPI/Comm.pyx":595 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Gatherv", 0, 2, 3, 1); __PYX_ERR(7, 595, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 595, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 595, __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, 595, __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; __Pyx_RefNannySetupContext("Gatherv", 0); /* "MPI/Comm.pyx":601 * 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, 601, __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; /* "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, */ __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 == -1)) __PYX_ERR(7, 602, __pyx_L1_error) /* "MPI/Comm.pyx":603 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":606 * 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 == -1)) __PYX_ERR(7, 603, __pyx_L4_error) } /* "MPI/Comm.pyx":603 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":595 * 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; } /* "MPI/Comm.pyx":608 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Scatter", 0, 2, 3, 1); __PYX_ERR(7, 608, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 608, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 608, __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, 608, __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; __Pyx_RefNannySetupContext("Scatter", 0); /* "MPI/Comm.pyx":613 * 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, 613, __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; /* "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, */ __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 == -1)) __PYX_ERR(7, 614, __pyx_L1_error) /* "MPI/Comm.pyx":615 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":618 * 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 == -1)) __PYX_ERR(7, 615, __pyx_L4_error) } /* "MPI/Comm.pyx":615 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":608 * 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; } /* "MPI/Comm.pyx":620 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Scatterv", 0, 2, 3, 1); __PYX_ERR(7, 620, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 620, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 620, __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, 620, __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; __Pyx_RefNannySetupContext("Scatterv", 0); /* "MPI/Comm.pyx":626 * 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, 626, __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; /* "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, */ __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 == -1)) __PYX_ERR(7, 627, __pyx_L1_error) /* "MPI/Comm.pyx":628 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":631 * 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 == -1)) __PYX_ERR(7, 628, __pyx_L4_error) } /* "MPI/Comm.pyx":628 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":620 * 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; } /* "MPI/Comm.pyx":633 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Allgather", 1, 2, 2, 1); __PYX_ERR(7, 633, __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, 633, __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, 633, __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; __Pyx_RefNannySetupContext("Allgather", 0); /* "MPI/Comm.pyx":638 * 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, 638, __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; /* "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, */ __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 == -1)) __PYX_ERR(7, 639, __pyx_L1_error) /* "MPI/Comm.pyx":640 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":643 * 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 == -1)) __PYX_ERR(7, 640, __pyx_L4_error) } /* "MPI/Comm.pyx":640 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":633 * 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; } /* "MPI/Comm.pyx":645 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Allgatherv", 1, 2, 2, 1); __PYX_ERR(7, 645, __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, 645, __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, 645, __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; __Pyx_RefNannySetupContext("Allgatherv", 0); /* "MPI/Comm.pyx":651 * 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, 651, __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; /* "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, */ __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 == -1)) __PYX_ERR(7, 652, __pyx_L1_error) /* "MPI/Comm.pyx":653 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":656 * 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 == -1)) __PYX_ERR(7, 653, __pyx_L4_error) } /* "MPI/Comm.pyx":653 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":645 * 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; } /* "MPI/Comm.pyx":658 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Alltoall", 1, 2, 2, 1); __PYX_ERR(7, 658, __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, 658, __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, 658, __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; __Pyx_RefNannySetupContext("Alltoall", 0); /* "MPI/Comm.pyx":663 * 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, 663, __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; /* "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, */ __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 == -1)) __PYX_ERR(7, 664, __pyx_L1_error) /* "MPI/Comm.pyx":665 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":668 * 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 == -1)) __PYX_ERR(7, 665, __pyx_L4_error) } /* "MPI/Comm.pyx":665 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":658 * 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; } /* "MPI/Comm.pyx":670 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Alltoallv", 1, 2, 2, 1); __PYX_ERR(7, 670, __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, 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_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, 670, __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; __Pyx_RefNannySetupContext("Alltoallv", 0); /* "MPI/Comm.pyx":676 * 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, 676, __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; /* "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, */ __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 == -1)) __PYX_ERR(7, 677, __pyx_L1_error) /* "MPI/Comm.pyx":678 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":681 * 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 == -1)) __PYX_ERR(7, 678, __pyx_L4_error) } /* "MPI/Comm.pyx":678 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":670 * 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; } /* "MPI/Comm.pyx":683 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Alltoallw", 1, 2, 2, 1); __PYX_ERR(7, 683, __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, 683, __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, 683, __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; __Pyx_RefNannySetupContext("Alltoallw", 0); /* "MPI/Comm.pyx":688 * 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, 688, __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; /* "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, */ __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 == -1)) __PYX_ERR(7, 689, __pyx_L1_error) /* "MPI/Comm.pyx":690 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":693 * 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 == -1)) __PYX_ERR(7, 690, __pyx_L4_error) } /* "MPI/Comm.pyx":690 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":683 * 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; } /* "MPI/Comm.pyx":699 * # --------------------------- * * def Reduce(self, sendbuf, recvbuf, Op op not None=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; 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__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 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Reduce", 0, 2, 4, 1); __PYX_ERR(7, 699, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_op); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 699, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 699, __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, 699, __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, 699, __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; __Pyx_RefNannySetupContext("Reduce", 0); /* "MPI/Comm.pyx":703 * 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, 703, __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; /* "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, */ __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 == -1)) __PYX_ERR(7, 704, __pyx_L1_error) /* "MPI/Comm.pyx":705 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":707 * 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 not None=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 == -1)) __PYX_ERR(7, 705, __pyx_L4_error) } /* "MPI/Comm.pyx":705 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":699 * # --------------------------- * * def Reduce(self, sendbuf, recvbuf, Op op not None=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; } /* "MPI/Comm.pyx":709 * op.ob_mpi, root, self.ob_mpi) ) * * def Allreduce(self, sendbuf, recvbuf, Op op not None=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; 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__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 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Allreduce", 0, 2, 3, 1); __PYX_ERR(7, 709, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 709, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 709, __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, 709, __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; __Pyx_RefNannySetupContext("Allreduce", 0); /* "MPI/Comm.pyx":713 * 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, 713, __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; /* "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, */ __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 == -1)) __PYX_ERR(7, 714, __pyx_L1_error) /* "MPI/Comm.pyx":715 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":717 * 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, */ __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 == -1)) __PYX_ERR(7, 715, __pyx_L4_error) } /* "MPI/Comm.pyx":715 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":709 * op.ob_mpi, root, self.ob_mpi) ) * * def Allreduce(self, sendbuf, recvbuf, Op op not None=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; } /* "MPI/Comm.pyx":719 * op.ob_mpi, self.ob_mpi) ) * * def Reduce_scatter_block(self, sendbuf, recvbuf, # <<<<<<<<<<<<<< * Op op not None=SUM): * """ */ /* 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; 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__65; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Reduce_scatter_block", 0, 2, 3, 1); __PYX_ERR(7, 719, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 719, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 719, __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, 720, __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; __Pyx_RefNannySetupContext("Reduce_scatter_block", 0); /* "MPI/Comm.pyx":724 * 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, 724, __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; /* "MPI/Comm.pyx":725 * """ * 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 == -1)) __PYX_ERR(7, 725, __pyx_L1_error) /* "MPI/Comm.pyx":726 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":728 * 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, */ __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 == -1)) __PYX_ERR(7, 726, __pyx_L4_error) } /* "MPI/Comm.pyx":726 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":719 * op.ob_mpi, self.ob_mpi) ) * * def Reduce_scatter_block(self, sendbuf, recvbuf, # <<<<<<<<<<<<<< * Op op not None=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.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; } /* "MPI/Comm.pyx":730 * op.ob_mpi, self.ob_mpi) ) * * def Reduce_scatter(self, sendbuf, recvbuf, recvcounts=None, # <<<<<<<<<<<<<< * Op op not None=SUM): * """ */ /* 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; 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__66; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Reduce_scatter", 0, 2, 4, 1); __PYX_ERR(7, 730, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvcounts); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 730, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 730, __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, 731, __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; __Pyx_RefNannySetupContext("Reduce_scatter", 0); /* "MPI/Comm.pyx":735 * 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, 735, __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; /* "MPI/Comm.pyx":736 * """ * 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 == -1)) __PYX_ERR(7, 736, __pyx_L1_error) /* "MPI/Comm.pyx":738 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":740 * 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 == -1)) __PYX_ERR(7, 738, __pyx_L4_error) } /* "MPI/Comm.pyx":738 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":730 * op.ob_mpi, self.ob_mpi) ) * * def Reduce_scatter(self, sendbuf, recvbuf, recvcounts=None, # <<<<<<<<<<<<<< * Op op not None=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.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; } /* "MPI/Comm.pyx":745 * # ----------------------- * * 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; __Pyx_RefNannySetupContext("Ibarrier", 0); /* "MPI/Comm.pyx":749 * Nonblocking Barrier * """ * cdef Request request = Request.__new__(Request) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Ibarrier(self.ob_mpi, &request.ob_mpi) ) * return request */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 749, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":750 * """ * 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 #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 == -1)) __PYX_ERR(7, 750, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":751 * 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; /* "MPI/Comm.pyx":745 * # ----------------------- * * 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; } /* "MPI/Comm.pyx":753 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 753, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 753, __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, 753, __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; __Pyx_RefNannySetupContext("Ibcast", 0); /* "MPI/Comm.pyx":757 * 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, 757, __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; /* "MPI/Comm.pyx":758 * """ * 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 == -1)) __PYX_ERR(7, 758, __pyx_L1_error) /* "MPI/Comm.pyx":759 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":760 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":762 * 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 == -1)) __PYX_ERR(7, 760, __pyx_L4_error) } /* "MPI/Comm.pyx":760 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":763 * 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); /* "MPI/Comm.pyx":764 * 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; /* "MPI/Comm.pyx":753 * 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; } /* "MPI/Comm.pyx":766 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Igather", 0, 2, 3, 1); __PYX_ERR(7, 766, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 766, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 766, __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, 766, __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; __Pyx_RefNannySetupContext("Igather", 0); /* "MPI/Comm.pyx":770 * 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, 770, __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; /* "MPI/Comm.pyx":771 * """ * 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 == -1)) __PYX_ERR(7, 771, __pyx_L1_error) /* "MPI/Comm.pyx":772 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":773 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":776 * 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 == -1)) __PYX_ERR(7, 773, __pyx_L4_error) } /* "MPI/Comm.pyx":773 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":777 * 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); /* "MPI/Comm.pyx":778 * 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; /* "MPI/Comm.pyx":766 * 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; } /* "MPI/Comm.pyx":780 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Igatherv", 0, 2, 3, 1); __PYX_ERR(7, 780, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 780, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 780, __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, 780, __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; __Pyx_RefNannySetupContext("Igatherv", 0); /* "MPI/Comm.pyx":784 * 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, 784, __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; /* "MPI/Comm.pyx":785 * """ * 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 == -1)) __PYX_ERR(7, 785, __pyx_L1_error) /* "MPI/Comm.pyx":786 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":787 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":790 * 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 == -1)) __PYX_ERR(7, 787, __pyx_L4_error) } /* "MPI/Comm.pyx":787 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":791 * 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); /* "MPI/Comm.pyx":792 * 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; /* "MPI/Comm.pyx":780 * 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; } /* "MPI/Comm.pyx":794 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iscatter", 0, 2, 3, 1); __PYX_ERR(7, 794, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 794, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 794, __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, 794, __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; __Pyx_RefNannySetupContext("Iscatter", 0); /* "MPI/Comm.pyx":798 * 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, 798, __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; /* "MPI/Comm.pyx":799 * """ * 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 == -1)) __PYX_ERR(7, 799, __pyx_L1_error) /* "MPI/Comm.pyx":800 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":801 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":804 * 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 == -1)) __PYX_ERR(7, 801, __pyx_L4_error) } /* "MPI/Comm.pyx":801 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":805 * 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); /* "MPI/Comm.pyx":806 * 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; /* "MPI/Comm.pyx":794 * 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; } /* "MPI/Comm.pyx":808 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iscatterv", 0, 2, 3, 1); __PYX_ERR(7, 808, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 808, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 808, __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, 808, __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; __Pyx_RefNannySetupContext("Iscatterv", 0); /* "MPI/Comm.pyx":812 * 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, 812, __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; /* "MPI/Comm.pyx":813 * """ * 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 == -1)) __PYX_ERR(7, 813, __pyx_L1_error) /* "MPI/Comm.pyx":814 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 814, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":815 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":818 * 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 == -1)) __PYX_ERR(7, 815, __pyx_L4_error) } /* "MPI/Comm.pyx":815 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":819 * 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); /* "MPI/Comm.pyx":820 * 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; /* "MPI/Comm.pyx":808 * 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; } /* "MPI/Comm.pyx":822 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iallgather", 1, 2, 2, 1); __PYX_ERR(7, 822, __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, 822, __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, 822, __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; __Pyx_RefNannySetupContext("Iallgather", 0); /* "MPI/Comm.pyx":826 * 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, 826, __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; /* "MPI/Comm.pyx":827 * """ * 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 == -1)) __PYX_ERR(7, 827, __pyx_L1_error) /* "MPI/Comm.pyx":828 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":829 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":832 * 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 == -1)) __PYX_ERR(7, 829, __pyx_L4_error) } /* "MPI/Comm.pyx":829 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":833 * 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); /* "MPI/Comm.pyx":834 * 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; /* "MPI/Comm.pyx":822 * 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; } /* "MPI/Comm.pyx":836 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iallgatherv", 1, 2, 2, 1); __PYX_ERR(7, 836, __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, 836, __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, 836, __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; __Pyx_RefNannySetupContext("Iallgatherv", 0); /* "MPI/Comm.pyx":840 * 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, 840, __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; /* "MPI/Comm.pyx":841 * """ * 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 == -1)) __PYX_ERR(7, 841, __pyx_L1_error) /* "MPI/Comm.pyx":842 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":843 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":846 * 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 == -1)) __PYX_ERR(7, 843, __pyx_L4_error) } /* "MPI/Comm.pyx":843 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":847 * 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; /* "MPI/Comm.pyx":836 * 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; } /* "MPI/Comm.pyx":849 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ialltoall", 1, 2, 2, 1); __PYX_ERR(7, 849, __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, 849, __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, 849, __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; __Pyx_RefNannySetupContext("Ialltoall", 0); /* "MPI/Comm.pyx":853 * 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, 853, __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; /* "MPI/Comm.pyx":854 * """ * 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 == -1)) __PYX_ERR(7, 854, __pyx_L1_error) /* "MPI/Comm.pyx":855 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":856 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":859 * 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 == -1)) __PYX_ERR(7, 856, __pyx_L4_error) } /* "MPI/Comm.pyx":856 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":860 * 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); /* "MPI/Comm.pyx":861 * 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; /* "MPI/Comm.pyx":849 * 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; } /* "MPI/Comm.pyx":863 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ialltoallv", 1, 2, 2, 1); __PYX_ERR(7, 863, __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, 863, __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, 863, __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; __Pyx_RefNannySetupContext("Ialltoallv", 0); /* "MPI/Comm.pyx":867 * 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, 867, __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; /* "MPI/Comm.pyx":868 * """ * 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 == -1)) __PYX_ERR(7, 868, __pyx_L1_error) /* "MPI/Comm.pyx":869 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":870 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":873 * 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 == -1)) __PYX_ERR(7, 870, __pyx_L4_error) } /* "MPI/Comm.pyx":870 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":874 * 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); /* "MPI/Comm.pyx":875 * 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; /* "MPI/Comm.pyx":863 * 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; } /* "MPI/Comm.pyx":877 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ialltoallw", 1, 2, 2, 1); __PYX_ERR(7, 877, __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, 877, __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, 877, __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; __Pyx_RefNannySetupContext("Ialltoallw", 0); /* "MPI/Comm.pyx":881 * 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, 881, __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; /* "MPI/Comm.pyx":882 * """ * 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 == -1)) __PYX_ERR(7, 882, __pyx_L1_error) /* "MPI/Comm.pyx":883 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":884 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":887 * 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 == -1)) __PYX_ERR(7, 884, __pyx_L4_error) } /* "MPI/Comm.pyx":884 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":888 * 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); /* "MPI/Comm.pyx":889 * self.ob_mpi, &request.ob_mpi) ) * request.ob_buf = m * return request # <<<<<<<<<<<<<< * * def Ireduce(self, sendbuf, recvbuf, Op op not None=SUM, int root=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "MPI/Comm.pyx":877 * 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; } /* "MPI/Comm.pyx":891 * return request * * def Ireduce(self, sendbuf, recvbuf, Op op not None=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; 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__67; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ireduce", 0, 2, 4, 1); __PYX_ERR(7, 891, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_op); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 891, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 891, __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, 891, __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, 891, __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; __Pyx_RefNannySetupContext("Ireduce", 0); /* "MPI/Comm.pyx":895 * 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, 895, __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; /* "MPI/Comm.pyx":896 * """ * 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 == -1)) __PYX_ERR(7, 896, __pyx_L1_error) /* "MPI/Comm.pyx":897 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 897, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":898 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":900 * 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 == -1)) __PYX_ERR(7, 898, __pyx_L4_error) } /* "MPI/Comm.pyx":898 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":901 * 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 not None=SUM): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "MPI/Comm.pyx":891 * return request * * def Ireduce(self, sendbuf, recvbuf, Op op not None=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; } /* "MPI/Comm.pyx":903 * return request * * def Iallreduce(self, sendbuf, recvbuf, Op op not None=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; 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__68; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iallreduce", 0, 2, 3, 1); __PYX_ERR(7, 903, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 903, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 903, __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, 903, __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; __Pyx_RefNannySetupContext("Iallreduce", 0); /* "MPI/Comm.pyx":907 * 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, 907, __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; /* "MPI/Comm.pyx":908 * """ * 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 == -1)) __PYX_ERR(7, 908, __pyx_L1_error) /* "MPI/Comm.pyx":909 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":910 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":912 * 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 == -1)) __PYX_ERR(7, 910, __pyx_L4_error) } /* "MPI/Comm.pyx":910 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":913 * 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, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "MPI/Comm.pyx":903 * return request * * def Iallreduce(self, sendbuf, recvbuf, Op op not None=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; } /* "MPI/Comm.pyx":915 * return request * * def Ireduce_scatter_block(self, sendbuf, recvbuf, # <<<<<<<<<<<<<< * Op op not None=SUM): * """ */ /* 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; 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__69; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ireduce_scatter_block", 0, 2, 3, 1); __PYX_ERR(7, 915, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 915, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 915, __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, 916, __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; __Pyx_RefNannySetupContext("Ireduce_scatter_block", 0); /* "MPI/Comm.pyx":920 * 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, 920, __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; /* "MPI/Comm.pyx":921 * """ * 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 == -1)) __PYX_ERR(7, 921, __pyx_L1_error) /* "MPI/Comm.pyx":922 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":923 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":925 * 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 == -1)) __PYX_ERR(7, 923, __pyx_L4_error) } /* "MPI/Comm.pyx":923 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":926 * 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, */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "MPI/Comm.pyx":915 * return request * * def Ireduce_scatter_block(self, sendbuf, recvbuf, # <<<<<<<<<<<<<< * Op op not None=SUM): * """ */ /* 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; } /* "MPI/Comm.pyx":928 * return request * * def Ireduce_scatter(self, sendbuf, recvbuf, recvcounts=None, # <<<<<<<<<<<<<< * Op op not None=SUM): * """ */ /* 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; 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__70; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ireduce_scatter", 0, 2, 4, 1); __PYX_ERR(7, 928, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvcounts); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 928, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 928, __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, 929, __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; __Pyx_RefNannySetupContext("Ireduce_scatter", 0); /* "MPI/Comm.pyx":933 * 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, 933, __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; /* "MPI/Comm.pyx":934 * """ * 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 == -1)) __PYX_ERR(7, 934, __pyx_L1_error) /* "MPI/Comm.pyx":936 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":937 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":939 * 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 == -1)) __PYX_ERR(7, 937, __pyx_L4_error) } /* "MPI/Comm.pyx":937 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":940 * 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; /* "MPI/Comm.pyx":928 * return request * * def Ireduce_scatter(self, sendbuf, recvbuf, recvcounts=None, # <<<<<<<<<<<<<< * Op op not None=SUM): * """ */ /* 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; } /* "MPI/Comm.pyx":945 * # ----- * * 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; __Pyx_RefNannySetupContext("Is_inter", 0); /* "MPI/Comm.pyx":949 * 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; /* "MPI/Comm.pyx":950 * """ * 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 == -1)) __PYX_ERR(7, 950, __pyx_L1_error) /* "MPI/Comm.pyx":951 * 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, 951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":945 * # ----- * * 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; } /* "MPI/Comm.pyx":955 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":956 * """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, 956, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 956, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 956, __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; /* "MPI/Comm.pyx":955 * 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; } /* "MPI/Comm.pyx":958 * 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; __Pyx_RefNannySetupContext("Is_intra", 0); /* "MPI/Comm.pyx":962 * 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, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 962, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); 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_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(7, 962, __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, 962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":958 * 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; } /* "MPI/Comm.pyx":966 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":967 * """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, 967, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 967, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 967, __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; /* "MPI/Comm.pyx":966 * 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; } /* "MPI/Comm.pyx":969 * 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; __Pyx_RefNannySetupContext("Get_topology", 0); /* "MPI/Comm.pyx":974 * associated with a communicator * """ * cdef int topo = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * return topo */ __pyx_v_topo = MPI_UNDEFINED; /* "MPI/Comm.pyx":975 * """ * 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 == -1)) __PYX_ERR(7, 975, __pyx_L1_error) /* "MPI/Comm.pyx":976 * 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, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":969 * 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; } /* "MPI/Comm.pyx":980 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":981 * """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, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 981, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); 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_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":980 * 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; } /* "MPI/Comm.pyx":985 * property is_topo: * """is a topology communicator""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) */ /* 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) { int __pyx_v_topo; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":986 * """is a topology communicator""" * def __get__(self): * cdef int topo = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * return topo != MPI_UNDEFINED */ __pyx_v_topo = MPI_UNDEFINED; /* "MPI/Comm.pyx":987 * def __get__(self): * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) # <<<<<<<<<<<<<< * return topo != MPI_UNDEFINED * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Topo_test(__pyx_v_self->ob_mpi, (&__pyx_v_topo))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 987, __pyx_L1_error) /* "MPI/Comm.pyx":988 * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) * return topo != MPI_UNDEFINED # <<<<<<<<<<<<<< * * # Process Creation and Management */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_topo != MPI_UNDEFINED)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":985 * property is_topo: * """is a topology communicator""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int topo = MPI_UNDEFINED * CHKERR( MPI_Topo_test(self.ob_mpi, &topo) ) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __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; } /* "MPI/Comm.pyx":994 * * @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; __Pyx_RefNannySetupContext("Get_parent", 0); /* "MPI/Comm.pyx":998 * 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__; /* "MPI/Comm.pyx":999 * """ * 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 #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 == -1)) __PYX_ERR(7, 999, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1000 * 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 == -1)) __PYX_ERR(7, 1000, __pyx_L1_error) /* "MPI/Comm.pyx":1001 * 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; /* "MPI/Comm.pyx":994 * * @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; } /* "MPI/Comm.pyx":1003 * 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; __Pyx_RefNannySetupContext("Disconnect", 0); /* "MPI/Comm.pyx":1007 * Disconnect from a communicator * """ * with nogil: CHKERR( MPI_Comm_disconnect(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * @classmethod */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_disconnect((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 1007, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1003 * 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; } /* "MPI/Comm.pyx":1010 * * @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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1010, __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, 1010, __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, 1010, __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; __Pyx_RefNannySetupContext("Join", 0); /* "MPI/Comm.pyx":1015 * 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 = __pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1015, __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 PyMPIIntercommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1016 * """ * 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 #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 == -1)) __PYX_ERR(7, 1016, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1017 * 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 == -1)) __PYX_ERR(7, 1017, __pyx_L1_error) /* "MPI/Comm.pyx":1018 * 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; /* "MPI/Comm.pyx":1010 * * @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; } /* "MPI/Comm.pyx":1023 * # ---------- * * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1023, __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, 1023, __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, 1023, __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; __Pyx_RefNannySetupContext("Get_attr", 0); /* "MPI/Comm.pyx":1027 * 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; /* "MPI/Comm.pyx":1028 * """ * 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; /* "MPI/Comm.pyx":1029 * 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 == -1)) __PYX_ERR(7, 1029, __pyx_L1_error) /* "MPI/Comm.pyx":1030 * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/Comm.pyx":1031 * 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; } /* "MPI/Comm.pyx":1033 * 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; } /* "MPI/Comm.pyx":1034 * # 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; } /* "MPI/Comm.pyx":1035 * 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; } /* "MPI/Comm.pyx":1036 * 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:; /* "MPI/Comm.pyx":1033 * 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) { /* "MPI/Comm.pyx":1037 * 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, 1037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1033 * if attrval == NULL: return 0 * # MPI-1 predefined attribute keyvals * if (keyval == MPI_TAG_UB or # <<<<<<<<<<<<<< * keyval == MPI_HOST or * keyval == MPI_IO or */ } /* "MPI/Comm.pyx":1039 * 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; } /* "MPI/Comm.pyx":1040 * # 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; } /* "MPI/Comm.pyx":1041 * 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:; /* "MPI/Comm.pyx":1039 * 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) { /* "MPI/Comm.pyx":1042 * keyval == MPI_APPNUM or * keyval == MPI_LASTUSEDCODE): * return (attrval)[0] # <<<<<<<<<<<<<< * # user-defined attribute keyval * elif keyval in comm_keyval: */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_PyInt_From_int((((int *)__pyx_v_attrval)[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1039 * return (attrval)[0] * # MPI-2 predefined attribute keyvals * elif (keyval == MPI_UNIVERSE_SIZE or # <<<<<<<<<<<<<< * keyval == MPI_APPNUM or * keyval == MPI_LASTUSEDCODE): */ } /* "MPI/Comm.pyx":1044 * return (attrval)[0] * # user-defined attribute keyval * elif keyval in comm_keyval: # <<<<<<<<<<<<<< * return attrval * else: */ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__pyx_v_6mpi4py_3MPI_comm_keyval == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(7, 1044, __pyx_L1_error) } __pyx_t_2 = (__Pyx_PyDict_ContainsTF(__pyx_t_4, __pyx_v_6mpi4py_3MPI_comm_keyval, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(7, 1044, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { /* "MPI/Comm.pyx":1045 * # user-defined attribute keyval * elif keyval in comm_keyval: * 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; /* "MPI/Comm.pyx":1044 * return (attrval)[0] * # user-defined attribute keyval * elif keyval in comm_keyval: # <<<<<<<<<<<<<< * return attrval * else: */ } /* "MPI/Comm.pyx":1047 * return attrval * else: * return PyLong_FromVoidPtr(attrval) # <<<<<<<<<<<<<< * * def Set_attr(self, int keyval, object attrval): */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_4 = PyLong_FromVoidPtr(__pyx_v_attrval); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; } /* "MPI/Comm.pyx":1023 * # ---------- * * 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; } /* "MPI/Comm.pyx":1049 * return PyLong_FromVoidPtr(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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_keyval)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_attrval)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Set_attr", 1, 2, 2, 1); __PYX_ERR(7, 1049, __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, 1049, __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, 1049, __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, 1049, __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) { void *__pyx_v_ptrval; PyObject *__pyx_v_state = 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; __Pyx_RefNannySetupContext("Set_attr", 0); /* "MPI/Comm.pyx":1053 * Store attribute value associated with a key * """ * cdef void *ptrval = NULL # <<<<<<<<<<<<<< * cdef object state = comm_keyval.get(keyval) * if state is not None: */ __pyx_v_ptrval = NULL; /* "MPI/Comm.pyx":1054 * """ * cdef void *ptrval = NULL * cdef object state = comm_keyval.get(keyval) # <<<<<<<<<<<<<< * if state is not None: * ptrval = attrval */ if (unlikely(__pyx_v_6mpi4py_3MPI_comm_keyval == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get"); __PYX_ERR(7, 1054, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1054, __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(7, 1054, __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; /* "MPI/Comm.pyx":1055 * cdef void *ptrval = NULL * cdef object state = comm_keyval.get(keyval) * if state is not None: # <<<<<<<<<<<<<< * ptrval = attrval * else: */ __pyx_t_3 = (__pyx_v_state != Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* "MPI/Comm.pyx":1056 * cdef object state = comm_keyval.get(keyval) * if state is not None: * ptrval = attrval # <<<<<<<<<<<<<< * else: * ptrval = PyLong_AsVoidPtr(attrval) */ __pyx_v_ptrval = ((void *)__pyx_v_attrval); /* "MPI/Comm.pyx":1055 * cdef void *ptrval = NULL * cdef object state = comm_keyval.get(keyval) * if state is not None: # <<<<<<<<<<<<<< * ptrval = attrval * else: */ goto __pyx_L3; } /* "MPI/Comm.pyx":1058 * ptrval = attrval * else: * ptrval = PyLong_AsVoidPtr(attrval) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_set_attr(self.ob_mpi, keyval, ptrval) ) * if state is None: return */ /*else*/ { __pyx_v_ptrval = PyLong_AsVoidPtr(__pyx_v_attrval); } __pyx_L3:; /* "MPI/Comm.pyx":1059 * else: * ptrval = PyLong_AsVoidPtr(attrval) * CHKERR( MPI_Comm_set_attr(self.ob_mpi, keyval, ptrval) ) # <<<<<<<<<<<<<< * if state is None: return * Py_INCREF(attrval) */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Comm_set_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval, __pyx_v_ptrval)); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(7, 1059, __pyx_L1_error) /* "MPI/Comm.pyx":1060 * ptrval = PyLong_AsVoidPtr(attrval) * CHKERR( MPI_Comm_set_attr(self.ob_mpi, keyval, ptrval) ) * if state is None: return # <<<<<<<<<<<<<< * Py_INCREF(attrval) * Py_INCREF(state) */ __pyx_t_4 = (__pyx_v_state == Py_None); __pyx_t_3 = (__pyx_t_4 != 0); if (__pyx_t_3) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "MPI/Comm.pyx":1061 * CHKERR( MPI_Comm_set_attr(self.ob_mpi, keyval, ptrval) ) * if state is None: return * Py_INCREF(attrval) # <<<<<<<<<<<<<< * Py_INCREF(state) * */ Py_INCREF(__pyx_v_attrval); /* "MPI/Comm.pyx":1062 * if state is None: return * Py_INCREF(attrval) * Py_INCREF(state) # <<<<<<<<<<<<<< * * def Delete_attr(self, int keyval): */ Py_INCREF(__pyx_v_state); /* "MPI/Comm.pyx":1049 * return PyLong_FromVoidPtr(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_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Comm.Set_attr", __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; } /* "MPI/Comm.pyx":1064 * Py_INCREF(state) * * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1064, __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, 1064, __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, 1064, __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; __Pyx_RefNannySetupContext("Delete_attr", 0); /* "MPI/Comm.pyx":1068 * 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 == -1)) __PYX_ERR(7, 1068, __pyx_L1_error) /* "MPI/Comm.pyx":1064 * Py_INCREF(state) * * 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; } /* "MPI/Comm.pyx":1071 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None): # <<<<<<<<<<<<<< * """ * 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)\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_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_keyval (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_copy_fn,&__pyx_n_s_delete_fn,0}; PyObject* values[2] = {0,0}; values[0] = ((PyObject *)Py_None); 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_copy_fn); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_delete_fn); 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_keyval") < 0)) __PYX_ERR(7, 1071, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_copy_fn = values[0]; __pyx_v_delete_fn = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_keyval", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1071, __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); /* 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_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; __Pyx_RefNannySetupContext("Create_keyval", 0); /* "MPI/Comm.pyx":1075 * Create a new attribute key for communicators * """ * cdef object state = _p_keyval(copy_fn, delete_fn) # <<<<<<<<<<<<<< * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Comm_copy_attr_function *_copy = comm_attr_copy_fn */ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1075, __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_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6mpi4py_3MPI__p_keyval), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1075, __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; /* "MPI/Comm.pyx":1076 * """ * cdef object state = _p_keyval(copy_fn, delete_fn) * cdef int keyval = MPI_KEYVAL_INVALID # <<<<<<<<<<<<<< * cdef MPI_Comm_copy_attr_function *_copy = comm_attr_copy_fn * cdef MPI_Comm_delete_attr_function *_del = comm_attr_delete_fn */ __pyx_v_keyval = MPI_KEYVAL_INVALID; /* "MPI/Comm.pyx":1077 * cdef object state = _p_keyval(copy_fn, delete_fn) * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Comm_copy_attr_function *_copy = comm_attr_copy_fn # <<<<<<<<<<<<<< * cdef MPI_Comm_delete_attr_function *_del = comm_attr_delete_fn * cdef void *extra_state = state */ __pyx_v__copy = __pyx_f_6mpi4py_3MPI_comm_attr_copy_fn; /* "MPI/Comm.pyx":1078 * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Comm_copy_attr_function *_copy = comm_attr_copy_fn * cdef MPI_Comm_delete_attr_function *_del = comm_attr_delete_fn # <<<<<<<<<<<<<< * cdef void *extra_state = state * CHKERR( MPI_Comm_create_keyval(_copy, _del, &keyval, extra_state) ) */ __pyx_v__del = __pyx_f_6mpi4py_3MPI_comm_attr_delete_fn; /* "MPI/Comm.pyx":1079 * cdef MPI_Comm_copy_attr_function *_copy = comm_attr_copy_fn * cdef MPI_Comm_delete_attr_function *_del = comm_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); /* "MPI/Comm.pyx":1080 * cdef MPI_Comm_delete_attr_function *_del = comm_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 == -1)) __PYX_ERR(7, 1080, __pyx_L1_error) /* "MPI/Comm.pyx":1081 * 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, 1081, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1081, __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, 1081, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1082 * 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, 1082, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1071 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Comm.pyx":1085 * * @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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1085, __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, 1085, __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, 1085, __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; __Pyx_RefNannySetupContext("Free_keyval", 0); /* "MPI/Comm.pyx":1089 * 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; /* "MPI/Comm.pyx":1090 * """ * 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 == -1)) __PYX_ERR(7, 1090, __pyx_L1_error) /* "MPI/Comm.pyx":1091 * 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, 1091, __pyx_L3_error) } __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_keyval_save); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1091, __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, 1091, __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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /* "MPI/Comm.pyx":1092 * 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:; /* "MPI/Comm.pyx":1091 * cdef int keyval_save = keyval * CHKERR( MPI_Comm_free_keyval(&keyval) ) * try: del comm_keyval[keyval_save] # <<<<<<<<<<<<<< * except KeyError: pass * return keyval */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/Comm.pyx":1093 * 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, 1093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1085 * * @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; } /* "MPI/Comm.pyx":1098 * # -------------- * * 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; __Pyx_RefNannySetupContext("Get_errhandler", 0); /* "MPI/Comm.pyx":1102 * 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 = __pyx_tp_new_6mpi4py_3MPI_Errhandler(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1102, __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_errhandler = ((struct PyMPIErrhandlerObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1103 * """ * 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 == -1)) __PYX_ERR(7, 1103, __pyx_L1_error) /* "MPI/Comm.pyx":1104 * 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 not None): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_errhandler)); __pyx_r = ((PyObject *)__pyx_v_errhandler); goto __pyx_L0; /* "MPI/Comm.pyx":1098 * # -------------- * * 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; } /* "MPI/Comm.pyx":1106 * return errhandler * * def Set_errhandler(self, Errhandler errhandler not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1106, __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, 1106, __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, 1106, __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; __Pyx_RefNannySetupContext("Set_errhandler", 0); /* "MPI/Comm.pyx":1110 * 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 == -1)) __PYX_ERR(7, 1110, __pyx_L1_error) /* "MPI/Comm.pyx":1106 * return errhandler * * def Set_errhandler(self, Errhandler errhandler not None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Comm.pyx":1112 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1112, __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, 1112, __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, 1112, __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; __Pyx_RefNannySetupContext("Call_errhandler", 0); /* "MPI/Comm.pyx":1116 * 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 == -1)) __PYX_ERR(7, 1116, __pyx_L1_error) /* "MPI/Comm.pyx":1112 * 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; } /* "MPI/Comm.pyx":1119 * * * 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; 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); 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 = PyDict_GetItem(__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, 1119, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 1119, __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, 1119, __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; __Pyx_RefNannySetupContext("Abort", 0); /* "MPI/Comm.pyx":1125 * .. 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 == -1)) __PYX_ERR(7, 1125, __pyx_L1_error) /* "MPI/Comm.pyx":1119 * * * 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; } /* "MPI/Comm.pyx":1130 * # -------------- * * 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; __Pyx_RefNannySetupContext("Get_name", 0); /* "MPI/Comm.pyx":1135 * """ * 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; /* "MPI/Comm.pyx":1136 * 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 == -1)) __PYX_ERR(7, 1136, __pyx_L1_error) /* "MPI/Comm.pyx":1137 * 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, 1137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1130 * # -------------- * * 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; } /* "MPI/Comm.pyx":1139 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1139, __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, 1139, __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; __Pyx_RefNannySetupContext("Set_name", 0); __Pyx_INCREF(__pyx_v_name); /* "MPI/Comm.pyx":1143 * 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; /* "MPI/Comm.pyx":1144 * """ * 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, 1144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":1145 * 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 == -1)) __PYX_ERR(7, 1145, __pyx_L1_error) /* "MPI/Comm.pyx":1139 * 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; } /* "MPI/Comm.pyx":1149 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1150 * """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, 1150, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1150, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1150, __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; /* "MPI/Comm.pyx":1149 * 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; } /* "MPI/Comm.pyx":1151 * 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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__set__", 0); /* "MPI/Comm.pyx":1152 * 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, 1152, __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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1152, __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[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1152, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1152, __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 = NULL; __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_value); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":1151 * 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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Comm.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/Comm.pyx":1157 * # -------------- * * 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; __Pyx_RefNannySetupContext("py2f", 0); /* "MPI/Comm.pyx":1160 * """ * """ * 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, 1160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1157 * # -------------- * * 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; } /* "MPI/Comm.pyx":1163 * * @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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1163, __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, 1163, __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; __Pyx_RefNannySetupContext("f2py", 0); /* "MPI/Comm.pyx":1166 * """ * """ * 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, 1166, __pyx_L1_error) __pyx_v_comm = MPI_Comm_f2c(__pyx_t_1); /* "MPI/Comm.pyx":1167 * """ * 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, 1167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1163 * * @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; } /* "MPI/Comm.pyx":1172 * # -------------------- * # * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_obj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("send", 0, 2, 3, 1); __PYX_ERR(7, 1172, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1172, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1172, __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, 1172, __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, 1172, __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; __Pyx_RefNannySetupContext("send", 0); /* "MPI/Comm.pyx":1174 * 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; /* "MPI/Comm.pyx":1175 * """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, 1175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1172 * # -------------------- * # * 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; } /* "MPI/Comm.pyx":1177 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_obj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("bsend", 0, 2, 3, 1); __PYX_ERR(7, 1177, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1177, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1177, __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, 1177, __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, 1177, __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; __Pyx_RefNannySetupContext("bsend", 0); /* "MPI/Comm.pyx":1179 * 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; /* "MPI/Comm.pyx":1180 * """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, 1180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1177 * 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; } /* "MPI/Comm.pyx":1182 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_obj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("ssend", 0, 2, 3, 1); __PYX_ERR(7, 1182, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1182, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1182, __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, 1182, __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, 1182, __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; __Pyx_RefNannySetupContext("ssend", 0); /* "MPI/Comm.pyx":1184 * 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; /* "MPI/Comm.pyx":1185 * """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, 1185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1182 * 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; } /* "MPI/Comm.pyx":1187 * 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; 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); /* "MPI/Comm.pyx":1188 * # * 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1187, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 1187, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__71; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1187, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__72; } __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, 1187, __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, 1188, __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); /* "MPI/Comm.pyx":1187 * 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; __Pyx_RefNannySetupContext("recv", 0); /* "MPI/Comm.pyx":1190 * 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; /* "MPI/Comm.pyx":1191 * """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)); /* "MPI/Comm.pyx":1192 * 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, 1192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1187 * 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; } /* "MPI/Comm.pyx":1194 * 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; 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}; /* "MPI/Comm.pyx":1195 * # * 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); /* "MPI/Comm.pyx":1196 * 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); case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendobj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("sendrecv", 0, 2, 7, 1); __PYX_ERR(7, 1194, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendtag); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf); if (value) { values[3] = value; kw_args--; } } case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[4] = value; kw_args--; } } case 5: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvtag); if (value) { values[5] = value; kw_args--; } } case 6: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1194, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1194, __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, 1194, __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, 1195, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__73; } if (values[5]) { __pyx_v_recvtag = __Pyx_PyInt_As_int(values[5]); if (unlikely((__pyx_v_recvtag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1195, __pyx_L3_error) } else { __pyx_v_recvtag = __pyx_k__74; } __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, 1194, __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, 1196, __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); /* "MPI/Comm.pyx":1194 * 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; __Pyx_RefNannySetupContext("sendrecv", 0); /* "MPI/Comm.pyx":1198 * 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; /* "MPI/Comm.pyx":1199 * """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)); /* "MPI/Comm.pyx":1200 * 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); /* "MPI/Comm.pyx":1202 * 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, 1200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1194 * 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; } /* "MPI/Comm.pyx":1204 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_obj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("isend", 0, 2, 3, 1); __PYX_ERR(7, 1204, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1204, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1204, __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, 1204, __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, 1204, __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; __Pyx_RefNannySetupContext("isend", 0); /* "MPI/Comm.pyx":1206 * 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; /* "MPI/Comm.pyx":1207 * """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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1207, __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_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1208 * 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, 1208, __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; /* "MPI/Comm.pyx":1209 * 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; /* "MPI/Comm.pyx":1204 * 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; } /* "MPI/Comm.pyx":1211 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_obj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("ibsend", 0, 2, 3, 1); __PYX_ERR(7, 1211, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1211, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1211, __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, 1211, __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, 1211, __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; __Pyx_RefNannySetupContext("ibsend", 0); /* "MPI/Comm.pyx":1213 * 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; /* "MPI/Comm.pyx":1214 * """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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1214, __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_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1215 * 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, 1215, __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; /* "MPI/Comm.pyx":1216 * 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; /* "MPI/Comm.pyx":1211 * 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; } /* "MPI/Comm.pyx":1218 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_obj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("issend", 0, 2, 3, 1); __PYX_ERR(7, 1218, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1218, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1218, __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, 1218, __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, 1218, __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; __Pyx_RefNannySetupContext("issend", 0); /* "MPI/Comm.pyx":1220 * 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; /* "MPI/Comm.pyx":1221 * """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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1221, __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_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1222 * 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, 1222, __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; /* "MPI/Comm.pyx":1223 * 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; /* "MPI/Comm.pyx":1218 * 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; } /* "MPI/Comm.pyx":1225 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1225, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 1225, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__75; } if (values[2]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1225, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__76; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("irecv", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1225, __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; __Pyx_RefNannySetupContext("irecv", 0); /* "MPI/Comm.pyx":1227 * 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; /* "MPI/Comm.pyx":1228 * """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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1228, __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_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1229 * 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, 1229, __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; /* "MPI/Comm.pyx":1230 * 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; /* "MPI/Comm.pyx":1225 * 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; } /* "MPI/Comm.pyx":1232 * 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; 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}; /* "MPI/Comm.pyx":1233 * # * 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1232, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 1232, __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, 1232, __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("probe", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(7, 1232, __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, 1233, __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); /* "MPI/Comm.pyx":1232 * 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; __Pyx_RefNannySetupContext("probe", 0); /* "MPI/Comm.pyx":1235 * 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; /* "MPI/Comm.pyx":1236 * """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)); /* "MPI/Comm.pyx":1237 * 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, 1237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1232 * 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; } /* "MPI/Comm.pyx":1239 * 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; 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}; /* "MPI/Comm.pyx":1240 * # * 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1239, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 1239, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__79; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1239, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__80; } __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, 1239, __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, 1240, __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); /* "MPI/Comm.pyx":1239 * 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; __Pyx_RefNannySetupContext("iprobe", 0); /* "MPI/Comm.pyx":1242 * 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; /* "MPI/Comm.pyx":1243 * """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)); /* "MPI/Comm.pyx":1244 * 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, 1244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1239 * 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; } /* "MPI/Comm.pyx":1246 * 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; 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}; /* "MPI/Comm.pyx":1247 * # * 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1246, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 1246, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__81; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1246, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__82; } __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, 1246, __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, 1247, __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); /* "MPI/Comm.pyx":1246 * 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; __Pyx_RefNannySetupContext("mprobe", 0); /* "MPI/Comm.pyx":1249 * 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; /* "MPI/Comm.pyx":1250 * """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)); /* "MPI/Comm.pyx":1251 * 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 = __pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1251, __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_v_message = ((struct PyMPIMessageObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1252 * 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, 1252, __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; /* "MPI/Comm.pyx":1254 * 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; /* "MPI/Comm.pyx":1246 * 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; } /* "MPI/Comm.pyx":1256 * 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; 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}; /* "MPI/Comm.pyx":1257 * # * 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_tag); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1256, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 1256, __pyx_L3_error) } else { __pyx_v_source = __pyx_k__83; } if (values[1]) { __pyx_v_tag = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_tag == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1256, __pyx_L3_error) } else { __pyx_v_tag = __pyx_k__84; } __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, 1256, __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, 1257, __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); /* "MPI/Comm.pyx":1256 * 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; __Pyx_RefNannySetupContext("improbe", 0); /* "MPI/Comm.pyx":1259 * 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; /* "MPI/Comm.pyx":1260 * """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; /* "MPI/Comm.pyx":1261 * 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)); /* "MPI/Comm.pyx":1262 * 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 = __pyx_tp_new_6mpi4py_3MPI_Message(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Message), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1262, __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_v_message = ((struct PyMPIMessageObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1263 * 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, 1263, __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; /* "MPI/Comm.pyx":1265 * 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_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/Comm.pyx":1266 * &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; /* "MPI/Comm.pyx":1256 * 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; } /* "MPI/Comm.pyx":1268 * 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; __Pyx_RefNannySetupContext("barrier", 0); /* "MPI/Comm.pyx":1270 * 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; /* "MPI/Comm.pyx":1271 * """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, 1271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1268 * 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; } /* "MPI/Comm.pyx":1273 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_obj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1273, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1273, __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, 1273, __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; __Pyx_RefNannySetupContext("bcast", 0); /* "MPI/Comm.pyx":1275 * 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; /* "MPI/Comm.pyx":1276 * """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, 1276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1273 * 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; } /* "MPI/Comm.pyx":1278 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendobj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1278, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1278, __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, 1278, __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; __Pyx_RefNannySetupContext("gather", 0); /* "MPI/Comm.pyx":1280 * 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; /* "MPI/Comm.pyx":1281 * """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, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1278 * 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; } /* "MPI/Comm.pyx":1283 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendobj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1283, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1283, __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, 1283, __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; __Pyx_RefNannySetupContext("scatter", 0); /* "MPI/Comm.pyx":1285 * 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; /* "MPI/Comm.pyx":1286 * """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, 1286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1283 * 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; } /* "MPI/Comm.pyx":1288 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1288, __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, 1288, __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; __Pyx_RefNannySetupContext("allgather", 0); /* "MPI/Comm.pyx":1290 * 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; /* "MPI/Comm.pyx":1291 * """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, 1291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1288 * 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; } /* "MPI/Comm.pyx":1293 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1293, __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, 1293, __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; __Pyx_RefNannySetupContext("alltoall", 0); /* "MPI/Comm.pyx":1295 * 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; /* "MPI/Comm.pyx":1296 * """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, 1296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1293 * 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; } /* "MPI/Comm.pyx":1298 * 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; 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__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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendobj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_op); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1298, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1298, __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, 1298, __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; __Pyx_RefNannySetupContext("reduce", 0); __Pyx_INCREF(__pyx_v_op); /* "MPI/Comm.pyx":1300 * 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_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_op, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/Comm.pyx":1301 * """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; /* "MPI/Comm.pyx":1302 * 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, 1302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1298 * 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; } /* "MPI/Comm.pyx":1304 * 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; 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__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 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendobj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1304, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1304, __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; __Pyx_RefNannySetupContext("allreduce", 0); __Pyx_INCREF(__pyx_v_op); /* "MPI/Comm.pyx":1306 * 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_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_op, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/Comm.pyx":1307 * """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; /* "MPI/Comm.pyx":1308 * 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, 1308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1304 * 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; } /* "MPI/Comm.pyx":1317 * """ * * 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_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); 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 = PyDict_GetItem(__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, 1317, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 1317, __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, 1317, __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; __Pyx_RefNannySetupContext("__cinit__", 0); /* "MPI/Comm.pyx":1318 * * 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; } /* "MPI/Comm.pyx":1319 * 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; /* "MPI/Comm.pyx":1320 * 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 == -1)) __PYX_ERR(7, 1320, __pyx_L1_error) /* "MPI/Comm.pyx":1321 * 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 (__pyx_t_1) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__87, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1321, __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, 1321, __pyx_L1_error) } /* "MPI/Comm.pyx":1317 * """ * * 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; } /* "MPI/Comm.pyx":1327 * # ------------------------- * * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dims)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_periods); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1327, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1327, __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, 1327, __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 Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; int __pyx_t_6; __Pyx_RefNannySetupContext("Create_cart", 0); __Pyx_INCREF(__pyx_v_dims); __Pyx_INCREF(__pyx_v_periods); /* "MPI/Comm.pyx":1331 * Create cartesian communicator * """ * cdef int ndims = 0 # <<<<<<<<<<<<<< * ndims = len(dims) * cdef int *idims = NULL */ __pyx_v_ndims = 0; /* "MPI/Comm.pyx":1332 * """ * cdef int ndims = 0 * ndims = len(dims) # <<<<<<<<<<<<<< * cdef int *idims = NULL * dims = asarray_int(dims, ndims, &idims) */ __pyx_t_1 = PyObject_Length(__pyx_v_dims); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 1332, __pyx_L1_error) __pyx_v_ndims = ((int)__pyx_t_1); /* "MPI/Comm.pyx":1333 * cdef int ndims = 0 * ndims = len(dims) * cdef int *idims = NULL # <<<<<<<<<<<<<< * dims = asarray_int(dims, ndims, &idims) * cdef int *iperiods = NULL */ __pyx_v_idims = NULL; /* "MPI/Comm.pyx":1334 * ndims = len(dims) * cdef int *idims = NULL * dims = asarray_int(dims, ndims, &idims) # <<<<<<<<<<<<<< * cdef int *iperiods = NULL * if periods is None: periods = [False] * ndims */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_dims, __pyx_v_ndims, (&__pyx_v_idims)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_dims, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1335 * cdef int *idims = NULL * dims = asarray_int(dims, ndims, &idims) * cdef int *iperiods = NULL # <<<<<<<<<<<<<< * if periods is None: periods = [False] * ndims * periods = asarray_int(periods, ndims, &iperiods) */ __pyx_v_iperiods = NULL; /* "MPI/Comm.pyx":1336 * dims = asarray_int(dims, ndims, &idims) * cdef int *iperiods = NULL * if periods is None: periods = [False] * ndims # <<<<<<<<<<<<<< * periods = asarray_int(periods, ndims, &iperiods) * # */ __pyx_t_3 = (__pyx_v_periods == Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { __pyx_t_2 = PyList_New(1 * ((__pyx_v_ndims<0) ? 0:__pyx_v_ndims)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < __pyx_v_ndims; __pyx_temp++) { __Pyx_INCREF(Py_False); __Pyx_GIVEREF(Py_False); PyList_SET_ITEM(__pyx_t_2, __pyx_temp, Py_False); } } __Pyx_DECREF_SET(__pyx_v_periods, __pyx_t_2); __pyx_t_2 = 0; } /* "MPI/Comm.pyx":1337 * cdef int *iperiods = NULL * if periods is None: periods = [False] * ndims * periods = asarray_int(periods, ndims, &iperiods) # <<<<<<<<<<<<<< * # * cdef Cartcomm comm = Cartcomm.__new__(Cartcomm) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_periods, __pyx_v_ndims, (&__pyx_v_iperiods)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1337, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_periods, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1339 * periods = asarray_int(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_2 = __pyx_tp_new_6mpi4py_3MPI_Cartcomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Cartcomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __pyx_t_2; __Pyx_INCREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_comm = ((struct PyMPICartcommObject *)__pyx_t_5); __pyx_t_5 = 0; /* "MPI/Comm.pyx":1340 * # * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1341 * 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_6 = __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_6 == -1)) __PYX_ERR(7, 1340, __pyx_L5_error) } /* "MPI/Comm.pyx":1340 * # * 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 Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/Comm.pyx":1342 * 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_6 = __pyx_f_6mpi4py_3MPI_comm_set_eh(__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(7, 1342, __pyx_L1_error) /* "MPI/Comm.pyx":1343 * 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; /* "MPI/Comm.pyx":1327 * # ------------------------- * * def Create_cart(self, dims, periods=None, bint reorder=False): # <<<<<<<<<<<<<< * """ * Create cartesian communicator */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __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; } /* "MPI/Comm.pyx":1345 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_index)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_edges)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_graph", 0, 2, 3, 1); __PYX_ERR(7, 1345, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1345, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1345, __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, 1345, __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; __Pyx_RefNannySetupContext("Create_graph", 0); __Pyx_INCREF(__pyx_v_index); __Pyx_INCREF(__pyx_v_edges); /* "MPI/Comm.pyx":1349 * Create graph communicator * """ * cdef int nnodes = 0, *iindex = NULL # <<<<<<<<<<<<<< * index = getarray_int(index, &nnodes, &iindex) * cdef int nedges = 0, *iedges = NULL */ __pyx_v_nnodes = 0; __pyx_v_iindex = NULL; /* "MPI/Comm.pyx":1350 * """ * cdef int nnodes = 0, *iindex = NULL * index = getarray_int(index, &nnodes, &iindex) # <<<<<<<<<<<<<< * cdef int nedges = 0, *iedges = NULL * edges = getarray_int(edges, &nedges, &iedges) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_index, (&__pyx_v_nnodes), (&__pyx_v_iindex)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":1351 * cdef int nnodes = 0, *iindex = NULL * index = getarray_int(index, &nnodes, &iindex) * cdef int nedges = 0, *iedges = NULL # <<<<<<<<<<<<<< * edges = getarray_int(edges, &nedges, &iedges) * # extension: 'standard' adjacency arrays */ __pyx_v_nedges = 0; __pyx_v_iedges = NULL; /* "MPI/Comm.pyx":1352 * index = getarray_int(index, &nnodes, &iindex) * cdef int nedges = 0, *iedges = NULL * edges = getarray_int(edges, &nedges, &iedges) # <<<<<<<<<<<<<< * # extension: 'standard' adjacency arrays * if iindex[0]==0 and iindex[nnodes-1]==nedges: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_edges, (&__pyx_v_nedges), (&__pyx_v_iedges)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_edges, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":1354 * edges = getarray_int(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) { /* "MPI/Comm.pyx":1355 * # 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); /* "MPI/Comm.pyx":1354 * edges = getarray_int(edges, &nedges, &iedges) * # extension: 'standard' adjacency arrays * if iindex[0]==0 and iindex[nnodes-1]==nedges: # <<<<<<<<<<<<<< * nnodes -= 1; iindex += 1; * # */ } /* "MPI/Comm.pyx":1357 * 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 = __pyx_tp_new_6mpi4py_3MPI_Graphcomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Graphcomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_comm = ((struct PyMPIGraphcommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Comm.pyx":1358 * # * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1359 * 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 == -1)) __PYX_ERR(7, 1358, __pyx_L7_error) } /* "MPI/Comm.pyx":1358 * # * 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 Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L8:; } } /* "MPI/Comm.pyx":1360 * 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 == -1)) __PYX_ERR(7, 1360, __pyx_L1_error) /* "MPI/Comm.pyx":1361 * 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; /* "MPI/Comm.pyx":1345 * 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; } /* "MPI/Comm.pyx":1363 * 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; 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}; /* "MPI/Comm.pyx":1364 * * 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__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 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sources)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_destinations)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_dist_graph_adjacent", 0, 2, 6, 1); __PYX_ERR(7, 1363, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sourceweights); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_destweights); if (value) { values[3] = value; kw_args--; } } case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_info); if (value) { values[4] = value; kw_args--; } } case 5: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1363, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1365, __pyx_L3_error) } else { /* "MPI/Comm.pyx":1365 * 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, 1363, __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, 1, "info", 0))) __PYX_ERR(7, 1365, __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); /* "MPI/Comm.pyx":1363 * 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; MPI_Info __pyx_v_cinfo; 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; __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); /* "MPI/Comm.pyx":1369 * 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; /* "MPI/Comm.pyx":1370 * """ * 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; /* "MPI/Comm.pyx":1371 * 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; /* "MPI/Comm.pyx":1372 * cdef int outdegree = 0, *idest = NULL * cdef int *isourceweight = MPI_UNWEIGHTED * cdef int *idestweight = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * if sources is not None: * sources = getarray_int(sources, &indegree, &isource) */ __pyx_v_idestweight = MPI_UNWEIGHTED; /* "MPI/Comm.pyx":1373 * cdef int *isourceweight = MPI_UNWEIGHTED * cdef int *idestweight = MPI_UNWEIGHTED * if sources is not None: # <<<<<<<<<<<<<< * sources = getarray_int(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) { /* "MPI/Comm.pyx":1374 * cdef int *idestweight = MPI_UNWEIGHTED * if sources is not None: * sources = getarray_int(sources, &indegree, &isource) # <<<<<<<<<<<<<< * sourceweights = asarray_weights( * sourceweights, indegree, &isourceweight) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_sources, (&__pyx_v_indegree), (&__pyx_v_isource)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_sources, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1373 * cdef int *isourceweight = MPI_UNWEIGHTED * cdef int *idestweight = MPI_UNWEIGHTED * if sources is not None: # <<<<<<<<<<<<<< * sources = getarray_int(sources, &indegree, &isource) * sourceweights = asarray_weights( */ } /* "MPI/Comm.pyx":1375 * if sources is not None: * sources = getarray_int(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, 1375, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_sourceweights, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1377 * sourceweights = asarray_weights( * sourceweights, indegree, &isourceweight) * if destinations is not None: # <<<<<<<<<<<<<< * destinations = getarray_int(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) { /* "MPI/Comm.pyx":1378 * sourceweights, indegree, &isourceweight) * if destinations is not None: * destinations = getarray_int(destinations, &outdegree, &idest) # <<<<<<<<<<<<<< * destweights = asarray_weights( * destweights, outdegree, &idestweight) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_destinations, (&__pyx_v_outdegree), (&__pyx_v_idest)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1378, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_destinations, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1377 * sourceweights = asarray_weights( * sourceweights, indegree, &isourceweight) * if destinations is not None: # <<<<<<<<<<<<<< * destinations = getarray_int(destinations, &outdegree, &idest) * destweights = asarray_weights( */ } /* "MPI/Comm.pyx":1379 * if destinations is not None: * destinations = getarray_int(destinations, &outdegree, &idest) * destweights = asarray_weights( # <<<<<<<<<<<<<< * destweights, outdegree, &idestweight) * cdef MPI_Info cinfo = arg_Info(info) */ __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, 1379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_destweights, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1381 * destweights = asarray_weights( * destweights, outdegree, &idestweight) * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * # * cdef Distgraphcomm comm = \ */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/Comm.pyx":1384 * # * cdef Distgraphcomm comm = \ * Distgraphcomm.__new__(Distgraphcomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Dist_graph_create_adjacent( * self.ob_mpi, */ __pyx_t_3 = __pyx_tp_new_6mpi4py_3MPI_Distgraphcomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Distgraphcomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1384, __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 PyMPIDistgraphcommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Comm.pyx":1385 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1389 * indegree, isource, isourceweight, * outdegree, idest, idestweight, * cinfo, 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_cinfo, __pyx_v_reorder, (&__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi))); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(7, 1385, __pyx_L6_error) } /* "MPI/Comm.pyx":1385 * 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 Py_BLOCK_THREADS #endif goto __pyx_L7; } __pyx_L6_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L7:; } } /* "MPI/Comm.pyx":1390 * outdegree, idest, idestweight, * cinfo, 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 == -1)) __PYX_ERR(7, 1390, __pyx_L1_error) /* "MPI/Comm.pyx":1391 * cinfo, 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; /* "MPI/Comm.pyx":1363 * 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; } /* "MPI/Comm.pyx":1393 * 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; 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__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 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sources)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_degrees)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_dist_graph", 0, 3, 6, 1); __PYX_ERR(7, 1393, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_destinations)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_dist_graph", 0, 3, 6, 2); __PYX_ERR(7, 1393, __pyx_L3_error) } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_weights); if (value) { values[3] = value; kw_args--; } } case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_info); if (value) { values[4] = value; kw_args--; } } case 5: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1393, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); 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, 1394, __pyx_L3_error) } else { /* "MPI/Comm.pyx":1394 * * 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, 1393, __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, 1, "info", 0))) __PYX_ERR(7, 1394, __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); /* "MPI/Comm.pyx":1393 * 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; MPI_Info __pyx_v_cinfo; struct PyMPIDistgraphcommObject *__pyx_v_comm = 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; __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); /* "MPI/Comm.pyx":1398 * 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; /* "MPI/Comm.pyx":1399 * """ * cdef int nv = 0, ne = 0, i = 0 * cdef int *isource = NULL, *idegree = NULL, # <<<<<<<<<<<<<< * cdef int *idest = NULL, *iweight = MPI_UNWEIGHTED * nv = len(sources) */ __pyx_v_isource = NULL; __pyx_v_idegree = NULL; /* "MPI/Comm.pyx":1400 * cdef int nv = 0, ne = 0, i = 0 * cdef int *isource = NULL, *idegree = NULL, * cdef int *idest = NULL, *iweight = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * nv = len(sources) * sources = asarray_int(sources, nv, &isource) */ __pyx_v_idest = NULL; __pyx_v_iweight = MPI_UNWEIGHTED; /* "MPI/Comm.pyx":1401 * cdef int *isource = NULL, *idegree = NULL, * cdef int *idest = NULL, *iweight = MPI_UNWEIGHTED * nv = len(sources) # <<<<<<<<<<<<<< * sources = asarray_int(sources, nv, &isource) * degrees = asarray_int(degrees, nv, &idegree) */ __pyx_t_1 = PyObject_Length(__pyx_v_sources); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 1401, __pyx_L1_error) __pyx_v_nv = ((int)__pyx_t_1); /* "MPI/Comm.pyx":1402 * cdef int *idest = NULL, *iweight = MPI_UNWEIGHTED * nv = len(sources) * sources = asarray_int(sources, nv, &isource) # <<<<<<<<<<<<<< * degrees = asarray_int(degrees, nv, &idegree) * for i from 0 <= i < nv: ne += idegree[i] */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_sources, __pyx_v_nv, (&__pyx_v_isource)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_sources, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1403 * nv = len(sources) * sources = asarray_int(sources, nv, &isource) * degrees = asarray_int(degrees, nv, &idegree) # <<<<<<<<<<<<<< * for i from 0 <= i < nv: ne += idegree[i] * destinations = asarray_int(destinations, ne, &idest) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_degrees, __pyx_v_nv, (&__pyx_v_idegree)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_degrees, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1404 * sources = asarray_int(sources, nv, &isource) * degrees = asarray_int(degrees, nv, &idegree) * for i from 0 <= i < nv: ne += idegree[i] # <<<<<<<<<<<<<< * destinations = asarray_int(destinations, ne, &idest) * weights = asarray_weights(weights, ne, &iweight) */ __pyx_t_3 = __pyx_v_nv; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) { __pyx_v_ne = (__pyx_v_ne + (__pyx_v_idegree[__pyx_v_i])); } /* "MPI/Comm.pyx":1405 * degrees = asarray_int(degrees, nv, &idegree) * for i from 0 <= i < nv: ne += idegree[i] * destinations = asarray_int(destinations, ne, &idest) # <<<<<<<<<<<<<< * weights = asarray_weights(weights, ne, &iweight) * cdef MPI_Info cinfo = arg_Info(info) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_destinations, __pyx_v_ne, (&__pyx_v_idest)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_destinations, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1406 * for i from 0 <= i < nv: ne += idegree[i] * destinations = asarray_int(destinations, ne, &idest) * weights = asarray_weights(weights, ne, &iweight) # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * # */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_asarray_weights(__pyx_v_weights, __pyx_v_ne, (&__pyx_v_iweight)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_weights, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1407 * destinations = asarray_int(destinations, ne, &idest) * weights = asarray_weights(weights, ne, &iweight) * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * # * cdef Distgraphcomm comm = \ */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/Comm.pyx":1410 * # * cdef Distgraphcomm comm = \ * Distgraphcomm.__new__(Distgraphcomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Dist_graph_create( * self.ob_mpi, */ __pyx_t_2 = __pyx_tp_new_6mpi4py_3MPI_Distgraphcomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Distgraphcomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_comm = ((struct PyMPIDistgraphcommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Comm.pyx":1411 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1414 * self.ob_mpi, * nv, isource, idegree, idest, iweight, * cinfo, reorder, &comm.ob_mpi) ) # <<<<<<<<<<<<<< * comm_set_eh(comm.ob_mpi) * return comm */ __pyx_t_3 = __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_cinfo, __pyx_v_reorder, (&__pyx_v_comm->__pyx_base.__pyx_base.__pyx_base.ob_mpi))); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(7, 1411, __pyx_L6_error) } /* "MPI/Comm.pyx":1411 * 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 Py_BLOCK_THREADS #endif goto __pyx_L7; } __pyx_L6_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L7:; } } /* "MPI/Comm.pyx":1415 * nv, isource, idegree, idest, iweight, * cinfo, reorder, &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.__pyx_base.__pyx_base.ob_mpi); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(7, 1415, __pyx_L1_error) /* "MPI/Comm.pyx":1416 * cinfo, 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; /* "MPI/Comm.pyx":1393 * 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_2); __Pyx_XDECREF(__pyx_t_4); __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; } /* "MPI/Comm.pyx":1418 * return comm * * def Create_intercomm(self, # <<<<<<<<<<<<<< * int local_leader, * Intracomm peer_comm not None, */ /* 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; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_local_leader)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_peer_comm)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_intercomm", 0, 3, 4, 1); __PYX_ERR(7, 1418, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_remote_leader)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Create_intercomm", 0, 3, 4, 2); __PYX_ERR(7, 1418, __pyx_L3_error) } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1418, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); 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, 1419, __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, 1421, __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, 1422, __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, 1418, __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, 1420, __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; __Pyx_RefNannySetupContext("Create_intercomm", 0); /* "MPI/Comm.pyx":1426 * Create intercommunicator * """ * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Intercomm_create( * self.ob_mpi, local_leader, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1426, __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 PyMPIIntercommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1427 * """ * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1430 * 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 == -1)) __PYX_ERR(7, 1427, __pyx_L4_error) } /* "MPI/Comm.pyx":1427 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1431 * 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 == -1)) __PYX_ERR(7, 1431, __pyx_L1_error) /* "MPI/Comm.pyx":1432 * 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; /* "MPI/Comm.pyx":1418 * return comm * * def Create_intercomm(self, # <<<<<<<<<<<<<< * int local_leader, * Intracomm peer_comm not None, */ /* 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; } /* "MPI/Comm.pyx":1437 * # ---------------------------- * * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dims)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1437, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1437, __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 Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; int __pyx_t_5; __Pyx_RefNannySetupContext("Cart_map", 0); __Pyx_INCREF(__pyx_v_dims); __Pyx_INCREF(__pyx_v_periods); /* "MPI/Comm.pyx":1442 * calling process on the physical machine * """ * cdef int ndims = 0, *idims = NULL, *iperiods = NULL # <<<<<<<<<<<<<< * ndims = len(dims) * dims = asarray_int(dims, ndims, &idims) */ __pyx_v_ndims = 0; __pyx_v_idims = NULL; __pyx_v_iperiods = NULL; /* "MPI/Comm.pyx":1443 * """ * cdef int ndims = 0, *idims = NULL, *iperiods = NULL * ndims = len(dims) # <<<<<<<<<<<<<< * dims = asarray_int(dims, ndims, &idims) * if periods is None: periods = [False] * ndims */ __pyx_t_1 = PyObject_Length(__pyx_v_dims); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 1443, __pyx_L1_error) __pyx_v_ndims = ((int)__pyx_t_1); /* "MPI/Comm.pyx":1444 * cdef int ndims = 0, *idims = NULL, *iperiods = NULL * ndims = len(dims) * dims = asarray_int(dims, ndims, &idims) # <<<<<<<<<<<<<< * if periods is None: periods = [False] * ndims * periods = asarray_int(periods, ndims, &iperiods) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_dims, __pyx_v_ndims, (&__pyx_v_idims)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_dims, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1445 * ndims = len(dims) * dims = asarray_int(dims, ndims, &idims) * if periods is None: periods = [False] * ndims # <<<<<<<<<<<<<< * periods = asarray_int(periods, ndims, &iperiods) * cdef int rank = MPI_PROC_NULL */ __pyx_t_3 = (__pyx_v_periods == Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { __pyx_t_2 = PyList_New(1 * ((__pyx_v_ndims<0) ? 0:__pyx_v_ndims)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < __pyx_v_ndims; __pyx_temp++) { __Pyx_INCREF(Py_False); __Pyx_GIVEREF(Py_False); PyList_SET_ITEM(__pyx_t_2, __pyx_temp, Py_False); } } __Pyx_DECREF_SET(__pyx_v_periods, __pyx_t_2); __pyx_t_2 = 0; } /* "MPI/Comm.pyx":1446 * dims = asarray_int(dims, ndims, &idims) * if periods is None: periods = [False] * ndims * periods = asarray_int(periods, ndims, &iperiods) # <<<<<<<<<<<<<< * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Cart_map(self.ob_mpi, ndims, idims, iperiods, &rank) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_periods, __pyx_v_ndims, (&__pyx_v_iperiods)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_periods, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1447 * if periods is None: periods = [False] * ndims * periods = asarray_int(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; /* "MPI/Comm.pyx":1448 * periods = asarray_int(periods, ndims, &iperiods) * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Cart_map(self.ob_mpi, ndims, idims, iperiods, &rank) ) # <<<<<<<<<<<<<< * return rank * */ __pyx_t_5 = __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_5 == -1)) __PYX_ERR(7, 1448, __pyx_L1_error) /* "MPI/Comm.pyx":1449 * 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_2 = __Pyx_PyInt_From_int(__pyx_v_rank); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1437 * # ---------------------------- * * def Cart_map(self, dims, periods=None): # <<<<<<<<<<<<<< * """ * Return an optimal placement for the */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __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; } /* "MPI/Comm.pyx":1451 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_index)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_edges)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Graph_map", 1, 2, 2, 1); __PYX_ERR(7, 1451, __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, 1451, __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, 1451, __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; __Pyx_RefNannySetupContext("Graph_map", 0); __Pyx_INCREF(__pyx_v_index); __Pyx_INCREF(__pyx_v_edges); /* "MPI/Comm.pyx":1456 * calling process on the physical machine * """ * cdef int nnodes = 0, *iindex = NULL # <<<<<<<<<<<<<< * index = getarray_int(index, &nnodes, &iindex) * cdef int nedges = 0, *iedges = NULL */ __pyx_v_nnodes = 0; __pyx_v_iindex = NULL; /* "MPI/Comm.pyx":1457 * """ * cdef int nnodes = 0, *iindex = NULL * index = getarray_int(index, &nnodes, &iindex) # <<<<<<<<<<<<<< * cdef int nedges = 0, *iedges = NULL * edges = getarray_int(edges, &nedges, &iedges) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_index, (&__pyx_v_nnodes), (&__pyx_v_iindex)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":1458 * cdef int nnodes = 0, *iindex = NULL * index = getarray_int(index, &nnodes, &iindex) * cdef int nedges = 0, *iedges = NULL # <<<<<<<<<<<<<< * edges = getarray_int(edges, &nedges, &iedges) * # extension: accept more 'standard' adjacency arrays */ __pyx_v_nedges = 0; __pyx_v_iedges = NULL; /* "MPI/Comm.pyx":1459 * index = getarray_int(index, &nnodes, &iindex) * cdef int nedges = 0, *iedges = NULL * edges = getarray_int(edges, &nedges, &iedges) # <<<<<<<<<<<<<< * # extension: accept more 'standard' adjacency arrays * if iindex[0]==0 and iindex[nnodes-1]==nedges: */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_getarray_int(__pyx_v_edges, (&__pyx_v_nedges), (&__pyx_v_iedges)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_edges, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":1461 * edges = getarray_int(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) { /* "MPI/Comm.pyx":1462 * # 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); /* "MPI/Comm.pyx":1461 * edges = getarray_int(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 */ } /* "MPI/Comm.pyx":1463 * 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; /* "MPI/Comm.pyx":1464 * 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 == -1)) __PYX_ERR(7, 1464, __pyx_L1_error) /* "MPI/Comm.pyx":1465 * 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, 1465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1451 * 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; } /* "MPI/Comm.pyx":1472 * # Inclusive Scan * * def Scan(self, sendbuf, recvbuf, Op op not None=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; 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__90; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Scan", 0, 2, 3, 1); __PYX_ERR(7, 1472, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1472, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1472, __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, 1472, __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; __Pyx_RefNannySetupContext("Scan", 0); /* "MPI/Comm.pyx":1476 * 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, 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; /* "MPI/Comm.pyx":1477 * """ * 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 == -1)) __PYX_ERR(7, 1477, __pyx_L1_error) /* "MPI/Comm.pyx":1478 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1480 * 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 == -1)) __PYX_ERR(7, 1478, __pyx_L4_error) } /* "MPI/Comm.pyx":1478 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1472 * # Inclusive Scan * * def Scan(self, sendbuf, recvbuf, Op op not None=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; } /* "MPI/Comm.pyx":1484 * # Exclusive Scan * * def Exscan(self, sendbuf, recvbuf, Op op not None=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; 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__91; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Exscan", 0, 2, 3, 1); __PYX_ERR(7, 1484, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1484, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1484, __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, 1484, __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; __Pyx_RefNannySetupContext("Exscan", 0); /* "MPI/Comm.pyx":1488 * 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, 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; /* "MPI/Comm.pyx":1489 * """ * 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 == -1)) __PYX_ERR(7, 1489, __pyx_L1_error) /* "MPI/Comm.pyx":1490 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1492 * 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 == -1)) __PYX_ERR(7, 1490, __pyx_L4_error) } /* "MPI/Comm.pyx":1490 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1484 * # Exclusive Scan * * def Exscan(self, sendbuf, recvbuf, Op op not None=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; } /* "MPI/Comm.pyx":1496 * # Nonblocking * * def Iscan(self, sendbuf, recvbuf, Op op not None=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; 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__92; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iscan", 0, 2, 3, 1); __PYX_ERR(7, 1496, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1496, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1496, __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, 1496, __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; __Pyx_RefNannySetupContext("Iscan", 0); /* "MPI/Comm.pyx":1500 * 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, 1500, __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; /* "MPI/Comm.pyx":1501 * """ * 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 == -1)) __PYX_ERR(7, 1501, __pyx_L1_error) /* "MPI/Comm.pyx":1502 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1503 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1505 * 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 == -1)) __PYX_ERR(7, 1503, __pyx_L4_error) } /* "MPI/Comm.pyx":1503 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1506 * 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 not None=SUM): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_request)); __pyx_r = ((PyObject *)__pyx_v_request); goto __pyx_L0; /* "MPI/Comm.pyx":1496 * # Nonblocking * * def Iscan(self, sendbuf, recvbuf, Op op not None=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; } /* "MPI/Comm.pyx":1508 * return request * * def Iexscan(self, sendbuf, recvbuf, Op op not None=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; 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__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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iexscan", 0, 2, 3, 1); __PYX_ERR(7, 1508, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1508, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 1508, __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, 1508, __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; __Pyx_RefNannySetupContext("Iexscan", 0); /* "MPI/Comm.pyx":1512 * 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, 1512, __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; /* "MPI/Comm.pyx":1513 * """ * 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 == -1)) __PYX_ERR(7, 1513, __pyx_L1_error) /* "MPI/Comm.pyx":1514 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1515 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1517 * 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 == -1)) __PYX_ERR(7, 1515, __pyx_L4_error) } /* "MPI/Comm.pyx":1515 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1518 * 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; /* "MPI/Comm.pyx":1508 * return request * * def Iexscan(self, sendbuf, recvbuf, Op op not None=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; } /* "MPI/Comm.pyx":1522 * # 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; 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__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 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendobj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1522, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1522, __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; __Pyx_RefNannySetupContext("scan", 0); __Pyx_INCREF(__pyx_v_op); /* "MPI/Comm.pyx":1524 * 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_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_op, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/Comm.pyx":1525 * """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; /* "MPI/Comm.pyx":1526 * 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, 1526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1522 * # 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; } /* "MPI/Comm.pyx":1528 * 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; 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__95; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendobj)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1528, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1528, __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; __Pyx_RefNannySetupContext("exscan", 0); __Pyx_INCREF(__pyx_v_op); /* "MPI/Comm.pyx":1530 * 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_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_op, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/Comm.pyx":1531 * """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; /* "MPI/Comm.pyx":1532 * 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, 1532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1528 * 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; } /* "MPI/Comm.pyx":1539 * # 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; 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__96; /* "MPI/Comm.pyx":1540 * * 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); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_command)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_args); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_maxprocs); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_info); if (value) { values[3] = value; kw_args--; } } case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_root); if (value) { values[4] = value; kw_args--; } } case 5: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1539, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1539, __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, 1540, __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, 1539, __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, 1, "info", 0))) __PYX_ERR(7, 1540, __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); /* "MPI/Comm.pyx":1539 * # 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; MPI_Info __pyx_v_cinfo; 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; __Pyx_RefNannySetupContext("Spawn", 0); /* "MPI/Comm.pyx":1544 * Spawn instances of a single MPI application * """ * cdef char *cmd = NULL # <<<<<<<<<<<<<< * cdef char **argv = MPI_ARGV_NULL * cdef MPI_Info cinfo = arg_Info(info) */ __pyx_v_cmd = NULL; /* "MPI/Comm.pyx":1545 * """ * cdef char *cmd = NULL * cdef char **argv = MPI_ARGV_NULL # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * cdef int *ierrcodes = MPI_ERRCODES_IGNORE */ __pyx_v_argv = MPI_ARGV_NULL; /* "MPI/Comm.pyx":1546 * cdef char *cmd = NULL * cdef char **argv = MPI_ARGV_NULL * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * cdef int *ierrcodes = MPI_ERRCODES_IGNORE * # */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/Comm.pyx":1547 * cdef char **argv = MPI_ARGV_NULL * cdef MPI_Info cinfo = arg_Info(info) * cdef int *ierrcodes = MPI_ERRCODES_IGNORE # <<<<<<<<<<<<<< * # * cdef int rank = MPI_UNDEFINED */ __pyx_v_ierrcodes = MPI_ERRCODES_IGNORE; /* "MPI/Comm.pyx":1549 * 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; /* "MPI/Comm.pyx":1550 * # * 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 == -1)) __PYX_ERR(7, 1550, __pyx_L1_error) /* "MPI/Comm.pyx":1552 * 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) { /* "MPI/Comm.pyx":1553 * 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, 1553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp1 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/Comm.pyx":1554 * if root == rank: * tmp1 = asmpistr(command, &cmd) * tmp2 = asarray_argv(args, &argv) # <<<<<<<<<<<<<< * if errcodes is not None: * tmp3 = mkarray_int(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, 1554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp2 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/Comm.pyx":1552 * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * cdef tmp1, tmp2, tmp3 * if root == rank: # <<<<<<<<<<<<<< * tmp1 = asmpistr(command, &cmd) * tmp2 = asarray_argv(args, &argv) */ } /* "MPI/Comm.pyx":1555 * tmp1 = asmpistr(command, &cmd) * tmp2 = asarray_argv(args, &argv) * if errcodes is not None: # <<<<<<<<<<<<<< * tmp3 = mkarray_int(maxprocs, &ierrcodes) * # */ __pyx_t_2 = (__pyx_v_errcodes != Py_None); __pyx_t_4 = (__pyx_t_2 != 0); if (__pyx_t_4) { /* "MPI/Comm.pyx":1556 * tmp2 = asarray_argv(args, &argv) * if errcodes is not None: * tmp3 = mkarray_int(maxprocs, &ierrcodes) # <<<<<<<<<<<<<< * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_maxprocs, (&__pyx_v_ierrcodes)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp3 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/Comm.pyx":1555 * tmp1 = asmpistr(command, &cmd) * tmp2 = asarray_argv(args, &argv) * if errcodes is not None: # <<<<<<<<<<<<<< * tmp3 = mkarray_int(maxprocs, &ierrcodes) * # */ } /* "MPI/Comm.pyx":1558 * tmp3 = mkarray_int(maxprocs, &ierrcodes) * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_spawn( * cmd, argv, maxprocs, cinfo, root, */ __pyx_t_3 = __pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __pyx_t_3; __Pyx_INCREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_comm = ((struct PyMPIIntercommObject *)__pyx_t_5); __pyx_t_5 = 0; /* "MPI/Comm.pyx":1559 * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_spawn( # <<<<<<<<<<<<<< * cmd, argv, maxprocs, cinfo, root, * self.ob_mpi, &comm.ob_mpi, ierrcodes) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Comm.pyx":1561 * with nogil: CHKERR( MPI_Comm_spawn( * cmd, argv, maxprocs, cinfo, 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_cinfo, __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 == -1)) __PYX_ERR(7, 1559, __pyx_L6_error) } /* "MPI/Comm.pyx":1559 * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_spawn( # <<<<<<<<<<<<<< * cmd, argv, maxprocs, cinfo, root, * self.ob_mpi, &comm.ob_mpi, ierrcodes) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L7; } __pyx_L6_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L7:; } } /* "MPI/Comm.pyx":1563 * self.ob_mpi, &comm.ob_mpi, ierrcodes) ) * # * cdef int i=0 # <<<<<<<<<<<<<< * if errcodes is not None: * errcodes[:] = [ierrcodes[i] for i from 0<=i__pyx_base.ob_mpi); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 1567, __pyx_L1_error) /* "MPI/Comm.pyx":1568 * # * 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; /* "MPI/Comm.pyx":1539 * # 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; } /* "MPI/Comm.pyx":1570 * 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; 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__98; /* "MPI/Comm.pyx":1571 * * 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); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_command)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_args); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_maxprocs); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_info); if (value) { values[3] = value; kw_args--; } } case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_root); if (value) { values[4] = value; kw_args--; } } case 5: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1570, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1571, __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, 1570, __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); /* "MPI/Comm.pyx":1570 * 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; __Pyx_RefNannySetupContext("Spawn_multiple", 0); /* "MPI/Comm.pyx":1575 * Spawn instances of multiple MPI applications * """ * cdef int count = 0 # <<<<<<<<<<<<<< * cdef char **cmds = NULL * cdef char ***argvs = MPI_ARGVS_NULL */ __pyx_v_count = 0; /* "MPI/Comm.pyx":1576 * """ * cdef int count = 0 * cdef char **cmds = NULL # <<<<<<<<<<<<<< * cdef char ***argvs = MPI_ARGVS_NULL * cdef MPI_Info *infos = NULL */ __pyx_v_cmds = NULL; /* "MPI/Comm.pyx":1577 * 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; /* "MPI/Comm.pyx":1578 * 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; /* "MPI/Comm.pyx":1579 * 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; /* "MPI/Comm.pyx":1580 * 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; /* "MPI/Comm.pyx":1582 * 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; /* "MPI/Comm.pyx":1583 * # * 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 == -1)) __PYX_ERR(7, 1583, __pyx_L1_error) /* "MPI/Comm.pyx":1585 * 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) { /* "MPI/Comm.pyx":1586 * 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, 1586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp1 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/Comm.pyx":1587 * 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, 1587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp2 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/Comm.pyx":1588 * 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, 1588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp3 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/Comm.pyx":1589 * 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, 1589, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp4 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/Comm.pyx":1585 * 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) */ } /* "MPI/Comm.pyx":1590 * 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; /* "MPI/Comm.pyx":1591 * 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) { /* "MPI/Comm.pyx":1592 * 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) { /* "MPI/Comm.pyx":1593 * 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 == -1)) __PYX_ERR(7, 1593, __pyx_L1_error) __pyx_v_count = ((int)__pyx_t_5); /* "MPI/Comm.pyx":1594 * if root != rank: * count = len(maxprocs) * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) # <<<<<<<<<<<<<< * for i from 0 <= i < count: np += imaxprocs[i] * tmp5 = mkarray_int(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, 1594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_tmp3, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1592 * cdef int i=0, np=0 * if errcodes is not None: * if root != rank: # <<<<<<<<<<<<<< * count = len(maxprocs) * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) */ } /* "MPI/Comm.pyx":1595 * count = len(maxprocs) * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) * for i from 0 <= i < count: np += imaxprocs[i] # <<<<<<<<<<<<<< * tmp5 = mkarray_int(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])); } /* "MPI/Comm.pyx":1596 * tmp3 = asarray_nprocs(maxprocs, count, &imaxprocs) * for i from 0 <= i < count: np += imaxprocs[i] * tmp5 = mkarray_int(np, &ierrcodes) # <<<<<<<<<<<<<< * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_np, (&__pyx_v_ierrcodes)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tmp5 = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/Comm.pyx":1591 * tmp4 = asarray_Info(info, count, &infos) * cdef int i=0, np=0 * if errcodes is not None: # <<<<<<<<<<<<<< * if root != rank: * count = len(maxprocs) */ } /* "MPI/Comm.pyx":1598 * tmp5 = mkarray_int(np, &ierrcodes) * # * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_spawn_multiple( * count, cmds, argvs, imaxprocs, infos, root, */ __pyx_t_3 = __pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __pyx_t_3; __Pyx_INCREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_comm = ((struct PyMPIIntercommObject *)__pyx_t_6); __pyx_t_6 = 0; /* "MPI/Comm.pyx":1599 * # * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1601 * 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 == -1)) __PYX_ERR(7, 1599, __pyx_L9_error) } /* "MPI/Comm.pyx":1599 * # * 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 Py_BLOCK_THREADS #endif goto __pyx_L10; } __pyx_L9_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L10:; } } /* "MPI/Comm.pyx":1603 * self.ob_mpi, &comm.ob_mpi, ierrcodes) ) * # * cdef int j=0, p=0, q=0 # <<<<<<<<<<<<<< * if errcodes is not None: * errcodes[:] = [[]] * count */ __pyx_v_j = 0; __pyx_v_p = 0; __pyx_v_q = 0; /* "MPI/Comm.pyx":1604 * # * cdef int j=0, p=0, q=0 * if errcodes is not None: # <<<<<<<<<<<<<< * errcodes[:] = [[]] * 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) { /* "MPI/Comm.pyx":1605 * cdef int j=0, p=0, q=0 * if errcodes is not None: * errcodes[:] = [[]] * 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, 1605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = PyList_New(1 * ((__pyx_v_count<0) ? 0:__pyx_v_count)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); { Py_ssize_t __pyx_temp; for (__pyx_temp=0; __pyx_temp < __pyx_v_count; __pyx_temp++) { __Pyx_INCREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_3, __pyx_temp, __pyx_t_6); } } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__Pyx_PyObject_SetSlice(__pyx_v_errcodes, __pyx_t_3, 0, 0, NULL, NULL, &__pyx_slice__99, 0, 0, 1) < 0) __PYX_ERR(7, 1605, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1606 * if errcodes is not None: * errcodes[:] = [[]] * 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++) { /* "MPI/Comm.pyx":1607 * errcodes[:] = [[]] * 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])); /* "MPI/Comm.pyx":1608 * for i from 0 <= i < count: * q = p + imaxprocs[i] * errcodes[i] = [ierrcodes[j] for j from p <= j < q] # <<<<<<<<<<<<<< * p = q * # */ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __pyx_v_q; for (__pyx_v_j = __pyx_v_p; __pyx_v_j < __pyx_t_7; __pyx_v_j++) { __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_ierrcodes[__pyx_v_j])); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 1608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(7, 1608, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } if (unlikely(__Pyx_SetItemInt(__pyx_v_errcodes, __pyx_v_i, __pyx_t_3, int, 1, __Pyx_PyInt_From_int, 0, 1, 1) < 0)) __PYX_ERR(7, 1608, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1609 * 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; } /* "MPI/Comm.pyx":1604 * # * cdef int j=0, p=0, q=0 * if errcodes is not None: # <<<<<<<<<<<<<< * errcodes[:] = [[]] * count * for i from 0 <= i < count: */ } /* "MPI/Comm.pyx":1611 * 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 == -1)) __PYX_ERR(7, 1611, __pyx_L1_error) /* "MPI/Comm.pyx":1612 * # * 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; /* "MPI/Comm.pyx":1570 * 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; } /* "MPI/Comm.pyx":1616 * # 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; 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__100; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_port_name)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_info); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1616, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1616, __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, 1616, __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, 1, "info", 0))) __PYX_ERR(7, 1616, __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; MPI_Info __pyx_v_cinfo; 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; __Pyx_RefNannySetupContext("Accept", 0); __Pyx_INCREF(__pyx_v_port_name); /* "MPI/Comm.pyx":1620 * Accept a request to form a new intercommunicator * """ * cdef char *cportname = NULL # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = MPI_INFO_NULL * cdef int rank = MPI_UNDEFINED */ __pyx_v_cportname = NULL; /* "MPI/Comm.pyx":1621 * """ * cdef char *cportname = NULL * cdef MPI_Info cinfo = MPI_INFO_NULL # <<<<<<<<<<<<<< * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) */ __pyx_v_cinfo = MPI_INFO_NULL; /* "MPI/Comm.pyx":1622 * cdef char *cportname = NULL * cdef MPI_Info cinfo = MPI_INFO_NULL * cdef int rank = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: */ __pyx_v_rank = MPI_UNDEFINED; /* "MPI/Comm.pyx":1623 * cdef MPI_Info cinfo = MPI_INFO_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 == -1)) __PYX_ERR(7, 1623, __pyx_L1_error) /* "MPI/Comm.pyx":1624 * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * port_name = asmpistr(port_name, &cportname) * cinfo = arg_Info(info) */ __pyx_t_2 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_2) { /* "MPI/Comm.pyx":1625 * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: * port_name = asmpistr(port_name, &cportname) # <<<<<<<<<<<<<< * cinfo = arg_Info(info) * cdef Intercomm comm = Intercomm.__new__(Intercomm) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_port_name, (&__pyx_v_cportname)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_port_name, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1626 * if root == rank: * port_name = asmpistr(port_name, &cportname) * cinfo = arg_Info(info) # <<<<<<<<<<<<<< * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_accept( */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/Comm.pyx":1624 * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * port_name = asmpistr(port_name, &cportname) * cinfo = arg_Info(info) */ } /* "MPI/Comm.pyx":1627 * port_name = asmpistr(port_name, &cportname) * cinfo = arg_Info(info) * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_accept( * cportname, cinfo, root, */ __pyx_t_3 = __pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1627, __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 PyMPIIntercommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Comm.pyx":1628 * cinfo = arg_Info(info) * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_accept( # <<<<<<<<<<<<<< * cportname, cinfo, root, * self.ob_mpi, &comm.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Comm.pyx":1630 * with nogil: CHKERR( MPI_Comm_accept( * cportname, cinfo, 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_cinfo, __pyx_v_root, __pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_comm->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 1628, __pyx_L5_error) } /* "MPI/Comm.pyx":1628 * cinfo = arg_Info(info) * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_accept( # <<<<<<<<<<<<<< * cportname, cinfo, root, * self.ob_mpi, &comm.ob_mpi) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/Comm.pyx":1631 * cportname, cinfo, 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 == -1)) __PYX_ERR(7, 1631, __pyx_L1_error) /* "MPI/Comm.pyx":1632 * 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; /* "MPI/Comm.pyx":1616 * # 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; } /* "MPI/Comm.pyx":1636 * # 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; 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__101; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_port_name)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_info); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 1636, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 1636, __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, 1636, __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, 1, "info", 0))) __PYX_ERR(7, 1636, __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; MPI_Info __pyx_v_cinfo; 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; __Pyx_RefNannySetupContext("Connect", 0); __Pyx_INCREF(__pyx_v_port_name); /* "MPI/Comm.pyx":1640 * Make a request to form a new intercommunicator * """ * cdef char *cportname = NULL # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = MPI_INFO_NULL * cdef int rank = MPI_UNDEFINED */ __pyx_v_cportname = NULL; /* "MPI/Comm.pyx":1641 * """ * cdef char *cportname = NULL * cdef MPI_Info cinfo = MPI_INFO_NULL # <<<<<<<<<<<<<< * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) */ __pyx_v_cinfo = MPI_INFO_NULL; /* "MPI/Comm.pyx":1642 * cdef char *cportname = NULL * cdef MPI_Info cinfo = MPI_INFO_NULL * cdef int rank = MPI_UNDEFINED # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: */ __pyx_v_rank = MPI_UNDEFINED; /* "MPI/Comm.pyx":1643 * cdef MPI_Info cinfo = MPI_INFO_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 == -1)) __PYX_ERR(7, 1643, __pyx_L1_error) /* "MPI/Comm.pyx":1644 * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * port_name = asmpistr(port_name, &cportname) * cinfo = arg_Info(info) */ __pyx_t_2 = ((__pyx_v_root == __pyx_v_rank) != 0); if (__pyx_t_2) { /* "MPI/Comm.pyx":1645 * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: * port_name = asmpistr(port_name, &cportname) # <<<<<<<<<<<<<< * cinfo = arg_Info(info) * cdef Intercomm comm = Intercomm.__new__(Intercomm) */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_port_name, (&__pyx_v_cportname)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_port_name, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1646 * if root == rank: * port_name = asmpistr(port_name, &cportname) * cinfo = arg_Info(info) # <<<<<<<<<<<<<< * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_connect( */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/Comm.pyx":1644 * cdef int rank = MPI_UNDEFINED * CHKERR( MPI_Comm_rank(self.ob_mpi, &rank) ) * if root == rank: # <<<<<<<<<<<<<< * port_name = asmpistr(port_name, &cportname) * cinfo = arg_Info(info) */ } /* "MPI/Comm.pyx":1647 * port_name = asmpistr(port_name, &cportname) * cinfo = arg_Info(info) * cdef Intercomm comm = Intercomm.__new__(Intercomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Comm_connect( * cportname, cinfo, root, */ __pyx_t_3 = __pyx_tp_new_6mpi4py_3MPI_Intercomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intercomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1647, __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 PyMPIIntercommObject *)__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Comm.pyx":1648 * cinfo = arg_Info(info) * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_connect( # <<<<<<<<<<<<<< * cportname, cinfo, root, * self.ob_mpi, &comm.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Comm.pyx":1650 * with nogil: CHKERR( MPI_Comm_connect( * cportname, cinfo, 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_cinfo, __pyx_v_root, __pyx_v_self->__pyx_base.ob_mpi, (&__pyx_v_comm->__pyx_base.ob_mpi))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 1648, __pyx_L5_error) } /* "MPI/Comm.pyx":1648 * cinfo = arg_Info(info) * cdef Intercomm comm = Intercomm.__new__(Intercomm) * with nogil: CHKERR( MPI_Comm_connect( # <<<<<<<<<<<<<< * cportname, cinfo, root, * self.ob_mpi, &comm.ob_mpi) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/Comm.pyx":1651 * cportname, cinfo, 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 == -1)) __PYX_ERR(7, 1651, __pyx_L1_error) /* "MPI/Comm.pyx":1652 * 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; /* "MPI/Comm.pyx":1636 * # 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; } /* "MPI/Comm.pyx":1661 * """ * * 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_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); 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 = PyDict_GetItem(__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, 1661, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 1661, __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, 1661, __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; __Pyx_RefNannySetupContext("__cinit__", 0); /* "MPI/Comm.pyx":1662 * * 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; } /* "MPI/Comm.pyx":1663 * 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; /* "MPI/Comm.pyx":1664 * 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 == -1)) __PYX_ERR(7, 1664, __pyx_L1_error) /* "MPI/Comm.pyx":1665 * 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 (__pyx_t_1) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__102, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1665, __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, 1665, __pyx_L1_error) } /* "MPI/Comm.pyx":1661 * """ * * 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; } /* "MPI/Comm.pyx":1670 * 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; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1673 * 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) { /* "MPI/Comm.pyx":1674 * 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, 1674, __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); } } if (__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1674, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1674, __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; /* "MPI/Comm.pyx":1675 * 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, 1675, __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, 1675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1675, __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; /* "MPI/Comm.pyx":1673 * cdef object dim, rank * cdef object nneighbors * if isinstance(self, Cartcomm): # <<<<<<<<<<<<<< * dim = self.Get_dim() * return (2*dim, 2*dim) */ } /* "MPI/Comm.pyx":1676 * 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) { /* "MPI/Comm.pyx":1677 * 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, 1677, __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); } } if (__pyx_t_3) { __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1677, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1677, __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; /* "MPI/Comm.pyx":1678 * 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, 1678, __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); } } if (!__pyx_t_3) { __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_rank); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_rank}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1678, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_rank}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1678, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL; __Pyx_INCREF(__pyx_v_rank); __Pyx_GIVEREF(__pyx_v_rank); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_rank); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_nneighbors = __pyx_t_5; __pyx_t_5 = 0; /* "MPI/Comm.pyx":1679 * 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, 1679, __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; /* "MPI/Comm.pyx":1676 * dim = self.Get_dim() * return (2*dim, 2*dim) * if isinstance(self, Graphcomm): # <<<<<<<<<<<<<< * rank = self.Get_rank() * nneighbors = self.Get_neighbors_count(rank) */ } /* "MPI/Comm.pyx":1680 * 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) { /* "MPI/Comm.pyx":1681 * 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, 1681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (__pyx_t_6) { __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1681, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else { __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1681, __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__103, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1681, __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; /* "MPI/Comm.pyx":1682 * 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; /* "MPI/Comm.pyx":1680 * nneighbors = self.Get_neighbors_count(rank) * return (nneighbors, nneighbors) * if isinstance(self, Distgraphcomm): # <<<<<<<<<<<<<< * nneighbors = self.Get_dist_neighbors_count()[:2] * return nneighbors */ } /* "MPI/Comm.pyx":1683 * 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__104, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1683, __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, 1683, __pyx_L1_error) /* "MPI/Comm.pyx":1670 * 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_XDECREF(__pyx_t_6); __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; } /* "MPI/Comm.pyx":1687 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1688 * "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, 1688, __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, 1688, __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; /* "MPI/Comm.pyx":1687 * 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; } /* "MPI/Comm.pyx":1692 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1693 * "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, 1693, __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, 1693, __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; /* "MPI/Comm.pyx":1692 * 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; } /* "MPI/Comm.pyx":1697 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1700 * 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) { /* "MPI/Comm.pyx":1701 * 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, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_neighbors = __pyx_t_3; __pyx_t_3 = 0; /* "MPI/Comm.pyx":1702 * 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, 1702, __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); } } if (__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1702, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1702, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1702, __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; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1702, __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(7, 1702, __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(7, 1702, __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(7, 1702, __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(7, 1702, __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(7, 1702, __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(7, 1702, __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(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(7, 1702, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_direction, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1703 * 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, 1703, __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_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1703, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_3); } 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_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1703, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(7, 1703, __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_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { PyObject* sequence = __pyx_t_3; #if !CYTHON_COMPILING_IN_PYPY Py_ssize_t size = Py_SIZE(sequence); #else Py_ssize_t size = PySequence_Size(sequence); #endif if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(7, 1703, __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, 1703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(7, 1703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #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(7, 1703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 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, 1703, __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, 1703, __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; /* "MPI/Comm.pyx":1704 * 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 == -1)) __PYX_ERR(7, 1704, __pyx_L1_error) /* "MPI/Comm.pyx":1705 * 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 == -1)) __PYX_ERR(7, 1705, __pyx_L1_error) /* "MPI/Comm.pyx":1702 * 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_4); __pyx_t_4 = 0; /* "MPI/Comm.pyx":1706 * neighbors.append(source) * neighbors.append(dest) * return (neighbors, neighbors) # <<<<<<<<<<<<<< * if isinstance(self, Graphcomm): * rank = self.Get_rank() */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_neighbors); __Pyx_GIVEREF(__pyx_v_neighbors); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_neighbors); __Pyx_INCREF(__pyx_v_neighbors); __Pyx_GIVEREF(__pyx_v_neighbors); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_neighbors); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1700 * cdef object direction, source, dest, rank * cdef object neighbors * if isinstance(self, Cartcomm): # <<<<<<<<<<<<<< * neighbors = [] * for direction in range(self.Get_dim()): */ } /* "MPI/Comm.pyx":1707 * 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) { /* "MPI/Comm.pyx":1708 * return (neighbors, neighbors) * if isinstance(self, Graphcomm): * rank = self.Get_rank() # <<<<<<<<<<<<<< * neighbors = self.Get_neighbors(rank) * return (neighbors, neighbors) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_rank); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } if (__pyx_t_10) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1708, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1708, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_rank = __pyx_t_4; __pyx_t_4 = 0; /* "MPI/Comm.pyx":1709 * if isinstance(self, Graphcomm): * rank = self.Get_rank() * neighbors = self.Get_neighbors(rank) # <<<<<<<<<<<<<< * return (neighbors, neighbors) * if isinstance(self, Distgraphcomm): */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_neighbors); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } if (!__pyx_t_10) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_rank); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_rank}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1709, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_rank}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1709, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 1709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_10); __pyx_t_10 = NULL; __Pyx_INCREF(__pyx_v_rank); __Pyx_GIVEREF(__pyx_v_rank); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_rank); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_neighbors = __pyx_t_4; __pyx_t_4 = 0; /* "MPI/Comm.pyx":1710 * 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_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_neighbors); __Pyx_GIVEREF(__pyx_v_neighbors); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_neighbors); __Pyx_INCREF(__pyx_v_neighbors); __Pyx_GIVEREF(__pyx_v_neighbors); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_neighbors); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1707 * neighbors.append(dest) * return (neighbors, neighbors) * if isinstance(self, Graphcomm): # <<<<<<<<<<<<<< * rank = self.Get_rank() * neighbors = self.Get_neighbors(rank) */ } /* "MPI/Comm.pyx":1711 * 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) { /* "MPI/Comm.pyx":1712 * return (neighbors, neighbors) * if isinstance(self, Distgraphcomm): * neighbors = self.Get_dist_neighbors()[:2] # <<<<<<<<<<<<<< * return neighbors * raise TypeError("Not a topology communicator") */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Get_dist_neighbors); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; 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); } } if (__pyx_t_5) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1712, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1712, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_t_4, 0, 2, NULL, NULL, &__pyx_slice__105, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1712, __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; /* "MPI/Comm.pyx":1713 * 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; /* "MPI/Comm.pyx":1711 * neighbors = self.Get_neighbors(rank) * return (neighbors, neighbors) * if isinstance(self, Distgraphcomm): # <<<<<<<<<<<<<< * neighbors = self.Get_dist_neighbors()[:2] * return neighbors */ } /* "MPI/Comm.pyx":1714 * neighbors = self.Get_dist_neighbors()[:2] * return neighbors * raise TypeError("Not a topology communicator") # <<<<<<<<<<<<<< * * property inedges: */ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__106, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1714, __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, 1714, __pyx_L1_error) /* "MPI/Comm.pyx":1697 * 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; } /* "MPI/Comm.pyx":1718 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1719 * "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, 1719, __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, 1719, __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; /* "MPI/Comm.pyx":1718 * 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; } /* "MPI/Comm.pyx":1723 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1724 * "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, 1724, __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, 1724, __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; /* "MPI/Comm.pyx":1723 * 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; } /* "MPI/Comm.pyx":1729 * # ------------------------ * * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Neighbor_allgather", 1, 2, 2, 1); __PYX_ERR(7, 1729, __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, 1729, __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, 1729, __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; __Pyx_RefNannySetupContext("Neighbor_allgather", 0); /* "MPI/Comm.pyx":1733 * 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, 1733, __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; /* "MPI/Comm.pyx":1734 * """ * 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 == -1)) __PYX_ERR(7, 1734, __pyx_L1_error) /* "MPI/Comm.pyx":1735 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1738 * 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 == -1)) __PYX_ERR(7, 1735, __pyx_L4_error) } /* "MPI/Comm.pyx":1735 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1729 * # ------------------------ * * 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; } /* "MPI/Comm.pyx":1740 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Neighbor_allgatherv", 1, 2, 2, 1); __PYX_ERR(7, 1740, __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, 1740, __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, 1740, __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; __Pyx_RefNannySetupContext("Neighbor_allgatherv", 0); /* "MPI/Comm.pyx":1744 * 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, 1744, __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; /* "MPI/Comm.pyx":1745 * """ * 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 == -1)) __PYX_ERR(7, 1745, __pyx_L1_error) /* "MPI/Comm.pyx":1746 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1749 * 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 == -1)) __PYX_ERR(7, 1746, __pyx_L4_error) } /* "MPI/Comm.pyx":1746 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1740 * 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; } /* "MPI/Comm.pyx":1751 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Neighbor_alltoall", 1, 2, 2, 1); __PYX_ERR(7, 1751, __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, 1751, __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, 1751, __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; __Pyx_RefNannySetupContext("Neighbor_alltoall", 0); /* "MPI/Comm.pyx":1755 * 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, 1755, __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; /* "MPI/Comm.pyx":1756 * """ * 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 == -1)) __PYX_ERR(7, 1756, __pyx_L1_error) /* "MPI/Comm.pyx":1757 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1760 * 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 == -1)) __PYX_ERR(7, 1757, __pyx_L4_error) } /* "MPI/Comm.pyx":1757 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1751 * 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; } /* "MPI/Comm.pyx":1762 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Neighbor_alltoallv", 1, 2, 2, 1); __PYX_ERR(7, 1762, __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, 1762, __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, 1762, __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; __Pyx_RefNannySetupContext("Neighbor_alltoallv", 0); /* "MPI/Comm.pyx":1766 * 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, 1766, __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; /* "MPI/Comm.pyx":1767 * """ * 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 == -1)) __PYX_ERR(7, 1767, __pyx_L1_error) /* "MPI/Comm.pyx":1768 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1771 * 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 == -1)) __PYX_ERR(7, 1768, __pyx_L4_error) } /* "MPI/Comm.pyx":1768 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1762 * 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; } /* "MPI/Comm.pyx":1773 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Neighbor_alltoallw", 1, 2, 2, 1); __PYX_ERR(7, 1773, __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, 1773, __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, 1773, __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; __Pyx_RefNannySetupContext("Neighbor_alltoallw", 0); /* "MPI/Comm.pyx":1777 * 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, 1777, __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; /* "MPI/Comm.pyx":1778 * """ * 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 == -1)) __PYX_ERR(7, 1778, __pyx_L1_error) /* "MPI/Comm.pyx":1779 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1782 * 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 == -1)) __PYX_ERR(7, 1779, __pyx_L4_error) } /* "MPI/Comm.pyx":1779 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1773 * 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; } /* "MPI/Comm.pyx":1787 * # ------------------------------------ * * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ineighbor_allgather", 1, 2, 2, 1); __PYX_ERR(7, 1787, __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, 1787, __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, 1787, __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; __Pyx_RefNannySetupContext("Ineighbor_allgather", 0); /* "MPI/Comm.pyx":1791 * 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, 1791, __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; /* "MPI/Comm.pyx":1792 * """ * 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 == -1)) __PYX_ERR(7, 1792, __pyx_L1_error) /* "MPI/Comm.pyx":1793 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1794 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1797 * 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 == -1)) __PYX_ERR(7, 1794, __pyx_L4_error) } /* "MPI/Comm.pyx":1794 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1798 * 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); /* "MPI/Comm.pyx":1799 * 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; /* "MPI/Comm.pyx":1787 * # ------------------------------------ * * 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; } /* "MPI/Comm.pyx":1801 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ineighbor_allgatherv", 1, 2, 2, 1); __PYX_ERR(7, 1801, __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, 1801, __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, 1801, __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; __Pyx_RefNannySetupContext("Ineighbor_allgatherv", 0); /* "MPI/Comm.pyx":1805 * 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, 1805, __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; /* "MPI/Comm.pyx":1806 * """ * 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 == -1)) __PYX_ERR(7, 1806, __pyx_L1_error) /* "MPI/Comm.pyx":1807 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1808 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1811 * 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 == -1)) __PYX_ERR(7, 1808, __pyx_L4_error) } /* "MPI/Comm.pyx":1808 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1812 * 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); /* "MPI/Comm.pyx":1813 * 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; /* "MPI/Comm.pyx":1801 * 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; } /* "MPI/Comm.pyx":1815 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ineighbor_alltoall", 1, 2, 2, 1); __PYX_ERR(7, 1815, __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, 1815, __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, 1815, __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; __Pyx_RefNannySetupContext("Ineighbor_alltoall", 0); /* "MPI/Comm.pyx":1819 * 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, 1819, __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; /* "MPI/Comm.pyx":1820 * """ * 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 == -1)) __PYX_ERR(7, 1820, __pyx_L1_error) /* "MPI/Comm.pyx":1821 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1822 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1825 * 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 == -1)) __PYX_ERR(7, 1822, __pyx_L4_error) } /* "MPI/Comm.pyx":1822 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1826 * 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); /* "MPI/Comm.pyx":1827 * 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; /* "MPI/Comm.pyx":1815 * 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; } /* "MPI/Comm.pyx":1829 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ineighbor_alltoallv", 1, 2, 2, 1); __PYX_ERR(7, 1829, __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, 1829, __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, 1829, __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; __Pyx_RefNannySetupContext("Ineighbor_alltoallv", 0); /* "MPI/Comm.pyx":1833 * 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, 1833, __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; /* "MPI/Comm.pyx":1834 * """ * 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 == -1)) __PYX_ERR(7, 1834, __pyx_L1_error) /* "MPI/Comm.pyx":1835 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1836 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1839 * 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 == -1)) __PYX_ERR(7, 1836, __pyx_L4_error) } /* "MPI/Comm.pyx":1836 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1840 * 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); /* "MPI/Comm.pyx":1841 * 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; /* "MPI/Comm.pyx":1829 * 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; } /* "MPI/Comm.pyx":1843 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sendbuf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recvbuf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Ineighbor_alltoallw", 1, 2, 2, 1); __PYX_ERR(7, 1843, __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, 1843, __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, 1843, __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; __Pyx_RefNannySetupContext("Ineighbor_alltoallw", 0); /* "MPI/Comm.pyx":1847 * 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, 1847, __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; /* "MPI/Comm.pyx":1848 * """ * 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 == -1)) __PYX_ERR(7, 1848, __pyx_L1_error) /* "MPI/Comm.pyx":1849 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1850 * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":1853 * 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 == -1)) __PYX_ERR(7, 1850, __pyx_L4_error) } /* "MPI/Comm.pyx":1850 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1854 * 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); /* "MPI/Comm.pyx":1855 * 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; /* "MPI/Comm.pyx":1843 * 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; } /* "MPI/Comm.pyx":1859 * # 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1859, __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, 1859, __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; __Pyx_RefNannySetupContext("neighbor_allgather", 0); /* "MPI/Comm.pyx":1861 * 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; /* "MPI/Comm.pyx":1862 * """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, 1862, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1859 * # 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; } /* "MPI/Comm.pyx":1864 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1864, __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, 1864, __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; __Pyx_RefNannySetupContext("neighbor_alltoall", 0); /* "MPI/Comm.pyx":1866 * 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; /* "MPI/Comm.pyx":1867 * """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, 1867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1864 * 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; } /* "MPI/Comm.pyx":1876 * """ * * 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_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); 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 = PyDict_GetItem(__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, 1876, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 1876, __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, 1876, __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; __Pyx_RefNannySetupContext("__cinit__", 0); /* "MPI/Comm.pyx":1877 * * 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; } /* "MPI/Comm.pyx":1878 * 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; /* "MPI/Comm.pyx":1879 * 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 == -1)) __PYX_ERR(7, 1879, __pyx_L1_error) /* "MPI/Comm.pyx":1880 * 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 (__pyx_t_1) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__107, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1880, __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, 1880, __pyx_L1_error) } /* "MPI/Comm.pyx":1876 * """ * * 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; } /* "MPI/Comm.pyx":1886 * # --------------------------- * * 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; __Pyx_RefNannySetupContext("Get_dim", 0); /* "MPI/Comm.pyx":1890 * Return number of dimensions * """ * cdef int dim = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Cartdim_get(self.ob_mpi, &dim) ) * return dim */ __pyx_v_dim = 0; /* "MPI/Comm.pyx":1891 * """ * 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 == -1)) __PYX_ERR(7, 1891, __pyx_L1_error) /* "MPI/Comm.pyx":1892 * 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, 1892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1886 * # --------------------------- * * 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; } /* "MPI/Comm.pyx":1896 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1897 * """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, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1897, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); 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; /* "MPI/Comm.pyx":1896 * 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; } /* "MPI/Comm.pyx":1901 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1902 * """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, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1902, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); 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_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1901 * 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; } /* "MPI/Comm.pyx":1904 * 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; __Pyx_RefNannySetupContext("Get_topo", 0); /* "MPI/Comm.pyx":1908 * 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; /* "MPI/Comm.pyx":1909 * """ * cdef int ndim = 0 * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) # <<<<<<<<<<<<<< * cdef int *idims = NULL * cdef tmp1 = mkarray_int(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 == -1)) __PYX_ERR(7, 1909, __pyx_L1_error) /* "MPI/Comm.pyx":1910 * cdef int ndim = 0 * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * cdef int *idims = NULL # <<<<<<<<<<<<<< * cdef tmp1 = mkarray_int(ndim, &idims) * cdef int *iperiods = NULL */ __pyx_v_idims = NULL; /* "MPI/Comm.pyx":1911 * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * cdef int *idims = NULL * cdef tmp1 = mkarray_int(ndim, &idims) # <<<<<<<<<<<<<< * cdef int *iperiods = NULL * cdef tmp2 = mkarray_int(ndim, &iperiods) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_ndim, (&__pyx_v_idims)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":1912 * cdef int *idims = NULL * cdef tmp1 = mkarray_int(ndim, &idims) * cdef int *iperiods = NULL # <<<<<<<<<<<<<< * cdef tmp2 = mkarray_int(ndim, &iperiods) * cdef int *icoords = NULL */ __pyx_v_iperiods = NULL; /* "MPI/Comm.pyx":1913 * cdef tmp1 = mkarray_int(ndim, &idims) * cdef int *iperiods = NULL * cdef tmp2 = mkarray_int(ndim, &iperiods) # <<<<<<<<<<<<<< * cdef int *icoords = NULL * cdef tmp3 = mkarray_int(ndim, &icoords) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_ndim, (&__pyx_v_iperiods)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":1914 * cdef int *iperiods = NULL * cdef tmp2 = mkarray_int(ndim, &iperiods) * cdef int *icoords = NULL # <<<<<<<<<<<<<< * cdef tmp3 = mkarray_int(ndim, &icoords) * CHKERR( MPI_Cart_get(self.ob_mpi, ndim, idims, iperiods, icoords) ) */ __pyx_v_icoords = NULL; /* "MPI/Comm.pyx":1915 * cdef tmp2 = mkarray_int(ndim, &iperiods) * cdef int *icoords = NULL * cdef tmp3 = mkarray_int(ndim, &icoords) # <<<<<<<<<<<<<< * CHKERR( MPI_Cart_get(self.ob_mpi, ndim, idims, iperiods, icoords) ) * cdef int i = 0 */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_ndim, (&__pyx_v_icoords)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp3 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":1916 * cdef int *icoords = NULL * cdef tmp3 = mkarray_int(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 == -1)) __PYX_ERR(7, 1916, __pyx_L1_error) /* "MPI/Comm.pyx":1917 * cdef tmp3 = mkarray_int(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; /* "MPI/Comm.pyx":1918 * 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, 1918, __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, 1918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 1918, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_dims = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":1919 * 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, 1919, __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, 1919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 1919, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_periods = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":1920 * 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, 1920, __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, 1920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 1920, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_coords = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":1921 * 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, 1921, __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; /* "MPI/Comm.pyx":1904 * 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; } /* "MPI/Comm.pyx":1925 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1926 * """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, 1926, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1926, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1926, __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; /* "MPI/Comm.pyx":1925 * 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; } /* "MPI/Comm.pyx":1930 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1931 * """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, 1931, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1931, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1931, __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, 1931, __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; /* "MPI/Comm.pyx":1930 * 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; } /* "MPI/Comm.pyx":1935 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1936 * """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, 1936, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1936, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1936, __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, 1936, __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; /* "MPI/Comm.pyx":1935 * 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; } /* "MPI/Comm.pyx":1940 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":1941 * """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, 1941, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1941, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1941, __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, 1941, __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; /* "MPI/Comm.pyx":1940 * 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; } /* "MPI/Comm.pyx":1947 * # ------------------------------ * * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1947, __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, 1947, __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; __Pyx_RefNannySetupContext("Get_cart_rank", 0); __Pyx_INCREF(__pyx_v_coords); /* "MPI/Comm.pyx":1951 * Translate logical coordinates to ranks * """ * cdef int ndim = 0, *icoords = NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Cartdim_get( self.ob_mpi, &ndim) ) * coords = asarray_int(coords, ndim, &icoords) */ __pyx_v_ndim = 0; __pyx_v_icoords = NULL; /* "MPI/Comm.pyx":1952 * """ * cdef int ndim = 0, *icoords = NULL * CHKERR( MPI_Cartdim_get( self.ob_mpi, &ndim) ) # <<<<<<<<<<<<<< * coords = asarray_int(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 == -1)) __PYX_ERR(7, 1952, __pyx_L1_error) /* "MPI/Comm.pyx":1953 * cdef int ndim = 0, *icoords = NULL * CHKERR( MPI_Cartdim_get( self.ob_mpi, &ndim) ) * coords = asarray_int(coords, ndim, &icoords) # <<<<<<<<<<<<<< * cdef int rank = MPI_PROC_NULL * CHKERR( MPI_Cart_rank(self.ob_mpi, icoords, &rank) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_coords, __pyx_v_ndim, (&__pyx_v_icoords)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_coords, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1954 * CHKERR( MPI_Cartdim_get( self.ob_mpi, &ndim) ) * coords = asarray_int(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; /* "MPI/Comm.pyx":1955 * coords = asarray_int(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 == -1)) __PYX_ERR(7, 1955, __pyx_L1_error) /* "MPI/Comm.pyx":1956 * 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, 1956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":1947 * # ------------------------------ * * 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; } /* "MPI/Comm.pyx":1958 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1958, __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, 1958, __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, 1958, __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; __Pyx_RefNannySetupContext("Get_coords", 0); /* "MPI/Comm.pyx":1962 * Translate ranks to logical coordinates * """ * cdef int i = 0, ndim = 0, *icoords = NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * cdef tmp = mkarray_int(ndim, &icoords) */ __pyx_v_i = 0; __pyx_v_ndim = 0; __pyx_v_icoords = NULL; /* "MPI/Comm.pyx":1963 * """ * cdef int i = 0, ndim = 0, *icoords = NULL * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) # <<<<<<<<<<<<<< * cdef tmp = mkarray_int(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 == -1)) __PYX_ERR(7, 1963, __pyx_L1_error) /* "MPI/Comm.pyx":1964 * cdef int i = 0, ndim = 0, *icoords = NULL * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * cdef tmp = mkarray_int(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_f_6mpi4py_3MPI_mkarray_int(__pyx_v_ndim, (&__pyx_v_icoords)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":1965 * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * cdef tmp = mkarray_int(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 == -1)) __PYX_ERR(7, 1965, __pyx_L1_error) /* "MPI/Comm.pyx":1966 * cdef tmp = mkarray_int(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, 1966, __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, 1966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 1966, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_coords = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":1967 * 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; /* "MPI/Comm.pyx":1958 * 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; } /* "MPI/Comm.pyx":1972 * # ------------------------ * * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_direction)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_disp)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Shift", 1, 2, 2, 1); __PYX_ERR(7, 1972, __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, 1972, __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, 1972, __pyx_L3_error) __pyx_v_disp = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_disp == (int)-1) && PyErr_Occurred())) __PYX_ERR(7, 1972, __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, 1972, __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; __Pyx_RefNannySetupContext("Shift", 0); /* "MPI/Comm.pyx":1977 * 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; /* "MPI/Comm.pyx":1978 * """ * 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 == -1)) __PYX_ERR(7, 1978, __pyx_L1_error) /* "MPI/Comm.pyx":1979 * 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, 1979, __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, 1979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 1979, __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; /* "MPI/Comm.pyx":1972 * # ------------------------ * * 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; } /* "MPI/Comm.pyx":1984 * # ---------------------------- * * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 1984, __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, 1984, __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; __Pyx_RefNannySetupContext("Sub", 0); __Pyx_INCREF(__pyx_v_remain_dims); /* "MPI/Comm.pyx":1989 * that form lower-dimensional subgrids * """ * cdef int ndim = 0, *iremdims = NULL # <<<<<<<<<<<<<< * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * remain_dims = asarray_int(remain_dims, ndim, &iremdims) */ __pyx_v_ndim = 0; __pyx_v_iremdims = NULL; /* "MPI/Comm.pyx":1990 * """ * cdef int ndim = 0, *iremdims = NULL * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) # <<<<<<<<<<<<<< * remain_dims = asarray_int(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 == -1)) __PYX_ERR(7, 1990, __pyx_L1_error) /* "MPI/Comm.pyx":1991 * cdef int ndim = 0, *iremdims = NULL * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * remain_dims = asarray_int(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_f_6mpi4py_3MPI_asarray_int(__pyx_v_remain_dims, __pyx_v_ndim, (&__pyx_v_iremdims)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_remain_dims, __pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":1992 * CHKERR( MPI_Cartdim_get(self.ob_mpi, &ndim) ) * remain_dims = asarray_int(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 = __pyx_tp_new_6mpi4py_3MPI_Cartcomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Cartcomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 1992, __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_v_comm = ((struct PyMPICartcommObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1993 * remain_dims = asarray_int(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 #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 == -1)) __PYX_ERR(7, 1993, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":1994 * 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 == -1)) __PYX_ERR(7, 1994, __pyx_L1_error) /* "MPI/Comm.pyx":1995 * 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; /* "MPI/Comm.pyx":1984 * # ---------------------------- * * 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; } /* "MPI/Comm.pyx":2000 * # Cartesian Convenience Function * * def Compute_dims(int nnodes, dims): # <<<<<<<<<<<<<< * """ * Return a balanced distribution of */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_13Compute_dims(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_12Compute_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_13Compute_dims = {"Compute_dims", (PyCFunction)__pyx_pw_6mpi4py_3MPI_13Compute_dims, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_12Compute_dims}; static PyObject *__pyx_pw_6mpi4py_3MPI_13Compute_dims(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_nnodes; PyObject *__pyx_v_dims = 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_nnodes)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dims)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Compute_dims", 1, 2, 2, 1); __PYX_ERR(7, 2000, __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, 2000, __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, 2000, __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, 2000, __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_12Compute_dims(__pyx_self, __pyx_v_nnodes, __pyx_v_dims); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_12Compute_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; __Pyx_RefNannySetupContext("Compute_dims", 0); __Pyx_INCREF(__pyx_v_dims); /* "MPI/Comm.pyx":2005 * 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; /* "MPI/Comm.pyx":2006 * """ * 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:*/ { /* "MPI/Comm.pyx":2007 * 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 == -1)) __PYX_ERR(7, 2007, __pyx_L3_error) __pyx_v_ndims = ((int)__pyx_t_4); /* "MPI/Comm.pyx":2006 * """ * 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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign /* "MPI/Comm.pyx":2008 * 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, 2008, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); /* "MPI/Comm.pyx":2009 * ndims = len(dims) * except: * ndims = dims # <<<<<<<<<<<<<< * dims = [0] * ndims * cdef tmp = asarray_int(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, 2009, __pyx_L5_except_error) __pyx_v_ndims = __pyx_t_8; /* "MPI/Comm.pyx":2010 * except: * ndims = dims * dims = [0] * ndims # <<<<<<<<<<<<<< * cdef tmp = asarray_int(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, 2010, __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_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L4_exception_handled; } __pyx_L5_except_error:; /* "MPI/Comm.pyx":2006 * """ * cdef int i = 0, ndims = 0, *idims = NULL * try: # <<<<<<<<<<<<<< * ndims = len(dims) * except: */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/Comm.pyx":2011 * ndims = dims * dims = [0] * ndims * cdef tmp = asarray_int(dims, ndims, &idims) # <<<<<<<<<<<<<< * CHKERR( MPI_Dims_create(nnodes, ndims, idims) ) * dims = [idims[i] for i from 0 <= i < ndims] */ __pyx_t_7 = __pyx_f_6mpi4py_3MPI_asarray_int(__pyx_v_dims, __pyx_v_ndims, (&__pyx_v_idims)); if (unlikely(!__pyx_t_7)) __PYX_ERR(7, 2011, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_v_tmp = __pyx_t_7; __pyx_t_7 = 0; /* "MPI/Comm.pyx":2012 * dims = [0] * ndims * cdef tmp = asarray_int(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 == -1)) __PYX_ERR(7, 2012, __pyx_L1_error) /* "MPI/Comm.pyx":2013 * cdef tmp = asarray_int(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, 2013, __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, 2013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_6))) __PYX_ERR(7, 2013, __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; /* "MPI/Comm.pyx":2014 * 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; /* "MPI/Comm.pyx":2000 * # 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; } /* "MPI/Comm.pyx":2023 * """ * * 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_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); 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 = PyDict_GetItem(__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, 2023, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 2023, __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, 2023, __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; __Pyx_RefNannySetupContext("__cinit__", 0); /* "MPI/Comm.pyx":2024 * * 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; } /* "MPI/Comm.pyx":2025 * 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; /* "MPI/Comm.pyx":2026 * 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 == -1)) __PYX_ERR(7, 2026, __pyx_L1_error) /* "MPI/Comm.pyx":2027 * 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 (__pyx_t_1) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__108, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2027, __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, 2027, __pyx_L1_error) } /* "MPI/Comm.pyx":2023 * """ * * 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; } /* "MPI/Comm.pyx":2033 * # ----------------------- * * 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; __Pyx_RefNannySetupContext("Get_dims", 0); /* "MPI/Comm.pyx":2037 * 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; /* "MPI/Comm.pyx":2038 * """ * 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 == -1)) __PYX_ERR(7, 2038, __pyx_L1_error) /* "MPI/Comm.pyx":2039 * 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, 2039, __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, 2039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 2039, __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; /* "MPI/Comm.pyx":2033 * # ----------------------- * * 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; } /* "MPI/Comm.pyx":2043 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":2044 * """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, 2044, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2044, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2044, __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; /* "MPI/Comm.pyx":2043 * 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; } /* "MPI/Comm.pyx":2048 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":2049 * """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, 2049, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2049, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2049, __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, 2049, __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; /* "MPI/Comm.pyx":2048 * 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; } /* "MPI/Comm.pyx":2053 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":2054 * """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, 2054, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2054, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2054, __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, 2054, __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; /* "MPI/Comm.pyx":2053 * 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; } /* "MPI/Comm.pyx":2056 * 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; __Pyx_RefNannySetupContext("Get_topo", 0); /* "MPI/Comm.pyx":2060 * 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; /* "MPI/Comm.pyx":2061 * """ * cdef int nindex = 0, nedges = 0 * CHKERR( MPI_Graphdims_get( self.ob_mpi, &nindex, &nedges) ) # <<<<<<<<<<<<<< * cdef int *iindex = NULL * cdef tmp1 = mkarray_int(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 == -1)) __PYX_ERR(7, 2061, __pyx_L1_error) /* "MPI/Comm.pyx":2062 * cdef int nindex = 0, nedges = 0 * CHKERR( MPI_Graphdims_get( self.ob_mpi, &nindex, &nedges) ) * cdef int *iindex = NULL # <<<<<<<<<<<<<< * cdef tmp1 = mkarray_int(nindex, &iindex) * cdef int *iedges = NULL */ __pyx_v_iindex = NULL; /* "MPI/Comm.pyx":2063 * CHKERR( MPI_Graphdims_get( self.ob_mpi, &nindex, &nedges) ) * cdef int *iindex = NULL * cdef tmp1 = mkarray_int(nindex, &iindex) # <<<<<<<<<<<<<< * cdef int *iedges = NULL * cdef tmp2 = mkarray_int(nedges, &iedges) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_nindex, (&__pyx_v_iindex)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2063, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2064 * cdef int *iindex = NULL * cdef tmp1 = mkarray_int(nindex, &iindex) * cdef int *iedges = NULL # <<<<<<<<<<<<<< * cdef tmp2 = mkarray_int(nedges, &iedges) * CHKERR( MPI_Graph_get(self.ob_mpi, nindex, nedges, iindex, iedges) ) */ __pyx_v_iedges = NULL; /* "MPI/Comm.pyx":2065 * cdef tmp1 = mkarray_int(nindex, &iindex) * cdef int *iedges = NULL * cdef tmp2 = mkarray_int(nedges, &iedges) # <<<<<<<<<<<<<< * CHKERR( MPI_Graph_get(self.ob_mpi, nindex, nedges, iindex, iedges) ) * cdef int i = 0 */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_nedges, (&__pyx_v_iedges)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2066 * cdef int *iedges = NULL * cdef tmp2 = mkarray_int(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 == -1)) __PYX_ERR(7, 2066, __pyx_L1_error) /* "MPI/Comm.pyx":2067 * cdef tmp2 = mkarray_int(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; /* "MPI/Comm.pyx":2068 * 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, 2068, __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, 2068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 2068, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_index = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2069 * 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, 2069, __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, 2069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 2069, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_edges = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2070 * 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, 2070, __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; /* "MPI/Comm.pyx":2056 * 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; } /* "MPI/Comm.pyx":2074 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":2075 * """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, 2075, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2075, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2075, __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; /* "MPI/Comm.pyx":2074 * 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; } /* "MPI/Comm.pyx":2079 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":2080 * """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, 2080, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2080, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2080, __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, 2080, __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; /* "MPI/Comm.pyx":2079 * 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; } /* "MPI/Comm.pyx":2084 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":2085 * """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, 2085, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2085, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2085, __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, 2085, __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; /* "MPI/Comm.pyx":2084 * 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; } /* "MPI/Comm.pyx":2090 * # --------------------------- * * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 2090, __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, 2090, __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, 2090, __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; __Pyx_RefNannySetupContext("Get_neighbors_count", 0); /* "MPI/Comm.pyx":2094 * 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; /* "MPI/Comm.pyx":2095 * """ * 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 == -1)) __PYX_ERR(7, 2095, __pyx_L1_error) /* "MPI/Comm.pyx":2096 * 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, 2096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":2090 * # --------------------------- * * 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; } /* "MPI/Comm.pyx":2100 * 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; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":2101 * """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, 2101, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2101, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2101, __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, 2101, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_rank = __pyx_t_4; /* "MPI/Comm.pyx":2102 * 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, 2102, __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, 2102, __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); } } if (!__pyx_t_5) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2102, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2102, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2102, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 2102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":2100 * 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_XDECREF(__pyx_t_6); __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; } /* "MPI/Comm.pyx":2104 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 2104, __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, 2104, __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, 2104, __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; __Pyx_RefNannySetupContext("Get_neighbors", 0); /* "MPI/Comm.pyx":2108 * 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; /* "MPI/Comm.pyx":2109 * """ * cdef int i = 0, nneighbors = 0, *ineighbors = NULL * CHKERR( MPI_Graph_neighbors_count( # <<<<<<<<<<<<<< * self.ob_mpi, rank, &nneighbors) ) * cdef tmp = mkarray_int(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 == -1)) __PYX_ERR(7, 2109, __pyx_L1_error) /* "MPI/Comm.pyx":2111 * CHKERR( MPI_Graph_neighbors_count( * self.ob_mpi, rank, &nneighbors) ) * cdef tmp = mkarray_int(nneighbors, &ineighbors) # <<<<<<<<<<<<<< * CHKERR( MPI_Graph_neighbors( * self.ob_mpi, rank, nneighbors, ineighbors) ) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_nneighbors, (&__pyx_v_ineighbors)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2112 * self.ob_mpi, rank, &nneighbors) ) * cdef tmp = mkarray_int(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 == -1)) __PYX_ERR(7, 2112, __pyx_L1_error) /* "MPI/Comm.pyx":2114 * 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, 2114, __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, 2114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(7, 2114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_v_neighbors = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2115 * 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; /* "MPI/Comm.pyx":2104 * 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; } /* "MPI/Comm.pyx":2119 * 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; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":2120 * """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, 2120, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2120, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2120, __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, 2120, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_rank = __pyx_t_4; /* "MPI/Comm.pyx":2121 * 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, 2121, __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, 2121, __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); } } if (!__pyx_t_5) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2121, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2121, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_3}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2121, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(7, 2121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":2119 * 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_XDECREF(__pyx_t_6); __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; } /* "MPI/Comm.pyx":2130 * """ * * 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_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); 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 = PyDict_GetItem(__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, 2130, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 2130, __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, 2130, __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; __Pyx_RefNannySetupContext("__cinit__", 0); /* "MPI/Comm.pyx":2131 * * 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; } /* "MPI/Comm.pyx":2132 * 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; /* "MPI/Comm.pyx":2133 * 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 == -1)) __PYX_ERR(7, 2133, __pyx_L1_error) /* "MPI/Comm.pyx":2134 * 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 (__pyx_t_1) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__109, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2134, __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, 2134, __pyx_L1_error) } /* "MPI/Comm.pyx":2130 * """ * * 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; } /* "MPI/Comm.pyx":2140 * # -------------------------- * * 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; __Pyx_RefNannySetupContext("Get_dist_neighbors_count", 0); /* "MPI/Comm.pyx":2144 * Return adjacency information for a distributed graph topology * """ * cdef int indegree = 0 # <<<<<<<<<<<<<< * cdef int outdegree = 0 * cdef int weighted = 0 */ __pyx_v_indegree = 0; /* "MPI/Comm.pyx":2145 * """ * cdef int indegree = 0 * cdef int outdegree = 0 # <<<<<<<<<<<<<< * cdef int weighted = 0 * CHKERR( MPI_Dist_graph_neighbors_count( */ __pyx_v_outdegree = 0; /* "MPI/Comm.pyx":2146 * 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; /* "MPI/Comm.pyx":2147 * 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 == -1)) __PYX_ERR(7, 2147, __pyx_L1_error) /* "MPI/Comm.pyx":2149 * 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, 2149, __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, 2149, __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, 2149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(7, 2149, __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; /* "MPI/Comm.pyx":2140 * # -------------------------- * * 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; } /* "MPI/Comm.pyx":2151 * 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; __Pyx_RefNannySetupContext("Get_dist_neighbors", 0); /* "MPI/Comm.pyx":2155 * 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; /* "MPI/Comm.pyx":2156 * """ * 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 == -1)) __PYX_ERR(7, 2156, __pyx_L1_error) /* "MPI/Comm.pyx":2159 * 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; /* "MPI/Comm.pyx":2160 * # * 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; /* "MPI/Comm.pyx":2161 * cdef int *sources = NULL, *destinations = NULL * cdef int *sourceweights = MPI_UNWEIGHTED * cdef int *destweights = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * cdef tmp1, tmp2, tmp3, tmp4 * tmp1 = mkarray_int(maxindegree, &sources) */ __pyx_v_destweights = MPI_UNWEIGHTED; /* "MPI/Comm.pyx":2163 * cdef int *destweights = MPI_UNWEIGHTED * cdef tmp1, tmp2, tmp3, tmp4 * tmp1 = mkarray_int(maxindegree, &sources) # <<<<<<<<<<<<<< * tmp2 = mkarray_int(maxoutdegree, &destinations) * cdef int i = 0 */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_maxindegree, (&__pyx_v_sources)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp1 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2164 * cdef tmp1, tmp2, tmp3, tmp4 * tmp1 = mkarray_int(maxindegree, &sources) * tmp2 = mkarray_int(maxoutdegree, &destinations) # <<<<<<<<<<<<<< * cdef int i = 0 * if weighted: */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_maxoutdegree, (&__pyx_v_destinations)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp2 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2165 * tmp1 = mkarray_int(maxindegree, &sources) * tmp2 = mkarray_int(maxoutdegree, &destinations) * cdef int i = 0 # <<<<<<<<<<<<<< * if weighted: * tmp3 = mkarray_int(maxindegree, &sourceweights) */ __pyx_v_i = 0; /* "MPI/Comm.pyx":2166 * tmp2 = mkarray_int(maxoutdegree, &destinations) * cdef int i = 0 * if weighted: # <<<<<<<<<<<<<< * tmp3 = mkarray_int(maxindegree, &sourceweights) * for i from 0 <= i < maxindegree: sourceweights[i] = 1 */ __pyx_t_3 = (__pyx_v_weighted != 0); if (__pyx_t_3) { /* "MPI/Comm.pyx":2167 * cdef int i = 0 * if weighted: * tmp3 = mkarray_int(maxindegree, &sourceweights) # <<<<<<<<<<<<<< * for i from 0 <= i < maxindegree: sourceweights[i] = 1 * tmp4 = mkarray_int(maxoutdegree, &destweights) */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_maxindegree, (&__pyx_v_sourceweights)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp3 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2168 * if weighted: * tmp3 = mkarray_int(maxindegree, &sourceweights) * for i from 0 <= i < maxindegree: sourceweights[i] = 1 # <<<<<<<<<<<<<< * tmp4 = mkarray_int(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; } /* "MPI/Comm.pyx":2169 * tmp3 = mkarray_int(maxindegree, &sourceweights) * for i from 0 <= i < maxindegree: sourceweights[i] = 1 * tmp4 = mkarray_int(maxoutdegree, &destweights) # <<<<<<<<<<<<<< * for i from 0 <= i < maxoutdegree: destweights[i] = 1 * # */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_mkarray_int(__pyx_v_maxoutdegree, (&__pyx_v_destweights)); if (unlikely(!__pyx_t_2)) __PYX_ERR(7, 2169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_tmp4 = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2170 * for i from 0 <= i < maxindegree: sourceweights[i] = 1 * tmp4 = mkarray_int(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; } /* "MPI/Comm.pyx":2166 * tmp2 = mkarray_int(maxoutdegree, &destinations) * cdef int i = 0 * if weighted: # <<<<<<<<<<<<<< * tmp3 = mkarray_int(maxindegree, &sourceweights) * for i from 0 <= i < maxindegree: sourceweights[i] = 1 */ } /* "MPI/Comm.pyx":2172 * 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 == -1)) __PYX_ERR(7, 2172, __pyx_L1_error) /* "MPI/Comm.pyx":2177 * 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, 2177, __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, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(7, 2177, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_v_src = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2178 * # * 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, 2178, __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, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(7, 2178, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_v_dst = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2179 * 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, 2179, __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; } /* "MPI/Comm.pyx":2181 * 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, 2181, __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, 2181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(7, 2181, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_v_sw = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2182 * # * 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, 2182, __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, 2182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(7, 2182, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_v_dw = __pyx_t_2; __pyx_t_2 = 0; /* "MPI/Comm.pyx":2183 * 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, 2183, __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, 2183, __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; /* "MPI/Comm.pyx":2151 * 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; } /* "MPI/Comm.pyx":2192 * """ * * 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_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); 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 = PyDict_GetItem(__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, 2192, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 2192, __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, 2192, __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; __Pyx_RefNannySetupContext("__cinit__", 0); /* "MPI/Comm.pyx":2193 * * 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; } /* "MPI/Comm.pyx":2194 * 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; /* "MPI/Comm.pyx":2195 * 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 == -1)) __PYX_ERR(7, 2195, __pyx_L1_error) /* "MPI/Comm.pyx":2196 * 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 (__pyx_t_1) { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__110, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2196, __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, 2196, __pyx_L1_error) } /* "MPI/Comm.pyx":2192 * """ * * 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; } /* "MPI/Comm.pyx":2202 * # --------------------------- * * 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; __Pyx_RefNannySetupContext("Get_remote_group", 0); /* "MPI/Comm.pyx":2207 * with the inter-communicator * """ * cdef Group group = Group.__new__(Group) # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_remote_group(self.ob_mpi, &group.ob_mpi) ) * return group */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2207, __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_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":2208 * """ * cdef Group group = Group.__new__(Group) * 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 == -1)) __PYX_ERR(7, 2208, __pyx_L1_error) /* "MPI/Comm.pyx":2209 * cdef Group group = Group.__new__(Group) * 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; /* "MPI/Comm.pyx":2202 * # --------------------------- * * 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; } /* "MPI/Comm.pyx":2213 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":2214 * """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, 2214, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2214, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2214, __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; /* "MPI/Comm.pyx":2213 * 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; } /* "MPI/Comm.pyx":2216 * 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; __Pyx_RefNannySetupContext("Get_remote_size", 0); /* "MPI/Comm.pyx":2220 * Intercommunicator remote size * """ * cdef int size = -1 # <<<<<<<<<<<<<< * CHKERR( MPI_Comm_remote_size(self.ob_mpi, &size) ) * return size */ __pyx_v_size = -1; /* "MPI/Comm.pyx":2221 * """ * 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 == -1)) __PYX_ERR(7, 2221, __pyx_L1_error) /* "MPI/Comm.pyx":2222 * 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, 2222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":2216 * 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; } /* "MPI/Comm.pyx":2226 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Comm.pyx":2227 * """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, 2227, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2227, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2227, __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; /* "MPI/Comm.pyx":2226 * 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; } /* "MPI/Comm.pyx":2232 * # ------------------------- * * 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; 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); 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 = PyDict_GetItem(__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, 2232, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 2232, __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, 2232, __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; __Pyx_RefNannySetupContext("Merge", 0); /* "MPI/Comm.pyx":2236 * Merge intercommunicator * """ * cdef Intracomm comm = Intracomm.__new__(Intracomm) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Intercomm_merge( * self.ob_mpi, high, &comm.ob_mpi) ) */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Intracomm(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Intracomm), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 2236, __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 PyMPIIntracommObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Comm.pyx":2237 * """ * 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 #endif /*try:*/ { /* "MPI/Comm.pyx":2238 * 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 == -1)) __PYX_ERR(7, 2237, __pyx_L4_error) } /* "MPI/Comm.pyx":2237 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":2239 * 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 == -1)) __PYX_ERR(7, 2239, __pyx_L1_error) /* "MPI/Comm.pyx":2240 * 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; /* "MPI/Comm.pyx":2232 * # ------------------------- * * 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; } /* "MPI/Comm.pyx":2264 * #: Upper bound of memory overhead for sending in buffered mode * * def Attach_buffer(memory): # <<<<<<<<<<<<<< * """ * Attach a user-provided buffer for */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_15Attach_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_14Attach_buffer[] = "Attach_buffer(memory)\n\n Attach a user-provided buffer for\n sending in buffered mode\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_15Attach_buffer = {"Attach_buffer", (PyCFunction)__pyx_pw_6mpi4py_3MPI_15Attach_buffer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_14Attach_buffer}; static PyObject *__pyx_pw_6mpi4py_3MPI_15Attach_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_memory = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Attach_buffer (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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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_buffer") < 0)) __PYX_ERR(7, 2264, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); } __pyx_v_memory = 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, 2264, __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_14Attach_buffer(__pyx_self, __pyx_v_memory); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_14Attach_buffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memory) { void *__pyx_v_base; int __pyx_v_size; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Attach_buffer", 0); /* "MPI/Comm.pyx":2269 * sending in buffered mode * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef int size = 0 * attach_buffer(memory, &base, &size) */ __pyx_v_base = NULL; /* "MPI/Comm.pyx":2270 * """ * cdef void *base = NULL * cdef int size = 0 # <<<<<<<<<<<<<< * attach_buffer(memory, &base, &size) * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) */ __pyx_v_size = 0; /* "MPI/Comm.pyx":2271 * cdef void *base = NULL * cdef int size = 0 * attach_buffer(memory, &base, &size) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_attach_buffer(__pyx_v_memory, (&__pyx_v_base), (&__pyx_v_size)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 2271, __pyx_L1_error) /* "MPI/Comm.pyx":2272 * cdef int size = 0 * attach_buffer(memory, &base, &size) * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) # <<<<<<<<<<<<<< * * def Detach_buffer(): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Buffer_attach(__pyx_v_base, __pyx_v_size)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 2272, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":2264 * #: Upper bound of memory overhead for sending in buffered mode * * def Attach_buffer(memory): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Comm.pyx":2274 * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) * * def Detach_buffer(): # <<<<<<<<<<<<<< * """ * Remove an existing attached buffer */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_17Detach_buffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_16Detach_buffer[] = "Detach_buffer()\n\n Remove an existing attached buffer\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_17Detach_buffer = {"Detach_buffer", (PyCFunction)__pyx_pw_6mpi4py_3MPI_17Detach_buffer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_16Detach_buffer}; static PyObject *__pyx_pw_6mpi4py_3MPI_17Detach_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_16Detach_buffer(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_16Detach_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; __Pyx_RefNannySetupContext("Detach_buffer", 0); /* "MPI/Comm.pyx":2278 * 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; /* "MPI/Comm.pyx":2279 * """ * 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; /* "MPI/Comm.pyx":2280 * 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 #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Buffer_detach((&__pyx_v_base), (&__pyx_v_size))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 2280, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":2281 * 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, 2281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":2274 * 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; } /* "MPI/Comm.pyx":2291 * # --------------- * * def Open_port(Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Return an address that can be used to establish */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_19Open_port(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_18Open_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_19Open_port = {"Open_port", (PyCFunction)__pyx_pw_6mpi4py_3MPI_19Open_port, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_18Open_port}; static PyObject *__pyx_pw_6mpi4py_3MPI_19Open_port(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIInfoObject *__pyx_v_info = 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__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 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__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, 2291, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 2291, __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, 1, "info", 0))) __PYX_ERR(7, 2291, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_18Open_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_18Open_port(CYTHON_UNUSED PyObject *__pyx_self, struct PyMPIInfoObject *__pyx_v_info) { MPI_Info __pyx_v_cinfo; char __pyx_v_cportname[(MPI_MAX_PORT_NAME + 1)]; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("Open_port", 0); /* "MPI/Comm.pyx":2296 * connections between groups of MPI processes * """ * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * cdef char cportname[MPI_MAX_PORT_NAME+1] * with nogil: CHKERR( MPI_Open_port(cinfo, cportname) ) */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/Comm.pyx":2298 * cdef MPI_Info cinfo = arg_Info(info) * cdef char cportname[MPI_MAX_PORT_NAME+1] * with nogil: CHKERR( MPI_Open_port(cinfo, cportname) ) # <<<<<<<<<<<<<< * cportname[MPI_MAX_PORT_NAME] = 0 # just in case * return mpistr(cportname) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Open_port(__pyx_v_cinfo, __pyx_v_cportname)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(7, 2298, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":2299 * cdef char cportname[MPI_MAX_PORT_NAME+1] * with nogil: CHKERR( MPI_Open_port(cinfo, cportname) ) * cportname[MPI_MAX_PORT_NAME] = 0 # just in case # <<<<<<<<<<<<<< * return mpistr(cportname) * */ (__pyx_v_cportname[MPI_MAX_PORT_NAME]) = 0; /* "MPI/Comm.pyx":2300 * with nogil: CHKERR( MPI_Open_port(cinfo, 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, 2300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":2291 * # --------------- * * 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; } /* "MPI/Comm.pyx":2302 * return mpistr(cportname) * * def Close_port(port_name): # <<<<<<<<<<<<<< * """ * Close a port */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_21Close_port(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_20Close_port[] = "Close_port(port_name)\n\n Close a port\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_21Close_port = {"Close_port", (PyCFunction)__pyx_pw_6mpi4py_3MPI_21Close_port, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_20Close_port}; static PyObject *__pyx_pw_6mpi4py_3MPI_21Close_port(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_port_name = 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 2302, __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, 2302, __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_20Close_port(__pyx_self, __pyx_v_port_name); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_20Close_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; __Pyx_RefNannySetupContext("Close_port", 0); __Pyx_INCREF(__pyx_v_port_name); /* "MPI/Comm.pyx":2306 * Close a port * """ * cdef char *cportname = NULL # <<<<<<<<<<<<<< * port_name = asmpistr(port_name, &cportname) * with nogil: CHKERR( MPI_Close_port(cportname) ) */ __pyx_v_cportname = NULL; /* "MPI/Comm.pyx":2307 * """ * 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, 2307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_port_name, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":2308 * 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 #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Close_port(__pyx_v_cportname)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(7, 2308, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":2302 * 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; } /* "MPI/Comm.pyx":2313 * # --------------- * * def Publish_name(service_name, port_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Publish a service name */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_23Publish_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_22Publish_name[] = "Publish_name(service_name, port_name, info=INFO_NULL)\n\n Publish a service name\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_23Publish_name = {"Publish_name", (PyCFunction)__pyx_pw_6mpi4py_3MPI_23Publish_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_22Publish_name}; static PyObject *__pyx_pw_6mpi4py_3MPI_23Publish_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; 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__112; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_service_name)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_port_name)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Publish_name", 0, 2, 3, 1); __PYX_ERR(7, 2313, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 2313, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 2313, __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_22Publish_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_22Publish_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; __Pyx_RefNannySetupContext("Publish_name", 0); __Pyx_INCREF(__pyx_v_service_name); __Pyx_INCREF(__pyx_v_port_name); __Pyx_INCREF(__pyx_v_info); /* "MPI/Comm.pyx":2317 * 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) { /* "MPI/Comm.pyx":2318 * """ * 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; /* "MPI/Comm.pyx":2317 * Publish a service name * """ * if isinstance(port_name, Info): # backward compatibility # <<<<<<<<<<<<<< * port_name, info = info, port_name * cdef char *csrvcname = NULL */ } /* "MPI/Comm.pyx":2319 * 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; /* "MPI/Comm.pyx":2320 * 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, 2320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_service_name, __pyx_t_5); __pyx_t_5 = 0; /* "MPI/Comm.pyx":2321 * 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; /* "MPI/Comm.pyx":2322 * 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, 2322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_port_name, __pyx_t_5); __pyx_t_5 = 0; /* "MPI/Comm.pyx":2323 * 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, 2323, __pyx_L1_error) __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(__pyx_v_info); /* "MPI/Comm.pyx":2324 * 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 #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 == -1)) __PYX_ERR(7, 2324, __pyx_L5_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/Comm.pyx":2313 * # --------------- * * 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; } /* "MPI/Comm.pyx":2326 * 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_25Unpublish_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_24Unpublish_name[] = "Unpublish_name(service_name, port_name, info=INFO_NULL)\n\n Unpublish a service name\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_25Unpublish_name = {"Unpublish_name", (PyCFunction)__pyx_pw_6mpi4py_3MPI_25Unpublish_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_24Unpublish_name}; static PyObject *__pyx_pw_6mpi4py_3MPI_25Unpublish_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; 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__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 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_service_name)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_port_name)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Unpublish_name", 0, 2, 3, 1); __PYX_ERR(7, 2326, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 2326, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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, 2326, __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_24Unpublish_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_24Unpublish_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; __Pyx_RefNannySetupContext("Unpublish_name", 0); __Pyx_INCREF(__pyx_v_service_name); __Pyx_INCREF(__pyx_v_port_name); __Pyx_INCREF(__pyx_v_info); /* "MPI/Comm.pyx":2330 * 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) { /* "MPI/Comm.pyx":2331 * """ * 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; /* "MPI/Comm.pyx":2330 * Unpublish a service name * """ * if isinstance(port_name, Info): # backward compatibility # <<<<<<<<<<<<<< * port_name, info = info, port_name * cdef char *csrvcname = NULL */ } /* "MPI/Comm.pyx":2332 * 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; /* "MPI/Comm.pyx":2333 * 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, 2333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_service_name, __pyx_t_5); __pyx_t_5 = 0; /* "MPI/Comm.pyx":2334 * 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; /* "MPI/Comm.pyx":2335 * 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, 2335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_port_name, __pyx_t_5); __pyx_t_5 = 0; /* "MPI/Comm.pyx":2336 * 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, 2336, __pyx_L1_error) __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(__pyx_v_info); /* "MPI/Comm.pyx":2337 * 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 #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 == -1)) __PYX_ERR(7, 2337, __pyx_L5_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/Comm.pyx":2326 * 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; } /* "MPI/Comm.pyx":2339 * 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_27Lookup_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_26Lookup_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_27Lookup_name = {"Lookup_name", (PyCFunction)__pyx_pw_6mpi4py_3MPI_27Lookup_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_26Lookup_name}; static PyObject *__pyx_pw_6mpi4py_3MPI_27Lookup_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_service_name = 0; PyObject *__pyx_v_info = 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__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 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_service_name)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 2339, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 2339, __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_26Lookup_name(__pyx_self, __pyx_v_service_name, __pyx_v_info); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_26Lookup_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; __Pyx_RefNannySetupContext("Lookup_name", 0); __Pyx_INCREF(__pyx_v_service_name); /* "MPI/Comm.pyx":2343 * 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; /* "MPI/Comm.pyx":2344 * """ * 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, 2344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_service_name, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":2345 * 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, 2345, __pyx_L1_error) __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(__pyx_v_info); /* "MPI/Comm.pyx":2347 * 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 #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 == -1)) __PYX_ERR(7, 2347, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Comm.pyx":2348 * 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; /* "MPI/Comm.pyx":2349 * 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, 2349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Comm.pyx":2339 * 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; } /* "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_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); 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 = PyDict_GetItem(__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(29, 33, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(29, 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(29, 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); /* "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; /* "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; } /* "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; /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "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; } /* "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 == -1)) __PYX_ERR(29, 41, __pyx_L1_error) /* "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, 0, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "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__(((PyObject *)__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__(PyObject *__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; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "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; } /* "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 = __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; /* "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 str 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, 46, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ * cdef str 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, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef str cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(29, 48, __pyx_L1_error) __pyx_v_mod = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":49 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef str mod = type(self).__module__ * cdef str cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 49, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(29, 49, __pyx_L1_error) __pyx_v_cls = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":50 * cdef str mod = type(self).__module__ * cdef str 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, 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(29, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(29, 50, __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(29, 50, __pyx_L1_error) /* "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; } /* "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); /* "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; /* "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; } /* "MPI/Win.pyx":59 * * @classmethod * def Create(cls, memory, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, Intracomm comm not None=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; 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__115; values[3] = (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 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_memory)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_disp_unit); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_info); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 59, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(29, 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(29, 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, 1, "info", 0))) __PYX_ERR(29, 60, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Intracomm, 0, "comm", 0))) __PYX_ERR(29, 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; MPI_Info __pyx_v_cinfo; 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; __Pyx_RefNannySetupContext("Create", 0); __Pyx_INCREF(__pyx_v_memory); /* "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; /* "MPI/Win.pyx":65 * """ * cdef void *base = NULL * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * if memory is __BOTTOM__: * base = MPI_BOTTOM */ __pyx_v_size = 0; /* "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) { /* "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; /* "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); /* "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; } /* "MPI/Win.pyx":69 * base = MPI_BOTTOM * memory = None * elif memory is not None: # <<<<<<<<<<<<<< * memory = getbuffer_w(memory, &base, &size) * cdef MPI_Info cinfo = arg_Info(info) */ __pyx_t_2 = (__pyx_v_memory != Py_None); __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* "MPI/Win.pyx":70 * memory = None * elif memory is not None: * memory = getbuffer_w(memory, &base, &size) # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) */ __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(29, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_memory, __pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":69 * base = MPI_BOTTOM * memory = None * elif memory is not None: # <<<<<<<<<<<<<< * memory = getbuffer_w(memory, &base, &size) * cdef MPI_Info cinfo = arg_Info(info) */ } __pyx_L3:; /* "MPI/Win.pyx":71 * elif memory is not None: * memory = getbuffer_w(memory, &base, &size) * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create( */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/Win.pyx":72 * memory = getbuffer_w(memory, &base, &size) * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_create( * base, size, disp_unit, */ __pyx_t_3 = __pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 72, __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_win = ((struct PyMPIWinObject *)__pyx_t_4); __pyx_t_4 = 0; /* "MPI/Win.pyx":73 * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create( # <<<<<<<<<<<<<< * base, size, disp_unit, * cinfo, comm.ob_mpi, &win.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Win.pyx":75 * with nogil: CHKERR( MPI_Win_create( * base, size, disp_unit, * cinfo, 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_cinfo, __pyx_v_comm->__pyx_base.ob_mpi, (&__pyx_v_win->ob_mpi))); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(29, 73, __pyx_L5_error) } /* "MPI/Win.pyx":73 * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create( # <<<<<<<<<<<<<< * base, size, disp_unit, * cinfo, comm.ob_mpi, &win.ob_mpi) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L6; } __pyx_L5_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L6:; } } /* "MPI/Win.pyx":76 * base, size, disp_unit, * cinfo, 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 == -1)) __PYX_ERR(29, 76, __pyx_L1_error) /* "MPI/Win.pyx":77 * cinfo, 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; /* "MPI/Win.pyx":78 * 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; /* "MPI/Win.pyx":59 * * @classmethod * def Create(cls, memory, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, Intracomm comm not None=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; } /* "MPI/Win.pyx":81 * * @classmethod * def Allocate(cls, Aint size, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, * Intracomm comm not None=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; 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__117; values[3] = (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 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_disp_unit); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_info); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 81, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(29, 81, __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(29, 81, __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(29, 81, __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, 1, "info", 0))) __PYX_ERR(29, 82, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Intracomm, 0, "comm", 0))) __PYX_ERR(29, 83, __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; MPI_Info __pyx_v_cinfo; 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; __Pyx_RefNannySetupContext("Allocate", 0); /* "MPI/Win.pyx":87 * Create an window object for one-sided communication * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) */ __pyx_v_base = NULL; /* "MPI/Win.pyx":88 * """ * cdef void *base = NULL * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_allocate( */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/Win.pyx":89 * cdef void *base = NULL * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_allocate( * size, disp_unit, cinfo, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 89, __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_win = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Win.pyx":90 * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_allocate( # <<<<<<<<<<<<<< * size, disp_unit, cinfo, * comm.ob_mpi, &base, &win.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Win.pyx":92 * with nogil: CHKERR( MPI_Win_allocate( * size, disp_unit, cinfo, * 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_cinfo, __pyx_v_comm->__pyx_base.ob_mpi, (&__pyx_v_base), (&__pyx_v_win->ob_mpi))); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(29, 90, __pyx_L4_error) } /* "MPI/Win.pyx":90 * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_allocate( # <<<<<<<<<<<<<< * size, disp_unit, cinfo, * comm.ob_mpi, &base, &win.ob_mpi) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":93 * size, disp_unit, cinfo, * 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 == -1)) __PYX_ERR(29, 93, __pyx_L1_error) /* "MPI/Win.pyx":94 * 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; /* "MPI/Win.pyx":81 * * @classmethod * def Allocate(cls, Aint size, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, * Intracomm comm not None=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; } /* "MPI/Win.pyx":97 * * @classmethod * def Allocate_shared(cls, Aint size, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, * Intracomm comm not None=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; 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__119; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_disp_unit); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_info); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 97, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(29, 97, __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(29, 97, __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(29, 97, __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, 1, "info", 0))) __PYX_ERR(29, 98, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Intracomm, 0, "comm", 0))) __PYX_ERR(29, 99, __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; MPI_Info __pyx_v_cinfo; 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; __Pyx_RefNannySetupContext("Allocate_shared", 0); /* "MPI/Win.pyx":103 * Create an window object for one-sided communication * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) */ __pyx_v_base = NULL; /* "MPI/Win.pyx":104 * """ * cdef void *base = NULL * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_allocate_shared( */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/Win.pyx":105 * cdef void *base = NULL * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_allocate_shared( * size, disp_unit, cinfo, */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 105, __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_win = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Win.pyx":106 * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_allocate_shared( # <<<<<<<<<<<<<< * size, disp_unit, cinfo, * comm.ob_mpi, &base, &win.ob_mpi) ) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Win.pyx":108 * with nogil: CHKERR( MPI_Win_allocate_shared( * size, disp_unit, cinfo, * 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_cinfo, __pyx_v_comm->__pyx_base.ob_mpi, (&__pyx_v_base), (&__pyx_v_win->ob_mpi))); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(29, 106, __pyx_L4_error) } /* "MPI/Win.pyx":106 * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_allocate_shared( # <<<<<<<<<<<<<< * size, disp_unit, cinfo, * comm.ob_mpi, &base, &win.ob_mpi) ) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":109 * size, disp_unit, cinfo, * 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 == -1)) __PYX_ERR(29, 109, __pyx_L1_error) /* "MPI/Win.pyx":110 * 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; /* "MPI/Win.pyx":97 * * @classmethod * def Allocate_shared(cls, Aint size, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, * Intracomm comm not None=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; } /* "MPI/Win.pyx":112 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 112, __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(29, 112, __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(29, 112, __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; __Pyx_RefNannySetupContext("Shared_query", 0); /* "MPI/Win.pyx":118 * created with `Win.Allocate_shared()` * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0 * cdef int disp_unit = 1 */ __pyx_v_base = NULL; /* "MPI/Win.pyx":119 * """ * cdef void *base = NULL * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * cdef int disp_unit = 1 * CHKERR( MPI_Win_shared_query( */ __pyx_v_size = 0; /* "MPI/Win.pyx":120 * cdef void *base = NULL * cdef MPI_Aint size = 0 * cdef int disp_unit = 1 # <<<<<<<<<<<<<< * CHKERR( MPI_Win_shared_query( * self.ob_mpi, rank, */ __pyx_v_disp_unit = 1; /* "MPI/Win.pyx":121 * cdef MPI_Aint size = 0 * cdef int disp_unit = 1 * CHKERR( MPI_Win_shared_query( # <<<<<<<<<<<<<< * self.ob_mpi, rank, * &size, &disp_unit, &base) ) */ __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 == -1)) __PYX_ERR(29, 121, __pyx_L1_error) /* "MPI/Win.pyx":124 * self.ob_mpi, rank, * &size, &disp_unit, &base) ) * return (tomemory(base, size), disp_unit) # <<<<<<<<<<<<<< * * @classmethod */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_base, __pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 124, __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(29, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(29, 124, __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; /* "MPI/Win.pyx":112 * 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; } /* "MPI/Win.pyx":127 * * @classmethod * def Create_dynamic(cls, # <<<<<<<<<<<<<< * Info info=INFO_NULL, * Intracomm comm not None=COMM_SELF): */ /* 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; 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__121; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_info); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 127, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(29, 127, __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, 1, "info", 0))) __PYX_ERR(29, 128, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_comm), __pyx_ptype_6mpi4py_3MPI_Intracomm, 0, "comm", 0))) __PYX_ERR(29, 129, __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) { MPI_Info __pyx_v_cinfo; 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; __Pyx_RefNannySetupContext("Create_dynamic", 0); /* "MPI/Win.pyx":133 * Create an window object for one-sided communication * """ * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create_dynamic( */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/Win.pyx":134 * """ * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_Win_create_dynamic( * cinfo, comm.ob_mpi, &win.ob_mpi) ) */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 134, __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_win = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Win.pyx":135 * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create_dynamic( # <<<<<<<<<<<<<< * cinfo, comm.ob_mpi, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/Win.pyx":136 * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create_dynamic( * cinfo, 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_cinfo, __pyx_v_comm->__pyx_base.ob_mpi, (&__pyx_v_win->ob_mpi))); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(29, 135, __pyx_L4_error) } /* "MPI/Win.pyx":135 * cdef MPI_Info cinfo = arg_Info(info) * cdef Win win = Win.__new__(Win) * with nogil: CHKERR( MPI_Win_create_dynamic( # <<<<<<<<<<<<<< * cinfo, comm.ob_mpi, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":137 * with nogil: CHKERR( MPI_Win_create_dynamic( * cinfo, 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 == -1)) __PYX_ERR(29, 137, __pyx_L1_error) /* "MPI/Win.pyx":138 * cinfo, comm.ob_mpi, &win.ob_mpi) ) * win_set_eh(win.ob_mpi) * win.ob_mem = {} # <<<<<<<<<<<<<< * return win * */ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 138, __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; /* "MPI/Win.pyx":139 * 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; /* "MPI/Win.pyx":127 * * @classmethod * def Create_dynamic(cls, # <<<<<<<<<<<<<< * Info info=INFO_NULL, * Intracomm comm not None=COMM_SELF): */ /* 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; } /* "MPI/Win.pyx":141 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 141, __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(29, 141, __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; __Pyx_RefNannySetupContext("Attach", 0); __Pyx_INCREF(__pyx_v_memory); /* "MPI/Win.pyx":145 * Attach a local memory region * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0 * memory = getbuffer_w(memory, &base, &size) */ __pyx_v_base = NULL; /* "MPI/Win.pyx":146 * """ * cdef void *base = NULL * cdef MPI_Aint size = 0 # <<<<<<<<<<<<<< * memory = getbuffer_w(memory, &base, &size) * CHKERR( MPI_Win_attach(self.ob_mpi, base, size) ) */ __pyx_v_size = 0; /* "MPI/Win.pyx":147 * cdef void *base = NULL * cdef MPI_Aint size = 0 * memory = getbuffer_w(memory, &base, &size) # <<<<<<<<<<<<<< * 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(29, 147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_memory, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":148 * cdef MPI_Aint size = 0 * memory = getbuffer_w(memory, &base, &size) * CHKERR( MPI_Win_attach(self.ob_mpi, base, size) ) # <<<<<<<<<<<<<< * try: (self.ob_mem)[base] = memory * except: pass */ __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 == -1)) __PYX_ERR(29, 148, __pyx_L1_error) /* "MPI/Win.pyx":149 * memory = getbuffer_w(memory, &base, &size) * 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(29, 149, __pyx_L3_error) } __pyx_t_1 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)__pyx_v_base)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 149, __pyx_L3_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(29, 149, __pyx_L3_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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":150 * 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_L4_exception_handled; } __pyx_L4_exception_handled:; __Pyx_PyThreadState_assign __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_L10_try_end:; } /* "MPI/Win.pyx":141 * 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; } /* "MPI/Win.pyx":152 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 152, __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(29, 152, __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; __Pyx_RefNannySetupContext("Detach", 0); __Pyx_INCREF(__pyx_v_memory); /* "MPI/Win.pyx":156 * Detach a local memory region * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * memory = getbuffer_w(memory, &base, NULL) * CHKERR( MPI_Win_detach(self.ob_mpi, base) ) */ __pyx_v_base = NULL; /* "MPI/Win.pyx":157 * """ * cdef void *base = NULL * memory = getbuffer_w(memory, &base, NULL) # <<<<<<<<<<<<<< * 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(29, 157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_memory, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":158 * cdef void *base = NULL * memory = getbuffer_w(memory, &base, NULL) * CHKERR( MPI_Win_detach(self.ob_mpi, base) ) # <<<<<<<<<<<<<< * try: del (self.ob_mem)[base] * except: pass */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_detach(__pyx_v_self->ob_mpi, __pyx_v_base)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(29, 158, __pyx_L1_error) /* "MPI/Win.pyx":159 * memory = getbuffer_w(memory, &base, NULL) * 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(29, 159, __pyx_L3_error) } __pyx_t_1 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)__pyx_v_base)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 159, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyDict_DelItem(((PyObject*)__pyx_v_self->ob_mem), __pyx_t_1) < 0)) __PYX_ERR(29, 159, __pyx_L3_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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":160 * 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_L4_exception_handled; } __pyx_L4_exception_handled:; __Pyx_PyThreadState_assign __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_L10_try_end:; } /* "MPI/Win.pyx":152 * 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; } /* "MPI/Win.pyx":162 * 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; __Pyx_RefNannySetupContext("Free", 0); /* "MPI/Win.pyx":166 * Free a window * """ * with nogil: CHKERR( MPI_Win_free(&self.ob_mpi) ) # <<<<<<<<<<<<<< * self.ob_mem = None * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_free((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(29, 166, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":167 * """ * 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; /* "MPI/Win.pyx":162 * 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; } /* "MPI/Win.pyx":172 * # ----------- * * def Set_info(self, Info info not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 172, __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(29, 172, __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(29, 172, __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; __Pyx_RefNannySetupContext("Set_info", 0); /* "MPI/Win.pyx":177 * 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 #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 == -1)) __PYX_ERR(29, 177, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":172 * # ----------- * * def Set_info(self, Info info not None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Win.pyx":179 * 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; __Pyx_RefNannySetupContext("Get_info", 0); /* "MPI/Win.pyx":184 * 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 = __pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 184, __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_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Win.pyx":185 * """ * 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 #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 == -1)) __PYX_ERR(29, 185, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":186 * 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; /* "MPI/Win.pyx":179 * 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; } /* "MPI/Win.pyx":190 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Win.pyx":191 * """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(29, 191, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 191, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 191, __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; /* "MPI/Win.pyx":190 * 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; } /* "MPI/Win.pyx":192 * 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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__set__", 0); /* "MPI/Win.pyx":193 * 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(29, 193, __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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_info}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 193, __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[2] = {__pyx_t_3, __pyx_v_info}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 193, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(29, 193, __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 = NULL; __Pyx_INCREF(__pyx_v_info); __Pyx_GIVEREF(__pyx_v_info); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_info); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":192 * 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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Win.info.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/Win.pyx":198 * # ------------- * * 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; __Pyx_RefNannySetupContext("Get_group", 0); /* "MPI/Win.pyx":203 * 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_Call(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_group = ((struct PyMPIGroupObject *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":204 * """ * 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 #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 == -1)) __PYX_ERR(29, 204, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":205 * 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; /* "MPI/Win.pyx":198 * # ------------- * * 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; } /* "MPI/Win.pyx":209 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Win.pyx":210 * """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(29, 210, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 210, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 210, __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; /* "MPI/Win.pyx":209 * 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; } /* "MPI/Win.pyx":215 * # ----------------- * * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 215, __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(29, 215, __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(29, 215, __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_t_4; __Pyx_RefNannySetupContext("Get_attr", 0); /* "MPI/Win.pyx":219 * 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; /* "MPI/Win.pyx":220 * """ * 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; /* "MPI/Win.pyx":221 * 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 == -1)) __PYX_ERR(29, 221, __pyx_L1_error) /* "MPI/Win.pyx":222 * 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 * # handle predefined keyvals */ __pyx_t_2 = ((__pyx_v_flag == 0) != 0); if (__pyx_t_2) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; } /* "MPI/Win.pyx":223 * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, &attrval, &flag) ) * if flag == 0: return None * if attrval == NULL: return 0 # <<<<<<<<<<<<<< * # handle predefined 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; } /* "MPI/Win.pyx":225 * if attrval == NULL: return 0 * # handle predefined 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) { /* "MPI/Win.pyx":226 * # handle predefined 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(29, 226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/Win.pyx":225 * if attrval == NULL: return 0 * # handle predefined keyvals * if keyval == MPI_WIN_BASE: # <<<<<<<<<<<<<< * return attrval * elif keyval == MPI_WIN_SIZE: */ } /* "MPI/Win.pyx":227 * 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) { /* "MPI/Win.pyx":228 * 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(29, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/Win.pyx":227 * if keyval == MPI_WIN_BASE: * return attrval * elif keyval == MPI_WIN_SIZE: # <<<<<<<<<<<<<< * return (attrval)[0] * elif keyval == MPI_WIN_DISP_UNIT: */ } /* "MPI/Win.pyx":229 * elif keyval == MPI_WIN_SIZE: * return (attrval)[0] * elif keyval == MPI_WIN_DISP_UNIT: # <<<<<<<<<<<<<< * return (attrval)[0] * elif keyval == MPI_WIN_CREATE_FLAVOR: */ __pyx_t_2 = ((__pyx_v_keyval == MPI_WIN_DISP_UNIT) != 0); if (__pyx_t_2) { /* "MPI/Win.pyx":230 * return (attrval)[0] * elif keyval == MPI_WIN_DISP_UNIT: * return (attrval)[0] # <<<<<<<<<<<<<< * elif keyval == MPI_WIN_CREATE_FLAVOR: * 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(29, 230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/Win.pyx":229 * elif keyval == MPI_WIN_SIZE: * return (attrval)[0] * elif keyval == MPI_WIN_DISP_UNIT: # <<<<<<<<<<<<<< * return (attrval)[0] * elif keyval == MPI_WIN_CREATE_FLAVOR: */ } /* "MPI/Win.pyx":231 * elif keyval == MPI_WIN_DISP_UNIT: * return (attrval)[0] * 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) { /* "MPI/Win.pyx":232 * return (attrval)[0] * 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(29, 232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/Win.pyx":231 * elif keyval == MPI_WIN_DISP_UNIT: * return (attrval)[0] * elif keyval == MPI_WIN_CREATE_FLAVOR: # <<<<<<<<<<<<<< * return (attrval)[0] * elif keyval == MPI_WIN_MODEL: */ } /* "MPI/Win.pyx":233 * elif keyval == MPI_WIN_CREATE_FLAVOR: * return (attrval)[0] * elif keyval == MPI_WIN_MODEL: # <<<<<<<<<<<<<< * return (attrval)[0] * # likely be a user-defined keyval */ __pyx_t_2 = ((__pyx_v_keyval == MPI_WIN_MODEL) != 0); if (__pyx_t_2) { /* "MPI/Win.pyx":234 * return (attrval)[0] * elif keyval == MPI_WIN_MODEL: * return (attrval)[0] # <<<<<<<<<<<<<< * # likely be a user-defined keyval * elif keyval in win_keyval: */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyInt_From_int((((int *)__pyx_v_attrval)[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/Win.pyx":233 * elif keyval == MPI_WIN_CREATE_FLAVOR: * return (attrval)[0] * elif keyval == MPI_WIN_MODEL: # <<<<<<<<<<<<<< * return (attrval)[0] * # likely be a user-defined keyval */ } /* "MPI/Win.pyx":236 * return (attrval)[0] * # likely be a user-defined keyval * elif keyval in win_keyval: # <<<<<<<<<<<<<< * return attrval * else: */ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__pyx_v_6mpi4py_3MPI_win_keyval == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); __PYX_ERR(29, 236, __pyx_L1_error) } __pyx_t_2 = (__Pyx_PyDict_ContainsTF(__pyx_t_3, __pyx_v_6mpi4py_3MPI_win_keyval, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(29, 236, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = (__pyx_t_2 != 0); if (__pyx_t_4) { /* "MPI/Win.pyx":237 * # likely be a user-defined keyval * elif keyval in win_keyval: * 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; /* "MPI/Win.pyx":236 * return (attrval)[0] * # likely be a user-defined keyval * elif keyval in win_keyval: # <<<<<<<<<<<<<< * return attrval * else: */ } /* "MPI/Win.pyx":239 * return attrval * else: * return PyLong_FromVoidPtr(attrval) # <<<<<<<<<<<<<< * * def Set_attr(self, int keyval, object attrval): */ /*else*/ { __Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyLong_FromVoidPtr(__pyx_v_attrval); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "MPI/Win.pyx":215 * # ----------------- * * 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; } /* "MPI/Win.pyx":241 * return PyLong_FromVoidPtr(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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_keyval)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_attrval)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Set_attr", 1, 2, 2, 1); __PYX_ERR(29, 241, __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(29, 241, __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(29, 241, __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(29, 241, __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) { void *__pyx_v_ptrval; PyObject *__pyx_v_state = 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; __Pyx_RefNannySetupContext("Set_attr", 0); /* "MPI/Win.pyx":245 * Store attribute value associated with a key * """ * cdef void *ptrval = NULL # <<<<<<<<<<<<<< * cdef object state = win_keyval.get(keyval) * if state is not None: */ __pyx_v_ptrval = NULL; /* "MPI/Win.pyx":246 * """ * cdef void *ptrval = NULL * cdef object state = win_keyval.get(keyval) # <<<<<<<<<<<<<< * if state is not None: * ptrval = attrval */ if (unlikely(__pyx_v_6mpi4py_3MPI_win_keyval == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get"); __PYX_ERR(29, 246, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 246, __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(29, 246, __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; /* "MPI/Win.pyx":247 * cdef void *ptrval = NULL * cdef object state = win_keyval.get(keyval) * if state is not None: # <<<<<<<<<<<<<< * ptrval = attrval * else: */ __pyx_t_3 = (__pyx_v_state != Py_None); __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { /* "MPI/Win.pyx":248 * cdef object state = win_keyval.get(keyval) * if state is not None: * ptrval = attrval # <<<<<<<<<<<<<< * else: * ptrval = PyLong_AsVoidPtr(attrval) */ __pyx_v_ptrval = ((void *)__pyx_v_attrval); /* "MPI/Win.pyx":247 * cdef void *ptrval = NULL * cdef object state = win_keyval.get(keyval) * if state is not None: # <<<<<<<<<<<<<< * ptrval = attrval * else: */ goto __pyx_L3; } /* "MPI/Win.pyx":250 * ptrval = attrval * else: * ptrval = PyLong_AsVoidPtr(attrval) # <<<<<<<<<<<<<< * CHKERR( MPI_Win_set_attr(self.ob_mpi, keyval, ptrval) ) * if state is None: return */ /*else*/ { __pyx_v_ptrval = PyLong_AsVoidPtr(__pyx_v_attrval); } __pyx_L3:; /* "MPI/Win.pyx":251 * else: * ptrval = PyLong_AsVoidPtr(attrval) * CHKERR( MPI_Win_set_attr(self.ob_mpi, keyval, ptrval) ) # <<<<<<<<<<<<<< * if state is None: return * Py_INCREF(attrval) */ __pyx_t_5 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_set_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval, __pyx_v_ptrval)); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(29, 251, __pyx_L1_error) /* "MPI/Win.pyx":252 * ptrval = PyLong_AsVoidPtr(attrval) * CHKERR( MPI_Win_set_attr(self.ob_mpi, keyval, ptrval) ) * if state is None: return # <<<<<<<<<<<<<< * Py_INCREF(attrval) * Py_INCREF(state) */ __pyx_t_4 = (__pyx_v_state == Py_None); __pyx_t_3 = (__pyx_t_4 != 0); if (__pyx_t_3) { __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; } /* "MPI/Win.pyx":253 * CHKERR( MPI_Win_set_attr(self.ob_mpi, keyval, ptrval) ) * if state is None: return * Py_INCREF(attrval) # <<<<<<<<<<<<<< * Py_INCREF(state) * */ Py_INCREF(__pyx_v_attrval); /* "MPI/Win.pyx":254 * if state is None: return * Py_INCREF(attrval) * Py_INCREF(state) # <<<<<<<<<<<<<< * * def Delete_attr(self, int keyval): */ Py_INCREF(__pyx_v_state); /* "MPI/Win.pyx":241 * return PyLong_FromVoidPtr(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_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("mpi4py.MPI.Win.Set_attr", __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; } /* "MPI/Win.pyx":256 * Py_INCREF(state) * * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 256, __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(29, 256, __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(29, 256, __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; __Pyx_RefNannySetupContext("Delete_attr", 0); /* "MPI/Win.pyx":260 * 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 == -1)) __PYX_ERR(29, 260, __pyx_L1_error) /* "MPI/Win.pyx":256 * Py_INCREF(state) * * 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; } /* "MPI/Win.pyx":263 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None): # <<<<<<<<<<<<<< * """ * 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)\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_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Create_keyval (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_copy_fn,&__pyx_n_s_delete_fn,0}; PyObject* values[2] = {0,0}; values[0] = ((PyObject *)Py_None); 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_copy_fn); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_delete_fn); 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_keyval") < 0)) __PYX_ERR(29, 263, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_copy_fn = values[0]; __pyx_v_delete_fn = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Create_keyval", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(29, 263, __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); /* 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_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; __Pyx_RefNannySetupContext("Create_keyval", 0); /* "MPI/Win.pyx":267 * Create a new attribute key for windows * """ * cdef object state = _p_keyval(copy_fn, delete_fn) # <<<<<<<<<<<<<< * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Win_copy_attr_function *_copy = win_attr_copy_fn */ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 267, __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_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6mpi4py_3MPI__p_keyval), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 267, __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; /* "MPI/Win.pyx":268 * """ * cdef object state = _p_keyval(copy_fn, delete_fn) * cdef int keyval = MPI_KEYVAL_INVALID # <<<<<<<<<<<<<< * cdef MPI_Win_copy_attr_function *_copy = win_attr_copy_fn * cdef MPI_Win_delete_attr_function *_del = win_attr_delete_fn */ __pyx_v_keyval = MPI_KEYVAL_INVALID; /* "MPI/Win.pyx":269 * cdef object state = _p_keyval(copy_fn, delete_fn) * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Win_copy_attr_function *_copy = win_attr_copy_fn # <<<<<<<<<<<<<< * cdef MPI_Win_delete_attr_function *_del = win_attr_delete_fn * cdef void *extra_state = state */ __pyx_v__copy = __pyx_f_6mpi4py_3MPI_win_attr_copy_fn; /* "MPI/Win.pyx":270 * cdef int keyval = MPI_KEYVAL_INVALID * cdef MPI_Win_copy_attr_function *_copy = win_attr_copy_fn * cdef MPI_Win_delete_attr_function *_del = win_attr_delete_fn # <<<<<<<<<<<<<< * cdef void *extra_state = state * CHKERR( MPI_Win_create_keyval(_copy, _del, &keyval, extra_state) ) */ __pyx_v__del = __pyx_f_6mpi4py_3MPI_win_attr_delete_fn; /* "MPI/Win.pyx":271 * cdef MPI_Win_copy_attr_function *_copy = win_attr_copy_fn * cdef MPI_Win_delete_attr_function *_del = win_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); /* "MPI/Win.pyx":272 * cdef MPI_Win_delete_attr_function *_del = win_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 == -1)) __PYX_ERR(29, 272, __pyx_L1_error) /* "MPI/Win.pyx":273 * 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(29, 273, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_keyval); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 273, __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(29, 273, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Win.pyx":274 * 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(29, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Win.pyx":263 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Win.pyx":277 * * @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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 277, __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(29, 277, __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(29, 277, __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; __Pyx_RefNannySetupContext("Free_keyval", 0); /* "MPI/Win.pyx":281 * 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; /* "MPI/Win.pyx":282 * """ * 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 == -1)) __PYX_ERR(29, 282, __pyx_L1_error) /* "MPI/Win.pyx":283 * 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(29, 283, __pyx_L3_error) } __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_keyval_save); if (unlikely(!__pyx_t_5)) __PYX_ERR(29, 283, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_DelItem(__pyx_v_6mpi4py_3MPI_win_keyval, __pyx_t_5) < 0)) __PYX_ERR(29, 283, __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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /* "MPI/Win.pyx":284 * 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:; /* "MPI/Win.pyx":283 * cdef int keyval_save = keyval * CHKERR( MPI_Win_free_keyval(&keyval) ) * try: del win_keyval[keyval_save] # <<<<<<<<<<<<<< * except KeyError: pass * return keyval */ __Pyx_PyThreadState_assign __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_PyThreadState_assign __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_L10_try_end:; } /* "MPI/Win.pyx":285 * 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(29, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "MPI/Win.pyx":277 * * @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; } /* "MPI/Win.pyx":289 * property attrs: * "window attributes" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Win win = self.ob_mpi * cdef void *base = NULL, *pbase = NULL */ /* 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) { MPI_Win __pyx_v_win; void *__pyx_v_base; void *__pyx_v_pbase; MPI_Aint __pyx_v_size; MPI_Aint *__pyx_v_psize; int __pyx_v_disp; int *__pyx_v_pdisp; int __pyx_v_keyval; int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Win __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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Win.pyx":290 * "window attributes" * def __get__(self): * cdef MPI_Win win = self.ob_mpi # <<<<<<<<<<<<<< * cdef void *base = NULL, *pbase = NULL * cdef MPI_Aint size = 0, *psize = NULL */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_win = __pyx_t_1; /* "MPI/Win.pyx":291 * def __get__(self): * cdef MPI_Win win = self.ob_mpi * cdef void *base = NULL, *pbase = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0, *psize = NULL * cdef int disp = 1, *pdisp = NULL */ __pyx_v_base = NULL; __pyx_v_pbase = NULL; /* "MPI/Win.pyx":292 * cdef MPI_Win win = self.ob_mpi * cdef void *base = NULL, *pbase = NULL * cdef MPI_Aint size = 0, *psize = NULL # <<<<<<<<<<<<<< * cdef int disp = 1, *pdisp = NULL * cdef int keyval = MPI_KEYVAL_INVALID */ __pyx_v_size = 0; __pyx_v_psize = NULL; /* "MPI/Win.pyx":293 * cdef void *base = NULL, *pbase = NULL * cdef MPI_Aint size = 0, *psize = NULL * cdef int disp = 1, *pdisp = NULL # <<<<<<<<<<<<<< * cdef int keyval = MPI_KEYVAL_INVALID * cdef int flag = 0 */ __pyx_v_disp = 1; __pyx_v_pdisp = NULL; /* "MPI/Win.pyx":294 * cdef MPI_Aint size = 0, *psize = NULL * cdef int disp = 1, *pdisp = NULL * cdef int keyval = MPI_KEYVAL_INVALID # <<<<<<<<<<<<<< * cdef int flag = 0 * # */ __pyx_v_keyval = MPI_KEYVAL_INVALID; /* "MPI/Win.pyx":295 * cdef int disp = 1, *pdisp = NULL * cdef int keyval = MPI_KEYVAL_INVALID * cdef int flag = 0 # <<<<<<<<<<<<<< * # * keyval = MPI_WIN_BASE */ __pyx_v_flag = 0; /* "MPI/Win.pyx":297 * cdef int flag = 0 * # * keyval = MPI_WIN_BASE # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(win, keyval, &pbase, &flag) ) * if flag and pbase != NULL: base = pbase */ __pyx_v_keyval = MPI_WIN_BASE; /* "MPI/Win.pyx":298 * # * keyval = MPI_WIN_BASE * CHKERR( MPI_Win_get_attr(win, keyval, &pbase, &flag) ) # <<<<<<<<<<<<<< * if flag and pbase != NULL: base = pbase * # */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_win, __pyx_v_keyval, (&__pyx_v_pbase), (&__pyx_v_flag))); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(29, 298, __pyx_L1_error) /* "MPI/Win.pyx":299 * keyval = MPI_WIN_BASE * CHKERR( MPI_Win_get_attr(win, keyval, &pbase, &flag) ) * if flag and pbase != NULL: base = pbase # <<<<<<<<<<<<<< * # * keyval = MPI_WIN_SIZE */ __pyx_t_4 = (__pyx_v_flag != 0); if (__pyx_t_4) { } else { __pyx_t_3 = __pyx_t_4; goto __pyx_L4_bool_binop_done; } __pyx_t_4 = ((__pyx_v_pbase != NULL) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L4_bool_binop_done:; if (__pyx_t_3) { __pyx_v_base = __pyx_v_pbase; } /* "MPI/Win.pyx":301 * if flag and pbase != NULL: base = pbase * # * keyval = MPI_WIN_SIZE # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(win, keyval, &psize, &flag) ) * if flag and psize != NULL: size = psize[0] */ __pyx_v_keyval = MPI_WIN_SIZE; /* "MPI/Win.pyx":302 * # * keyval = MPI_WIN_SIZE * CHKERR( MPI_Win_get_attr(win, keyval, &psize, &flag) ) # <<<<<<<<<<<<<< * if flag and psize != NULL: size = psize[0] * # */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_win, __pyx_v_keyval, (&__pyx_v_psize), (&__pyx_v_flag))); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(29, 302, __pyx_L1_error) /* "MPI/Win.pyx":303 * keyval = MPI_WIN_SIZE * CHKERR( MPI_Win_get_attr(win, keyval, &psize, &flag) ) * if flag and psize != NULL: size = psize[0] # <<<<<<<<<<<<<< * # * keyval = MPI_WIN_DISP_UNIT */ __pyx_t_4 = (__pyx_v_flag != 0); if (__pyx_t_4) { } else { __pyx_t_3 = __pyx_t_4; goto __pyx_L7_bool_binop_done; } __pyx_t_4 = ((__pyx_v_psize != NULL) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L7_bool_binop_done:; if (__pyx_t_3) { __pyx_v_size = (__pyx_v_psize[0]); } /* "MPI/Win.pyx":305 * if flag and psize != NULL: size = psize[0] * # * keyval = MPI_WIN_DISP_UNIT # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(win, keyval, &pdisp, &flag) ) * if flag and pdisp != NULL: disp = pdisp[0] */ __pyx_v_keyval = MPI_WIN_DISP_UNIT; /* "MPI/Win.pyx":306 * # * keyval = MPI_WIN_DISP_UNIT * CHKERR( MPI_Win_get_attr(win, keyval, &pdisp, &flag) ) # <<<<<<<<<<<<<< * if flag and pdisp != NULL: disp = pdisp[0] * # */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_win, __pyx_v_keyval, (&__pyx_v_pdisp), (&__pyx_v_flag))); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(29, 306, __pyx_L1_error) /* "MPI/Win.pyx":307 * keyval = MPI_WIN_DISP_UNIT * CHKERR( MPI_Win_get_attr(win, keyval, &pdisp, &flag) ) * if flag and pdisp != NULL: disp = pdisp[0] # <<<<<<<<<<<<<< * # * return (base, size, disp) */ __pyx_t_4 = (__pyx_v_flag != 0); if (__pyx_t_4) { } else { __pyx_t_3 = __pyx_t_4; goto __pyx_L10_bool_binop_done; } __pyx_t_4 = ((__pyx_v_pdisp != NULL) != 0); __pyx_t_3 = __pyx_t_4; __pyx_L10_bool_binop_done:; if (__pyx_t_3) { __pyx_v_disp = (__pyx_v_pdisp[0]); } /* "MPI/Win.pyx":309 * if flag and pdisp != NULL: disp = pdisp[0] * # * return (base, size, disp) # <<<<<<<<<<<<<< * * property flavor: */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)__pyx_v_base)); if (unlikely(!__pyx_t_5)) __PYX_ERR(29, 309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_From_MPI_Aint(__pyx_v_size); if (unlikely(!__pyx_t_6)) __PYX_ERR(29, 309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_disp); if (unlikely(!__pyx_t_7)) __PYX_ERR(29, 309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(29, 309, __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_7); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_7); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0; /* "MPI/Win.pyx":289 * property attrs: * "window attributes" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Win win = self.ob_mpi * cdef void *base = NULL, *pbase = NULL */ /* 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.Win.attrs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/Win.pyx":313 * property flavor: * """window create flavor""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int keyval = MPI_WIN_CREATE_FLAVOR * cdef int *flavor = 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_flavor; int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Win.pyx":314 * """window create flavor""" * def __get__(self): * cdef int keyval = MPI_WIN_CREATE_FLAVOR # <<<<<<<<<<<<<< * cdef int *flavor = NULL * cdef int flag = 0 */ __pyx_v_keyval = MPI_WIN_CREATE_FLAVOR; /* "MPI/Win.pyx":315 * def __get__(self): * cdef int keyval = MPI_WIN_CREATE_FLAVOR * cdef int *flavor = NULL # <<<<<<<<<<<<<< * cdef int flag = 0 * if keyval == MPI_KEYVAL_INVALID: return MPI_WIN_FLAVOR_CREATE */ __pyx_v_flavor = NULL; /* "MPI/Win.pyx":316 * cdef int keyval = MPI_WIN_CREATE_FLAVOR * cdef int *flavor = NULL * cdef int flag = 0 # <<<<<<<<<<<<<< * if keyval == MPI_KEYVAL_INVALID: return MPI_WIN_FLAVOR_CREATE * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, */ __pyx_v_flag = 0; /* "MPI/Win.pyx":317 * cdef int *flavor = NULL * cdef int flag = 0 * if keyval == MPI_KEYVAL_INVALID: return MPI_WIN_FLAVOR_CREATE # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, * &flavor, &flag) ) */ __pyx_t_1 = ((__pyx_v_keyval == MPI_KEYVAL_INVALID) != 0); if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(MPI_WIN_FLAVOR_CREATE); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "MPI/Win.pyx":318 * cdef int flag = 0 * if keyval == MPI_KEYVAL_INVALID: return MPI_WIN_FLAVOR_CREATE * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, # <<<<<<<<<<<<<< * &flavor, &flag) ) * if flag and flavor != NULL: return flavor[0] */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval, ((void *)(&__pyx_v_flavor)), (&__pyx_v_flag))); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(29, 318, __pyx_L1_error) /* "MPI/Win.pyx":320 * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, * &flavor, &flag) ) * if flag and flavor != NULL: return flavor[0] # <<<<<<<<<<<<<< * return MPI_WIN_FLAVOR_CREATE * */ __pyx_t_4 = (__pyx_v_flag != 0); if (__pyx_t_4) { } else { __pyx_t_1 = __pyx_t_4; goto __pyx_L5_bool_binop_done; } __pyx_t_4 = ((__pyx_v_flavor != NULL) != 0); __pyx_t_1 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int((__pyx_v_flavor[0])); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "MPI/Win.pyx":321 * &flavor, &flag) ) * if flag and flavor != NULL: return flavor[0] * return MPI_WIN_FLAVOR_CREATE # <<<<<<<<<<<<<< * * property model: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(MPI_WIN_FLAVOR_CREATE); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Win.pyx":313 * property flavor: * """window create flavor""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int keyval = MPI_WIN_CREATE_FLAVOR * cdef int *flavor = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __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; } /* "MPI/Win.pyx":325 * property model: * """window memory model""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int keyval = MPI_WIN_MODEL * cdef int *model = 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_model; int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; int __pyx_t_4; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Win.pyx":326 * """window memory model""" * def __get__(self): * cdef int keyval = MPI_WIN_MODEL # <<<<<<<<<<<<<< * cdef int *model = NULL * cdef int flag = 0 */ __pyx_v_keyval = MPI_WIN_MODEL; /* "MPI/Win.pyx":327 * def __get__(self): * cdef int keyval = MPI_WIN_MODEL * cdef int *model = NULL # <<<<<<<<<<<<<< * cdef int flag = 0 * if keyval == MPI_KEYVAL_INVALID: return MPI_WIN_SEPARATE */ __pyx_v_model = NULL; /* "MPI/Win.pyx":328 * cdef int keyval = MPI_WIN_MODEL * cdef int *model = NULL * cdef int flag = 0 # <<<<<<<<<<<<<< * if keyval == MPI_KEYVAL_INVALID: return MPI_WIN_SEPARATE * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, */ __pyx_v_flag = 0; /* "MPI/Win.pyx":329 * cdef int *model = NULL * cdef int flag = 0 * if keyval == MPI_KEYVAL_INVALID: return MPI_WIN_SEPARATE # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, * &model, &flag) ) */ __pyx_t_1 = ((__pyx_v_keyval == MPI_KEYVAL_INVALID) != 0); if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(MPI_WIN_SEPARATE); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "MPI/Win.pyx":330 * cdef int flag = 0 * if keyval == MPI_KEYVAL_INVALID: return MPI_WIN_SEPARATE * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, # <<<<<<<<<<<<<< * &model, &flag) ) * if flag and model != NULL: return model[0] */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_self->ob_mpi, __pyx_v_keyval, ((void *)(&__pyx_v_model)), (&__pyx_v_flag))); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(29, 330, __pyx_L1_error) /* "MPI/Win.pyx":332 * CHKERR( MPI_Win_get_attr(self.ob_mpi, keyval, * &model, &flag) ) * if flag and model != NULL: return model[0] # <<<<<<<<<<<<<< * return MPI_WIN_SEPARATE * */ __pyx_t_4 = (__pyx_v_flag != 0); if (__pyx_t_4) { } else { __pyx_t_1 = __pyx_t_4; goto __pyx_L5_bool_binop_done; } __pyx_t_4 = ((__pyx_v_model != NULL) != 0); __pyx_t_1 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_1) { __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int((__pyx_v_model[0])); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 332, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; } /* "MPI/Win.pyx":333 * &model, &flag) ) * if flag and model != NULL: return model[0] * return MPI_WIN_SEPARATE # <<<<<<<<<<<<<< * * property memory: */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_int(MPI_WIN_SEPARATE); if (unlikely(!__pyx_t_2)) __PYX_ERR(29, 333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Win.pyx":325 * property model: * """window memory model""" * def __get__(self): # <<<<<<<<<<<<<< * cdef int keyval = MPI_WIN_MODEL * cdef int *model = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __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; } /* "MPI/Win.pyx":337 * property memory: * """window memory buffer""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Win win = self.ob_mpi * cdef int *flavor = NULL */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_6memory_1__get__(PyObject *__pyx_v_self); /*proto*/ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_6memory_1__get__(PyObject *__pyx_v_self) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_6memory___get__(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_6memory___get__(struct PyMPIWinObject *__pyx_v_self) { MPI_Win __pyx_v_win; int *__pyx_v_flavor; void *__pyx_v_base; void *__pyx_v_pbase; MPI_Aint __pyx_v_size; MPI_Aint *__pyx_v_psize; int __pyx_v_keyval; int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations MPI_Win __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Win.pyx":338 * """window memory buffer""" * def __get__(self): * cdef MPI_Win win = self.ob_mpi # <<<<<<<<<<<<<< * cdef int *flavor = NULL * cdef void *base = NULL, *pbase = NULL */ __pyx_t_1 = __pyx_v_self->ob_mpi; __pyx_v_win = __pyx_t_1; /* "MPI/Win.pyx":339 * def __get__(self): * cdef MPI_Win win = self.ob_mpi * cdef int *flavor = NULL # <<<<<<<<<<<<<< * cdef void *base = NULL, *pbase = NULL * cdef MPI_Aint size = 0, *psize = NULL */ __pyx_v_flavor = NULL; /* "MPI/Win.pyx":340 * cdef MPI_Win win = self.ob_mpi * cdef int *flavor = NULL * cdef void *base = NULL, *pbase = NULL # <<<<<<<<<<<<<< * cdef MPI_Aint size = 0, *psize = NULL * cdef int keyval = MPI_KEYVAL_INVALID */ __pyx_v_base = NULL; __pyx_v_pbase = NULL; /* "MPI/Win.pyx":341 * cdef int *flavor = NULL * cdef void *base = NULL, *pbase = NULL * cdef MPI_Aint size = 0, *psize = NULL # <<<<<<<<<<<<<< * cdef int keyval = MPI_KEYVAL_INVALID * cdef int flag = 0 */ __pyx_v_size = 0; __pyx_v_psize = NULL; /* "MPI/Win.pyx":342 * cdef void *base = NULL, *pbase = NULL * cdef MPI_Aint size = 0, *psize = NULL * cdef int keyval = MPI_KEYVAL_INVALID # <<<<<<<<<<<<<< * cdef int flag = 0 * # */ __pyx_v_keyval = MPI_KEYVAL_INVALID; /* "MPI/Win.pyx":343 * cdef MPI_Aint size = 0, *psize = NULL * cdef int keyval = MPI_KEYVAL_INVALID * cdef int flag = 0 # <<<<<<<<<<<<<< * # * keyval = MPI_WIN_CREATE_FLAVOR */ __pyx_v_flag = 0; /* "MPI/Win.pyx":345 * cdef int flag = 0 * # * keyval = MPI_WIN_CREATE_FLAVOR # <<<<<<<<<<<<<< * if keyval != MPI_KEYVAL_INVALID: * CHKERR( MPI_Win_get_attr(win, keyval, &flavor, &flag) ) */ __pyx_v_keyval = MPI_WIN_CREATE_FLAVOR; /* "MPI/Win.pyx":346 * # * keyval = MPI_WIN_CREATE_FLAVOR * if keyval != MPI_KEYVAL_INVALID: # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(win, keyval, &flavor, &flag) ) * if flag and flavor != NULL: */ __pyx_t_2 = ((__pyx_v_keyval != MPI_KEYVAL_INVALID) != 0); if (__pyx_t_2) { /* "MPI/Win.pyx":347 * keyval = MPI_WIN_CREATE_FLAVOR * if keyval != MPI_KEYVAL_INVALID: * CHKERR( MPI_Win_get_attr(win, keyval, &flavor, &flag) ) # <<<<<<<<<<<<<< * if flag and flavor != NULL: * if flavor[0] == MPI_WIN_FLAVOR_DYNAMIC: */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_win, __pyx_v_keyval, (&__pyx_v_flavor), (&__pyx_v_flag))); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(29, 347, __pyx_L1_error) /* "MPI/Win.pyx":348 * if keyval != MPI_KEYVAL_INVALID: * CHKERR( MPI_Win_get_attr(win, keyval, &flavor, &flag) ) * if flag and flavor != NULL: # <<<<<<<<<<<<<< * if flavor[0] == MPI_WIN_FLAVOR_DYNAMIC: * return None */ __pyx_t_4 = (__pyx_v_flag != 0); if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L5_bool_binop_done; } __pyx_t_4 = ((__pyx_v_flavor != NULL) != 0); __pyx_t_2 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_2) { /* "MPI/Win.pyx":349 * CHKERR( MPI_Win_get_attr(win, keyval, &flavor, &flag) ) * if flag and flavor != NULL: * if flavor[0] == MPI_WIN_FLAVOR_DYNAMIC: # <<<<<<<<<<<<<< * return None * # */ __pyx_t_2 = (((__pyx_v_flavor[0]) == MPI_WIN_FLAVOR_DYNAMIC) != 0); if (__pyx_t_2) { /* "MPI/Win.pyx":350 * if flag and flavor != NULL: * if flavor[0] == MPI_WIN_FLAVOR_DYNAMIC: * return None # <<<<<<<<<<<<<< * # * keyval = MPI_WIN_BASE */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_None); __pyx_r = Py_None; goto __pyx_L0; /* "MPI/Win.pyx":349 * CHKERR( MPI_Win_get_attr(win, keyval, &flavor, &flag) ) * if flag and flavor != NULL: * if flavor[0] == MPI_WIN_FLAVOR_DYNAMIC: # <<<<<<<<<<<<<< * return None * # */ } /* "MPI/Win.pyx":348 * if keyval != MPI_KEYVAL_INVALID: * CHKERR( MPI_Win_get_attr(win, keyval, &flavor, &flag) ) * if flag and flavor != NULL: # <<<<<<<<<<<<<< * if flavor[0] == MPI_WIN_FLAVOR_DYNAMIC: * return None */ } /* "MPI/Win.pyx":346 * # * keyval = MPI_WIN_CREATE_FLAVOR * if keyval != MPI_KEYVAL_INVALID: # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(win, keyval, &flavor, &flag) ) * if flag and flavor != NULL: */ } /* "MPI/Win.pyx":352 * return None * # * keyval = MPI_WIN_BASE # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(win, keyval, &pbase, &flag) ) * if flag and pbase != NULL: base = pbase */ __pyx_v_keyval = MPI_WIN_BASE; /* "MPI/Win.pyx":353 * # * keyval = MPI_WIN_BASE * CHKERR( MPI_Win_get_attr(win, keyval, &pbase, &flag) ) # <<<<<<<<<<<<<< * if flag and pbase != NULL: base = pbase * # */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_win, __pyx_v_keyval, (&__pyx_v_pbase), (&__pyx_v_flag))); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(29, 353, __pyx_L1_error) /* "MPI/Win.pyx":354 * keyval = MPI_WIN_BASE * CHKERR( MPI_Win_get_attr(win, keyval, &pbase, &flag) ) * if flag and pbase != NULL: base = pbase # <<<<<<<<<<<<<< * # * keyval = MPI_WIN_SIZE */ __pyx_t_4 = (__pyx_v_flag != 0); if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L9_bool_binop_done; } __pyx_t_4 = ((__pyx_v_pbase != NULL) != 0); __pyx_t_2 = __pyx_t_4; __pyx_L9_bool_binop_done:; if (__pyx_t_2) { __pyx_v_base = __pyx_v_pbase; } /* "MPI/Win.pyx":356 * if flag and pbase != NULL: base = pbase * # * keyval = MPI_WIN_SIZE # <<<<<<<<<<<<<< * CHKERR( MPI_Win_get_attr(win, keyval, &psize, &flag) ) * if flag and psize != NULL: size = psize[0] */ __pyx_v_keyval = MPI_WIN_SIZE; /* "MPI/Win.pyx":357 * # * keyval = MPI_WIN_SIZE * CHKERR( MPI_Win_get_attr(win, keyval, &psize, &flag) ) # <<<<<<<<<<<<<< * if flag and psize != NULL: size = psize[0] * # */ __pyx_t_3 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_get_attr(__pyx_v_win, __pyx_v_keyval, (&__pyx_v_psize), (&__pyx_v_flag))); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(29, 357, __pyx_L1_error) /* "MPI/Win.pyx":358 * keyval = MPI_WIN_SIZE * CHKERR( MPI_Win_get_attr(win, keyval, &psize, &flag) ) * if flag and psize != NULL: size = psize[0] # <<<<<<<<<<<<<< * # * return tomemory(base, size) */ __pyx_t_4 = (__pyx_v_flag != 0); if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L12_bool_binop_done; } __pyx_t_4 = ((__pyx_v_psize != NULL) != 0); __pyx_t_2 = __pyx_t_4; __pyx_L12_bool_binop_done:; if (__pyx_t_2) { __pyx_v_size = (__pyx_v_psize[0]); } /* "MPI/Win.pyx":360 * if flag and psize != NULL: size = psize[0] * # * return tomemory(base, size) # <<<<<<<<<<<<<< * * # Communication Operations */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __pyx_f_6mpi4py_3MPI_tomemory(__pyx_v_base, __pyx_v_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(29, 360, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "MPI/Win.pyx":337 * property memory: * """window memory buffer""" * def __get__(self): # <<<<<<<<<<<<<< * cdef MPI_Win win = self.ob_mpi * cdef int *flavor = NULL */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("mpi4py.MPI.Win.memory.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/Win.pyx":365 * # ------------------------ * * 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_41Put(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_40Put[] = "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_41Put(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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_origin)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Put", 0, 2, 3, 1); __PYX_ERR(29, 365, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 365, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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(29, 365, __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(29, 365, __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_40Put(((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_40Put(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; __Pyx_RefNannySetupContext("Put", 0); /* "MPI/Win.pyx":369 * 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(29, 369, __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; /* "MPI/Win.pyx":370 * """ * 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 == -1)) __PYX_ERR(29, 370, __pyx_L1_error) /* "MPI/Win.pyx":371 * 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 #endif /*try:*/ { /* "MPI/Win.pyx":375 * 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 == -1)) __PYX_ERR(29, 371, __pyx_L4_error) } /* "MPI/Win.pyx":371 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":365 * # ------------------------ * * 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; } /* "MPI/Win.pyx":377 * 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_43Get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_42Get[] = "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_43Get(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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_origin)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Get", 0, 2, 3, 1); __PYX_ERR(29, 377, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 377, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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(29, 377, __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(29, 377, __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_42Get(((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_42Get(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; __Pyx_RefNannySetupContext("Get", 0); /* "MPI/Win.pyx":381 * 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(29, 381, __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; /* "MPI/Win.pyx":382 * """ * 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 == -1)) __PYX_ERR(29, 382, __pyx_L1_error) /* "MPI/Win.pyx":383 * 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 #endif /*try:*/ { /* "MPI/Win.pyx":387 * 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 == -1)) __PYX_ERR(29, 383, __pyx_L4_error) } /* "MPI/Win.pyx":383 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":377 * 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; } /* "MPI/Win.pyx":389 * self.ob_mpi) ) * * def Accumulate(self, origin, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op not None=SUM): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_45Accumulate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_44Accumulate[] = "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_45Accumulate(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; 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}; /* "MPI/Win.pyx":390 * * def Accumulate(self, origin, int target_rank, * target=None, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Accumulate data into the target process */ values[2] = ((PyObject *)Py_None); values[3] = (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 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_origin)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Accumulate", 0, 2, 4, 1); __PYX_ERR(29, 389, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 389, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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(29, 389, __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(29, 389, __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(29, 390, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_44Accumulate(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target, __pyx_v_op); /* "MPI/Win.pyx":389 * self.ob_mpi) ) * * def Accumulate(self, origin, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op not None=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_44Accumulate(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; __Pyx_RefNannySetupContext("Accumulate", 0); /* "MPI/Win.pyx":394 * 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(29, 394, __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; /* "MPI/Win.pyx":395 * """ * 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 == -1)) __PYX_ERR(29, 395, __pyx_L1_error) /* "MPI/Win.pyx":396 * 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 #endif /*try:*/ { /* "MPI/Win.pyx":400 * 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 == -1)) __PYX_ERR(29, 396, __pyx_L4_error) } /* "MPI/Win.pyx":396 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":389 * self.ob_mpi) ) * * def Accumulate(self, origin, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op not None=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; } /* "MPI/Win.pyx":402 * op.ob_mpi, self.ob_mpi) ) * * def Get_accumulate(self, origin, result, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op not None=SUM): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_47Get_accumulate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_46Get_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_47Get_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; 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}; /* "MPI/Win.pyx":403 * * def Get_accumulate(self, origin, result, int target_rank, * target=None, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Fetch-and-accumulate data into the target process */ values[3] = ((PyObject *)Py_None); values[4] = (PyObject *)__pyx_k__124; 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); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_origin)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_result)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Get_accumulate", 0, 3, 5, 1); __PYX_ERR(29, 402, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Get_accumulate", 0, 3, 5, 2); __PYX_ERR(29, 402, __pyx_L3_error) } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target); if (value) { values[3] = value; kw_args--; } } case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 402, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); 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(29, 402, __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(29, 402, __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(29, 403, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_46Get_accumulate(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_result, __pyx_v_target_rank, __pyx_v_target, __pyx_v_op); /* "MPI/Win.pyx":402 * op.ob_mpi, self.ob_mpi) ) * * def Get_accumulate(self, origin, result, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op not None=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_46Get_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; __Pyx_RefNannySetupContext("Get_accumulate", 0); /* "MPI/Win.pyx":407 * 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(29, 407, __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; /* "MPI/Win.pyx":408 * """ * 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 == -1)) __PYX_ERR(29, 408, __pyx_L1_error) /* "MPI/Win.pyx":409 * 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 #endif /*try:*/ { /* "MPI/Win.pyx":414 * target_rank, * msg.tdisp, msg.tcount, msg.ttype, * op.ob_mpi, self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Request-based RMA Communication Operations */ __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 == -1)) __PYX_ERR(29, 409, __pyx_L4_error) } /* "MPI/Win.pyx":409 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":402 * op.ob_mpi, self.ob_mpi) ) * * def Get_accumulate(self, origin, result, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op not None=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; } /* "MPI/Win.pyx":419 * # ------------------------------------------ * * 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_49Rput(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_48Rput[] = "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_49Rput(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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_origin)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Rput", 0, 2, 3, 1); __PYX_ERR(29, 419, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 419, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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(29, 419, __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(29, 419, __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_48Rput(((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_48Rput(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; __Pyx_RefNannySetupContext("Rput", 0); /* "MPI/Win.pyx":423 * 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(29, 423, __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; /* "MPI/Win.pyx":424 * """ * 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 == -1)) __PYX_ERR(29, 424, __pyx_L1_error) /* "MPI/Win.pyx":425 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":426 * 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 #endif /*try:*/ { /* "MPI/Win.pyx":430 * 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 == -1)) __PYX_ERR(29, 426, __pyx_L4_error) } /* "MPI/Win.pyx":426 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":431 * 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); /* "MPI/Win.pyx":432 * 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; /* "MPI/Win.pyx":419 * # ------------------------------------------ * * 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; } /* "MPI/Win.pyx":434 * 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_51Rget(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_50Rget[] = "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_51Rget(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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_origin)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Rget", 0, 2, 3, 1); __PYX_ERR(29, 434, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 434, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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(29, 434, __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(29, 434, __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_50Rget(((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_50Rget(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; __Pyx_RefNannySetupContext("Rget", 0); /* "MPI/Win.pyx":438 * 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(29, 438, __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; /* "MPI/Win.pyx":439 * """ * 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 == -1)) __PYX_ERR(29, 439, __pyx_L1_error) /* "MPI/Win.pyx":440 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":441 * 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 #endif /*try:*/ { /* "MPI/Win.pyx":445 * 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 == -1)) __PYX_ERR(29, 441, __pyx_L4_error) } /* "MPI/Win.pyx":441 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":446 * 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); /* "MPI/Win.pyx":447 * 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; /* "MPI/Win.pyx":434 * 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; } /* "MPI/Win.pyx":449 * return request * * def Raccumulate(self, origin, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op not None=SUM): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_53Raccumulate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_52Raccumulate[] = "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_53Raccumulate(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; 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}; /* "MPI/Win.pyx":450 * * def Raccumulate(self, origin, int target_rank, * target=None, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Fetch-and-accumulate data into the target process */ values[2] = ((PyObject *)Py_None); values[3] = (PyObject *)__pyx_k__125; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_origin)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Raccumulate", 0, 2, 4, 1); __PYX_ERR(29, 449, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 449, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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(29, 449, __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(29, 449, __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(29, 450, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_52Raccumulate(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_target_rank, __pyx_v_target, __pyx_v_op); /* "MPI/Win.pyx":449 * return request * * def Raccumulate(self, origin, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op not None=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_52Raccumulate(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; __Pyx_RefNannySetupContext("Raccumulate", 0); /* "MPI/Win.pyx":454 * 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(29, 454, __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; /* "MPI/Win.pyx":455 * """ * 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 == -1)) __PYX_ERR(29, 455, __pyx_L1_error) /* "MPI/Win.pyx":456 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":457 * 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 #endif /*try:*/ { /* "MPI/Win.pyx":461 * 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 == -1)) __PYX_ERR(29, 457, __pyx_L4_error) } /* "MPI/Win.pyx":457 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":462 * 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); /* "MPI/Win.pyx":463 * 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; /* "MPI/Win.pyx":449 * return request * * def Raccumulate(self, origin, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op not None=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; } /* "MPI/Win.pyx":465 * return request * * def Rget_accumulate(self, origin, result, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op not None=SUM): * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_55Rget_accumulate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_54Rget_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_55Rget_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; 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}; /* "MPI/Win.pyx":466 * * def Rget_accumulate(self, origin, result, int target_rank, * target=None, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Accumulate data into the target process */ values[3] = ((PyObject *)Py_None); values[4] = (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 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_origin)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_result)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Rget_accumulate", 0, 3, 5, 1); __PYX_ERR(29, 465, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target_rank)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Rget_accumulate", 0, 3, 5, 2); __PYX_ERR(29, 465, __pyx_L3_error) } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target); if (value) { values[3] = value; kw_args--; } } case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 465, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); 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(29, 465, __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(29, 465, __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(29, 466, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_54Rget_accumulate(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_origin, __pyx_v_result, __pyx_v_target_rank, __pyx_v_target, __pyx_v_op); /* "MPI/Win.pyx":465 * return request * * def Rget_accumulate(self, origin, result, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op not None=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_54Rget_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; __Pyx_RefNannySetupContext("Rget_accumulate", 0); /* "MPI/Win.pyx":471 * 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(29, 471, __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; /* "MPI/Win.pyx":472 * """ * 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 == -1)) __PYX_ERR(29, 472, __pyx_L1_error) /* "MPI/Win.pyx":473 * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_request = ((struct PyMPIRequestObject *)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":474 * 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 #endif /*try:*/ { /* "MPI/Win.pyx":479 * 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 == -1)) __PYX_ERR(29, 474, __pyx_L4_error) } /* "MPI/Win.pyx":474 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":480 * 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); /* "MPI/Win.pyx":481 * 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; /* "MPI/Win.pyx":465 * return request * * def Rget_accumulate(self, origin, result, int target_rank, # <<<<<<<<<<<<<< * target=None, Op op not None=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; } /* "MPI/Win.pyx":489 * # ----- * * def Fence(self, int assertion=0): # <<<<<<<<<<<<<< * """ * Perform an MPI fence synchronization on a window */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_57Fence(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_56Fence[] = "Win.Fence(self, int assertion=0)\n\n Perform an MPI fence synchronization on a window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_57Fence(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_assertion; 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); 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 = PyDict_GetItem(__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(29, 489, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(29, 489, __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(29, 489, __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_56Fence(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_assertion); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_56Fence(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_assertion) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Fence", 0); /* "MPI/Win.pyx":493 * 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 #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 == -1)) __PYX_ERR(29, 493, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":489 * # ----- * * 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; } /* "MPI/Win.pyx":498 * # ------------------------------------- * * def Start(self, Group group not None, int assertion=0): # <<<<<<<<<<<<<< * """ * Start an RMA access epoch for MPI */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_59Start(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_58Start[] = "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_59Start(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIGroupObject *__pyx_v_group = 0; int __pyx_v_assertion; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 498, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(29, 498, __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(29, 498, __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(29, 498, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_58Start(((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_58Start(struct PyMPIWinObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group, int __pyx_v_assertion) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Start", 0); /* "MPI/Win.pyx":502 * 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 #endif /*try:*/ { /* "MPI/Win.pyx":503 * """ * 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 == -1)) __PYX_ERR(29, 502, __pyx_L4_error) } /* "MPI/Win.pyx":502 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":498 * # ------------------------------------- * * def Start(self, Group group not None, 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; } /* "MPI/Win.pyx":505 * 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_61Complete(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_60Complete[] = "Win.Complete(self)\n\n Completes an RMA operations begun after an `Win.Start()`\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_61Complete(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_60Complete(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_60Complete(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Complete", 0); /* "MPI/Win.pyx":509 * Completes an RMA operations begun after an `Win.Start()` * """ * with nogil: CHKERR( MPI_Win_complete(self.ob_mpi) ) # <<<<<<<<<<<<<< * * def Post(self, Group group not None, int assertion=0): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_complete(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(29, 509, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":505 * 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; } /* "MPI/Win.pyx":511 * with nogil: CHKERR( MPI_Win_complete(self.ob_mpi) ) * * def Post(self, Group group not None, int assertion=0): # <<<<<<<<<<<<<< * """ * Start an RMA exposure epoch */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_63Post(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_62Post[] = "Win.Post(self, Group group, int assertion=0)\n\n Start an RMA exposure epoch\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_63Post(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIGroupObject *__pyx_v_group = 0; int __pyx_v_assertion; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_group)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 511, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(29, 511, __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(29, 511, __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(29, 511, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_62Post(((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_62Post(struct PyMPIWinObject *__pyx_v_self, struct PyMPIGroupObject *__pyx_v_group, int __pyx_v_assertion) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Post", 0); /* "MPI/Win.pyx":515 * 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 #endif /*try:*/ { /* "MPI/Win.pyx":516 * """ * 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 == -1)) __PYX_ERR(29, 515, __pyx_L4_error) } /* "MPI/Win.pyx":515 * Start an RMA exposure epoch * """ * with nogil: CHKERR( MPI_Win_post( # <<<<<<<<<<<<<< * group.ob_mpi, assertion, self.ob_mpi) ) * */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":511 * with nogil: CHKERR( MPI_Win_complete(self.ob_mpi) ) * * def Post(self, Group group not None, 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; } /* "MPI/Win.pyx":518 * 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_65Wait(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_64Wait[] = "Win.Wait(self)\n\n Complete an RMA exposure epoch begun with `Win.Post()`\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_65Wait(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_64Wait(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_64Wait(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Wait", 0); /* "MPI/Win.pyx":522 * 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 #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_wait(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(29, 522, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":518 * 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; } /* "MPI/Win.pyx":524 * 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_67Test(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_66Test[] = "Win.Test(self)\n\n Test whether an RMA exposure epoch has completed\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_67Test(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_66Test(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_66Test(struct PyMPIWinObject *__pyx_v_self) { int __pyx_v_flag; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("Test", 0); /* "MPI/Win.pyx":528 * 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; /* "MPI/Win.pyx":529 * """ * cdef int flag = 0 * with nogil: CHKERR( MPI_Win_test(self.ob_mpi, &flag) ) # <<<<<<<<<<<<<< * return flag * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #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 == -1)) __PYX_ERR(29, 529, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":530 * 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(29, 530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Win.pyx":524 * 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; } /* "MPI/Win.pyx":535 * # ---- * * 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_69Lock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_68Lock[] = "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_69Lock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_rank; int __pyx_v_lock_type; int __pyx_v_assertion; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_rank)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_lock_type); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(29, 535, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(29, 535, __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(29, 535, __pyx_L3_error) } else { __pyx_v_lock_type = __pyx_k__127; } if (values[2]) { __pyx_v_assertion = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_assertion == (int)-1) && PyErr_Occurred())) __PYX_ERR(29, 535, __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(29, 535, __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_68Lock(((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_68Lock(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; __Pyx_RefNannySetupContext("Lock", 0); /* "MPI/Win.pyx":539 * 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 #endif /*try:*/ { /* "MPI/Win.pyx":540 * """ * 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 == -1)) __PYX_ERR(29, 539, __pyx_L4_error) } /* "MPI/Win.pyx":539 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":535 * # ---- * * 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; } /* "MPI/Win.pyx":542 * 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_71Unlock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_70Unlock[] = "Win.Unlock(self, int rank)\n\n Complete an RMA access epoch at the target process\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_71Unlock(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_rank; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 542, __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(29, 542, __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(29, 542, __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_70Unlock(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_rank); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_70Unlock(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Unlock", 0); /* "MPI/Win.pyx":546 * 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 #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 == -1)) __PYX_ERR(29, 546, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":542 * 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; } /* "MPI/Win.pyx":548 * 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_73Lock_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_72Lock_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_73Lock_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_assertion; 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); 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 = PyDict_GetItem(__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(29, 548, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(29, 548, __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(29, 548, __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_72Lock_all(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_assertion); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_72Lock_all(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_assertion) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Lock_all", 0); /* "MPI/Win.pyx":552 * 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 #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 == -1)) __PYX_ERR(29, 552, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":548 * 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; } /* "MPI/Win.pyx":554 * 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_75Unlock_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_74Unlock_all[] = "Win.Unlock_all(self)\n\n Complete an RMA access epoch at all processes\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_75Unlock_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_74Unlock_all(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_74Unlock_all(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Unlock_all", 0); /* "MPI/Win.pyx":558 * 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 #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_unlock_all(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(29, 558, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":554 * 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; } /* "MPI/Win.pyx":563 * # -------------- * * def Flush(self, int rank): # <<<<<<<<<<<<<< * """ * Complete all outstanding RMA operations at the given target */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_77Flush(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_76Flush[] = "Win.Flush(self, int rank)\n\n Complete all outstanding RMA operations at the given target\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_77Flush(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_rank; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 563, __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(29, 563, __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(29, 563, __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_76Flush(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_rank); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_76Flush(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Flush", 0); /* "MPI/Win.pyx":567 * 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 #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 == -1)) __PYX_ERR(29, 567, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":563 * # -------------- * * 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; } /* "MPI/Win.pyx":569 * 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_79Flush_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_78Flush_all[] = "Win.Flush_all(self)\n\n Complete all outstanding RMA operations at all targets\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_79Flush_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_78Flush_all(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_78Flush_all(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Flush_all", 0); /* "MPI/Win.pyx":573 * 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 #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_flush_all(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(29, 573, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":569 * 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; } /* "MPI/Win.pyx":575 * 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_81Flush_local(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_80Flush_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_81Flush_local(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_rank; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 575, __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(29, 575, __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(29, 575, __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_80Flush_local(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_rank); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_80Flush_local(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_rank) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Flush_local", 0); /* "MPI/Win.pyx":579 * 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 #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 == -1)) __PYX_ERR(29, 579, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":575 * 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; } /* "MPI/Win.pyx":581 * 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_83Flush_local_all(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_82Flush_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_83Flush_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_82Flush_local_all(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_82Flush_local_all(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Flush_local_all", 0); /* "MPI/Win.pyx":585 * 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 #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 == -1)) __PYX_ERR(29, 585, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":581 * 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; } /* "MPI/Win.pyx":587 * 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_85Sync(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_84Sync[] = "Win.Sync(self)\n\n Synchronize public and private copies of the given window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_85Sync(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_84Sync(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_84Sync(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Sync", 0); /* "MPI/Win.pyx":591 * 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 #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Win_sync(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(29, 591, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/Win.pyx":587 * 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; } /* "MPI/Win.pyx":597 * # -------------- * * def Get_errhandler(self): # <<<<<<<<<<<<<< * """ * Get the error handler for a window */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_87Get_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_86Get_errhandler[] = "Win.Get_errhandler(self)\n\n Get the error handler for a window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_87Get_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_86Get_errhandler(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_86Get_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; __Pyx_RefNannySetupContext("Get_errhandler", 0); /* "MPI/Win.pyx":601 * 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 = __pyx_tp_new_6mpi4py_3MPI_Errhandler(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 601, __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_errhandler = ((struct PyMPIErrhandlerObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Win.pyx":602 * """ * 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 == -1)) __PYX_ERR(29, 602, __pyx_L1_error) /* "MPI/Win.pyx":603 * 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 not None): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_errhandler)); __pyx_r = ((PyObject *)__pyx_v_errhandler); goto __pyx_L0; /* "MPI/Win.pyx":597 * # -------------- * * 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; } /* "MPI/Win.pyx":605 * return errhandler * * def Set_errhandler(self, Errhandler errhandler not None): # <<<<<<<<<<<<<< * """ * Set the error handler for a window */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_89Set_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_88Set_errhandler[] = "Win.Set_errhandler(self, Errhandler errhandler)\n\n Set the error handler for a window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_89Set_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct PyMPIErrhandlerObject *__pyx_v_errhandler = 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 605, __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(29, 605, __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(29, 605, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_3Win_88Set_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_88Set_errhandler(struct PyMPIWinObject *__pyx_v_self, struct PyMPIErrhandlerObject *__pyx_v_errhandler) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Set_errhandler", 0); /* "MPI/Win.pyx":609 * 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 == -1)) __PYX_ERR(29, 609, __pyx_L1_error) /* "MPI/Win.pyx":605 * return errhandler * * def Set_errhandler(self, Errhandler errhandler not None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/Win.pyx":611 * 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_91Call_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_90Call_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_91Call_errhandler(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_errorcode; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 611, __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(29, 611, __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(29, 611, __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_90Call_errhandler(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_errorcode); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_90Call_errhandler(struct PyMPIWinObject *__pyx_v_self, int __pyx_v_errorcode) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Call_errhandler", 0); /* "MPI/Win.pyx":615 * 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 == -1)) __PYX_ERR(29, 615, __pyx_L1_error) /* "MPI/Win.pyx":611 * 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; } /* "MPI/Win.pyx":621 * # -------------- * * def Get_name(self): # <<<<<<<<<<<<<< * """ * Get the print name associated with the window */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_93Get_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_92Get_name[] = "Win.Get_name(self)\n\n Get the print name associated with the window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_93Get_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_92Get_name(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_92Get_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; __Pyx_RefNannySetupContext("Get_name", 0); /* "MPI/Win.pyx":626 * """ * 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; /* "MPI/Win.pyx":627 * 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 == -1)) __PYX_ERR(29, 627, __pyx_L1_error) /* "MPI/Win.pyx":628 * 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(29, 628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/Win.pyx":621 * # -------------- * * 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; } /* "MPI/Win.pyx":630 * 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_95Set_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_94Set_name[] = "Win.Set_name(self, name)\n\n Set the print name associated with the window\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_95Set_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_name = 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(29, 630, __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(29, 630, __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_94Set_name(((struct PyMPIWinObject *)__pyx_v_self), __pyx_v_name); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_94Set_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; __Pyx_RefNannySetupContext("Set_name", 0); __Pyx_INCREF(__pyx_v_name); /* "MPI/Win.pyx":634 * 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; /* "MPI/Win.pyx":635 * """ * 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(29, 635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":636 * 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 == -1)) __PYX_ERR(29, 636, __pyx_L1_error) /* "MPI/Win.pyx":630 * 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; } /* "MPI/Win.pyx":640 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/Win.pyx":641 * """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(29, 641, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 641, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 641, __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; /* "MPI/Win.pyx":640 * 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; } /* "MPI/Win.pyx":642 * 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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__set__", 0); /* "MPI/Win.pyx":643 * 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(29, 643, __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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 643, __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[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 643, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(29, 643, __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 = NULL; __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_value); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":642 * 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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.Win.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/Win.pyx":648 * # -------------- * * def py2f(self): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_97py2f(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_96py2f[] = "Win.py2f(self)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_97py2f(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_96py2f(((struct PyMPIWinObject *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_96py2f(struct PyMPIWinObject *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("py2f", 0); /* "MPI/Win.pyx":651 * """ * """ * 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(29, 651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/Win.pyx":648 * # -------------- * * 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; } /* "MPI/Win.pyx":654 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_99f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_3Win_98f2py[] = "Win.f2py(type cls, arg)\n\n "; static PyObject *__pyx_pw_6mpi4py_3MPI_3Win_99f2py(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 654, __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, 654, __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_98f2py(((PyTypeObject*)__pyx_v_cls), __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_3Win_98f2py(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; __Pyx_RefNannySetupContext("f2py", 0); /* "MPI/Win.pyx":657 * """ * """ * cdef Win win = Win.__new__(Win) # <<<<<<<<<<<<<< * win.ob_mpi = MPI_Win_f2c(arg) * return win */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_Win(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Win), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 657, __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_win = ((struct PyMPIWinObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/Win.pyx":658 * """ * 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(29, 658, __pyx_L1_error) __pyx_v_win->ob_mpi = MPI_Win_f2c(__pyx_t_3); /* "MPI/Win.pyx":659 * 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; /* "MPI/Win.pyx":654 * * @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; } /* "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_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); 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 = PyDict_GetItem(__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(30, 57, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(30, 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(30, 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); /* "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; /* "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; } /* "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; /* "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; } /* "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; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "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; } /* "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 == -1)) __PYX_ERR(30, 64, __pyx_L1_error) /* "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, 0, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); } /* "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__(((PyObject *)__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__(PyObject *__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; __Pyx_RefNannySetupContext("__richcmp__", 0); /* "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; } /* "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 = __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; /* "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 str 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, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ * cdef str 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, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "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 str mod = type(self).__module__ # <<<<<<<<<<<<<< * cdef str cls = type(self).__name__ * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_module); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(30, 71, __pyx_L1_error) __pyx_v_mod = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/File.pyx":72 * elif op == Py_NE: return (s.ob_mpi != o.ob_mpi) * cdef str mod = type(self).__module__ * cdef str cls = type(self).__name__ # <<<<<<<<<<<<<< * raise TypeError("unorderable type: '%s.%s'" % (mod, cls)) * */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_self)), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(30, 72, __pyx_L1_error) __pyx_v_cls = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; /* "MPI/File.pyx":73 * cdef str mod = type(self).__module__ * cdef str 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, 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(30, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(30, 73, __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(30, 73, __pyx_L1_error) /* "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; } /* "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); /* "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; /* "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; } /* "MPI/File.pyx":82 * * @classmethod * def Open(cls, Intracomm comm not None, 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; 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__128; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_comm)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_filename)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Open", 0, 2, 4, 1); __PYX_ERR(30, 82, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_amode); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 82, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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(30, 83, __pyx_L3_error) } else { __pyx_v_amode = __pyx_k__129; } __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(30, 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(30, 82, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 1, "info", 0))) __PYX_ERR(30, 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; MPI_Info __pyx_v_cinfo; 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; __Pyx_RefNannySetupContext("Open", 0); __Pyx_INCREF(__pyx_v_filename); /* "MPI/File.pyx":87 * Open a file * """ * cdef char *cfilename = NULL # <<<<<<<<<<<<<< * filename = asmpistr(filename, &cfilename) * cdef MPI_Info cinfo = arg_Info(info) */ __pyx_v_cfilename = NULL; /* "MPI/File.pyx":88 * """ * cdef char *cfilename = NULL * filename = asmpistr(filename, &cfilename) # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * cdef File file = File.__new__(File) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_filename, (&__pyx_v_cfilename)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_filename, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":89 * cdef char *cfilename = NULL * filename = asmpistr(filename, &cfilename) * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * cdef File file = File.__new__(File) * with nogil: CHKERR( MPI_File_open( */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/File.pyx":90 * filename = asmpistr(filename, &cfilename) * cdef MPI_Info cinfo = arg_Info(info) * cdef File file = File.__new__(File) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_open( * comm.ob_mpi, cfilename, amode, cinfo, &file.ob_mpi) ) */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_File(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_File), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 90, __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_file = ((struct PyMPIFileObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":91 * cdef MPI_Info cinfo = arg_Info(info) * cdef File file = File.__new__(File) * with nogil: CHKERR( MPI_File_open( # <<<<<<<<<<<<<< * comm.ob_mpi, cfilename, amode, cinfo, &file.ob_mpi) ) * file_set_eh(file.ob_mpi) */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/File.pyx":92 * cdef File file = File.__new__(File) * with nogil: CHKERR( MPI_File_open( * comm.ob_mpi, cfilename, amode, cinfo, &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_cinfo, (&__pyx_v_file->ob_mpi))); if (unlikely(__pyx_t_3 == -1)) __PYX_ERR(30, 91, __pyx_L4_error) } /* "MPI/File.pyx":91 * cdef MPI_Info cinfo = arg_Info(info) * cdef File file = File.__new__(File) * with nogil: CHKERR( MPI_File_open( # <<<<<<<<<<<<<< * comm.ob_mpi, cfilename, amode, cinfo, &file.ob_mpi) ) * file_set_eh(file.ob_mpi) */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":93 * with nogil: CHKERR( MPI_File_open( * comm.ob_mpi, cfilename, amode, cinfo, &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 == -1)) __PYX_ERR(30, 93, __pyx_L1_error) /* "MPI/File.pyx":94 * comm.ob_mpi, cfilename, amode, cinfo, &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; /* "MPI/File.pyx":82 * * @classmethod * def Open(cls, Intracomm comm not None, 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; } /* "MPI/File.pyx":96 * 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; __Pyx_RefNannySetupContext("Close", 0); /* "MPI/File.pyx":100 * Close a file * """ * with nogil: CHKERR( MPI_File_close(&self.ob_mpi) ) # <<<<<<<<<<<<<< * * @classmethod */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_close((&__pyx_v_self->ob_mpi))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(30, 100, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":96 * 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; } /* "MPI/File.pyx":103 * * @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; 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__130; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_filename)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 103, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 103, __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, 1, "info", 0))) __PYX_ERR(30, 103, __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; MPI_Info __pyx_v_cinfo; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; __Pyx_RefNannySetupContext("Delete", 0); __Pyx_INCREF(__pyx_v_filename); /* "MPI/File.pyx":107 * Delete a file * """ * cdef char *cfilename = NULL # <<<<<<<<<<<<<< * filename = asmpistr(filename, &cfilename) * cdef MPI_Info cinfo = arg_Info(info) */ __pyx_v_cfilename = NULL; /* "MPI/File.pyx":108 * """ * cdef char *cfilename = NULL * filename = asmpistr(filename, &cfilename) # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * with nogil: CHKERR( MPI_File_delete(cfilename, cinfo) ) */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmpistr(__pyx_v_filename, (&__pyx_v_cfilename)); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_filename, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":109 * cdef char *cfilename = NULL * filename = asmpistr(filename, &cfilename) * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_delete(cfilename, cinfo) ) * */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/File.pyx":110 * filename = asmpistr(filename, &cfilename) * cdef MPI_Info cinfo = arg_Info(info) * with nogil: CHKERR( MPI_File_delete(cfilename, cinfo) ) # <<<<<<<<<<<<<< * * def Set_size(self, Offset size): */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_delete(__pyx_v_cfilename, __pyx_v_cinfo)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(30, 110, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":103 * * @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; } /* "MPI/File.pyx":112 * with nogil: CHKERR( MPI_File_delete(cfilename, cinfo) ) * * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 112, __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(30, 112, __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(30, 112, __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; __Pyx_RefNannySetupContext("Set_size", 0); /* "MPI/File.pyx":116 * 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 #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 == -1)) __PYX_ERR(30, 116, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":112 * with nogil: CHKERR( MPI_File_delete(cfilename, cinfo) ) * * 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; } /* "MPI/File.pyx":118 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 118, __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(30, 118, __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(30, 118, __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; __Pyx_RefNannySetupContext("Preallocate", 0); /* "MPI/File.pyx":122 * 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 #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 == -1)) __PYX_ERR(30, 122, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":118 * 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; } /* "MPI/File.pyx":124 * 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; __Pyx_RefNannySetupContext("Get_size", 0); /* "MPI/File.pyx":128 * 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; /* "MPI/File.pyx":129 * """ * 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 #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 == -1)) __PYX_ERR(30, 129, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":130 * 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(30, 130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/File.pyx":124 * 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; } /* "MPI/File.pyx":134 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/File.pyx":135 * """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(30, 135, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 135, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 135, __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; /* "MPI/File.pyx":134 * 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; } /* "MPI/File.pyx":137 * 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; __Pyx_RefNannySetupContext("Get_amode", 0); /* "MPI/File.pyx":141 * 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; /* "MPI/File.pyx":142 * """ * 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 #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 == -1)) __PYX_ERR(30, 142, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":143 * 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(30, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/File.pyx":137 * 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; } /* "MPI/File.pyx":147 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/File.pyx":148 * """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(30, 148, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 148, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 148, __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; /* "MPI/File.pyx":147 * 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; } /* "MPI/File.pyx":153 * # ---------- * * 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; __Pyx_RefNannySetupContext("Get_group", 0); /* "MPI/File.pyx":158 * 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 = __pyx_tp_new_6mpi4py_3MPI_Group(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Group), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 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_group = ((struct PyMPIGroupObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":159 * """ * 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 #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 == -1)) __PYX_ERR(30, 159, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":160 * 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; /* "MPI/File.pyx":153 * # ---------- * * 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; } /* "MPI/File.pyx":164 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/File.pyx":165 * """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(30, 165, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 165, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 165, __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; /* "MPI/File.pyx":164 * 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; } /* "MPI/File.pyx":170 * # --------- * * def Set_info(self, Info info not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 170, __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, 170, __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(30, 170, __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; __Pyx_RefNannySetupContext("Set_info", 0); /* "MPI/File.pyx":175 * 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 #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 == -1)) __PYX_ERR(30, 175, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":170 * # --------- * * def Set_info(self, Info info not None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/File.pyx":177 * 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; __Pyx_RefNannySetupContext("Get_info", 0); /* "MPI/File.pyx":182 * 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 = __pyx_tp_new_6mpi4py_3MPI_Info(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Info), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 182, __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_info = ((struct PyMPIInfoObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":183 * """ * 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 #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 == -1)) __PYX_ERR(30, 183, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":184 * 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; /* "MPI/File.pyx":177 * 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; } /* "MPI/File.pyx":188 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/File.pyx":189 * """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(30, 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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 189, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 189, __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; /* "MPI/File.pyx":188 * 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; } /* "MPI/File.pyx":190 * 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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__set__", 0); /* "MPI/File.pyx":191 * 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(30, 191, __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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_info}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 191, __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[2] = {__pyx_t_3, __pyx_v_info}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 191, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(30, 191, __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 = NULL; __Pyx_INCREF(__pyx_v_info); __Pyx_GIVEREF(__pyx_v_info); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_info); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":190 * 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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.File.info.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/File.pyx":196 * # ---------- * * 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; 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}; /* "MPI/File.pyx":197 * * 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); /* "MPI/File.pyx":198 * 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__131; 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); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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 = PyDict_GetItem(__pyx_kwds, __pyx_n_s_disp); if (value) { values[0] = value; kw_args--; } } case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_etype); if (value) { values[1] = value; kw_args--; } } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_filetype); if (value) { values[2] = value; kw_args--; } } case 3: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_datarep); if (value) { values[3] = value; kw_args--; } } case 4: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 196, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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(30, 196, __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(30, 196, __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(30, 197, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_filetype), __pyx_ptype_6mpi4py_3MPI_Datatype, 1, "filetype", 0))) __PYX_ERR(30, 197, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_info), __pyx_ptype_6mpi4py_3MPI_Info, 1, "info", 0))) __PYX_ERR(30, 198, __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); /* "MPI/File.pyx":196 * # ---------- * * 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; MPI_Info __pyx_v_cinfo; 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; __Pyx_RefNannySetupContext("Set_view", 0); __Pyx_INCREF(__pyx_v_datarep); /* "MPI/File.pyx":202 * 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"); /* "MPI/File.pyx":203 * """ * 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(30, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_datarep, __pyx_t_3); __pyx_t_3 = 0; } /* "MPI/File.pyx":204 * 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; /* "MPI/File.pyx":205 * 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; } /* "MPI/File.pyx":206 * 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 * cdef MPI_Info cinfo = arg_Info(info) */ __pyx_v_cftype = __pyx_v_cetype; /* "MPI/File.pyx":207 * if etype is not None: cetype = etype.ob_mpi * cdef MPI_Datatype cftype = cetype * if filetype is not None: cftype = filetype.ob_mpi # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * with nogil: CHKERR( MPI_File_set_view( */ __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; } /* "MPI/File.pyx":208 * cdef MPI_Datatype cftype = cetype * if filetype is not None: cftype = filetype.ob_mpi * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * with nogil: CHKERR( MPI_File_set_view( * self.ob_mpi, disp, cetype, cftype, cdatarep, cinfo) ) */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/File.pyx":209 * if filetype is not None: cftype = filetype.ob_mpi * cdef MPI_Info cinfo = arg_Info(info) * with nogil: CHKERR( MPI_File_set_view( # <<<<<<<<<<<<<< * self.ob_mpi, disp, cetype, cftype, cdatarep, cinfo) ) * */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { /* "MPI/File.pyx":210 * cdef MPI_Info cinfo = arg_Info(info) * with nogil: CHKERR( MPI_File_set_view( * self.ob_mpi, disp, cetype, cftype, cdatarep, cinfo) ) # <<<<<<<<<<<<<< * * 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_cinfo)); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(30, 209, __pyx_L7_error) } /* "MPI/File.pyx":209 * if filetype is not None: cftype = filetype.ob_mpi * cdef MPI_Info cinfo = arg_Info(info) * with nogil: CHKERR( MPI_File_set_view( # <<<<<<<<<<<<<< * self.ob_mpi, disp, cetype, cftype, cdatarep, cinfo) ) * */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L8; } __pyx_L7_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L8:; } } /* "MPI/File.pyx":196 * # ---------- * * 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; } /* "MPI/File.pyx":212 * self.ob_mpi, disp, cetype, cftype, cdatarep, cinfo) ) * * 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; __Pyx_RefNannySetupContext("Get_view", 0); /* "MPI/File.pyx":216 * 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; /* "MPI/File.pyx":217 * """ * 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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 217, __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_etype = ((struct PyMPIDatatypeObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":218 * 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 = __pyx_tp_new_6mpi4py_3MPI_Datatype(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Datatype), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_ftype = ((struct PyMPIDatatypeObject *)__pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":220 * 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 #endif /*try:*/ { /* "MPI/File.pyx":221 * 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 == -1)) __PYX_ERR(30, 220, __pyx_L4_error) } /* "MPI/File.pyx":220 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":224 * #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; /* "MPI/File.pyx":225 * #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(30, 225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_datarep = __pyx_t_1; __pyx_t_1 = 0; /* "MPI/File.pyx":226 * 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(30, 226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(30, 226, __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; /* "MPI/File.pyx":212 * self.ob_mpi, disp, cetype, cftype, cdatarep, cinfo) ) * * 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; } /* "MPI/File.pyx":234 * # --------------------------------- * * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Read_at", 0, 2, 3, 1); __PYX_ERR(30, 234, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 234, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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(30, 234, __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(30, 234, __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(30, 234, __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; __Pyx_RefNannySetupContext("Read_at", 0); /* "MPI/File.pyx":238 * 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(30, 238, __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; /* "MPI/File.pyx":239 * """ * 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)); /* "MPI/File.pyx":240 * 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 #endif /*try:*/ { /* "MPI/File.pyx":241 * 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 == -1)) __PYX_ERR(30, 240, __pyx_L4_error) } /* "MPI/File.pyx":240 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":234 * # --------------------------------- * * 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; } /* "MPI/File.pyx":243 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Read_at_all", 0, 2, 3, 1); __PYX_ERR(30, 243, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 243, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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(30, 243, __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(30, 243, __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(30, 243, __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; __Pyx_RefNannySetupContext("Read_at_all", 0); /* "MPI/File.pyx":247 * 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(30, 247, __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; /* "MPI/File.pyx":248 * """ * 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)); /* "MPI/File.pyx":249 * 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 #endif /*try:*/ { /* "MPI/File.pyx":250 * 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 == -1)) __PYX_ERR(30, 249, __pyx_L4_error) } /* "MPI/File.pyx":249 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":243 * 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; } /* "MPI/File.pyx":252 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Write_at", 0, 2, 3, 1); __PYX_ERR(30, 252, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 252, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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(30, 252, __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(30, 252, __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(30, 252, __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; __Pyx_RefNannySetupContext("Write_at", 0); /* "MPI/File.pyx":256 * 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(30, 256, __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; /* "MPI/File.pyx":257 * """ * 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)); /* "MPI/File.pyx":258 * 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 #endif /*try:*/ { /* "MPI/File.pyx":259 * 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 == -1)) __PYX_ERR(30, 258, __pyx_L4_error) } /* "MPI/File.pyx":258 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":252 * 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; } /* "MPI/File.pyx":261 * 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; 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); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Write_at_all", 0, 2, 3, 1); __PYX_ERR(30, 261, __pyx_L3_error) } case 2: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 261, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); 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(30, 261, __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(30, 261, __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(30, 261, __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; __Pyx_RefNannySetupContext("Write_at_all", 0); /* "MPI/File.pyx":265 * 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(30, 265, __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; /* "MPI/File.pyx":266 * """ * 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)); /* "MPI/File.pyx":267 * 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 #endif /*try:*/ { /* "MPI/File.pyx":268 * 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 == -1)) __PYX_ERR(30, 267, __pyx_L4_error) } /* "MPI/File.pyx":267 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":261 * 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; } /* "MPI/File.pyx":270 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iread_at", 1, 2, 2, 1); __PYX_ERR(30, 270, __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(30, 270, __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(30, 270, __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(30, 270, __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; __Pyx_RefNannySetupContext("Iread_at", 0); /* "MPI/File.pyx":274 * 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(30, 274, __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; /* "MPI/File.pyx":275 * """ * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 275, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":276 * 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 #endif /*try:*/ { /* "MPI/File.pyx":277 * 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 == -1)) __PYX_ERR(30, 276, __pyx_L4_error) } /* "MPI/File.pyx":276 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":278 * 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); /* "MPI/File.pyx":279 * 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; /* "MPI/File.pyx":270 * 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; } /* "MPI/File.pyx":281 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iread_at_all", 1, 2, 2, 1); __PYX_ERR(30, 281, __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(30, 281, __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(30, 281, __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(30, 281, __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; __Pyx_RefNannySetupContext("Iread_at_all", 0); /* "MPI/File.pyx":285 * 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(30, 285, __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; /* "MPI/File.pyx":286 * """ * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 286, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":287 * 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 #endif /*try:*/ { /* "MPI/File.pyx":288 * 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 == -1)) __PYX_ERR(30, 287, __pyx_L4_error) } /* "MPI/File.pyx":287 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":289 * 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); /* "MPI/File.pyx":290 * 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; /* "MPI/File.pyx":281 * 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; } /* "MPI/File.pyx":292 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iwrite_at", 1, 2, 2, 1); __PYX_ERR(30, 292, __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(30, 292, __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(30, 292, __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(30, 292, __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; __Pyx_RefNannySetupContext("Iwrite_at", 0); /* "MPI/File.pyx":296 * 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(30, 296, __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; /* "MPI/File.pyx":297 * """ * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 297, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":298 * 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 #endif /*try:*/ { /* "MPI/File.pyx":299 * 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 == -1)) __PYX_ERR(30, 298, __pyx_L4_error) } /* "MPI/File.pyx":298 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":300 * 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); /* "MPI/File.pyx":301 * 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; /* "MPI/File.pyx":292 * 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; } /* "MPI/File.pyx":303 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Iwrite_at_all", 1, 2, 2, 1); __PYX_ERR(30, 303, __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(30, 303, __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(30, 303, __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(30, 303, __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; __Pyx_RefNannySetupContext("Iwrite_at_all", 0); /* "MPI/File.pyx":307 * 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(30, 307, __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; /* "MPI/File.pyx":308 * """ * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 308, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":309 * 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 #endif /*try:*/ { /* "MPI/File.pyx":310 * 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 == -1)) __PYX_ERR(30, 309, __pyx_L4_error) } /* "MPI/File.pyx":309 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":311 * 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); /* "MPI/File.pyx":312 * 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; /* "MPI/File.pyx":303 * 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; } /* "MPI/File.pyx":317 * # ----------------------------------------- * * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 317, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 317, __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(30, 317, __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; __Pyx_RefNannySetupContext("Read", 0); /* "MPI/File.pyx":321 * 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(30, 321, __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; /* "MPI/File.pyx":322 * """ * 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)); /* "MPI/File.pyx":323 * 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 #endif /*try:*/ { /* "MPI/File.pyx":324 * 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 == -1)) __PYX_ERR(30, 323, __pyx_L4_error) } /* "MPI/File.pyx":323 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":317 * # ----------------------------------------- * * 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; } /* "MPI/File.pyx":326 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 326, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 326, __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(30, 326, __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; __Pyx_RefNannySetupContext("Read_all", 0); /* "MPI/File.pyx":330 * 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(30, 330, __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; /* "MPI/File.pyx":331 * """ * 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)); /* "MPI/File.pyx":332 * 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 #endif /*try:*/ { /* "MPI/File.pyx":333 * 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 == -1)) __PYX_ERR(30, 332, __pyx_L4_error) } /* "MPI/File.pyx":332 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":326 * 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; } /* "MPI/File.pyx":335 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 335, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 335, __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(30, 335, __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; __Pyx_RefNannySetupContext("Write", 0); /* "MPI/File.pyx":339 * 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(30, 339, __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; /* "MPI/File.pyx":340 * """ * 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)); /* "MPI/File.pyx":341 * 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 #endif /*try:*/ { /* "MPI/File.pyx":342 * 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 == -1)) __PYX_ERR(30, 341, __pyx_L4_error) } /* "MPI/File.pyx":341 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":335 * 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; } /* "MPI/File.pyx":344 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 344, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 344, __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(30, 344, __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; __Pyx_RefNannySetupContext("Write_all", 0); /* "MPI/File.pyx":348 * 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(30, 348, __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; /* "MPI/File.pyx":349 * """ * 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)); /* "MPI/File.pyx":350 * 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 #endif /*try:*/ { /* "MPI/File.pyx":351 * 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 == -1)) __PYX_ERR(30, 350, __pyx_L4_error) } /* "MPI/File.pyx":350 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":344 * 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; } /* "MPI/File.pyx":353 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 353, __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(30, 353, __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; __Pyx_RefNannySetupContext("Iread", 0); /* "MPI/File.pyx":357 * 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(30, 357, __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; /* "MPI/File.pyx":358 * """ * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 358, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":359 * 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 #endif /*try:*/ { /* "MPI/File.pyx":360 * 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 == -1)) __PYX_ERR(30, 359, __pyx_L4_error) } /* "MPI/File.pyx":359 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":361 * 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); /* "MPI/File.pyx":362 * 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; /* "MPI/File.pyx":353 * 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; } /* "MPI/File.pyx":364 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 364, __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(30, 364, __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; __Pyx_RefNannySetupContext("Iread_all", 0); /* "MPI/File.pyx":368 * 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(30, 368, __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; /* "MPI/File.pyx":369 * """ * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 369, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":370 * 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 #endif /*try:*/ { /* "MPI/File.pyx":371 * 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 == -1)) __PYX_ERR(30, 370, __pyx_L4_error) } /* "MPI/File.pyx":370 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":372 * 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); /* "MPI/File.pyx":373 * 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; /* "MPI/File.pyx":364 * 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; } /* "MPI/File.pyx":375 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 375, __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(30, 375, __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; __Pyx_RefNannySetupContext("Iwrite", 0); /* "MPI/File.pyx":379 * 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(30, 379, __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; /* "MPI/File.pyx":380 * """ * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 380, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":381 * 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 #endif /*try:*/ { /* "MPI/File.pyx":382 * 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 == -1)) __PYX_ERR(30, 381, __pyx_L4_error) } /* "MPI/File.pyx":381 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":383 * 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); /* "MPI/File.pyx":384 * 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; /* "MPI/File.pyx":375 * 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; } /* "MPI/File.pyx":386 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 386, __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(30, 386, __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; __Pyx_RefNannySetupContext("Iwrite_all", 0); /* "MPI/File.pyx":390 * 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(30, 390, __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; /* "MPI/File.pyx":391 * """ * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 391, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":392 * 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 #endif /*try:*/ { /* "MPI/File.pyx":393 * 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 == -1)) __PYX_ERR(30, 392, __pyx_L4_error) } /* "MPI/File.pyx":392 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":394 * 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); /* "MPI/File.pyx":395 * 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; /* "MPI/File.pyx":386 * 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; } /* "MPI/File.pyx":397 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 397, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 397, __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(30, 397, __pyx_L3_error) } else { __pyx_v_whence = __pyx_k__132; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Seek", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 397, __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; __Pyx_RefNannySetupContext("Seek", 0); /* "MPI/File.pyx":401 * 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 #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 == -1)) __PYX_ERR(30, 401, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":397 * 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; } /* "MPI/File.pyx":403 * 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; __Pyx_RefNannySetupContext("Get_position", 0); /* "MPI/File.pyx":408 * 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; /* "MPI/File.pyx":409 * """ * 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 #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 == -1)) __PYX_ERR(30, 409, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":410 * 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(30, 410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/File.pyx":403 * 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; } /* "MPI/File.pyx":412 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 412, __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(30, 412, __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(30, 412, __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; __Pyx_RefNannySetupContext("Get_byte_offset", 0); /* "MPI/File.pyx":417 * 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; /* "MPI/File.pyx":418 * """ * 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 #endif /*try:*/ { /* "MPI/File.pyx":419 * 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 == -1)) __PYX_ERR(30, 418, __pyx_L4_error) } /* "MPI/File.pyx":418 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":420 * 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(30, 420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/File.pyx":412 * 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; } /* "MPI/File.pyx":425 * # ------------------------------------- * * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 425, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 425, __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(30, 425, __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; __Pyx_RefNannySetupContext("Read_shared", 0); /* "MPI/File.pyx":429 * 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(30, 429, __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; /* "MPI/File.pyx":430 * """ * 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)); /* "MPI/File.pyx":431 * 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 #endif /*try:*/ { /* "MPI/File.pyx":432 * 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 == -1)) __PYX_ERR(30, 431, __pyx_L4_error) } /* "MPI/File.pyx":431 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":425 * # ------------------------------------- * * 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; } /* "MPI/File.pyx":434 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 434, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 434, __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(30, 434, __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; __Pyx_RefNannySetupContext("Write_shared", 0); /* "MPI/File.pyx":438 * 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(30, 438, __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; /* "MPI/File.pyx":439 * """ * 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)); /* "MPI/File.pyx":440 * 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 #endif /*try:*/ { /* "MPI/File.pyx":441 * 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 == -1)) __PYX_ERR(30, 440, __pyx_L4_error) } /* "MPI/File.pyx":440 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":434 * 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; } /* "MPI/File.pyx":443 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 443, __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(30, 443, __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; __Pyx_RefNannySetupContext("Iread_shared", 0); /* "MPI/File.pyx":447 * 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(30, 447, __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; /* "MPI/File.pyx":448 * """ * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 448, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":449 * 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 #endif /*try:*/ { /* "MPI/File.pyx":450 * 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 == -1)) __PYX_ERR(30, 449, __pyx_L4_error) } /* "MPI/File.pyx":449 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":451 * 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); /* "MPI/File.pyx":452 * 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; /* "MPI/File.pyx":443 * 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; } /* "MPI/File.pyx":454 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 454, __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(30, 454, __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; __Pyx_RefNannySetupContext("Iwrite_shared", 0); /* "MPI/File.pyx":458 * 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(30, 458, __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; /* "MPI/File.pyx":459 * """ * 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 = __pyx_tp_new_6mpi4py_3MPI_Request(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Request), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 459, __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_request = ((struct PyMPIRequestObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":460 * 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 #endif /*try:*/ { /* "MPI/File.pyx":461 * 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 == -1)) __PYX_ERR(30, 460, __pyx_L4_error) } /* "MPI/File.pyx":460 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":462 * 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); /* "MPI/File.pyx":463 * 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; /* "MPI/File.pyx":454 * 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; } /* "MPI/File.pyx":465 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 465, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 465, __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(30, 465, __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; __Pyx_RefNannySetupContext("Read_ordered", 0); /* "MPI/File.pyx":469 * 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(30, 469, __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; /* "MPI/File.pyx":470 * """ * 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)); /* "MPI/File.pyx":471 * 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 #endif /*try:*/ { /* "MPI/File.pyx":472 * 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 == -1)) __PYX_ERR(30, 471, __pyx_L4_error) } /* "MPI/File.pyx":471 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":465 * 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; } /* "MPI/File.pyx":474 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 474, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 474, __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(30, 474, __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; __Pyx_RefNannySetupContext("Write_ordered", 0); /* "MPI/File.pyx":478 * 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(30, 478, __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; /* "MPI/File.pyx":479 * """ * 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)); /* "MPI/File.pyx":480 * 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 #endif /*try:*/ { /* "MPI/File.pyx":481 * 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 == -1)) __PYX_ERR(30, 480, __pyx_L4_error) } /* "MPI/File.pyx":480 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":474 * 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; } /* "MPI/File.pyx":483 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 483, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 483, __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(30, 483, __pyx_L3_error) } else { __pyx_v_whence = __pyx_k__133; } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("Seek_shared", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(30, 483, __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; __Pyx_RefNannySetupContext("Seek_shared", 0); /* "MPI/File.pyx":487 * 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 #endif /*try:*/ { /* "MPI/File.pyx":488 * """ * 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 == -1)) __PYX_ERR(30, 487, __pyx_L4_error) } /* "MPI/File.pyx":487 * Update the shared file pointer * """ * with nogil: CHKERR( MPI_File_seek_shared( # <<<<<<<<<<<<<< * self.ob_mpi, offset, whence) ) * */ /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":483 * 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; } /* "MPI/File.pyx":490 * 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; __Pyx_RefNannySetupContext("Get_position_shared", 0); /* "MPI/File.pyx":495 * 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; /* "MPI/File.pyx":496 * """ * 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 #endif /*try:*/ { /* "MPI/File.pyx":497 * 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 == -1)) __PYX_ERR(30, 496, __pyx_L4_error) } /* "MPI/File.pyx":496 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":498 * 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(30, 498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/File.pyx":490 * 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; } /* "MPI/File.pyx":505 * # 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Read_at_all_begin", 1, 2, 2, 1); __PYX_ERR(30, 505, __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(30, 505, __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(30, 505, __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(30, 505, __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; __Pyx_RefNannySetupContext("Read_at_all_begin", 0); /* "MPI/File.pyx":509 * 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(30, 509, __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; /* "MPI/File.pyx":510 * """ * 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 #endif /*try:*/ { /* "MPI/File.pyx":511 * 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 == -1)) __PYX_ERR(30, 510, __pyx_L4_error) } /* "MPI/File.pyx":510 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":505 * # 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; } /* "MPI/File.pyx":513 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 513, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 513, __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(30, 513, __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; __Pyx_RefNannySetupContext("Read_at_all_end", 0); /* "MPI/File.pyx":517 * 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(30, 517, __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; /* "MPI/File.pyx":518 * """ * 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)); /* "MPI/File.pyx":519 * 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 #endif /*try:*/ { /* "MPI/File.pyx":520 * 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 == -1)) __PYX_ERR(30, 519, __pyx_L4_error) } /* "MPI/File.pyx":519 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":513 * 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; } /* "MPI/File.pyx":522 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Write_at_all_begin", 1, 2, 2, 1); __PYX_ERR(30, 522, __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(30, 522, __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(30, 522, __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(30, 522, __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; __Pyx_RefNannySetupContext("Write_at_all_begin", 0); /* "MPI/File.pyx":526 * 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(30, 526, __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; /* "MPI/File.pyx":527 * """ * 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 #endif /*try:*/ { /* "MPI/File.pyx":528 * 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 == -1)) __PYX_ERR(30, 527, __pyx_L4_error) } /* "MPI/File.pyx":527 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":522 * 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; } /* "MPI/File.pyx":530 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 530, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 530, __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(30, 530, __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; __Pyx_RefNannySetupContext("Write_at_all_end", 0); /* "MPI/File.pyx":534 * 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(30, 534, __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; /* "MPI/File.pyx":535 * """ * 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)); /* "MPI/File.pyx":536 * 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 #endif /*try:*/ { /* "MPI/File.pyx":537 * 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 == -1)) __PYX_ERR(30, 536, __pyx_L4_error) } /* "MPI/File.pyx":536 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":530 * 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; } /* "MPI/File.pyx":541 * # 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 541, __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(30, 541, __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; __Pyx_RefNannySetupContext("Read_all_begin", 0); /* "MPI/File.pyx":546 * 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(30, 546, __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; /* "MPI/File.pyx":547 * """ * 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 #endif /*try:*/ { /* "MPI/File.pyx":548 * 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 == -1)) __PYX_ERR(30, 547, __pyx_L4_error) } /* "MPI/File.pyx":547 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":541 * # 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; } /* "MPI/File.pyx":550 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 550, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 550, __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(30, 550, __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; __Pyx_RefNannySetupContext("Read_all_end", 0); /* "MPI/File.pyx":555 * 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(30, 555, __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; /* "MPI/File.pyx":556 * """ * 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)); /* "MPI/File.pyx":557 * 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 #endif /*try:*/ { /* "MPI/File.pyx":558 * 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 == -1)) __PYX_ERR(30, 557, __pyx_L4_error) } /* "MPI/File.pyx":557 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":550 * 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; } /* "MPI/File.pyx":560 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 560, __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(30, 560, __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; __Pyx_RefNannySetupContext("Write_all_begin", 0); /* "MPI/File.pyx":565 * 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(30, 565, __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; /* "MPI/File.pyx":566 * """ * 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 #endif /*try:*/ { /* "MPI/File.pyx":567 * 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 == -1)) __PYX_ERR(30, 566, __pyx_L4_error) } /* "MPI/File.pyx":566 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":560 * 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; } /* "MPI/File.pyx":569 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 569, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 569, __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(30, 569, __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; __Pyx_RefNannySetupContext("Write_all_end", 0); /* "MPI/File.pyx":574 * 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(30, 574, __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; /* "MPI/File.pyx":575 * """ * 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)); /* "MPI/File.pyx":576 * 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 #endif /*try:*/ { /* "MPI/File.pyx":577 * 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 == -1)) __PYX_ERR(30, 576, __pyx_L4_error) } /* "MPI/File.pyx":576 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":569 * 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; } /* "MPI/File.pyx":581 * # 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 581, __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(30, 581, __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; __Pyx_RefNannySetupContext("Read_ordered_begin", 0); /* "MPI/File.pyx":586 * 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(30, 586, __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; /* "MPI/File.pyx":587 * """ * 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 #endif /*try:*/ { /* "MPI/File.pyx":588 * 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 == -1)) __PYX_ERR(30, 587, __pyx_L4_error) } /* "MPI/File.pyx":587 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":581 * # 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; } /* "MPI/File.pyx":590 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 590, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 590, __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(30, 590, __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; __Pyx_RefNannySetupContext("Read_ordered_end", 0); /* "MPI/File.pyx":595 * 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(30, 595, __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; /* "MPI/File.pyx":596 * """ * 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)); /* "MPI/File.pyx":597 * 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 #endif /*try:*/ { /* "MPI/File.pyx":598 * 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 == -1)) __PYX_ERR(30, 597, __pyx_L4_error) } /* "MPI/File.pyx":597 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":590 * 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; } /* "MPI/File.pyx":600 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 600, __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(30, 600, __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; __Pyx_RefNannySetupContext("Write_ordered_begin", 0); /* "MPI/File.pyx":605 * 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(30, 605, __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; /* "MPI/File.pyx":606 * """ * 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 #endif /*try:*/ { /* "MPI/File.pyx":607 * 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 == -1)) __PYX_ERR(30, 606, __pyx_L4_error) } /* "MPI/File.pyx":606 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":600 * 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; } /* "MPI/File.pyx":609 * 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; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buf)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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(30, 609, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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(30, 609, __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(30, 609, __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; __Pyx_RefNannySetupContext("Write_ordered_end", 0); /* "MPI/File.pyx":614 * 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(30, 614, __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; /* "MPI/File.pyx":615 * """ * 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)); /* "MPI/File.pyx":616 * 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 #endif /*try:*/ { /* "MPI/File.pyx":617 * 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 == -1)) __PYX_ERR(30, 616, __pyx_L4_error) } /* "MPI/File.pyx":616 * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":609 * 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; } /* "MPI/File.pyx":622 * # --------------------- * * def Get_type_extent(self, Datatype datatype not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 622, __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(30, 622, __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(30, 622, __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; __Pyx_RefNannySetupContext("Get_type_extent", 0); /* "MPI/File.pyx":626 * 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; /* "MPI/File.pyx":627 * """ * 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 #endif /*try:*/ { /* "MPI/File.pyx":628 * 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 == -1)) __PYX_ERR(30, 627, __pyx_L4_error) } /* "MPI/File.pyx":627 * """ * 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 Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":629 * 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(30, 629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/File.pyx":622 * # --------------------- * * def Get_type_extent(self, Datatype datatype not None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/File.pyx":634 * # ------------------------- * * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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(30, 634, __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(30, 634, __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(30, 634, __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; __Pyx_RefNannySetupContext("Set_atomicity", 0); /* "MPI/File.pyx":638 * 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 #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 == -1)) __PYX_ERR(30, 638, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":634 * # ------------------------- * * 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; } /* "MPI/File.pyx":640 * 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; __Pyx_RefNannySetupContext("Get_atomicity", 0); /* "MPI/File.pyx":644 * 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; /* "MPI/File.pyx":645 * """ * 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 #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 == -1)) __PYX_ERR(30, 645, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":646 * 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(30, 646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/File.pyx":640 * 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; } /* "MPI/File.pyx":650 * 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; __Pyx_RefNannySetupContext("__get__", 0); /* "MPI/File.pyx":651 * """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(30, 651, __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); } } if (__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 651, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 651, __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; /* "MPI/File.pyx":650 * 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; } /* "MPI/File.pyx":652 * 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; PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__set__", 0); /* "MPI/File.pyx":653 * 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(30, 653, __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); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 653, __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[2] = {__pyx_t_3, __pyx_v_value}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 653, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(30, 653, __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 = NULL; __Pyx_INCREF(__pyx_v_value); __Pyx_GIVEREF(__pyx_v_value); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_value); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":652 * 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_XDECREF(__pyx_t_4); __Pyx_AddTraceback("mpi4py.MPI.File.atomicity.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/File.pyx":655 * 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; __Pyx_RefNannySetupContext("Sync", 0); /* "MPI/File.pyx":660 * transferred to the storage device * """ * with nogil: CHKERR( MPI_File_sync(self.ob_mpi) ) # <<<<<<<<<<<<<< * * # Error Handling */ { #ifdef WITH_THREAD PyThreadState *_save; Py_UNBLOCK_THREADS #endif /*try:*/ { __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_File_sync(__pyx_v_self->ob_mpi)); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(30, 660, __pyx_L4_error) } /*finally:*/ { /*normal exit:*/{ #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L5; } __pyx_L4_error: { #ifdef WITH_THREAD Py_BLOCK_THREADS #endif goto __pyx_L1_error; } __pyx_L5:; } } /* "MPI/File.pyx":655 * 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; } /* "MPI/File.pyx":665 * # -------------- * * 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; __Pyx_RefNannySetupContext("Get_errhandler", 0); /* "MPI/File.pyx":669 * 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 = __pyx_tp_new_6mpi4py_3MPI_Errhandler(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 669, __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_errhandler = ((struct PyMPIErrhandlerObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":670 * """ * 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 == -1)) __PYX_ERR(30, 670, __pyx_L1_error) /* "MPI/File.pyx":671 * 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 not None): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_errhandler)); __pyx_r = ((PyObject *)__pyx_v_errhandler); goto __pyx_L0; /* "MPI/File.pyx":665 * # -------------- * * 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; } /* "MPI/File.pyx":673 * return errhandler * * def Set_errhandler(self, Errhandler errhandler not None): # <<<<<<<<<<<<<< * """ * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 673, __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, 673, __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(30, 673, __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; __Pyx_RefNannySetupContext("Set_errhandler", 0); /* "MPI/File.pyx":677 * 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 == -1)) __PYX_ERR(30, 677, __pyx_L1_error) /* "MPI/File.pyx":673 * return errhandler * * def Set_errhandler(self, Errhandler errhandler not None): # <<<<<<<<<<<<<< * """ * 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; } /* "MPI/File.pyx":679 * 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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 679, __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, 679, __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, 679, __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; __Pyx_RefNannySetupContext("Call_errhandler", 0); /* "MPI/File.pyx":683 * 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 == -1)) __PYX_ERR(30, 683, __pyx_L1_error) /* "MPI/File.pyx":679 * 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; } /* "MPI/File.pyx":688 * # -------------- * * 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; __Pyx_RefNannySetupContext("py2f", 0); /* "MPI/File.pyx":691 * """ * """ * 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(30, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/File.pyx":688 * # -------------- * * 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; } /* "MPI/File.pyx":694 * * @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; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 694, __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, 694, __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; __Pyx_RefNannySetupContext("f2py", 0); /* "MPI/File.pyx":697 * """ * """ * cdef File file = File.__new__(File) # <<<<<<<<<<<<<< * file.ob_mpi = MPI_File_f2c(arg) * return file */ __pyx_t_1 = __pyx_tp_new_6mpi4py_3MPI_File(((PyTypeObject *)__pyx_ptype_6mpi4py_3MPI_File), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 697, __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_file = ((struct PyMPIFileObject *)__pyx_t_2); __pyx_t_2 = 0; /* "MPI/File.pyx":698 * """ * 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(30, 698, __pyx_L1_error) __pyx_v_file->ob_mpi = MPI_File_f2c(__pyx_t_3); /* "MPI/File.pyx":699 * 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; /* "MPI/File.pyx":694 * * @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; } /* "MPI/File.pyx":715 * # --------------------------------- * * def Register_datarep(datarep, read_fn, write_fn, extent_fn): # <<<<<<<<<<<<<< * """ * Register user-defined data representations */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_29Register_datarep(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_28Register_datarep[] = "Register_datarep(datarep, read_fn, write_fn, extent_fn)\n\n Register user-defined data representations\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_29Register_datarep = {"Register_datarep", (PyCFunction)__pyx_pw_6mpi4py_3MPI_29Register_datarep, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_28Register_datarep}; static PyObject *__pyx_pw_6mpi4py_3MPI_29Register_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; 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); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_datarep)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_read_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Register_datarep", 1, 4, 4, 1); __PYX_ERR(30, 715, __pyx_L3_error) } case 2: if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_write_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Register_datarep", 1, 4, 4, 2); __PYX_ERR(30, 715, __pyx_L3_error) } case 3: if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_extent_fn)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("Register_datarep", 1, 4, 4, 3); __PYX_ERR(30, 715, __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(30, 715, __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(30, 715, __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_28Register_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_28Register_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; __Pyx_RefNannySetupContext("Register_datarep", 0); __Pyx_INCREF(__pyx_v_datarep); /* "MPI/File.pyx":719 * 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; /* "MPI/File.pyx":720 * """ * 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(30, 720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_datarep, __pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":721 * 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(30, 721, __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(30, 721, __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; /* "MPI/File.pyx":722 * 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; /* "MPI/File.pyx":723 * 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; /* "MPI/File.pyx":724 * 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; /* "MPI/File.pyx":725 * 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); /* "MPI/File.pyx":726 * 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; } /* "MPI/File.pyx":727 * 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; } /* "MPI/File.pyx":728 * 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 == -1)) __PYX_ERR(30, 728, __pyx_L1_error) /* "MPI/File.pyx":729 * 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(30, 729, __pyx_L1_error) } if (unlikely(PyDict_SetItem(__pyx_v_6mpi4py_3MPI_datarep_registry, __pyx_v_datarep, __pyx_v_state) < 0)) __PYX_ERR(30, 729, __pyx_L1_error) /* "MPI/File.pyx":715 * # --------------------------------- * * 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; } /* "MPI/MPI.pyx":89 * # ----------------- * * def Alloc_mem(Aint size, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Allocate memory for message passing and RMA */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_31Alloc_mem(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_30Alloc_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_31Alloc_mem = {"Alloc_mem", (PyCFunction)__pyx_pw_6mpi4py_3MPI_31Alloc_mem, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_30Alloc_mem}; static PyObject *__pyx_pw_6mpi4py_3MPI_31Alloc_mem(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { MPI_Aint __pyx_v_size; struct PyMPIInfoObject *__pyx_v_info = 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__134; 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); case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 0) { PyObject* value = PyDict_GetItem(__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, 89, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); 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, 89, __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, 89, __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, 1, "info", 0))) __PYX_ERR(8, 89, __pyx_L1_error) __pyx_r = __pyx_pf_6mpi4py_3MPI_30Alloc_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_30Alloc_mem(CYTHON_UNUSED PyObject *__pyx_self, MPI_Aint __pyx_v_size, struct PyMPIInfoObject *__pyx_v_info) { void *__pyx_v_base; MPI_Info __pyx_v_cinfo; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("Alloc_mem", 0); /* "MPI/MPI.pyx":93 * Allocate memory for message passing and RMA * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * cdef MPI_Info cinfo = arg_Info(info) * CHKERR( MPI_Alloc_mem(size, cinfo, &base) ) */ __pyx_v_base = NULL; /* "MPI/MPI.pyx":94 * """ * cdef void *base = NULL * cdef MPI_Info cinfo = arg_Info(info) # <<<<<<<<<<<<<< * CHKERR( MPI_Alloc_mem(size, cinfo, &base) ) * return tomemory(base, size) */ __pyx_v_cinfo = __pyx_f_6mpi4py_3MPI_arg_Info(((PyObject *)__pyx_v_info)); /* "MPI/MPI.pyx":95 * cdef void *base = NULL * cdef MPI_Info cinfo = arg_Info(info) * CHKERR( MPI_Alloc_mem(size, cinfo, &base) ) # <<<<<<<<<<<<<< * return tomemory(base, size) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Alloc_mem(__pyx_v_size, __pyx_v_cinfo, (&__pyx_v_base))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(8, 95, __pyx_L1_error) /* "MPI/MPI.pyx":96 * cdef MPI_Info cinfo = arg_Info(info) * CHKERR( MPI_Alloc_mem(size, cinfo, &base) ) * return tomemory(base, size) # <<<<<<<<<<<<<< * * def Free_mem(memory): */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __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; /* "MPI/MPI.pyx":89 * # ----------------- * * 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; } /* "MPI/MPI.pyx":98 * return tomemory(base, size) * * def Free_mem(memory): # <<<<<<<<<<<<<< * """ * Free memory allocated with `Alloc_mem()` */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_33Free_mem(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_32Free_mem[] = "Free_mem(memory)\n\n Free memory allocated with `Alloc_mem()`\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_33Free_mem = {"Free_mem", (PyCFunction)__pyx_pw_6mpi4py_3MPI_33Free_mem, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_32Free_mem}; static PyObject *__pyx_pw_6mpi4py_3MPI_33Free_mem(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_memory = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("Free_mem (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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, "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_memory = 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_32Free_mem(__pyx_self, __pyx_v_memory); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_32Free_mem(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memory) { void *__pyx_v_base; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; __Pyx_RefNannySetupContext("Free_mem", 0); /* "MPI/MPI.pyx":102 * Free memory allocated with `Alloc_mem()` * """ * cdef void *base = NULL # <<<<<<<<<<<<<< * asmemory(memory, &base, NULL) * CHKERR( MPI_Free_mem(base) ) */ __pyx_v_base = NULL; /* "MPI/MPI.pyx":103 * """ * cdef void *base = NULL * asmemory(memory, &base, NULL) # <<<<<<<<<<<<<< * CHKERR( MPI_Free_mem(base) ) * */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_asmemory(__pyx_v_memory, (&__pyx_v_base), NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":104 * cdef void *base = NULL * asmemory(memory, &base, NULL) * CHKERR( MPI_Free_mem(base) ) # <<<<<<<<<<<<<< * * # Initialization and Exit */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Free_mem(__pyx_v_base)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(8, 104, __pyx_L1_error) /* "MPI/MPI.pyx":98 * return tomemory(base, size) * * def Free_mem(memory): # <<<<<<<<<<<<<< * """ * 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_AddTraceback("mpi4py.MPI.Free_mem", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "MPI/MPI.pyx":109 * # ----------------------- * * def Init(): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_35Init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_34Init[] = "Init()\n\n Initialize the MPI execution environment\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_35Init = {"Init", (PyCFunction)__pyx_pw_6mpi4py_3MPI_35Init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_34Init}; static PyObject *__pyx_pw_6mpi4py_3MPI_35Init(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_34Init(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_34Init(CYTHON_UNUSED PyObject *__pyx_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Init", 0); /* "MPI/MPI.pyx":113 * 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 == -1)) __PYX_ERR(8, 113, __pyx_L1_error) /* "MPI/MPI.pyx":114 * """ * CHKERR( MPI_Init(NULL, NULL) ) * initialize() # <<<<<<<<<<<<<< * * def Finalize(): */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_initialize(); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(8, 114, __pyx_L1_error) /* "MPI/MPI.pyx":109 * # ----------------------- * * 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; } /* "MPI/MPI.pyx":116 * initialize() * * def Finalize(): # <<<<<<<<<<<<<< * """ * Terminate the MPI execution environment */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_37Finalize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_36Finalize[] = "Finalize()\n\n Terminate the MPI execution environment\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_37Finalize = {"Finalize", (PyCFunction)__pyx_pw_6mpi4py_3MPI_37Finalize, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_36Finalize}; static PyObject *__pyx_pw_6mpi4py_3MPI_37Finalize(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_36Finalize(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_36Finalize(CYTHON_UNUSED PyObject *__pyx_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; __Pyx_RefNannySetupContext("Finalize", 0); /* "MPI/MPI.pyx":120 * Terminate the MPI execution environment * """ * finalize() # <<<<<<<<<<<<<< * CHKERR( MPI_Finalize() ) * */ __pyx_f_6mpi4py_3MPI_finalize(); /* "MPI/MPI.pyx":121 * """ * finalize() * CHKERR( MPI_Finalize() ) # <<<<<<<<<<<<<< * * # Levels of MPI threading support */ __pyx_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Finalize()); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(8, 121, __pyx_L1_error) /* "MPI/MPI.pyx":116 * 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; } /* "MPI/MPI.pyx":138 * #: 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_39Init_thread(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_38Init_thread[] = "Init_thread(int required=THREAD_MULTIPLE)\n\n Initialize the MPI execution environment\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_39Init_thread = {"Init_thread", (PyCFunction)__pyx_pw_6mpi4py_3MPI_39Init_thread, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_38Init_thread}; static PyObject *__pyx_pw_6mpi4py_3MPI_39Init_thread(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_required; 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); 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 = PyDict_GetItem(__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, 138, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); 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, 138, __pyx_L3_error) } else { __pyx_v_required = __pyx_k__135; } } 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, 138, __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_38Init_thread(__pyx_self, __pyx_v_required); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_38Init_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; __Pyx_RefNannySetupContext("Init_thread", 0); /* "MPI/MPI.pyx":142 * 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; /* "MPI/MPI.pyx":143 * """ * 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 == -1)) __PYX_ERR(8, 143, __pyx_L1_error) /* "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_initialize(); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(8, 144, __pyx_L1_error) /* "MPI/MPI.pyx":145 * 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, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":138 * #: 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; } /* "MPI/MPI.pyx":147 * return provided * * def Query_thread(): # <<<<<<<<<<<<<< * """ * Return the level of thread support */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_41Query_thread(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_40Query_thread[] = "Query_thread()\n\n Return the level of thread support\n provided by the MPI library\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_41Query_thread = {"Query_thread", (PyCFunction)__pyx_pw_6mpi4py_3MPI_41Query_thread, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_40Query_thread}; static PyObject *__pyx_pw_6mpi4py_3MPI_41Query_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_40Query_thread(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_40Query_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; __Pyx_RefNannySetupContext("Query_thread", 0); /* "MPI/MPI.pyx":152 * provided by the MPI library * """ * cdef int provided = MPI_THREAD_SINGLE # <<<<<<<<<<<<<< * CHKERR( MPI_Query_thread(&provided) ) * return provided */ __pyx_v_provided = MPI_THREAD_SINGLE; /* "MPI/MPI.pyx":153 * """ * 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 == -1)) __PYX_ERR(8, 153, __pyx_L1_error) /* "MPI/MPI.pyx":154 * 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, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":147 * 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; } /* "MPI/MPI.pyx":156 * return provided * * def Is_thread_main(): # <<<<<<<<<<<<<< * """ * Indicate whether this thread called */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_43Is_thread_main(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_42Is_thread_main[] = "Is_thread_main()\n\n Indicate whether this thread called\n ``Init`` or ``Init_thread``\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_43Is_thread_main = {"Is_thread_main", (PyCFunction)__pyx_pw_6mpi4py_3MPI_43Is_thread_main, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_42Is_thread_main}; static PyObject *__pyx_pw_6mpi4py_3MPI_43Is_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_42Is_thread_main(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_42Is_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; __Pyx_RefNannySetupContext("Is_thread_main", 0); /* "MPI/MPI.pyx":161 * ``Init`` or ``Init_thread`` * """ * cdef int flag = 1 # <<<<<<<<<<<<<< * CHKERR( MPI_Is_thread_main(&flag) ) * return flag */ __pyx_v_flag = 1; /* "MPI/MPI.pyx":162 * """ * 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 == -1)) __PYX_ERR(8, 162, __pyx_L1_error) /* "MPI/MPI.pyx":163 * 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, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":156 * 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; } /* "MPI/MPI.pyx":165 * return flag * * def Is_initialized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Init`` has been called */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_45Is_initialized(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_44Is_initialized[] = "Is_initialized()\n\n Indicates whether ``Init`` has been called\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_45Is_initialized = {"Is_initialized", (PyCFunction)__pyx_pw_6mpi4py_3MPI_45Is_initialized, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_44Is_initialized}; static PyObject *__pyx_pw_6mpi4py_3MPI_45Is_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_44Is_initialized(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_44Is_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; __Pyx_RefNannySetupContext("Is_initialized", 0); /* "MPI/MPI.pyx":169 * Indicates whether ``Init`` has been called * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Initialized(&flag) ) * return flag */ __pyx_v_flag = 0; /* "MPI/MPI.pyx":170 * """ * 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 == -1)) __PYX_ERR(8, 170, __pyx_L1_error) /* "MPI/MPI.pyx":171 * 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, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":165 * 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; } /* "MPI/MPI.pyx":173 * return flag * * def Is_finalized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Finalize`` has completed */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_47Is_finalized(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_46Is_finalized[] = "Is_finalized()\n\n Indicates whether ``Finalize`` has completed\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_47Is_finalized = {"Is_finalized", (PyCFunction)__pyx_pw_6mpi4py_3MPI_47Is_finalized, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_46Is_finalized}; static PyObject *__pyx_pw_6mpi4py_3MPI_47Is_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_46Is_finalized(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_46Is_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; __Pyx_RefNannySetupContext("Is_finalized", 0); /* "MPI/MPI.pyx":177 * Indicates whether ``Finalize`` has completed * """ * cdef int flag = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Finalized(&flag) ) * return flag */ __pyx_v_flag = 0; /* "MPI/MPI.pyx":178 * """ * 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 == -1)) __PYX_ERR(8, 178, __pyx_L1_error) /* "MPI/MPI.pyx":179 * 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, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":173 * 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; } /* "MPI/MPI.pyx":190 * SUBVERSION = MPI_SUBVERSION * * def Get_version(): # <<<<<<<<<<<<<< * """ * Obtain the version number of the MPI standard supported */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_49Get_version(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_48Get_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_49Get_version = {"Get_version", (PyCFunction)__pyx_pw_6mpi4py_3MPI_49Get_version, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_48Get_version}; static PyObject *__pyx_pw_6mpi4py_3MPI_49Get_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_48Get_version(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_48Get_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; __Pyx_RefNannySetupContext("Get_version", 0); /* "MPI/MPI.pyx":195 * 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; /* "MPI/MPI.pyx":196 * """ * cdef int version = 1 * cdef int subversion = 0 # <<<<<<<<<<<<<< * CHKERR( MPI_Get_version(&version, &subversion) ) * return (version, subversion) */ __pyx_v_subversion = 0; /* "MPI/MPI.pyx":197 * 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 == -1)) __PYX_ERR(8, 197, __pyx_L1_error) /* "MPI/MPI.pyx":198 * 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, 198, __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, 198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 198, __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; /* "MPI/MPI.pyx":190 * 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; } /* "MPI/MPI.pyx":200 * return (version, subversion) * * def Get_library_version(): # <<<<<<<<<<<<<< * """ * Obtain the version string of the MPI library */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_51Get_library_version(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_50Get_library_version[] = "Get_library_version()\n\n Obtain the version string of the MPI library\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_51Get_library_version = {"Get_library_version", (PyCFunction)__pyx_pw_6mpi4py_3MPI_51Get_library_version, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_50Get_library_version}; static PyObject *__pyx_pw_6mpi4py_3MPI_51Get_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_50Get_library_version(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_50Get_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; __Pyx_RefNannySetupContext("Get_library_version", 0); /* "MPI/MPI.pyx":205 * """ * 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; /* "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_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_library_version(__pyx_v_name, (&__pyx_v_nlen))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(8, 206, __pyx_L1_error) /* "MPI/MPI.pyx":207 * 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, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":200 * 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; } /* "MPI/MPI.pyx":212 * # ---------------------- * * def Get_processor_name(): # <<<<<<<<<<<<<< * """ * Obtain the name of the calling processor */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_53Get_processor_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_52Get_processor_name[] = "Get_processor_name()\n\n Obtain the name of the calling processor\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_53Get_processor_name = {"Get_processor_name", (PyCFunction)__pyx_pw_6mpi4py_3MPI_53Get_processor_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_52Get_processor_name}; static PyObject *__pyx_pw_6mpi4py_3MPI_53Get_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_52Get_processor_name(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_52Get_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; __Pyx_RefNannySetupContext("Get_processor_name", 0); /* "MPI/MPI.pyx":217 * """ * 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; /* "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_t_1 = __pyx_f_6mpi4py_3MPI_CHKERR(MPI_Get_processor_name(__pyx_v_name, (&__pyx_v_nlen))); if (unlikely(__pyx_t_1 == -1)) __PYX_ERR(8, 218, __pyx_L1_error) /* "MPI/MPI.pyx":219 * 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, 219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":212 * # ---------------------- * * 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; } /* "MPI/MPI.pyx":224 * # -------------------------- * * def Wtime(): # <<<<<<<<<<<<<< * """ * Return an elapsed time on the calling processor */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_55Wtime(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_54Wtime[] = "Wtime()\n\n Return an elapsed time on the calling processor\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_55Wtime = {"Wtime", (PyCFunction)__pyx_pw_6mpi4py_3MPI_55Wtime, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_54Wtime}; static PyObject *__pyx_pw_6mpi4py_3MPI_55Wtime(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_54Wtime(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_54Wtime(CYTHON_UNUSED PyObject *__pyx_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("Wtime", 0); /* "MPI/MPI.pyx":228 * 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, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":224 * # -------------------------- * * 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; } /* "MPI/MPI.pyx":230 * return MPI_Wtime() * * def Wtick(): # <<<<<<<<<<<<<< * """ * Return the resolution of ``Wtime`` */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_57Wtick(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_56Wtick[] = "Wtick()\n\n Return the resolution of ``Wtime``\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_57Wtick = {"Wtick", (PyCFunction)__pyx_pw_6mpi4py_3MPI_57Wtick, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_56Wtick}; static PyObject *__pyx_pw_6mpi4py_3MPI_57Wtick(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_56Wtick(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_56Wtick(CYTHON_UNUSED PyObject *__pyx_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("Wtick", 0); /* "MPI/MPI.pyx":234 * 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, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":230 * 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; } /* "MPI/MPI.pyx":239 * # -------------------- * * def Pcontrol(int level): # <<<<<<<<<<<<<< * """ * Control profiling */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_59Pcontrol(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_58Pcontrol[] = "Pcontrol(int level)\n\n Control profiling\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_59Pcontrol = {"Pcontrol", (PyCFunction)__pyx_pw_6mpi4py_3MPI_59Pcontrol, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_58Pcontrol}; static PyObject *__pyx_pw_6mpi4py_3MPI_59Pcontrol(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_level; 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 239, __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, 239, __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, 239, __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_58Pcontrol(__pyx_self, __pyx_v_level); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_58Pcontrol(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; __Pyx_RefNannySetupContext("Pcontrol", 0); /* "MPI/MPI.pyx":243 * 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 == -1)) __PYX_ERR(8, 243, __pyx_L1_error) } /* "MPI/MPI.pyx":244 * """ * 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 == -1)) __PYX_ERR(8, 244, __pyx_L1_error) /* "MPI/MPI.pyx":239 * # -------------------- * * 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; } /* "MPI/MPI.pyx":267 * 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_61get_vendor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_60get_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_61get_vendor = {"get_vendor", (PyCFunction)__pyx_pw_6mpi4py_3MPI_61get_vendor, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_60get_vendor}; static PyObject *__pyx_pw_6mpi4py_3MPI_61get_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_60get_vendor(__pyx_self); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_60get_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; __Pyx_RefNannySetupContext("get_vendor", 0); /* "MPI/MPI.pyx":275 * - 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; /* "MPI/MPI.pyx":276 * """ * 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; /* "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_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 == -1)) __PYX_ERR(8, 277, __pyx_L1_error) /* "MPI/MPI.pyx":278 * 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, 278, __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, 278, __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, 278, __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, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(8, 278, __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, 278, __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; /* "MPI/MPI.pyx":267 * 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; } /* "MPI/MPI.pyx":286 * 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; __Pyx_RefNannySetupContext("_mpi_type", 0); /* "MPI/MPI.pyx":287 * * 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) { /* "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: * if isinstance(arg, cls): return 1 */ __pyx_t_2 = PyObject_IsSubclass(__pyx_v_arg, ((PyObject *)__pyx_v_cls)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(8, 288, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { __pyx_r = 1; goto __pyx_L0; } /* "MPI/MPI.pyx":287 * * 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; } /* "MPI/MPI.pyx":290 * 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:; /* "MPI/MPI.pyx":291 * else: * if isinstance(arg, cls): return 1 * return 0 # <<<<<<<<<<<<<< * * def _sizeof(arg): */ __pyx_r = 0; goto __pyx_L0; /* "MPI/MPI.pyx":286 * 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; } /* "MPI/MPI.pyx":293 * return 0 * * def _sizeof(arg): # <<<<<<<<<<<<<< * """ * Size in bytes of the underlying MPI handle */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_63_sizeof(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_62_sizeof[] = "_sizeof(arg)\n\n Size in bytes of the underlying MPI handle\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_63_sizeof = {"_sizeof", (PyCFunction)__pyx_pw_6mpi4py_3MPI_63_sizeof, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_62_sizeof}; static PyObject *__pyx_pw_6mpi4py_3MPI_63_sizeof(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 293, __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, 293, __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_62_sizeof(__pyx_self, __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_62_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; __Pyx_RefNannySetupContext("_sizeof", 0); /* "MPI/MPI.pyx":297 * 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 == -1)) __PYX_ERR(8, 297, __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, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; } /* "MPI/MPI.pyx":298 * """ * 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 == -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_Datatype))); 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; } /* "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) * 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 == -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_Request))); 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; } /* "MPI/MPI.pyx":300 * 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 == -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_Message))); 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; } /* "MPI/MPI.pyx":301 * 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 == -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_Op))); 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; } /* "MPI/MPI.pyx":302 * 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 == -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_Group))); 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; } /* "MPI/MPI.pyx":303 * 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 == -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_Info))); 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; } /* "MPI/MPI.pyx":304 * 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 == -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_Errhandler))); 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; } /* "MPI/MPI.pyx":305 * 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 == -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_Comm))); 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; } /* "MPI/MPI.pyx":306 * 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 == -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_Win))); 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; } /* "MPI/MPI.pyx":307 * 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 == -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_File))); 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; } /* "MPI/MPI.pyx":308 * 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__136, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 308, __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, 308, __pyx_L1_error) /* "MPI/MPI.pyx":293 * 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; } /* "MPI/MPI.pyx":310 * 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_65_addressof(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_64_addressof[] = "_addressof(arg)\n\n Memory address of the underlying MPI handle\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_65_addressof = {"_addressof", (PyCFunction)__pyx_pw_6mpi4py_3MPI_65_addressof, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_64_addressof}; static PyObject *__pyx_pw_6mpi4py_3MPI_65_addressof(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 310, __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, 310, __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_64_addressof(__pyx_self, __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_64_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; __Pyx_RefNannySetupContext("_addressof", 0); /* "MPI/MPI.pyx":314 * Memory address of the underlying MPI handle * """ * cdef void *ptr = NULL # <<<<<<<<<<<<<< * if isinstance(arg, Status): * ptr = &(arg).ob_mpi */ __pyx_v_ptr = NULL; /* "MPI/MPI.pyx":315 * """ * 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) { /* "MPI/MPI.pyx":316 * 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)); /* "MPI/MPI.pyx":315 * """ * cdef void *ptr = NULL * if isinstance(arg, Status): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Datatype): */ goto __pyx_L3; } /* "MPI/MPI.pyx":317 * 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) { /* "MPI/MPI.pyx":318 * 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)); /* "MPI/MPI.pyx":317 * if isinstance(arg, Status): * ptr = &(arg).ob_mpi * elif isinstance(arg, Datatype): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Request): */ goto __pyx_L3; } /* "MPI/MPI.pyx":319 * 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) { /* "MPI/MPI.pyx":320 * 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)); /* "MPI/MPI.pyx":319 * elif isinstance(arg, Datatype): * ptr = &(arg).ob_mpi * elif isinstance(arg, Request): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Message): */ goto __pyx_L3; } /* "MPI/MPI.pyx":321 * 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) { /* "MPI/MPI.pyx":322 * 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)); /* "MPI/MPI.pyx":321 * elif isinstance(arg, Request): * ptr = &(arg).ob_mpi * elif isinstance(arg, Message): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Op): */ goto __pyx_L3; } /* "MPI/MPI.pyx":323 * 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) { /* "MPI/MPI.pyx":324 * 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)); /* "MPI/MPI.pyx":323 * elif isinstance(arg, Message): * ptr = &(arg).ob_mpi * elif isinstance(arg, Op): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Group): */ goto __pyx_L3; } /* "MPI/MPI.pyx":325 * 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) { /* "MPI/MPI.pyx":326 * 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)); /* "MPI/MPI.pyx":325 * elif isinstance(arg, Op): * ptr = &(arg).ob_mpi * elif isinstance(arg, Group): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Info): */ goto __pyx_L3; } /* "MPI/MPI.pyx":327 * 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) { /* "MPI/MPI.pyx":328 * 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)); /* "MPI/MPI.pyx":327 * elif isinstance(arg, Group): * ptr = &(arg).ob_mpi * elif isinstance(arg, Info): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Errhandler): */ goto __pyx_L3; } /* "MPI/MPI.pyx":329 * 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) { /* "MPI/MPI.pyx":330 * 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)); /* "MPI/MPI.pyx":329 * elif isinstance(arg, Info): * ptr = &(arg).ob_mpi * elif isinstance(arg, Errhandler): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Comm): */ goto __pyx_L3; } /* "MPI/MPI.pyx":331 * 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) { /* "MPI/MPI.pyx":332 * 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)); /* "MPI/MPI.pyx":331 * elif isinstance(arg, Errhandler): * ptr = &(arg).ob_mpi * elif isinstance(arg, Comm): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, Win): */ goto __pyx_L3; } /* "MPI/MPI.pyx":333 * 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) { /* "MPI/MPI.pyx":334 * 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)); /* "MPI/MPI.pyx":333 * elif isinstance(arg, Comm): * ptr = &(arg).ob_mpi * elif isinstance(arg, Win): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * elif isinstance(arg, File): */ goto __pyx_L3; } /* "MPI/MPI.pyx":335 * 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 (__pyx_t_2) { /* "MPI/MPI.pyx":336 * 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)); /* "MPI/MPI.pyx":335 * elif isinstance(arg, Win): * ptr = &(arg).ob_mpi * elif isinstance(arg, File): # <<<<<<<<<<<<<< * ptr = &(arg).ob_mpi * else: */ goto __pyx_L3; } /* "MPI/MPI.pyx":338 * 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__137, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 338, __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, 338, __pyx_L1_error) } __pyx_L3:; /* "MPI/MPI.pyx":339 * 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, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":310 * 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; } /* "MPI/MPI.pyx":341 * return PyLong_FromVoidPtr(ptr) * * def _handleof(arg): # <<<<<<<<<<<<<< * """ * Unsigned integer value with the underlying MPI handle */ /* Python wrapper */ static PyObject *__pyx_pw_6mpi4py_3MPI_67_handleof(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_6mpi4py_3MPI_66_handleof[] = "_handleof(arg)\n\n Unsigned integer value with the underlying MPI handle\n "; static PyMethodDef __pyx_mdef_6mpi4py_3MPI_67_handleof = {"_handleof", (PyCFunction)__pyx_pw_6mpi4py_3MPI_67_handleof, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_66_handleof}; static PyObject *__pyx_pw_6mpi4py_3MPI_67_handleof(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_arg = 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); case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = PyDict_GetItem(__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, 341, __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, 341, __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_66_handleof(__pyx_self, __pyx_v_arg); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_6mpi4py_3MPI_66_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; __Pyx_RefNannySetupContext("_handleof", 0); /* "MPI/MPI.pyx":345 * 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 (__pyx_t_2) { /* "MPI/MPI.pyx":346 * """ * 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, 346, __pyx_L1_error) /* "MPI/MPI.pyx":345 * Unsigned integer value with the underlying MPI handle * """ * if isinstance(arg, Status): # <<<<<<<<<<<<<< * raise NotImplementedError * elif isinstance(arg, Datatype): */ } /* "MPI/MPI.pyx":347 * 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) { /* "MPI/MPI.pyx":348 * 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, 348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":347 * if isinstance(arg, Status): * raise NotImplementedError * elif isinstance(arg, Datatype): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Request): */ } /* "MPI/MPI.pyx":349 * 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) { /* "MPI/MPI.pyx":350 * 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, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":349 * elif isinstance(arg, Datatype): * return ((arg).ob_mpi) * elif isinstance(arg, Request): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Message): */ } /* "MPI/MPI.pyx":351 * 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) { /* "MPI/MPI.pyx":352 * 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, 352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":351 * elif isinstance(arg, Request): * return ((arg).ob_mpi) * elif isinstance(arg, Message): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Op): */ } /* "MPI/MPI.pyx":353 * 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) { /* "MPI/MPI.pyx":354 * 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, 354, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":353 * elif isinstance(arg, Message): * return ((arg).ob_mpi) * elif isinstance(arg, Op): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Group): */ } /* "MPI/MPI.pyx":355 * 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) { /* "MPI/MPI.pyx":356 * 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, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":355 * elif isinstance(arg, Op): * return ((arg).ob_mpi) * elif isinstance(arg, Group): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Info): */ } /* "MPI/MPI.pyx":357 * 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) { /* "MPI/MPI.pyx":358 * 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, 358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":357 * elif isinstance(arg, Group): * return ((arg).ob_mpi) * elif isinstance(arg, Info): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Errhandler): */ } /* "MPI/MPI.pyx":359 * 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) { /* "MPI/MPI.pyx":360 * 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, 360, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":359 * elif isinstance(arg, Info): * return ((arg).ob_mpi) * elif isinstance(arg, Errhandler): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Comm): */ } /* "MPI/MPI.pyx":361 * 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) { /* "MPI/MPI.pyx":362 * 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, 362, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":361 * elif isinstance(arg, Errhandler): * return ((arg).ob_mpi) * elif isinstance(arg, Comm): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, Win): */ } /* "MPI/MPI.pyx":363 * 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) { /* "MPI/MPI.pyx":364 * 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, 364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":363 * elif isinstance(arg, Comm): * return ((arg).ob_mpi) * elif isinstance(arg, Win): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * elif isinstance(arg, File): */ } /* "MPI/MPI.pyx":365 * 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 (__pyx_t_2) { /* "MPI/MPI.pyx":366 * 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, 366, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "MPI/MPI.pyx":365 * elif isinstance(arg, Win): * return ((arg).ob_mpi) * elif isinstance(arg, File): # <<<<<<<<<<<<<< * return ((arg).ob_mpi) * else: */ } /* "MPI/MPI.pyx":368 * return ((arg).ob_mpi) * else: * raise TypeError("expecting an MPI instance") # <<<<<<<<<<<<<< * * # -------------------------------------------------------------------- */ /*else*/ { __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__138, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 368, __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, 368, __pyx_L1_error) } /* "MPI/MPI.pyx":341 * 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 PY_VERSION_HEX >= 0x030400a1 if (unlikely(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)__pyx_pw_6mpi4py_3MPI_6Status_5Get_source, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_4Get_source}, {"Set_source", (PyCFunction)__pyx_pw_6mpi4py_3MPI_6Status_7Set_source, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_6Set_source}, {"Get_tag", (PyCFunction)__pyx_pw_6mpi4py_3MPI_6Status_9Get_tag, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_8Get_tag}, {"Set_tag", (PyCFunction)__pyx_pw_6mpi4py_3MPI_6Status_11Set_tag, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_10Set_tag}, {"Get_error", (PyCFunction)__pyx_pw_6mpi4py_3MPI_6Status_13Get_error, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_12Get_error}, {"Set_error", (PyCFunction)__pyx_pw_6mpi4py_3MPI_6Status_15Set_error, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_14Set_error}, {"Get_count", (PyCFunction)__pyx_pw_6mpi4py_3MPI_6Status_17Get_count, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_16Get_count}, {"Get_elements", (PyCFunction)__pyx_pw_6mpi4py_3MPI_6Status_19Get_elements, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_18Get_elements}, {"Set_elements", (PyCFunction)__pyx_pw_6mpi4py_3MPI_6Status_21Set_elements, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_20Set_elements}, {"Is_cancelled", (PyCFunction)__pyx_pw_6mpi4py_3MPI_6Status_23Is_cancelled, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_22Is_cancelled}, {"Set_cancelled", (PyCFunction)__pyx_pw_6mpi4py_3MPI_6Status_25Set_cancelled, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_24Set_cancelled}, {"py2f", (PyCFunction)__pyx_pw_6mpi4py_3MPI_6Status_27py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_6Status_26py2f}, {"f2py", (PyCFunction)__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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ "\n 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 }; 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 PY_VERSION_HEX >= 0x030400a1 if (unlikely(Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_6mpi4py_3MPI_8Datatype_3__dealloc__(o); --Py_REFCNT(o); 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)__pyx_pw_6mpi4py_3MPI_8Datatype_9Get_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_8Get_size}, {"Get_extent", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_11Get_extent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_10Get_extent}, {"Dup", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_13Dup, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_12Dup}, {"Create_contiguous", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_15Create_contiguous, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_14Create_contiguous}, {"Create_vector", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_17Create_vector, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_16Create_vector}, {"Create_hvector", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_19Create_hvector, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_18Create_hvector}, {"Create_indexed", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_21Create_indexed, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_20Create_indexed}, {"Create_hindexed", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_23Create_hindexed, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_22Create_hindexed}, {"Create_indexed_block", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_25Create_indexed_block, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_24Create_indexed_block}, {"Create_hindexed_block", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_27Create_hindexed_block, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_26Create_hindexed_block}, {"Create_struct", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_29Create_struct, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_28Create_struct}, {"Create_subarray", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_31Create_subarray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_30Create_subarray}, {"Create_darray", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_33Create_darray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_32Create_darray}, {"Create_f90_integer", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_35Create_f90_integer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_34Create_f90_integer}, {"Create_f90_real", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_37Create_f90_real, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_36Create_f90_real}, {"Create_f90_complex", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_39Create_f90_complex, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_38Create_f90_complex}, {"Match_size", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_41Match_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_40Match_size}, {"Commit", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_43Commit, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_42Commit}, {"Free", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_45Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_44Free}, {"Create_resized", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_47Create_resized, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_46Create_resized}, {"Get_true_extent", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_49Get_true_extent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_48Get_true_extent}, {"Get_envelope", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_51Get_envelope, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_50Get_envelope}, {"Get_contents", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_53Get_contents, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_52Get_contents}, {"decode", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_55decode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_54decode}, {"Pack", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_57Pack, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_56Pack}, {"Unpack", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_59Unpack, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_58Unpack}, {"Pack_size", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_61Pack_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_60Pack_size}, {"Pack_external", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_63Pack_external, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_62Pack_external}, {"Unpack_external", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_65Unpack_external, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_64Unpack_external}, {"Pack_external_size", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_67Pack_external_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_66Pack_external_size}, {"Get_attr", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_69Get_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_68Get_attr}, {"Set_attr", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_71Set_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_70Set_attr}, {"Delete_attr", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_73Delete_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_72Delete_attr}, {"Create_keyval", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_75Create_keyval, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_74Create_keyval}, {"Free_keyval", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_77Free_keyval, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_76Free_keyval}, {"Get_name", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_79Get_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_78Get_name}, {"Set_name", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_81Set_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_80Set_name}, {"py2f", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Datatype_83py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Datatype_82py2f}, {"f2py", (PyCFunction)__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 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 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 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || CYTHON_COMPILING_IN_PYPY 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 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ &__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 }; 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 PY_VERSION_HEX >= 0x030400a1 if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif PyObject_GC_UnTrack(o); { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_6mpi4py_3MPI_7Request_3__dealloc__(o); --Py_REFCNT(o); 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)__pyx_pw_6mpi4py_3MPI_7Request_9Wait, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_8Wait}, {"Test", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_11Test, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_10Test}, {"Free", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_13Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_12Free}, {"Get_status", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_15Get_status, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_14Get_status}, {"Waitany", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_17Waitany, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_16Waitany}, {"Testany", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_19Testany, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_18Testany}, {"Waitall", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_21Waitall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_20Waitall}, {"Testall", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_23Testall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_22Testall}, {"Waitsome", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_25Waitsome, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_24Waitsome}, {"Testsome", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_27Testsome, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_26Testsome}, {"Cancel", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_29Cancel, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_28Cancel}, {"py2f", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_31py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_30py2f}, {"f2py", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_33f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_32f2py}, {"wait", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_35wait, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_34wait}, {"test", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_37test, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_36test}, {"waitany", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_39waitany, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_38waitany}, {"testany", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_41testany, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_40testany}, {"waitall", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Request_43waitall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Request_42waitall}, {"testall", (PyCFunction)__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 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 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 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || CYTHON_COMPILING_IN_PYPY 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 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ &__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 }; 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)__pyx_pw_6mpi4py_3MPI_8Prequest_3Start, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Prequest_2Start}, {"Startall", (PyCFunction)__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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ "\n 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 }; 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)__pyx_pw_6mpi4py_3MPI_8Grequest_3Start, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Grequest_2Start}, {"Complete", (PyCFunction)__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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ "\n 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 }; 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 PY_VERSION_HEX >= 0x030400a1 if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif PyObject_GC_UnTrack(o); { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_6mpi4py_3MPI_7Message_3__dealloc__(o); --Py_REFCNT(o); 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)__pyx_pw_6mpi4py_3MPI_7Message_9Probe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_8Probe}, {"Iprobe", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Message_11Iprobe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_10Iprobe}, {"Recv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Message_13Recv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_12Recv}, {"Irecv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Message_15Irecv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_14Irecv}, {"probe", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Message_17probe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_16probe}, {"iprobe", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Message_19iprobe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_18iprobe}, {"recv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Message_21recv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_20recv}, {"irecv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Message_23irecv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_22irecv}, {"py2f", (PyCFunction)__pyx_pw_6mpi4py_3MPI_7Message_25py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_7Message_24py2f}, {"f2py", (PyCFunction)__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 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 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 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || CYTHON_COMPILING_IN_PYPY 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 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ &__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 }; 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 PY_VERSION_HEX >= 0x030400a1 if (unlikely(Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_6mpi4py_3MPI_2Op_3__dealloc__(o); --Py_REFCNT(o); 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)__pyx_pw_6mpi4py_3MPI_2Op_11Create, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2Op_10Create}, {"Free", (PyCFunction)__pyx_pw_6mpi4py_3MPI_2Op_13Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2Op_12Free}, {"Is_commutative", (PyCFunction)__pyx_pw_6mpi4py_3MPI_2Op_15Is_commutative, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2Op_14Is_commutative}, {"Reduce_local", (PyCFunction)__pyx_pw_6mpi4py_3MPI_2Op_17Reduce_local, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2Op_16Reduce_local}, {"py2f", (PyCFunction)__pyx_pw_6mpi4py_3MPI_2Op_19py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_2Op_18py2f}, {"f2py", (PyCFunction)__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 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 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 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || CYTHON_COMPILING_IN_PYPY 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 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ &__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 }; 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 PY_VERSION_HEX >= 0x030400a1 if (unlikely(Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_6mpi4py_3MPI_5Group_3__dealloc__(o); --Py_REFCNT(o); 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)__pyx_pw_6mpi4py_3MPI_5Group_9Get_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_8Get_size}, {"Get_rank", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_11Get_rank, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_10Get_rank}, {"Translate_ranks", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_13Translate_ranks, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_12Translate_ranks}, {"Compare", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_15Compare, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_14Compare}, {"Dup", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_17Dup, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_16Dup}, {"Union", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_19Union, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_18Union}, {"Intersection", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_21Intersection, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_20Intersection}, {"Difference", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_23Difference, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_22Difference}, {"Incl", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_25Incl, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_24Incl}, {"Excl", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_27Excl, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_26Excl}, {"Range_incl", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_29Range_incl, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_28Range_incl}, {"Range_excl", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_31Range_excl, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_30Range_excl}, {"Free", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_33Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_32Free}, {"py2f", (PyCFunction)__pyx_pw_6mpi4py_3MPI_5Group_35py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_5Group_34py2f}, {"f2py", (PyCFunction)__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 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 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 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || CYTHON_COMPILING_IN_PYPY 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 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ &__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 }; 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 PY_VERSION_HEX >= 0x030400a1 if (unlikely(Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_6mpi4py_3MPI_4Info_3__dealloc__(o); --Py_REFCNT(o); 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)__pyx_pw_6mpi4py_3MPI_4Info_9Create, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_8Create}, {"Free", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_11Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_10Free}, {"Dup", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_13Dup, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_12Dup}, {"Get", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_15Get, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_14Get}, {"Set", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_17Set, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_16Set}, {"Delete", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_19Delete, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_18Delete}, {"Get_nkeys", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_21Get_nkeys, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_20Get_nkeys}, {"Get_nthkey", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_23Get_nthkey, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_22Get_nthkey}, {"py2f", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_25py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_24py2f}, {"f2py", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_27f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_26f2py}, {"get", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_41get, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_40get}, {"keys", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_43keys, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_42keys}, {"values", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_45values, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_44values}, {"items", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_47items, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_46items}, {"update", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_49update, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_48update}, {"clear", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Info_51clear, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Info_50clear}, {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 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 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 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || CYTHON_COMPILING_IN_PYPY 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 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ &__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 }; 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 PY_VERSION_HEX >= 0x030400a1 if (unlikely(Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_6mpi4py_3MPI_10Errhandler_3__dealloc__(o); --Py_REFCNT(o); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Errhandler[] = { {"Free", (PyCFunction)__pyx_pw_6mpi4py_3MPI_10Errhandler_9Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_10Errhandler_8Free}, {"py2f", (PyCFunction)__pyx_pw_6mpi4py_3MPI_10Errhandler_11py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_10Errhandler_10py2f}, {"f2py", (PyCFunction)__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 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 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 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || CYTHON_COMPILING_IN_PYPY 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 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ &__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 }; 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 PY_VERSION_HEX >= 0x030400a1 if (unlikely(Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_6mpi4py_3MPI_4Comm_3__dealloc__(o); --Py_REFCNT(o); 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)__pyx_pw_6mpi4py_3MPI_4Comm_9Get_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_8Get_group}, {"Get_size", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_11Get_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_10Get_size}, {"Get_rank", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_13Get_rank, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_12Get_rank}, {"Compare", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_15Compare, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_14Compare}, {"Clone", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_17Clone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_16Clone}, {"Dup", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_19Dup, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_18Dup}, {"Dup_with_info", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_21Dup_with_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_20Dup_with_info}, {"Idup", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_23Idup, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_22Idup}, {"Create", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_25Create, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_24Create}, {"Create_group", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_27Create_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_26Create_group}, {"Split", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_29Split, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_28Split}, {"Split_type", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_31Split_type, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_30Split_type}, {"Free", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_33Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_32Free}, {"Set_info", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_35Set_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_34Set_info}, {"Get_info", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_37Get_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_36Get_info}, {"Send", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_39Send, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_38Send}, {"Recv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_41Recv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_40Recv}, {"Sendrecv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_43Sendrecv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_42Sendrecv}, {"Sendrecv_replace", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_45Sendrecv_replace, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_44Sendrecv_replace}, {"Isend", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_47Isend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_46Isend}, {"Irecv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_49Irecv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_48Irecv}, {"Probe", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_51Probe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_50Probe}, {"Iprobe", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_53Iprobe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_52Iprobe}, {"Mprobe", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_55Mprobe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_54Mprobe}, {"Improbe", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_57Improbe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_56Improbe}, {"Send_init", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_59Send_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_58Send_init}, {"Recv_init", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_61Recv_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_60Recv_init}, {"Bsend", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_63Bsend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_62Bsend}, {"Ssend", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_65Ssend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_64Ssend}, {"Rsend", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_67Rsend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_66Rsend}, {"Ibsend", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_69Ibsend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_68Ibsend}, {"Issend", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_71Issend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_70Issend}, {"Irsend", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_73Irsend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_72Irsend}, {"Bsend_init", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_75Bsend_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_74Bsend_init}, {"Ssend_init", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_77Ssend_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_76Ssend_init}, {"Rsend_init", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_79Rsend_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_78Rsend_init}, {"Barrier", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_81Barrier, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_80Barrier}, {"Bcast", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_83Bcast, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_82Bcast}, {"Gather", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_85Gather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_84Gather}, {"Gatherv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_87Gatherv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_86Gatherv}, {"Scatter", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_89Scatter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_88Scatter}, {"Scatterv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_91Scatterv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_90Scatterv}, {"Allgather", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_93Allgather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_92Allgather}, {"Allgatherv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_95Allgatherv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_94Allgatherv}, {"Alltoall", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_97Alltoall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_96Alltoall}, {"Alltoallv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_99Alltoallv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_98Alltoallv}, {"Alltoallw", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_101Alltoallw, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_100Alltoallw}, {"Reduce", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_103Reduce, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_102Reduce}, {"Allreduce", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_105Allreduce, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_104Allreduce}, {"Reduce_scatter_block", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_107Reduce_scatter_block, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_106Reduce_scatter_block}, {"Reduce_scatter", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_109Reduce_scatter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_108Reduce_scatter}, {"Ibarrier", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_111Ibarrier, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_110Ibarrier}, {"Ibcast", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_113Ibcast, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_112Ibcast}, {"Igather", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_115Igather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_114Igather}, {"Igatherv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_117Igatherv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_116Igatherv}, {"Iscatter", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_119Iscatter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_118Iscatter}, {"Iscatterv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_121Iscatterv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_120Iscatterv}, {"Iallgather", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_123Iallgather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_122Iallgather}, {"Iallgatherv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_125Iallgatherv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_124Iallgatherv}, {"Ialltoall", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_127Ialltoall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_126Ialltoall}, {"Ialltoallv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_129Ialltoallv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_128Ialltoallv}, {"Ialltoallw", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_131Ialltoallw, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_130Ialltoallw}, {"Ireduce", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_133Ireduce, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_132Ireduce}, {"Iallreduce", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_135Iallreduce, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_134Iallreduce}, {"Ireduce_scatter_block", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_137Ireduce_scatter_block, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_136Ireduce_scatter_block}, {"Ireduce_scatter", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_139Ireduce_scatter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_138Ireduce_scatter}, {"Is_inter", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_141Is_inter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_140Is_inter}, {"Is_intra", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_143Is_intra, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_142Is_intra}, {"Get_topology", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_145Get_topology, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_144Get_topology}, {"Get_parent", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_147Get_parent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_146Get_parent}, {"Disconnect", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_149Disconnect, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_148Disconnect}, {"Join", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_151Join, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_150Join}, {"Get_attr", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_153Get_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_152Get_attr}, {"Set_attr", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_155Set_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_154Set_attr}, {"Delete_attr", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_157Delete_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_156Delete_attr}, {"Create_keyval", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_159Create_keyval, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_158Create_keyval}, {"Free_keyval", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_161Free_keyval, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_160Free_keyval}, {"Get_errhandler", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_163Get_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_162Get_errhandler}, {"Set_errhandler", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_165Set_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_164Set_errhandler}, {"Call_errhandler", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_167Call_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_166Call_errhandler}, {"Abort", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_169Abort, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_168Abort}, {"Get_name", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_171Get_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_170Get_name}, {"Set_name", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_173Set_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_172Set_name}, {"py2f", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_175py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_174py2f}, {"f2py", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_177f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_176f2py}, {"send", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_179send, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_178send}, {"bsend", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_181bsend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_180bsend}, {"ssend", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_183ssend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_182ssend}, {"recv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_185recv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_184recv}, {"sendrecv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_187sendrecv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_186sendrecv}, {"isend", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_189isend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_188isend}, {"ibsend", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_191ibsend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_190ibsend}, {"issend", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_193issend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_192issend}, {"irecv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_195irecv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_194irecv}, {"probe", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_197probe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_196probe}, {"iprobe", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_199iprobe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_198iprobe}, {"mprobe", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_201mprobe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_200mprobe}, {"improbe", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_203improbe, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_202improbe}, {"barrier", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_205barrier, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_204barrier}, {"bcast", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_207bcast, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_206bcast}, {"gather", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_209gather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_208gather}, {"scatter", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_211scatter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_210scatter}, {"allgather", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_213allgather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_212allgather}, {"alltoall", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_215alltoall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_214alltoall}, {"reduce", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4Comm_217reduce, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4Comm_216reduce}, {"allreduce", (PyCFunction)__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 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 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 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || CYTHON_COMPILING_IN_PYPY 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 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ &__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 }; 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)__pyx_pw_6mpi4py_3MPI_9Intracomm_3Create_cart, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_2Create_cart}, {"Create_graph", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_5Create_graph, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_4Create_graph}, {"Create_dist_graph_adjacent", (PyCFunction)__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)__pyx_pw_6mpi4py_3MPI_9Intracomm_9Create_dist_graph, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_8Create_dist_graph}, {"Create_intercomm", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_11Create_intercomm, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_10Create_intercomm}, {"Cart_map", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_13Cart_map, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_12Cart_map}, {"Graph_map", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_15Graph_map, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_14Graph_map}, {"Scan", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_17Scan, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_16Scan}, {"Exscan", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_19Exscan, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_18Exscan}, {"Iscan", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_21Iscan, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_20Iscan}, {"Iexscan", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_23Iexscan, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_22Iexscan}, {"scan", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_25scan, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_24scan}, {"exscan", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_27exscan, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_26exscan}, {"Spawn", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_29Spawn, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_28Spawn}, {"Spawn_multiple", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_31Spawn_multiple, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_30Spawn_multiple}, {"Accept", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intracomm_33Accept, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intracomm_32Accept}, {"Connect", (PyCFunction)__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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ "\n 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 }; 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)__pyx_pw_6mpi4py_3MPI_8Topocomm_3Neighbor_allgather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_2Neighbor_allgather}, {"Neighbor_allgatherv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Topocomm_5Neighbor_allgatherv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_4Neighbor_allgatherv}, {"Neighbor_alltoall", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Topocomm_7Neighbor_alltoall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_6Neighbor_alltoall}, {"Neighbor_alltoallv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Topocomm_9Neighbor_alltoallv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_8Neighbor_alltoallv}, {"Neighbor_alltoallw", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Topocomm_11Neighbor_alltoallw, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_10Neighbor_alltoallw}, {"Ineighbor_allgather", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Topocomm_13Ineighbor_allgather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_12Ineighbor_allgather}, {"Ineighbor_allgatherv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Topocomm_15Ineighbor_allgatherv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_14Ineighbor_allgatherv}, {"Ineighbor_alltoall", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Topocomm_17Ineighbor_alltoall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_16Ineighbor_alltoall}, {"Ineighbor_alltoallv", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Topocomm_19Ineighbor_alltoallv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_18Ineighbor_alltoallv}, {"Ineighbor_alltoallw", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Topocomm_21Ineighbor_alltoallw, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_20Ineighbor_alltoallw}, {"neighbor_allgather", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Topocomm_23neighbor_allgather, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Topocomm_22neighbor_allgather}, {"neighbor_alltoall", (PyCFunction)__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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ "\n 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 }; 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)__pyx_pw_6mpi4py_3MPI_8Cartcomm_3Get_dim, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Cartcomm_2Get_dim}, {"Get_topo", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Cartcomm_5Get_topo, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Cartcomm_4Get_topo}, {"Get_cart_rank", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Cartcomm_7Get_cart_rank, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Cartcomm_6Get_cart_rank}, {"Get_coords", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Cartcomm_9Get_coords, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Cartcomm_8Get_coords}, {"Shift", (PyCFunction)__pyx_pw_6mpi4py_3MPI_8Cartcomm_11Shift, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_8Cartcomm_10Shift}, {"Sub", (PyCFunction)__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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ "\n 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 }; 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)__pyx_pw_6mpi4py_3MPI_9Graphcomm_3Get_dims, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Graphcomm_2Get_dims}, {"Get_topo", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Graphcomm_5Get_topo, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Graphcomm_4Get_topo}, {"Get_neighbors_count", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Graphcomm_7Get_neighbors_count, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Graphcomm_6Get_neighbors_count}, {"Get_neighbors", (PyCFunction)__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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ "\n 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 }; 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)__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)__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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ "\n 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 }; 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)__pyx_pw_6mpi4py_3MPI_9Intercomm_3Get_remote_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intercomm_2Get_remote_group}, {"Get_remote_size", (PyCFunction)__pyx_pw_6mpi4py_3MPI_9Intercomm_5Get_remote_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_9Intercomm_4Get_remote_size}, {"Merge", (PyCFunction)__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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ "\n 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 }; 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 PY_VERSION_HEX >= 0x030400a1 if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif PyObject_GC_UnTrack(o); { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_6mpi4py_3MPI_3Win_3__dealloc__(o); --Py_REFCNT(o); 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_memory(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_3Win_6memory_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)__pyx_pw_6mpi4py_3MPI_3Win_9Create, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_8Create}, {"Allocate", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_11Allocate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_10Allocate}, {"Allocate_shared", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_13Allocate_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_12Allocate_shared}, {"Shared_query", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_15Shared_query, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_14Shared_query}, {"Create_dynamic", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_17Create_dynamic, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_16Create_dynamic}, {"Attach", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_19Attach, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_18Attach}, {"Detach", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_21Detach, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_20Detach}, {"Free", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_23Free, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_22Free}, {"Set_info", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_25Set_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_24Set_info}, {"Get_info", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_27Get_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_26Get_info}, {"Get_group", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_29Get_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_28Get_group}, {"Get_attr", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_31Get_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_30Get_attr}, {"Set_attr", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_33Set_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_32Set_attr}, {"Delete_attr", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_35Delete_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_34Delete_attr}, {"Create_keyval", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_37Create_keyval, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_36Create_keyval}, {"Free_keyval", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_39Free_keyval, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_38Free_keyval}, {"Put", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_41Put, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_40Put}, {"Get", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_43Get, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_42Get}, {"Accumulate", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_45Accumulate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_44Accumulate}, {"Get_accumulate", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_47Get_accumulate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_46Get_accumulate}, {"Rput", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_49Rput, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_48Rput}, {"Rget", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_51Rget, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_50Rget}, {"Raccumulate", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_53Raccumulate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_52Raccumulate}, {"Rget_accumulate", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_55Rget_accumulate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_54Rget_accumulate}, {"Fence", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_57Fence, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_56Fence}, {"Start", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_59Start, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_58Start}, {"Complete", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_61Complete, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_60Complete}, {"Post", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_63Post, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_62Post}, {"Wait", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_65Wait, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_64Wait}, {"Test", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_67Test, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_66Test}, {"Lock", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_69Lock, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_68Lock}, {"Unlock", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_71Unlock, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_70Unlock}, {"Lock_all", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_73Lock_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_72Lock_all}, {"Unlock_all", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_75Unlock_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_74Unlock_all}, {"Flush", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_77Flush, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_76Flush}, {"Flush_all", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_79Flush_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_78Flush_all}, {"Flush_local", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_81Flush_local, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_80Flush_local}, {"Flush_local_all", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_83Flush_local_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_82Flush_local_all}, {"Sync", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_85Sync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_84Sync}, {"Get_errhandler", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_87Get_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_86Get_errhandler}, {"Set_errhandler", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_89Set_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_88Set_errhandler}, {"Call_errhandler", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_91Call_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_90Call_errhandler}, {"Get_name", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_93Get_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_92Get_name}, {"Set_name", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_95Set_name, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_94Set_name}, {"py2f", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_97py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_96py2f}, {"f2py", (PyCFunction)__pyx_pw_6mpi4py_3MPI_3Win_99f2py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_3Win_98f2py}, {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 *)"memory", __pyx_getprop_6mpi4py_3MPI_3Win_memory, 0, (char *)"window memory buffer", 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 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 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 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || CYTHON_COMPILING_IN_PYPY 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 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) 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ &__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*/ 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 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 }; 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 PY_VERSION_HEX >= 0x030400a1 if (unlikely(Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_6mpi4py_3MPI_4File_3__dealloc__(o); --Py_REFCNT(o); 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)__pyx_pw_6mpi4py_3MPI_4File_9Open, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_8Open}, {"Close", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_11Close, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_10Close}, {"Delete", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_13Delete, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_12Delete}, {"Set_size", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_15Set_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_14Set_size}, {"Preallocate", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_17Preallocate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_16Preallocate}, {"Get_size", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_19Get_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_18Get_size}, {"Get_amode", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_21Get_amode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_20Get_amode}, {"Get_group", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_23Get_group, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_22Get_group}, {"Set_info", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_25Set_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_24Set_info}, {"Get_info", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_27Get_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_26Get_info}, {"Set_view", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_29Set_view, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_28Set_view}, {"Get_view", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_31Get_view, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_30Get_view}, {"Read_at", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_33Read_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_32Read_at}, {"Read_at_all", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_35Read_at_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_34Read_at_all}, {"Write_at", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_37Write_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_36Write_at}, {"Write_at_all", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_39Write_at_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_38Write_at_all}, {"Iread_at", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_41Iread_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_40Iread_at}, {"Iread_at_all", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_43Iread_at_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_42Iread_at_all}, {"Iwrite_at", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_45Iwrite_at, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_44Iwrite_at}, {"Iwrite_at_all", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_47Iwrite_at_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_46Iwrite_at_all}, {"Read", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_49Read, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_48Read}, {"Read_all", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_51Read_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_50Read_all}, {"Write", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_53Write, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_52Write}, {"Write_all", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_55Write_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_54Write_all}, {"Iread", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_57Iread, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_56Iread}, {"Iread_all", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_59Iread_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_58Iread_all}, {"Iwrite", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_61Iwrite, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_60Iwrite}, {"Iwrite_all", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_63Iwrite_all, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_62Iwrite_all}, {"Seek", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_65Seek, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_64Seek}, {"Get_position", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_67Get_position, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_66Get_position}, {"Get_byte_offset", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_69Get_byte_offset, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_68Get_byte_offset}, {"Read_shared", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_71Read_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_70Read_shared}, {"Write_shared", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_73Write_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_72Write_shared}, {"Iread_shared", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_75Iread_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_74Iread_shared}, {"Iwrite_shared", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_77Iwrite_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_76Iwrite_shared}, {"Read_ordered", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_79Read_ordered, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_78Read_ordered}, {"Write_ordered", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_81Write_ordered, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_80Write_ordered}, {"Seek_shared", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_83Seek_shared, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_82Seek_shared}, {"Get_position_shared", (PyCFunction)__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)__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)__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)__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)__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)__pyx_pw_6mpi4py_3MPI_4File_95Read_all_begin, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_94Read_all_begin}, {"Read_all_end", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_97Read_all_end, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_96Read_all_end}, {"Write_all_begin", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_99Write_all_begin, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_98Write_all_begin}, {"Write_all_end", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_101Write_all_end, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_100Write_all_end}, {"Read_ordered_begin", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_103Read_ordered_begin, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_102Read_ordered_begin}, {"Read_ordered_end", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_105Read_ordered_end, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_104Read_ordered_end}, {"Write_ordered_begin", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_107Write_ordered_begin, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_106Write_ordered_begin}, {"Write_ordered_end", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_109Write_ordered_end, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_108Write_ordered_end}, {"Get_type_extent", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_111Get_type_extent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_110Get_type_extent}, {"Set_atomicity", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_113Set_atomicity, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_112Set_atomicity}, {"Get_atomicity", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_115Get_atomicity, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_114Get_atomicity}, {"Sync", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_117Sync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_116Sync}, {"Get_errhandler", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_119Get_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_118Get_errhandler}, {"Set_errhandler", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_121Set_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_120Set_errhandler}, {"Call_errhandler", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_123Call_errhandler, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_122Call_errhandler}, {"py2f", (PyCFunction)__pyx_pw_6mpi4py_3MPI_4File_125py2f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6mpi4py_3MPI_4File_124py2f}, {"f2py", (PyCFunction)__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 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 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 0, /*nb_oct*/ #endif #if PY_MAJOR_VERSION < 3 || CYTHON_COMPILING_IN_PYPY 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 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ &__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 }; static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_buffer(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { struct __pyx_obj_6mpi4py_3MPI__p_buffer *p; PyObject *o; o = (*t->tp_alloc)(t, 0); if (unlikely(!o)) return 0; p = ((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)o); p->view.obj = NULL; return o; } static void __pyx_tp_dealloc_6mpi4py_3MPI__p_buffer(PyObject *o) { { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_6mpi4py_3MPI_9_p_buffer_1__dealloc__(o); --Py_REFCNT(o); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyObject *__pyx_sq_item_6mpi4py_3MPI__p_buffer(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__p_buffer(PyObject *o, PyObject *i, PyObject *v) { if (v) { return __pyx_pw_6mpi4py_3MPI_9_p_buffer_17__setitem__(o, i, v); } else { PyErr_Format(PyExc_NotImplementedError, "Subscript deletion not supported by %.200s", Py_TYPE(o)->tp_name); return -1; } } static PyMethodDef __pyx_methods_6mpi4py_3MPI__p_buffer[] = { {0, 0, 0, 0} }; static PySequenceMethods __pyx_tp_as_sequence__p_buffer = { __pyx_pw_6mpi4py_3MPI_9_p_buffer_13__len__, /*sq_length*/ 0, /*sq_concat*/ 0, /*sq_repeat*/ __pyx_sq_item_6mpi4py_3MPI__p_buffer, /*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__p_buffer = { __pyx_pw_6mpi4py_3MPI_9_p_buffer_13__len__, /*mp_length*/ __pyx_pw_6mpi4py_3MPI_9_p_buffer_15__getitem__, /*mp_subscript*/ __pyx_mp_ass_subscript_6mpi4py_3MPI__p_buffer, /*mp_ass_subscript*/ }; static PyBufferProcs __pyx_tp_as_buffer__p_buffer = { #if PY_MAJOR_VERSION < 3 __pyx_pw_6mpi4py_3MPI_9_p_buffer_9__getreadbuffer__, /*bf_getreadbuffer*/ #endif #if PY_MAJOR_VERSION < 3 __pyx_pw_6mpi4py_3MPI_9_p_buffer_11__getwritebuffer__, /*bf_getwritebuffer*/ #endif #if PY_MAJOR_VERSION < 3 __pyx_pw_6mpi4py_3MPI_9_p_buffer_7__getsegcount__, /*bf_getsegcount*/ #endif #if PY_MAJOR_VERSION < 3 0, /*bf_getcharbuffer*/ #endif __pyx_pw_6mpi4py_3MPI_9_p_buffer_3__getbuffer__, /*bf_getbuffer*/ __pyx_pw_6mpi4py_3MPI_9_p_buffer_5__releasebuffer__, /*bf_releasebuffer*/ }; static PyTypeObject __pyx_type_6mpi4py_3MPI__p_buffer = { PyVarObject_HEAD_INIT(0, 0) "mpi4py.MPI._p_buffer", /*tp_name*/ sizeof(struct __pyx_obj_6mpi4py_3MPI__p_buffer), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_6mpi4py_3MPI__p_buffer, /*tp_dealloc*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ &__pyx_tp_as_sequence__p_buffer, /*tp_as_sequence*/ &__pyx_tp_as_mapping__p_buffer, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ &__pyx_tp_as_buffer__p_buffer, /*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_buffer, /*tp_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_buffer, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ 0, /*tp_mro*/ 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ 0, /*tp_del*/ 0, /*tp_version_tag*/ #if PY_VERSION_HEX >= 0x030400a1 0, /*tp_finalize*/ #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); ++Py_REFCNT(o); __pyx_pw_6mpi4py_3MPI_6_p_mem_3__dealloc__(o); --Py_REFCNT(o); 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER, /*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 }; 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 PyMethodDef __pyx_methods_6mpi4py_3MPI__p_keyval[] = { {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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ __pyx_tp_traverse_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*/ 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_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 }; 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ __pyx_tp_traverse_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 }; 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ __pyx_tp_traverse_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 }; 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__p_buffer *)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__p_buffer *)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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ __pyx_tp_traverse_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 }; 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ __pyx_tp_traverse_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 }; 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ __pyx_tp_traverse_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 }; 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ __pyx_tp_traverse_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 }; 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->_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->_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->_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->_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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ __pyx_tp_traverse_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 }; 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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ 0, /*tp_doc*/ __pyx_tp_traverse_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 }; 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_PROTOCOL = 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_PROTOCOL); (*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_PROTOCOL) { e = (*v)(p->ob_PROTOCOL, 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_PROTOCOL); p->ob_PROTOCOL = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); return 0; } static PyObject *__pyx_getprop_6mpi4py_3MPI_6Pickle_dumps(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_6Pickle_5dumps_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_6Pickle_dumps(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_6Pickle_5dumps_3__set__(o, v); } else { return __pyx_pw_6mpi4py_3MPI_6Pickle_5dumps_5__del__(o); } } static PyObject *__pyx_getprop_6mpi4py_3MPI_6Pickle_loads(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_6mpi4py_3MPI_6Pickle_5loads_1__get__(o); } static int __pyx_setprop_6mpi4py_3MPI_6Pickle_loads(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { if (v) { return __pyx_pw_6mpi4py_3MPI_6Pickle_5loads_3__set__(o, v); } else { return __pyx_pw_6mpi4py_3MPI_6Pickle_5loads_5__del__(o); } } 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 { return __pyx_pw_6mpi4py_3MPI_6Pickle_8PROTOCOL_5__del__(o); } } static PyMethodDef __pyx_methods_6mpi4py_3MPI_Pickle[] = { {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_6mpi4py_3MPI_Pickle[] = { {(char *)"dumps", __pyx_getprop_6mpi4py_3MPI_6Pickle_dumps, __pyx_setprop_6mpi4py_3MPI_6Pickle_dumps, (char *)"dumps(obj) -> bytes", 0}, {(char *)"loads", __pyx_getprop_6mpi4py_3MPI_6Pickle_loads, __pyx_setprop_6mpi4py_3MPI_6Pickle_loads, (char *)"loads(input) -> object", 0}, {(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*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ "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 }; static PyMethodDef __pyx_methods[] = { {0, 0, 0, 0} }; #if PY_MAJOR_VERSION >= 3 static struct PyModuleDef __pyx_moduledef = { #if PY_VERSION_HEX < 0x03020000 { PyObject_HEAD_INIT(NULL) NULL, 0, NULL }, #else PyModuleDef_HEAD_INIT, #endif "MPI", 0, /* m_doc */ -1, /* m_size */ __pyx_methods /* m_methods */, NULL, /* m_reload */ NULL, /* m_traverse */ NULL, /* m_clear */ (freefunc)__pyx_module_cleanup /* m_free */ }; #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0}, {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0}, {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0}, {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0}, {&__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_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_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_Close_port, __pyx_k_Close_port, sizeof(__pyx_k_Close_port), 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_D, __pyx_k_D, sizeof(__pyx_k_D), 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_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_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_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_F, __pyx_k_F, sizeof(__pyx_k_F), 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_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_G, __pyx_k_G, sizeof(__pyx_k_G), 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_H, __pyx_k_H, sizeof(__pyx_k_H), 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_I, __pyx_k_I, sizeof(__pyx_k_I), 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_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_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_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_L, __pyx_k_L, sizeof(__pyx_k_L), 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_Comm_pyx, __pyx_k_MPI_Comm_pyx, sizeof(__pyx_k_MPI_Comm_pyx), 0, 0, 1, 0}, {&__pyx_kp_s_MPI_Datatype_pyx, __pyx_k_MPI_Datatype_pyx, sizeof(__pyx_k_MPI_Datatype_pyx), 0, 0, 1, 0}, {&__pyx_kp_s_MPI_ExceptionP_pyx, __pyx_k_MPI_ExceptionP_pyx, sizeof(__pyx_k_MPI_ExceptionP_pyx), 0, 0, 1, 0}, {&__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_Exception_pyx, __pyx_k_MPI_Exception_pyx, sizeof(__pyx_k_MPI_Exception_pyx), 0, 0, 1, 0}, {&__pyx_kp_s_MPI_File_pyx, __pyx_k_MPI_File_pyx, sizeof(__pyx_k_MPI_File_pyx), 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_kp_s_MPI_MPI_pyx, __pyx_k_MPI_MPI_pyx, sizeof(__pyx_k_MPI_MPI_pyx), 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_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_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_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_Q, __pyx_k_Q, sizeof(__pyx_k_Q), 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_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_S, __pyx_k_S, sizeof(__pyx_k_S), 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_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_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_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_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_n_s_Zd, __pyx_k_Zd, sizeof(__pyx_k_Zd), 0, 0, 1, 1}, {&__pyx_n_s_Zf, __pyx_k_Zf, sizeof(__pyx_k_Zf), 0, 0, 1, 1}, {&__pyx_n_s_Zg, __pyx_k_Zg, sizeof(__pyx_k_Zg), 0, 0, 1, 1}, {&__pyx_kp_s__181, __pyx_k__181, sizeof(__pyx_k__181), 0, 0, 1, 0}, {&__pyx_kp_b__29, __pyx_k__29, sizeof(__pyx_k__29), 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_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_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_b, __pyx_k_b, sizeof(__pyx_k_b), 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_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_c, __pyx_k_c, sizeof(__pyx_k_c), 0, 0, 1, 1}, {&__pyx_n_s_c16, __pyx_k_c16, sizeof(__pyx_k_c16), 0, 0, 1, 1}, {&__pyx_n_s_c32, __pyx_k_c32, sizeof(__pyx_k_c32), 0, 0, 1, 1}, {&__pyx_n_s_c4, __pyx_k_c4, sizeof(__pyx_k_c4), 0, 0, 1, 1}, {&__pyx_n_s_c8, __pyx_k_c8, sizeof(__pyx_k_c8), 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_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_n_s_commute, __pyx_k_commute, sizeof(__pyx_k_commute), 0, 0, 1, 1}, {&__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_d, __pyx_k_d, sizeof(__pyx_k_d), 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_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_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_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_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_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1}, {&__pyx_n_s_f16, __pyx_k_f16, sizeof(__pyx_k_f16), 0, 0, 1, 1}, {&__pyx_n_s_f2py, __pyx_k_f2py, sizeof(__pyx_k_f2py), 0, 0, 1, 1}, {&__pyx_n_s_f4, __pyx_k_f4, sizeof(__pyx_k_f4), 0, 0, 1, 1}, {&__pyx_n_s_f8, __pyx_k_f8, sizeof(__pyx_k_f8), 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_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_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_g, __pyx_k_g, sizeof(__pyx_k_g), 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_h, __pyx_k_h, sizeof(__pyx_k_h), 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_i1, __pyx_k_i1, sizeof(__pyx_k_i1), 0, 0, 1, 1}, {&__pyx_n_s_i16, __pyx_k_i16, sizeof(__pyx_k_i16), 0, 0, 1, 1}, {&__pyx_n_s_i2, __pyx_k_i2, sizeof(__pyx_k_i2), 0, 0, 1, 1}, {&__pyx_n_s_i4, __pyx_k_i4, sizeof(__pyx_k_i4), 0, 0, 1, 1}, {&__pyx_n_s_i8, __pyx_k_i8, sizeof(__pyx_k_i8), 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_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_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_l, __pyx_k_l, sizeof(__pyx_k_l), 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_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_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_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_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_3_to_4_items, __pyx_k_message_expecting_3_to_4_items, sizeof(__pyx_k_message_expecting_3_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_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_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_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_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_kp_s_object_is_not_writeable, __pyx_k_object_is_not_writeable, sizeof(__pyx_k_object_is_not_writeable), 0, 0, 1, 0}, {&__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_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_q, __pyx_k_q, sizeof(__pyx_k_q), 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_r16, __pyx_k_r16, sizeof(__pyx_k_r16), 0, 0, 1, 1}, {&__pyx_n_s_r2, __pyx_k_r2, sizeof(__pyx_k_r2), 0, 0, 1, 1}, {&__pyx_n_s_r4, __pyx_k_r4, sizeof(__pyx_k_r4), 0, 0, 1, 1}, {&__pyx_n_s_r8, __pyx_k_r8, sizeof(__pyx_k_r8), 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_rcount, __pyx_k_rcount, sizeof(__pyx_k_rcount), 0, 0, 1, 1}, {&__pyx_n_s_rd, __pyx_k_rd, sizeof(__pyx_k_rd), 0, 0, 1, 1}, {&__pyx_n_s_read, __pyx_k_read, sizeof(__pyx_k_read), 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_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_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_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_s, __pyx_k_s, sizeof(__pyx_k_s), 0, 0, 1, 1}, {&__pyx_n_s_scount, __pyx_k_scount, sizeof(__pyx_k_scount), 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_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_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_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_kp_s_target_expecting_3_items, __pyx_k_target_expecting_3_items, sizeof(__pyx_k_target_expecting_3_items), 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_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_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_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_n_s_u1, __pyx_k_u1, sizeof(__pyx_k_u1), 0, 0, 1, 1}, {&__pyx_n_s_u2, __pyx_k_u2, sizeof(__pyx_k_u2), 0, 0, 1, 1}, {&__pyx_n_s_u4, __pyx_k_u4, sizeof(__pyx_k_u4), 0, 0, 1, 1}, {&__pyx_n_s_u8, __pyx_k_u8, sizeof(__pyx_k_u8), 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}, {&__pyx_n_s_z, __pyx_k_z, sizeof(__pyx_k_z), 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 0} }; static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(0, 54, __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, 157, __pyx_L1_error) __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 165, __pyx_L1_error) __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(0, 176, __pyx_L1_error) __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 220, __pyx_L1_error) __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(2, 45, __pyx_L1_error) __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(3, 18, __pyx_L1_error) __pyx_builtin_OverflowError = __Pyx_GetBuiltinName(__pyx_n_s_OverflowError); if (!__pyx_builtin_OverflowError) __PYX_ERR(4, 35, __pyx_L1_error) __pyx_builtin_NotImplemented = __Pyx_GetBuiltinName(__pyx_n_s_NotImplemented); if (!__pyx_builtin_NotImplemented) __PYX_ERR(5, 17, __pyx_L1_error) __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(6, 803, __pyx_L1_error) __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(7, 1702, __pyx_L1_error) __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(8, 346, __pyx_L1_error) return 0; __pyx_L1_error:; return -1; } static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); /* "MPI/asbuffer.pxi":157 * return 1 * 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_tuple_ = PyTuple_Pack(1, __pyx_kp_s_accessing_non_existent_buffer_se); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 157, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); /* "MPI/asbuffer.pxi":162 * return self.view.len * def __getwritebuffer__(self, Py_ssize_t idx, void **p): * if idx != 0: raise SystemError( # <<<<<<<<<<<<<< * "accessing non-existent buffer segment") * if self.view.readonly: */ __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_accessing_non_existent_buffer_se); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); /* "MPI/asbuffer.pxi":165 * "accessing non-existent buffer segment") * if self.view.readonly: * raise TypeError("object is not writeable") # <<<<<<<<<<<<<< * p[0] = self.view.buf * return self.view.len */ __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_object_is_not_writeable); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); /* "MPI/asbuffer.pxi":176 * if i < 0: i += self.view.len * if i < 0 or i >= self.view.len: * raise IndexError("index out of range") # <<<<<<<<<<<<<< * return buf[i] * def __setitem__(self, Py_ssize_t i, unsigned char v): */ __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_index_out_of_range); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); /* "MPI/asbuffer.pxi":182 * if i < 0: i += self.view.len * if i < 0 or i >= self.view.len: * raise IndexError("index out of range") # <<<<<<<<<<<<<< * buf[i] = v * */ __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_index_out_of_range); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); /* "MPI/asmemory.pxi":45 * 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__6 = PyTuple_Pack(1, __pyx_kp_s_memory_allocation_size_too_large); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(2, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); /* "MPI/asmemory.pxi":47 * 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__7 = PyTuple_Pack(1, __pyx_kp_s_memory_allocation_with_negative); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(2, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); /* "MPI/asarray.pxi":93 * cdef inline object asarray_str(object sequence, char ***p): * if is_string(sequence): * raise ValueError("expecting a sequence of strings") # <<<<<<<<<<<<<< * sequence = list(sequence) * cdef Py_ssize_t i = 0, size = len(sequence) */ __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_expecting_a_sequence_of_strings); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(3, 93, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); /* "MPI/asarray.pxi":115 * int *count, char ***p): * if is_string(sequence): * raise ValueError("expecting a sequence of strings") # <<<<<<<<<<<<<< * count[0] = len(sequence) * return asarray_str(sequence, p) */ __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_expecting_a_sequence_of_strings); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(3, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); /* "MPI/opimpl.pxi":257 * cdef int index = 0 * try: * index = op_user_registry.index(None, 1) # <<<<<<<<<<<<<< * except ValueError: * raise RuntimeError("cannot create too many " */ __pyx_tuple__10 = PyTuple_Pack(2, Py_None, __pyx_int_1); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(14, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); /* "MPI/opimpl.pxi":259 * 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__11 = PyTuple_Pack(1, __pyx_kp_s_cannot_create_too_many_user_defi); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(14, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); /* "MPI/commimpl.pxi":152 * 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__12 = PyTuple_Pack(1, __pyx_kp_s_empty_weights_but_nonzero_degree); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(15, 152, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); /* "MPI/msgbuffer.pxi":139 * (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__13 = PyTuple_Pack(1, __pyx_kp_s_message_expecting_2_to_4_items); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(4, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); /* "MPI/msgbuffer.pxi":143 * o_buf = msg * else: * raise TypeError("message: expecting buffer or list/tuple") # <<<<<<<<<<<<<< * # buffer: address, length, and datatype * cdef void *baddr = NULL */ __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_s_message_expecting_buffer_or_list); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(4, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); /* "MPI/msgbuffer.pxi":161 * "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__15 = PyTuple_Pack(1, __pyx_kp_s_message_cannot_handle_diplacemen); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(4, 161, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); /* "MPI/msgbuffer.pxi":182 * 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__16 = PyTuple_Pack(1, __pyx_kp_s_message_cannot_infer_count_datat); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(4, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); /* "MPI/msgbuffer.pxi":252 * (o_buf, o_counts, o_displs, o_type) = msg * else: * raise ValueError("message: expecting 2 to 4 items") # <<<<<<<<<<<<<< * elif PYPY: * o_buf = msg */ __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_s_message_expecting_2_to_4_items); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(4, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); /* "MPI/msgbuffer.pxi":256 * o_buf = msg * else: * raise TypeError("message: expecting buffer or list/tuple") # <<<<<<<<<<<<<< * # buffer: address, length, and datatype * cdef void *baddr = NULL */ __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_message_expecting_buffer_or_list); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(4, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); /* "MPI/msgbuffer.pxi":271 * if o_counts is None: * if bsize > 0: * if btype == MPI_DATATYPE_NULL: raise ValueError( # <<<<<<<<<<<<<< * "message: cannot infer count, " * "datatype is null") */ __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_s_message_cannot_infer_count_datat); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(4, 271, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); /* "MPI/msgbuffer.pxi":334 * o_buffer, o_counts, o_displs, o_types = msg * else: * raise ValueError("message: expecting 3 to 4 items") # <<<<<<<<<<<<<< * if readonly: * o_buffer = getbuffer_r(o_buffer, _addr, NULL) */ __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_s_message_expecting_3_to_4_items); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(4, 334, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); /* "MPI/msgbuffer.pxi":360 * o_buffer, o_counts, o_displs, o_types = msg * else: * raise ValueError("message: expecting 3 to 4 items") # <<<<<<<<<<<<<< * if readonly: * o_buffer = getbuffer_r(o_buffer, _addr, NULL) */ __pyx_tuple__21 = PyTuple_Pack(1, __pyx_kp_s_message_expecting_3_to_4_items); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(4, 360, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); /* "MPI/msgbuffer.pxi":714 * if (self.sbuf != MPI_IN_PLACE and * self.stype != self.rtype): * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send and receive MPI datatypes") * return 0 */ __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_s_mismatch_in_send_and_receive_MPI); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(4, 714, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); /* "MPI/msgbuffer.pxi":735 * 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__23 = PyTuple_Pack(1, __pyx_kp_s_mismatch_in_send_and_receive_MPI); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(4, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); /* "MPI/msgbuffer.pxi":771 * 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_tuple__24 = PyTuple_Pack(1, __pyx_kp_s_mismatch_in_send_and_receive_MPI); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(4, 771, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); /* "MPI/msgbuffer.pxi":808 * if (self.sbuf != MPI_IN_PLACE and * self.stype != self.rtype): * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send and receive MPI datatypes") * return 0 */ __pyx_tuple__25 = PyTuple_Pack(1, __pyx_kp_s_mismatch_in_send_and_receive_MPI); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(4, 808, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); /* "MPI/msgbuffer.pxi":830 * (self.scount, self.rcount)) * if self.stype != self.rtype: * raise ValueError( # <<<<<<<<<<<<<< * "mismatch in send and receive MPI datatypes") * return 0 */ __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_mismatch_in_send_and_receive_MPI); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(4, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); /* "MPI/msgbuffer.pxi":968 * elif is_list(target) or is_tuple(target): * if len(target) != 3: * raise ValueError("target: expecting 3 items") # <<<<<<<<<<<<<< * self.tdisp = target[0] * self.tcount = target[1] */ __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_s_target_expecting_3_items); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(4, 968, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); /* "MPI/msgbuffer.pxi":973 * self.ttype = (target[2]).ob_mpi * else: * raise ValueError("target: expecting integral or list/tuple") # <<<<<<<<<<<<<< * self._target = target * return 0 */ __pyx_tuple__28 = PyTuple_Pack(1, __pyx_kp_s_target_expecting_integral_or_lis); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(4, 973, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); /* "MPI/msgpickle.pxi":874 * seq = _py_scan(seq, op) * seq.pop(-1) * seq.insert(0, None) # <<<<<<<<<<<<<< * return seq * */ __pyx_tuple__30 = PyTuple_Pack(2, __pyx_int_0, Py_None); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(19, 874, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); /* "MPI/Info.pyx":218 * cdef int k = 0, nkeys = self.Get_nkeys() * while k < nkeys: * key = self.Get_nthkey(0) # <<<<<<<<<<<<<< * self.Delete(key) * k += 1 */ __pyx_tuple__42 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(26, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); /* "MPI/Op.pyx":97 * "mismatch in inbuf count %d and inoutbuf count %d" % * (self.scount, self.rcount)) * if (m.stype != m.rtype): raise ValueError( # <<<<<<<<<<<<<< * "mismatch in inbuf and inoutbuf MPI datatypes") * # do local reduction */ __pyx_tuple__43 = PyTuple_Pack(1, __pyx_kp_s_mismatch_in_inbuf_and_inoutbuf_M); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(27, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__43); __Pyx_GIVEREF(__pyx_tuple__43); /* "MPI/Comm.pyx":1321 * cdef int inter = 1 * CHKERR( MPI_Comm_test_inter(self.ob_mpi, &inter) ) * if inter: raise TypeError( # <<<<<<<<<<<<<< * "expecting an intracommunicator") * */ __pyx_tuple__87 = PyTuple_Pack(1, __pyx_kp_s_expecting_an_intracommunicator); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(7, 1321, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__87); __Pyx_GIVEREF(__pyx_tuple__87); /* "MPI/Comm.pyx":1565 * cdef int i=0 * if errcodes is not None: * errcodes[:] = [ierrcodes[i] for i from 0<=i&(arg).ob_mpi * else: * raise TypeError("expecting an MPI instance") # <<<<<<<<<<<<<< * return PyLong_FromVoidPtr(ptr) * */ __pyx_tuple__137 = PyTuple_Pack(1, __pyx_kp_s_expecting_an_MPI_instance); if (unlikely(!__pyx_tuple__137)) __PYX_ERR(8, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__137); __Pyx_GIVEREF(__pyx_tuple__137); /* "MPI/MPI.pyx":368 * return ((arg).ob_mpi) * else: * raise TypeError("expecting an MPI instance") # <<<<<<<<<<<<<< * * # -------------------------------------------------------------------- */ __pyx_tuple__138 = PyTuple_Pack(1, __pyx_kp_s_expecting_an_MPI_instance); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(8, 368, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__138); __Pyx_GIVEREF(__pyx_tuple__138); /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_ExceptionP_pyx, __pyx_n_s_init, 7, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) __PYX_ERR(1, 7, __pyx_L1_error) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_ExceptionP_pyx, __pyx_n_s_eq, 12, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) __PYX_ERR(1, 12, __pyx_L1_error) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_ExceptionP_pyx, __pyx_n_s_ne, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) __PYX_ERR(1, 16, __pyx_L1_error) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_ExceptionP_pyx, __pyx_n_s_lt, 20, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) __PYX_ERR(1, 20, __pyx_L1_error) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_ExceptionP_pyx, __pyx_n_s_le, 24, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) __PYX_ERR(1, 24, __pyx_L1_error) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_ExceptionP_pyx, __pyx_n_s_gt, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) __PYX_ERR(1, 28, __pyx_L1_error) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_ExceptionP_pyx, __pyx_n_s_ge, 32, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) __PYX_ERR(1, 32, __pyx_L1_error) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_ExceptionP_pyx, __pyx_n_s_hash, 36, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) __PYX_ERR(1, 36, __pyx_L1_error) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_ExceptionP_pyx, __pyx_n_s_bool, 39, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) __PYX_ERR(1, 39, __pyx_L1_error) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_ExceptionP_pyx, __pyx_n_s_int, 45, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) __PYX_ERR(1, 45, __pyx_L1_error) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_ExceptionP_pyx, __pyx_n_s_repr, 48, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) __PYX_ERR(1, 48, __pyx_L1_error) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_ExceptionP_pyx, __pyx_n_s_str, 51, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) __PYX_ERR(1, 51, __pyx_L1_error) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_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) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_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) /* "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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_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) /* "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(21, 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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Exception_pyx, __pyx_n_s_Get_error_class, 87, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) __PYX_ERR(21, 87, __pyx_L1_error) /* "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(21, 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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Exception_pyx, __pyx_n_s_Get_error_string, 95, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) __PYX_ERR(21, 95, __pyx_L1_error) /* "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(21, 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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Exception_pyx, __pyx_n_s_Add_error_class, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) __PYX_ERR(21, 106, __pyx_L1_error) /* "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(21, 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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Exception_pyx, __pyx_n_s_Add_error_code, 114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) __PYX_ERR(21, 114, __pyx_L1_error) /* "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(21, 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, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Exception_pyx, __pyx_n_s_Add_error_string, 122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) __PYX_ERR(21, 122, __pyx_L1_error) /* "MPI/Datatype.pyx":854 * # ---------------- * * def Get_address(location): # <<<<<<<<<<<<<< * """ * Get the address of a location in memory */ __pyx_tuple__179 = PyTuple_Pack(4, __pyx_n_s_location, __pyx_n_s_baseptr, __pyx_n_s_tmp, __pyx_n_s_address); if (unlikely(!__pyx_tuple__179)) __PYX_ERR(6, 854, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__179); __Pyx_GIVEREF(__pyx_tuple__179); __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Datatype_pyx, __pyx_n_s_Get_address, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) __PYX_ERR(6, 854, __pyx_L1_error) /* "MPI/Comm.pyx":2000 * # Cartesian Convenience Function * * def Compute_dims(int nnodes, dims): # <<<<<<<<<<<<<< * """ * Return a balanced distribution of */ __pyx_tuple__182 = 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__182)) __PYX_ERR(7, 2000, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__182); __Pyx_GIVEREF(__pyx_tuple__182); __pyx_codeobj__183 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__182, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Comm_pyx, __pyx_n_s_Compute_dims, 2000, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__183)) __PYX_ERR(7, 2000, __pyx_L1_error) /* "MPI/Comm.pyx":2264 * #: Upper bound of memory overhead for sending in buffered mode * * def Attach_buffer(memory): # <<<<<<<<<<<<<< * """ * Attach a user-provided buffer for */ __pyx_tuple__184 = PyTuple_Pack(3, __pyx_n_s_memory, __pyx_n_s_base, __pyx_n_s_size); if (unlikely(!__pyx_tuple__184)) __PYX_ERR(7, 2264, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__184); __Pyx_GIVEREF(__pyx_tuple__184); __pyx_codeobj__185 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__184, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Comm_pyx, __pyx_n_s_Attach_buffer, 2264, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__185)) __PYX_ERR(7, 2264, __pyx_L1_error) /* "MPI/Comm.pyx":2274 * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) * * def Detach_buffer(): # <<<<<<<<<<<<<< * """ * Remove an existing attached buffer */ __pyx_tuple__186 = PyTuple_Pack(2, __pyx_n_s_base, __pyx_n_s_size); if (unlikely(!__pyx_tuple__186)) __PYX_ERR(7, 2274, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__186); __Pyx_GIVEREF(__pyx_tuple__186); __pyx_codeobj__187 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__186, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Comm_pyx, __pyx_n_s_Detach_buffer, 2274, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__187)) __PYX_ERR(7, 2274, __pyx_L1_error) /* "MPI/Comm.pyx":2291 * # --------------- * * def Open_port(Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Return an address that can be used to establish */ __pyx_tuple__188 = PyTuple_Pack(3, __pyx_n_s_info, __pyx_n_s_cinfo, __pyx_n_s_cportname); if (unlikely(!__pyx_tuple__188)) __PYX_ERR(7, 2291, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__188); __Pyx_GIVEREF(__pyx_tuple__188); __pyx_codeobj__189 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__188, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Comm_pyx, __pyx_n_s_Open_port, 2291, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__189)) __PYX_ERR(7, 2291, __pyx_L1_error) /* "MPI/Comm.pyx":2302 * return mpistr(cportname) * * def Close_port(port_name): # <<<<<<<<<<<<<< * """ * Close a port */ __pyx_tuple__190 = PyTuple_Pack(2, __pyx_n_s_port_name, __pyx_n_s_cportname); if (unlikely(!__pyx_tuple__190)) __PYX_ERR(7, 2302, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__190); __Pyx_GIVEREF(__pyx_tuple__190); __pyx_codeobj__191 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__190, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Comm_pyx, __pyx_n_s_Close_port, 2302, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__191)) __PYX_ERR(7, 2302, __pyx_L1_error) /* "MPI/Comm.pyx":2313 * # --------------- * * def Publish_name(service_name, port_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Publish a service name */ __pyx_tuple__192 = 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__192)) __PYX_ERR(7, 2313, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__192); __Pyx_GIVEREF(__pyx_tuple__192); __pyx_codeobj__193 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__192, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Comm_pyx, __pyx_n_s_Publish_name, 2313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__193)) __PYX_ERR(7, 2313, __pyx_L1_error) /* "MPI/Comm.pyx":2326 * 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__194 = 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__194)) __PYX_ERR(7, 2326, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__194); __Pyx_GIVEREF(__pyx_tuple__194); __pyx_codeobj__195 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__194, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Comm_pyx, __pyx_n_s_Unpublish_name, 2326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__195)) __PYX_ERR(7, 2326, __pyx_L1_error) /* "MPI/Comm.pyx":2339 * 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__196 = 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__196)) __PYX_ERR(7, 2339, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__196); __Pyx_GIVEREF(__pyx_tuple__196); __pyx_codeobj__197 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__196, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_Comm_pyx, __pyx_n_s_Lookup_name, 2339, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__197)) __PYX_ERR(7, 2339, __pyx_L1_error) /* "MPI/File.pyx":715 * # --------------------------------- * * def Register_datarep(datarep, read_fn, write_fn, extent_fn): # <<<<<<<<<<<<<< * """ * Register user-defined data representations */ __pyx_tuple__198 = 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__198)) __PYX_ERR(30, 715, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__198); __Pyx_GIVEREF(__pyx_tuple__198); __pyx_codeobj__199 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__198, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_File_pyx, __pyx_n_s_Register_datarep, 715, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__199)) __PYX_ERR(30, 715, __pyx_L1_error) /* "MPI/MPI.pyx":89 * # ----------------- * * def Alloc_mem(Aint size, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Allocate memory for message passing and RMA */ __pyx_tuple__200 = PyTuple_Pack(4, __pyx_n_s_size, __pyx_n_s_info, __pyx_n_s_base, __pyx_n_s_cinfo); if (unlikely(!__pyx_tuple__200)) __PYX_ERR(8, 89, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__200); __Pyx_GIVEREF(__pyx_tuple__200); __pyx_codeobj__201 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__200, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Alloc_mem, 89, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__201)) __PYX_ERR(8, 89, __pyx_L1_error) /* "MPI/MPI.pyx":98 * return tomemory(base, size) * * def Free_mem(memory): # <<<<<<<<<<<<<< * """ * Free memory allocated with `Alloc_mem()` */ __pyx_tuple__202 = PyTuple_Pack(2, __pyx_n_s_memory, __pyx_n_s_base); if (unlikely(!__pyx_tuple__202)) __PYX_ERR(8, 98, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__202); __Pyx_GIVEREF(__pyx_tuple__202); __pyx_codeobj__203 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__202, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Free_mem, 98, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__203)) __PYX_ERR(8, 98, __pyx_L1_error) /* "MPI/MPI.pyx":109 * # ----------------------- * * def Init(): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Init, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) __PYX_ERR(8, 109, __pyx_L1_error) /* "MPI/MPI.pyx":116 * initialize() * * def Finalize(): # <<<<<<<<<<<<<< * """ * Terminate the MPI execution environment */ __pyx_codeobj__205 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Finalize, 116, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__205)) __PYX_ERR(8, 116, __pyx_L1_error) /* "MPI/MPI.pyx":138 * #: Multiple threads may call MPI * * def Init_thread(int required=THREAD_MULTIPLE): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ __pyx_tuple__206 = PyTuple_Pack(2, __pyx_n_s_required, __pyx_n_s_provided); if (unlikely(!__pyx_tuple__206)) __PYX_ERR(8, 138, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__206); __Pyx_GIVEREF(__pyx_tuple__206); __pyx_codeobj__207 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__206, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Init_thread, 138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__207)) __PYX_ERR(8, 138, __pyx_L1_error) /* "MPI/MPI.pyx":147 * return provided * * def Query_thread(): # <<<<<<<<<<<<<< * """ * Return the level of thread support */ __pyx_tuple__208 = PyTuple_Pack(1, __pyx_n_s_provided); if (unlikely(!__pyx_tuple__208)) __PYX_ERR(8, 147, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__208); __Pyx_GIVEREF(__pyx_tuple__208); __pyx_codeobj__209 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__208, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Query_thread, 147, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__209)) __PYX_ERR(8, 147, __pyx_L1_error) /* "MPI/MPI.pyx":156 * return provided * * def Is_thread_main(): # <<<<<<<<<<<<<< * """ * Indicate whether this thread called */ __pyx_tuple__210 = PyTuple_Pack(1, __pyx_n_s_flag); if (unlikely(!__pyx_tuple__210)) __PYX_ERR(8, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__210); __Pyx_GIVEREF(__pyx_tuple__210); __pyx_codeobj__211 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__210, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Is_thread_main, 156, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__211)) __PYX_ERR(8, 156, __pyx_L1_error) /* "MPI/MPI.pyx":165 * return flag * * def Is_initialized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Init`` has been called */ __pyx_tuple__212 = PyTuple_Pack(1, __pyx_n_s_flag); if (unlikely(!__pyx_tuple__212)) __PYX_ERR(8, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__212); __Pyx_GIVEREF(__pyx_tuple__212); __pyx_codeobj__213 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__212, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Is_initialized, 165, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__213)) __PYX_ERR(8, 165, __pyx_L1_error) /* "MPI/MPI.pyx":173 * return flag * * def Is_finalized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Finalize`` has completed */ __pyx_tuple__214 = PyTuple_Pack(1, __pyx_n_s_flag); if (unlikely(!__pyx_tuple__214)) __PYX_ERR(8, 173, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__214); __Pyx_GIVEREF(__pyx_tuple__214); __pyx_codeobj__215 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__214, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Is_finalized, 173, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__215)) __PYX_ERR(8, 173, __pyx_L1_error) /* "MPI/MPI.pyx":190 * SUBVERSION = MPI_SUBVERSION * * def Get_version(): # <<<<<<<<<<<<<< * """ * Obtain the version number of the MPI standard supported */ __pyx_tuple__216 = PyTuple_Pack(2, __pyx_n_s_version, __pyx_n_s_subversion); if (unlikely(!__pyx_tuple__216)) __PYX_ERR(8, 190, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__216); __Pyx_GIVEREF(__pyx_tuple__216); __pyx_codeobj__217 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__216, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Get_version, 190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__217)) __PYX_ERR(8, 190, __pyx_L1_error) /* "MPI/MPI.pyx":200 * return (version, subversion) * * def Get_library_version(): # <<<<<<<<<<<<<< * """ * Obtain the version string of the MPI library */ __pyx_tuple__218 = PyTuple_Pack(2, __pyx_n_s_name_2, __pyx_n_s_nlen); if (unlikely(!__pyx_tuple__218)) __PYX_ERR(8, 200, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__218); __Pyx_GIVEREF(__pyx_tuple__218); __pyx_codeobj__219 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__218, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Get_library_version, 200, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__219)) __PYX_ERR(8, 200, __pyx_L1_error) /* "MPI/MPI.pyx":212 * # ---------------------- * * def Get_processor_name(): # <<<<<<<<<<<<<< * """ * Obtain the name of the calling processor */ __pyx_tuple__220 = PyTuple_Pack(2, __pyx_n_s_name_2, __pyx_n_s_nlen); if (unlikely(!__pyx_tuple__220)) __PYX_ERR(8, 212, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__220); __Pyx_GIVEREF(__pyx_tuple__220); __pyx_codeobj__221 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__220, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Get_processor_name, 212, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__221)) __PYX_ERR(8, 212, __pyx_L1_error) /* "MPI/MPI.pyx":224 * # -------------------------- * * def Wtime(): # <<<<<<<<<<<<<< * """ * Return an elapsed time on the calling processor */ __pyx_codeobj__222 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Wtime, 224, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__222)) __PYX_ERR(8, 224, __pyx_L1_error) /* "MPI/MPI.pyx":230 * return MPI_Wtime() * * def Wtick(): # <<<<<<<<<<<<<< * """ * Return the resolution of ``Wtime`` */ __pyx_codeobj__223 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Wtick, 230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__223)) __PYX_ERR(8, 230, __pyx_L1_error) /* "MPI/MPI.pyx":239 * # -------------------- * * def Pcontrol(int level): # <<<<<<<<<<<<<< * """ * Control profiling */ __pyx_tuple__224 = PyTuple_Pack(1, __pyx_n_s_level); if (unlikely(!__pyx_tuple__224)) __PYX_ERR(8, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__224); __Pyx_GIVEREF(__pyx_tuple__224); __pyx_codeobj__225 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__224, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_Pcontrol, 239, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__225)) __PYX_ERR(8, 239, __pyx_L1_error) /* "MPI/MPI.pyx":267 * int PyMPI_Get_vendor(const char**,int*,int*,int*) nogil * * def get_vendor(): # <<<<<<<<<<<<<< * """ * Infomation about the underlying MPI implementation */ __pyx_tuple__226 = PyTuple_Pack(4, __pyx_n_s_name_2, __pyx_n_s_major, __pyx_n_s_minor, __pyx_n_s_micro); if (unlikely(!__pyx_tuple__226)) __PYX_ERR(8, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__226); __Pyx_GIVEREF(__pyx_tuple__226); __pyx_codeobj__227 = (PyObject*)__Pyx_PyCode_New(0, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__226, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_get_vendor, 267, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__227)) __PYX_ERR(8, 267, __pyx_L1_error) /* "MPI/MPI.pyx":293 * return 0 * * def _sizeof(arg): # <<<<<<<<<<<<<< * """ * Size in bytes of the underlying MPI handle */ __pyx_tuple__228 = PyTuple_Pack(1, __pyx_n_s_arg); if (unlikely(!__pyx_tuple__228)) __PYX_ERR(8, 293, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__228); __Pyx_GIVEREF(__pyx_tuple__228); __pyx_codeobj__229 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__228, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_sizeof, 293, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__229)) __PYX_ERR(8, 293, __pyx_L1_error) /* "MPI/MPI.pyx":310 * raise TypeError("expecting an MPI type or instance") * * def _addressof(arg): # <<<<<<<<<<<<<< * """ * Memory address of the underlying MPI handle */ __pyx_tuple__230 = PyTuple_Pack(2, __pyx_n_s_arg, __pyx_n_s_ptr); if (unlikely(!__pyx_tuple__230)) __PYX_ERR(8, 310, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__230); __Pyx_GIVEREF(__pyx_tuple__230); __pyx_codeobj__231 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__230, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_addressof, 310, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__231)) __PYX_ERR(8, 310, __pyx_L1_error) /* "MPI/MPI.pyx":341 * return PyLong_FromVoidPtr(ptr) * * def _handleof(arg): # <<<<<<<<<<<<<< * """ * Unsigned integer value with the underlying MPI handle */ __pyx_tuple__232 = PyTuple_Pack(1, __pyx_n_s_arg); if (unlikely(!__pyx_tuple__232)) __PYX_ERR(8, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__232); __Pyx_GIVEREF(__pyx_tuple__232); __pyx_codeobj__233 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__232, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_MPI_MPI_pyx, __pyx_n_s_handleof, 341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__233)) __PYX_ERR(8, 341, __pyx_L1_error) __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; __Pyx_RefNannyFinishContext(); return -1; } static int __Pyx_InitGlobals(void) { __pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type; if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(31, 1, __pyx_L1_error); __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(31, 1, __pyx_L1_error) __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(31, 1, __pyx_L1_error) __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(31, 1, __pyx_L1_error) __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(31, 1, __pyx_L1_error) return 0; __pyx_L1_error:; return -1; } #if PY_MAJOR_VERSION < 3 PyMODINIT_FUNC initMPI(void); /*proto*/ PyMODINIT_FUNC initMPI(void) #else PyMODINIT_FUNC PyInit_MPI(void); /*proto*/ PyMODINIT_FUNC PyInit_MPI(void) #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; PyObject *__pyx_t_19 = NULL; PyObject *__pyx_t_20 = NULL; PyObject *__pyx_t_21 = NULL; PyObject *__pyx_t_22 = NULL; int __pyx_t_23; __Pyx_RefNannyDeclarations #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("PyMODINIT_FUNC PyInit_MPI(void)", 0); if (__Pyx_check_binary_version() < 0) __PYX_ERR(31, 1, __pyx_L1_error) __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(31, 1, __pyx_L1_error) __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(31, 1, __pyx_L1_error) __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(31, 1, __pyx_L1_error) #ifdef __Pyx_CyFunction_USED if (__pyx_CyFunction_init() < 0) __PYX_ERR(31, 1, __pyx_L1_error) #endif #ifdef __Pyx_FusedFunction_USED if (__pyx_FusedFunction_init() < 0) __PYX_ERR(31, 1, __pyx_L1_error) #endif #ifdef __Pyx_Coroutine_USED if (__pyx_Coroutine_init() < 0) __PYX_ERR(31, 1, __pyx_L1_error) #endif #ifdef __Pyx_Generator_USED if (__pyx_Generator_init() < 0) __PYX_ERR(31, 1, __pyx_L1_error) #endif #ifdef __Pyx_StopAsyncIteration_USED if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(31, 1, __pyx_L1_error) #endif /*--- Library function declarations ---*/ /*--- Threads initialization code ---*/ #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS #ifdef WITH_THREAD /* Python build with threading support? */ PyEval_InitThreads(); #endif #endif /*--- Module creation code ---*/ #if 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(31, 1, __pyx_L1_error) __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(31, 1, __pyx_L1_error) Py_INCREF(__pyx_d); __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(31, 1, __pyx_L1_error) #if CYTHON_COMPILING_IN_PYPY Py_INCREF(__pyx_b); #endif if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(31, 1, __pyx_L1_error); /*--- Initialize various global constants etc. ---*/ if (__Pyx_InitGlobals() < 0) __PYX_ERR(31, 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(31, 1, __pyx_L1_error) #endif if (__pyx_module_is_main_mpi4py__MPI) { if (PyObject_SetAttrString(__pyx_m, "__name__", __pyx_n_s_main) < 0) __PYX_ERR(31, 1, __pyx_L1_error) } #if PY_MAJOR_VERSION >= 3 { PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(31, 1, __pyx_L1_error) if (!PyDict_GetItemString(modules, "mpi4py.MPI")) { if (unlikely(PyDict_SetItemString(modules, "mpi4py.MPI", __pyx_m) < 0)) __PYX_ERR(31, 1, __pyx_L1_error) } } #endif /*--- Builtin init code ---*/ if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(31, 1, __pyx_L1_error) /*--- Constants init code ---*/ if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(31, 1, __pyx_L1_error) /*--- Global init code ---*/ __pyx_v_6mpi4py_3MPI_MPIException = 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_type_keyval = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_op_user_registry = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_comm_keyval = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI__buffer = ((struct __pyx_obj_6mpi4py_3MPI__p_buffer *)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_win_keyval = ((PyObject*)Py_None); Py_INCREF(Py_None); __pyx_v_6mpi4py_3MPI_datarep_registry = ((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_PyStringIO_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); /*--- Variable export code ---*/ /*--- Function export code ---*/ if (__Pyx_ExportFunction("PyMPIDatatype_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIDatatype_New, "PyObject *(MPI_Datatype)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIDatatype_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIDatatype_Get, "MPI_Datatype *(PyObject *)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIStatus_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIStatus_New, "PyObject *(MPI_Status *)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIStatus_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIStatus_Get, "MPI_Status *(PyObject *)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIRequest_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIRequest_New, "PyObject *(MPI_Request)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIRequest_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIRequest_Get, "MPI_Request *(PyObject *)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIMessage_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIMessage_New, "PyObject *(MPI_Message)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIMessage_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIMessage_Get, "MPI_Message *(PyObject *)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIOp_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIOp_New, "PyObject *(MPI_Op)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIOp_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIOp_Get, "MPI_Op *(PyObject *)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIInfo_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIInfo_New, "PyObject *(MPI_Info)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIInfo_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIInfo_Get, "MPI_Info *(PyObject *)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIGroup_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIGroup_New, "PyObject *(MPI_Group)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIGroup_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIGroup_Get, "MPI_Group *(PyObject *)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIComm_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIComm_New, "PyObject *(MPI_Comm)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIComm_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIComm_Get, "MPI_Comm *(PyObject *)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIWin_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIWin_New, "PyObject *(MPI_Win)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIWin_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIWin_Get, "MPI_Win *(PyObject *)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIFile_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIFile_New, "PyObject *(MPI_File)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIFile_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIFile_Get, "MPI_File *(PyObject *)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIErrhandler_New", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIErrhandler_New, "PyObject *(MPI_Errhandler)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) if (__Pyx_ExportFunction("PyMPIErrhandler_Get", (void (*)(void))__pyx_f_6mpi4py_3MPI_PyMPIErrhandler_Get, "MPI_Errhandler *(PyObject *)") < 0) __PYX_ERR(31, 1, __pyx_L1_error) /*--- Type init code ---*/ if (PyType_Ready(&PyMPIStatus_Type) < 0) __PYX_ERR(23, 1, __pyx_L1_error) PyMPIStatus_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Status", (PyObject *)&PyMPIStatus_Type) < 0) __PYX_ERR(23, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Status = &PyMPIStatus_Type; if (PyType_Ready(&PyMPIDatatype_Type) < 0) __PYX_ERR(6, 43, __pyx_L1_error) PyMPIDatatype_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Datatype", (PyObject *)&PyMPIDatatype_Type) < 0) __PYX_ERR(6, 43, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Datatype = &PyMPIDatatype_Type; if (PyType_Ready(&PyMPIRequest_Type) < 0) __PYX_ERR(24, 1, __pyx_L1_error) PyMPIRequest_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Request", (PyObject *)&PyMPIRequest_Type) < 0) __PYX_ERR(24, 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(24, 282, __pyx_L1_error) PyMPIPrequest_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Prequest", (PyObject *)&PyMPIPrequest_Type) < 0) __PYX_ERR(24, 282, __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(24, 314, __pyx_L1_error) PyMPIGrequest_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Grequest", (PyObject *)&PyMPIGrequest_Type) < 0) __PYX_ERR(24, 314, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Grequest = &PyMPIGrequest_Type; if (PyType_Ready(&PyMPIMessage_Type) < 0) __PYX_ERR(25, 1, __pyx_L1_error) PyMPIMessage_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Message", (PyObject *)&PyMPIMessage_Type) < 0) __PYX_ERR(25, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Message = &PyMPIMessage_Type; if (PyType_Ready(&PyMPIOp_Type) < 0) __PYX_ERR(27, 1, __pyx_L1_error) PyMPIOp_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Op", (PyObject *)&PyMPIOp_Type) < 0) __PYX_ERR(27, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Op = &PyMPIOp_Type; if (PyType_Ready(&PyMPIGroup_Type) < 0) __PYX_ERR(28, 1, __pyx_L1_error) PyMPIGroup_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Group", (PyObject *)&PyMPIGroup_Type) < 0) __PYX_ERR(28, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Group = &PyMPIGroup_Type; if (PyType_Ready(&PyMPIInfo_Type) < 0) __PYX_ERR(26, 1, __pyx_L1_error) PyMPIInfo_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Info", (PyObject *)&PyMPIInfo_Type) < 0) __PYX_ERR(26, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Info = &PyMPIInfo_Type; if (PyType_Ready(&PyMPIErrhandler_Type) < 0) __PYX_ERR(5, 1, __pyx_L1_error) PyMPIErrhandler_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Errhandler", (PyObject *)&PyMPIErrhandler_Type) < 0) __PYX_ERR(5, 1, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Errhandler = &PyMPIErrhandler_Type; if (PyType_Ready(&PyMPIComm_Type) < 0) __PYX_ERR(7, 31, __pyx_L1_error) PyMPIComm_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "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, 1311, __pyx_L1_error) PyMPIIntracomm_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Intracomm", (PyObject *)&PyMPIIntracomm_Type) < 0) __PYX_ERR(7, 1311, __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, 1655, __pyx_L1_error) PyMPITopocomm_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Topocomm", (PyObject *)&PyMPITopocomm_Type) < 0) __PYX_ERR(7, 1655, __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, 1870, __pyx_L1_error) PyMPICartcomm_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Cartcomm", (PyObject *)&PyMPICartcomm_Type) < 0) __PYX_ERR(7, 1870, __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, 2017, __pyx_L1_error) PyMPIGraphcomm_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Graphcomm", (PyObject *)&PyMPIGraphcomm_Type) < 0) __PYX_ERR(7, 2017, __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, 2124, __pyx_L1_error) PyMPIDistgraphcomm_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Distgraphcomm", (PyObject *)&PyMPIDistgraphcomm_Type) < 0) __PYX_ERR(7, 2124, __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, 2186, __pyx_L1_error) PyMPIIntercomm_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Intercomm", (PyObject *)&PyMPIIntercomm_Type) < 0) __PYX_ERR(7, 2186, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Intercomm = &PyMPIIntercomm_Type; if (PyType_Ready(&PyMPIWin_Type) < 0) __PYX_ERR(29, 27, __pyx_L1_error) PyMPIWin_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "Win", (PyObject *)&PyMPIWin_Type) < 0) __PYX_ERR(29, 27, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Win = &PyMPIWin_Type; if (PyType_Ready(&PyMPIFile_Type) < 0) __PYX_ERR(30, 51, __pyx_L1_error) PyMPIFile_Type.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "File", (PyObject *)&PyMPIFile_Type) < 0) __PYX_ERR(30, 51, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_File = &PyMPIFile_Type; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_buffer) < 0) __PYX_ERR(0, 130, __pyx_L1_error) __pyx_type_6mpi4py_3MPI__p_buffer.tp_print = 0; __pyx_ptype_6mpi4py_3MPI__p_buffer = &__pyx_type_6mpi4py_3MPI__p_buffer; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_mem) < 0) __PYX_ERR(2, 36, __pyx_L1_error) __pyx_type_6mpi4py_3MPI__p_mem.tp_print = 0; __pyx_ptype_6mpi4py_3MPI__p_mem = &__pyx_type_6mpi4py_3MPI__p_mem; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_keyval) < 0) __PYX_ERR(11, 20, __pyx_L1_error) __pyx_type_6mpi4py_3MPI__p_keyval.tp_print = 0; __pyx_ptype_6mpi4py_3MPI__p_keyval = &__pyx_type_6mpi4py_3MPI__p_keyval; __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) __pyx_type_6mpi4py_3MPI__p_greq.tp_print = 0; 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(17, 7, __pyx_L1_error) __pyx_type_6mpi4py_3MPI__p_datarep.tp_print = 0; if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_datarep.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_datarep) < 0) __PYX_ERR(17, 7, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI__p_datarep = &__pyx_type_6mpi4py_3MPI__p_datarep; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_message) < 0) __PYX_ERR(4, 56, __pyx_L1_error) __pyx_type_6mpi4py_3MPI__p_message.tp_print = 0; __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(4, 374, __pyx_L1_error) __pyx_type_6mpi4py_3MPI__p_msg_p2p.tp_print = 0; if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_msg_p2p.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_msg_p2p) < 0) __PYX_ERR(4, 374, __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(4, 418, __pyx_L1_error) __pyx_type_6mpi4py_3MPI__p_msg_cco.tp_print = 0; if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_msg_cco.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_msg_cco) < 0) __PYX_ERR(4, 418, __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(4, 843, __pyx_L1_error) __pyx_type_6mpi4py_3MPI__p_msg_ccow.tp_print = 0; if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_msg_ccow.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_msg_ccow) < 0) __PYX_ERR(4, 843, __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.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; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI__p_msg_rma) < 0) __PYX_ERR(4, 915, __pyx_L1_error) __pyx_type_6mpi4py_3MPI__p_msg_rma.tp_print = 0; if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_msg_rma.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_msg_rma) < 0) __PYX_ERR(4, 915, __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(4, 1007, __pyx_L1_error) __pyx_type_6mpi4py_3MPI__p_msg_io.tp_print = 0; if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI__p_msg_io.tp_dict, __pyx_vtabptr_6mpi4py_3MPI__p_msg_io) < 0) __PYX_ERR(4, 1007, __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.dump = (PyObject *(*)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, void **, int *))__pyx_f_6mpi4py_3MPI_6Pickle_dump; __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.load = (PyObject *(*)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *))__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.allocv = (PyObject *(*)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, void **, int, int *, int *))__pyx_f_6mpi4py_3MPI_6Pickle_allocv; __pyx_vtable_6mpi4py_3MPI_Pickle.loadv = (PyObject *(*)(struct __pyx_obj_6mpi4py_3MPI_Pickle *, PyObject *, int, int *, int *))__pyx_f_6mpi4py_3MPI_6Pickle_loadv; if (PyType_Ready(&__pyx_type_6mpi4py_3MPI_Pickle) < 0) __PYX_ERR(19, 41, __pyx_L1_error) __pyx_type_6mpi4py_3MPI_Pickle.tp_print = 0; if (__Pyx_SetVtable(__pyx_type_6mpi4py_3MPI_Pickle.tp_dict, __pyx_vtabptr_6mpi4py_3MPI_Pickle) < 0) __PYX_ERR(19, 41, __pyx_L1_error) __pyx_ptype_6mpi4py_3MPI_Pickle = &__pyx_type_6mpi4py_3MPI_Pickle; /*--- Type import code ---*/ /*--- Variable import code ---*/ /*--- Function import code ---*/ /*--- Execution code ---*/ #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) if (__Pyx_patch_abc() < 0) __PYX_ERR(31, 1, __pyx_L1_error) #endif /* "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) /* "MPI/atimport.pxi":31 * * cdef Options options * options.initialize = 1 # <<<<<<<<<<<<<< * options.threads = 1 * options.thread_level = MPI_THREAD_MULTIPLE */ __pyx_v_6mpi4py_3MPI_options.initialize = 1; /* "MPI/atimport.pxi":32 * 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; /* "MPI/atimport.pxi":33 * 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; /* "MPI/atimport.pxi":34 * 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; /* "MPI/atimport.pxi":35 * 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; /* "MPI/atimport.pxi":36 * options.finalize = 1 * options.fast_reduce = 1 * options.recv_mprobe = 1 # <<<<<<<<<<<<<< * options.errors = 1 * */ __pyx_v_6mpi4py_3MPI_options.recv_mprobe = 1; /* "MPI/atimport.pxi":37 * 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; /* "MPI/atimport.pxi":215 * 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; /* "MPI/MPI.pyx":10 * include "atimport.pxi" * * bootstrap() # <<<<<<<<<<<<<< * initialize() * */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_bootstrap(); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(8, 10, __pyx_L1_error) /* "MPI/MPI.pyx":11 * * bootstrap() * initialize() # <<<<<<<<<<<<<< * * include "asmpistr.pxi" */ __pyx_t_2 = __pyx_f_6mpi4py_3MPI_initialize(); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(8, 11, __pyx_L1_error) /* "MPI/asbuffer.pxi":48 * 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; /* "MPI/asbuffer.pxi":49 * cdef type numpy_array * cdef int pypy_have_numpy = 0 * if PYPY: # <<<<<<<<<<<<<< * from array import array as array_array * try: */ if (PyMPI_RUNTIME_PYPY) { /* "MPI/asbuffer.pxi":50 * 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, 50, __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, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __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, 50, __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, 50, __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; /* "MPI/asbuffer.pxi":51 * 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_5, &__pyx_t_6, &__pyx_t_7); __Pyx_XGOTREF(__pyx_t_5); __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_7); /*try:*/ { /* "MPI/asbuffer.pxi":52 * 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, 52, __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, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __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, 52, __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, 52, __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; /* "MPI/asbuffer.pxi":53 * try: * from _numpypy.multiarray import ndarray as numpy_array * pypy_have_numpy = 1 # <<<<<<<<<<<<<< * except ImportError: * try: */ __pyx_v_6mpi4py_3MPI_pypy_have_numpy = 1; /* "MPI/asbuffer.pxi":51 * 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_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_L10_try_end; __pyx_L3_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/asbuffer.pxi":54 * 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_9) < 0) __PYX_ERR(0, 54, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_9); /* "MPI/asbuffer.pxi":55 * 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_10, &__pyx_t_11, &__pyx_t_12); __Pyx_XGOTREF(__pyx_t_10); __Pyx_XGOTREF(__pyx_t_11); __Pyx_XGOTREF(__pyx_t_12); /*try:*/ { /* "MPI/asbuffer.pxi":56 * except ImportError: * try: * from numpypy import ndarray as numpy_array # <<<<<<<<<<<<<< * pypy_have_numpy = 1 * except ImportError: */ __pyx_t_13 = PyList_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 56, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_n_s_ndarray); __Pyx_GIVEREF(__pyx_n_s_ndarray); PyList_SET_ITEM(__pyx_t_13, 0, __pyx_n_s_ndarray); __pyx_t_14 = __Pyx_Import(__pyx_n_s_numpypy, __pyx_t_13, -1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 56, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_ImportFrom(__pyx_t_14, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 56, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_13); if (!(likely(PyType_CheckExact(__pyx_t_13))||((__pyx_t_13) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_13)->tp_name), 0))) __PYX_ERR(0, 56, __pyx_L13_error) __Pyx_INCREF(__pyx_t_13); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI_numpy_array)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_numpy_array, ((PyTypeObject*)__pyx_t_13)); __Pyx_GIVEREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; /* "MPI/asbuffer.pxi":57 * try: * from numpypy import ndarray as numpy_array * pypy_have_numpy = 1 # <<<<<<<<<<<<<< * except ImportError: * try: */ __pyx_v_6mpi4py_3MPI_pypy_have_numpy = 1; /* "MPI/asbuffer.pxi":55 * pypy_have_numpy = 1 * except ImportError: * try: # <<<<<<<<<<<<<< * from numpypy import ndarray as numpy_array * pypy_have_numpy = 1 */ } __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; goto __pyx_L20_try_end; __pyx_L13_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; /* "MPI/asbuffer.pxi":58 * 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_14, &__pyx_t_13, &__pyx_t_16) < 0) __PYX_ERR(0, 58, __pyx_L15_except_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GOTREF(__pyx_t_13); __Pyx_GOTREF(__pyx_t_16); /* "MPI/asbuffer.pxi":59 * 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_17, &__pyx_t_18, &__pyx_t_19); __Pyx_XGOTREF(__pyx_t_17); __Pyx_XGOTREF(__pyx_t_18); __Pyx_XGOTREF(__pyx_t_19); /*try:*/ { /* "MPI/asbuffer.pxi":60 * except ImportError: * try: * from numpy import ndarray as numpy_array # <<<<<<<<<<<<<< * pypy_have_numpy = 1 * except ImportError: */ __pyx_t_20 = PyList_New(1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 60, __pyx_L23_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_INCREF(__pyx_n_s_ndarray); __Pyx_GIVEREF(__pyx_n_s_ndarray); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_n_s_ndarray); __pyx_t_21 = __Pyx_Import(__pyx_n_s_numpy, __pyx_t_20, -1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 60, __pyx_L23_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_ImportFrom(__pyx_t_21, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 60, __pyx_L23_error) __Pyx_GOTREF(__pyx_t_20); if (!(likely(PyType_CheckExact(__pyx_t_20))||((__pyx_t_20) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "type", Py_TYPE(__pyx_t_20)->tp_name), 0))) __PYX_ERR(0, 60, __pyx_L23_error) __Pyx_INCREF(__pyx_t_20); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI_numpy_array)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_numpy_array, ((PyTypeObject*)__pyx_t_20)); __Pyx_GIVEREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; /* "MPI/asbuffer.pxi":61 * try: * from numpy import ndarray as numpy_array * pypy_have_numpy = 1 # <<<<<<<<<<<<<< * except ImportError: * pass */ __pyx_v_6mpi4py_3MPI_pypy_have_numpy = 1; /* "MPI/asbuffer.pxi":59 * pypy_have_numpy = 1 * except ImportError: * try: # <<<<<<<<<<<<<< * from numpy import ndarray as numpy_array * pypy_have_numpy = 1 */ } __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; goto __pyx_L30_try_end; __pyx_L23_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; /* "MPI/asbuffer.pxi":62 * 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_L24_exception_handled; } goto __pyx_L25_except_error; __pyx_L25_except_error:; /* "MPI/asbuffer.pxi":59 * pypy_have_numpy = 1 * except ImportError: * try: # <<<<<<<<<<<<<< * from numpy import ndarray as numpy_array * pypy_have_numpy = 1 */ __Pyx_PyThreadState_assign __Pyx_XGIVEREF(__pyx_t_17); __Pyx_XGIVEREF(__pyx_t_18); __Pyx_XGIVEREF(__pyx_t_19); __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); goto __pyx_L15_except_error; __pyx_L24_exception_handled:; __Pyx_PyThreadState_assign __Pyx_XGIVEREF(__pyx_t_17); __Pyx_XGIVEREF(__pyx_t_18); __Pyx_XGIVEREF(__pyx_t_19); __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); __pyx_L30_try_end:; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; goto __pyx_L14_exception_handled; } goto __pyx_L15_except_error; __pyx_L15_except_error:; /* "MPI/asbuffer.pxi":55 * pypy_have_numpy = 1 * except ImportError: * try: # <<<<<<<<<<<<<< * from numpypy import ndarray as numpy_array * pypy_have_numpy = 1 */ __Pyx_PyThreadState_assign __Pyx_XGIVEREF(__pyx_t_10); __Pyx_XGIVEREF(__pyx_t_11); __Pyx_XGIVEREF(__pyx_t_12); __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); goto __pyx_L5_except_error; __pyx_L14_exception_handled:; __Pyx_PyThreadState_assign __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_L20_try_end:; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; goto __pyx_L4_exception_handled; } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "MPI/asbuffer.pxi":51 * if PYPY: * from array import array as array_array * try: # <<<<<<<<<<<<<< * from _numpypy.multiarray import ndarray as numpy_array * pypy_have_numpy = 1 */ __Pyx_PyThreadState_assign __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); goto __pyx_L1_error; __pyx_L4_exception_handled:; __Pyx_PyThreadState_assign __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); __pyx_L10_try_end:; } /* "MPI/asbuffer.pxi":49 * cdef type numpy_array * cdef int pypy_have_numpy = 0 * if PYPY: # <<<<<<<<<<<<<< * from array import array as array_array * try: */ } /* "MPI/typeimpl.pxi":3 * # ----------------------------------------------------------------------------- * * cdef dict type_keyval = {} # <<<<<<<<<<<<<< * * cdef inline Datatype newtype(MPI_Datatype ob): */ __pyx_t_9 = PyDict_New(); if (unlikely(!__pyx_t_9)) __PYX_ERR(12, 3, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_type_keyval); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_type_keyval, ((PyObject*)__pyx_t_9)); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; /* "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; /* "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; /* "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; /* "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_9 = PyList_New(1 * 33); if (unlikely(!__pyx_t_9)) __PYX_ERR(14, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); { 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_9, __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_9)); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/commimpl.pxi":3 * # ----------------------------------------------------------------------------- * * cdef dict comm_keyval = {} # <<<<<<<<<<<<<< * * cdef inline Comm newcomm(MPI_Comm ob): */ __pyx_t_9 = PyDict_New(); if (unlikely(!__pyx_t_9)) __PYX_ERR(15, 3, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_comm_keyval); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_comm_keyval, ((PyObject*)__pyx_t_9)); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/commimpl.pxi":113 * # ----------------------------------------------------------------------------- * * cdef _p_buffer _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__p_buffer *)Py_None)); __Pyx_GIVEREF(Py_None); /* "MPI/commimpl.pxi":140 * # ----------------------------------------------------------------------------- * * cdef object __UNWEIGHTED__ = MPI_UNWEIGHTED # <<<<<<<<<<<<<< * * cdef object __WEIGHTS_EMPTY__ = MPI_WEIGHTS_EMPTY */ __pyx_t_9 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)MPI_UNWEIGHTED)); if (unlikely(!__pyx_t_9)) __PYX_ERR(15, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI___UNWEIGHTED__); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___UNWEIGHTED__, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/commimpl.pxi":142 * cdef object __UNWEIGHTED__ = MPI_UNWEIGHTED * * cdef object __WEIGHTS_EMPTY__ = MPI_WEIGHTS_EMPTY # <<<<<<<<<<<<<< * * cdef object asarray_weights(object weights, int nweight, int **iweight): */ __pyx_t_9 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)MPI_WEIGHTS_EMPTY)); if (unlikely(!__pyx_t_9)) __PYX_ERR(15, 142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI___WEIGHTS_EMPTY__); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___WEIGHTS_EMPTY__, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/winimpl.pxi":3 * # ----------------------------------------------------------------------------- * * cdef dict win_keyval = {} # <<<<<<<<<<<<<< * * cdef inline Win newwin(MPI_Win ob): */ __pyx_t_9 = PyDict_New(); if (unlikely(!__pyx_t_9)) __PYX_ERR(16, 3, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_win_keyval); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_win_keyval, ((PyObject*)__pyx_t_9)); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/drepimpl.pxi":3 * # ----------------------------------------------------------------------------- * * cdef dict datarep_registry = {} # <<<<<<<<<<<<<< * * @cython.final */ __pyx_t_9 = PyDict_New(); if (unlikely(!__pyx_t_9)) __PYX_ERR(17, 3, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_datarep_registry); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_datarep_registry, ((PyObject*)__pyx_t_9)); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":48 * #------------------------------------------------------------------------------ * * cdef object __BOTTOM__ = MPI_BOTTOM # <<<<<<<<<<<<<< * * cdef object __IN_PLACE__ = MPI_IN_PLACE */ __pyx_t_9 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)MPI_BOTTOM)); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI___BOTTOM__); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___BOTTOM__, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgbuffer.pxi":50 * cdef object __BOTTOM__ = MPI_BOTTOM * * cdef object __IN_PLACE__ = MPI_IN_PLACE # <<<<<<<<<<<<<< * * #------------------------------------------------------------------------------ */ __pyx_t_9 = __Pyx_PyInt_From_MPI_Aint(((MPI_Aint)MPI_IN_PLACE)); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 50, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI___IN_PLACE__); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___IN_PLACE__, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgpickle.pxi":13 * # ----------------------------------------------------------------------------- * * 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); /* "MPI/msgpickle.pxi":14 * * cdef object PyPickle_dumps = None * cdef object PyPickle_loads = None # <<<<<<<<<<<<<< * cdef object PyPickle_PROTOCOL = None * if PY_MAJOR_VERSION >= 3: */ __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); /* "MPI/msgpickle.pxi":15 * cdef object PyPickle_dumps = None * cdef object PyPickle_loads = None * cdef object PyPickle_PROTOCOL = None # <<<<<<<<<<<<<< * if PY_MAJOR_VERSION >= 3: * 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); /* "MPI/msgpickle.pxi":16 * cdef object PyPickle_loads = None * cdef object PyPickle_PROTOCOL = None * if PY_MAJOR_VERSION >= 3: # <<<<<<<<<<<<<< * from pickle import dumps as PyPickle_dumps * from pickle import loads as PyPickle_loads */ __pyx_t_23 = ((PY_MAJOR_VERSION >= 3) != 0); if (__pyx_t_23) { /* "MPI/msgpickle.pxi":17 * cdef object PyPickle_PROTOCOL = None * if PY_MAJOR_VERSION >= 3: * from pickle import dumps as PyPickle_dumps # <<<<<<<<<<<<<< * from pickle import loads as PyPickle_loads * from pickle import DEFAULT_PROTOCOL as PyPickle_PROTOCOL */ __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(19, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_n_s_dumps); __Pyx_GIVEREF(__pyx_n_s_dumps); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_n_s_dumps); __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_9, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_dumps); if (unlikely(!__pyx_t_9)) __PYX_ERR(19, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_dumps); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_dumps, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":18 * if PY_MAJOR_VERSION >= 3: * 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_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 18, __pyx_L1_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_9 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_3, -1); if (unlikely(!__pyx_t_9)) __PYX_ERR(19, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_9, __pyx_n_s_loads); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 18, __pyx_L1_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_9); __pyx_t_9 = 0; /* "MPI/msgpickle.pxi":19 * 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_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(19, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_n_s_DEFAULT_PROTOCOL); __Pyx_GIVEREF(__pyx_n_s_DEFAULT_PROTOCOL); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_n_s_DEFAULT_PROTOCOL); __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_9, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_DEFAULT_PROTOCOL); if (unlikely(!__pyx_t_9)) __PYX_ERR(19, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":16 * cdef object PyPickle_loads = None * cdef object PyPickle_PROTOCOL = None * if PY_MAJOR_VERSION >= 3: # <<<<<<<<<<<<<< * from pickle import dumps as PyPickle_dumps * from pickle import loads as PyPickle_loads */ goto __pyx_L31; } /* "MPI/msgpickle.pxi":21 * 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_7, &__pyx_t_6, &__pyx_t_5); __Pyx_XGOTREF(__pyx_t_7); __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_5); /*try:*/ { /* "MPI/msgpickle.pxi":22 * 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_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 22, __pyx_L32_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_9 = __Pyx_Import(__pyx_n_s_cPickle, __pyx_t_3, -1); if (unlikely(!__pyx_t_9)) __PYX_ERR(19, 22, __pyx_L32_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_9, __pyx_n_s_dumps); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 22, __pyx_L32_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_9); __pyx_t_9 = 0; /* "MPI/msgpickle.pxi":23 * 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_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(19, 23, __pyx_L32_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_n_s_loads); __Pyx_GIVEREF(__pyx_n_s_loads); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_n_s_loads); __pyx_t_3 = __Pyx_Import(__pyx_n_s_cPickle, __pyx_t_9, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 23, __pyx_L32_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_loads); if (unlikely(!__pyx_t_9)) __PYX_ERR(19, 23, __pyx_L32_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_9); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_loads); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_loads, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/msgpickle.pxi":24 * 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_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 24, __pyx_L32_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_s_HIGHEST_PROTOCOL); __Pyx_GIVEREF(__pyx_n_s_HIGHEST_PROTOCOL); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_HIGHEST_PROTOCOL); __pyx_t_9 = __Pyx_Import(__pyx_n_s_cPickle, __pyx_t_3, -1); if (unlikely(!__pyx_t_9)) __PYX_ERR(19, 24, __pyx_L32_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_9, __pyx_n_s_HIGHEST_PROTOCOL); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 24, __pyx_L32_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_9); __pyx_t_9 = 0; /* "MPI/msgpickle.pxi":21 * 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_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_L39_try_end; __pyx_L32_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; /* "MPI/msgpickle.pxi":25 * 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_9, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(19, 25, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); /* "MPI/msgpickle.pxi":26 * 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_16 = PyList_New(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(19, 26, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_INCREF(__pyx_n_s_dumps); __Pyx_GIVEREF(__pyx_n_s_dumps); PyList_SET_ITEM(__pyx_t_16, 0, __pyx_n_s_dumps); __pyx_t_13 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_16, -1); if (unlikely(!__pyx_t_13)) __PYX_ERR(19, 26, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_ImportFrom(__pyx_t_13, __pyx_n_s_dumps); if (unlikely(!__pyx_t_16)) __PYX_ERR(19, 26, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_INCREF(__pyx_t_16); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_dumps); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_dumps, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/msgpickle.pxi":27 * 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(19, 27, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_n_s_loads); __Pyx_GIVEREF(__pyx_n_s_loads); PyList_SET_ITEM(__pyx_t_13, 0, __pyx_n_s_loads); __pyx_t_16 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_13, -1); if (unlikely(!__pyx_t_16)) __PYX_ERR(19, 27, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_ImportFrom(__pyx_t_16, __pyx_n_s_loads); if (unlikely(!__pyx_t_13)) __PYX_ERR(19, 27, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_INCREF(__pyx_t_13); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_loads); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_loads, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; /* "MPI/msgpickle.pxi":28 * from pickle import dumps as PyPickle_dumps * from pickle import loads as PyPickle_loads * from pickle import HIGHEST_PROTOCOL as PyPickle_PROTOCOL # <<<<<<<<<<<<<< * * cdef object PyStringIO_New = None */ __pyx_t_16 = PyList_New(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(19, 28, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_INCREF(__pyx_n_s_HIGHEST_PROTOCOL); __Pyx_GIVEREF(__pyx_n_s_HIGHEST_PROTOCOL); PyList_SET_ITEM(__pyx_t_16, 0, __pyx_n_s_HIGHEST_PROTOCOL); __pyx_t_13 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_16, -1); if (unlikely(!__pyx_t_13)) __PYX_ERR(19, 28, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_ImportFrom(__pyx_t_13, __pyx_n_s_HIGHEST_PROTOCOL); if (unlikely(!__pyx_t_16)) __PYX_ERR(19, 28, __pyx_L34_except_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_INCREF(__pyx_t_16); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyPickle_PROTOCOL, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L33_exception_handled; } goto __pyx_L34_except_error; __pyx_L34_except_error:; /* "MPI/msgpickle.pxi":21 * 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_PyThreadState_assign __Pyx_XGIVEREF(__pyx_t_7); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_6, __pyx_t_5); goto __pyx_L1_error; __pyx_L33_exception_handled:; __Pyx_PyThreadState_assign __Pyx_XGIVEREF(__pyx_t_7); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_6, __pyx_t_5); __pyx_L39_try_end:; } } __pyx_L31:; /* "MPI/msgpickle.pxi":30 * from pickle import HIGHEST_PROTOCOL as PyPickle_PROTOCOL * * cdef object PyStringIO_New = None # <<<<<<<<<<<<<< * cdef object PyPickle_loadf = None * if PY_MAJOR_VERSION == 2: */ __Pyx_INCREF(Py_None); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyStringIO_New); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyStringIO_New, Py_None); __Pyx_GIVEREF(Py_None); /* "MPI/msgpickle.pxi":31 * * cdef object PyStringIO_New = None * cdef object PyPickle_loadf = None # <<<<<<<<<<<<<< * if PY_MAJOR_VERSION == 2: * 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); /* "MPI/msgpickle.pxi":32 * cdef object PyStringIO_New = None * cdef object PyPickle_loadf = None * if PY_MAJOR_VERSION == 2: # <<<<<<<<<<<<<< * try: * from cStringIO import StringIO as PyStringIO_New */ __pyx_t_23 = ((PY_MAJOR_VERSION == 2) != 0); if (__pyx_t_23) { /* "MPI/msgpickle.pxi":33 * cdef object PyPickle_loadf = None * if PY_MAJOR_VERSION == 2: * try: # <<<<<<<<<<<<<< * from cStringIO import StringIO as PyStringIO_New * from cPickle import load as PyPickle_loadf */ { __Pyx_PyThreadState_declare __Pyx_PyThreadState_assign __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); __Pyx_XGOTREF(__pyx_t_5); __Pyx_XGOTREF(__pyx_t_6); __Pyx_XGOTREF(__pyx_t_7); /*try:*/ { /* "MPI/msgpickle.pxi":34 * if PY_MAJOR_VERSION == 2: * try: * from cStringIO import StringIO as PyStringIO_New # <<<<<<<<<<<<<< * from cPickle import load as PyPickle_loadf * except ImportError: */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 34, __pyx_L43_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s_StringIO); __Pyx_GIVEREF(__pyx_n_s_StringIO); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_StringIO); __pyx_t_3 = __Pyx_Import(__pyx_n_s_cStringIO, __pyx_t_1, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 34, __pyx_L43_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_StringIO); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 34, __pyx_L43_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_PyStringIO_New); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_PyStringIO_New, __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; /* "MPI/msgpickle.pxi":35 * try: * from cStringIO import StringIO as PyStringIO_New * from cPickle import load as PyPickle_loadf # <<<<<<<<<<<<<< * except ImportError: * pass */ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 35, __pyx_L43_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_1 = __Pyx_Import(__pyx_n_s_cPickle, __pyx_t_3, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 35, __pyx_L43_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_load); if (unlikely(!__pyx_t_3)) __PYX_ERR(19, 35, __pyx_L43_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_1); __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":33 * cdef object PyPickle_loadf = None * if PY_MAJOR_VERSION == 2: * try: # <<<<<<<<<<<<<< * from cStringIO import StringIO as PyStringIO_New * from cPickle import load as PyPickle_loadf */ } __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_L50_try_end; __pyx_L43_error:; __Pyx_PyThreadState_assign __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/msgpickle.pxi":36 * from cStringIO import StringIO as PyStringIO_New * from cPickle import load as PyPickle_loadf * except ImportError: # <<<<<<<<<<<<<< * pass * */ __pyx_t_2 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); if (__pyx_t_2) { __Pyx_ErrRestore(0,0,0); goto __pyx_L44_exception_handled; } goto __pyx_L45_except_error; __pyx_L45_except_error:; /* "MPI/msgpickle.pxi":33 * cdef object PyPickle_loadf = None * if PY_MAJOR_VERSION == 2: * try: # <<<<<<<<<<<<<< * from cStringIO import StringIO as PyStringIO_New * from cPickle import load as PyPickle_loadf */ __Pyx_PyThreadState_assign __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); goto __pyx_L1_error; __pyx_L44_exception_handled:; __Pyx_PyThreadState_assign __Pyx_XGIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_6); __Pyx_XGIVEREF(__pyx_t_7); __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); __pyx_L50_try_end:; } /* "MPI/msgpickle.pxi":32 * cdef object PyStringIO_New = None * cdef object PyPickle_loadf = None * if PY_MAJOR_VERSION == 2: # <<<<<<<<<<<<<< * try: * from cStringIO import StringIO as PyStringIO_New */ } /* "MPI/msgpickle.pxi":195 * * * cdef Pickle PyMPI_PICKLE = Pickle() # <<<<<<<<<<<<<< * pickle = PyMPI_PICKLE * */ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6mpi4py_3MPI_Pickle), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 195, __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; /* "MPI/msgpickle.pxi":196 * * 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(19, 196, __pyx_L1_error) /* "MPI/MPI.pyx":27 * # ------------------ * * UNDEFINED = MPI_UNDEFINED # <<<<<<<<<<<<<< * #: Undefined integer value * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_UNDEFINED); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 27, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNDEFINED, __pyx_t_1) < 0) __PYX_ERR(8, 27, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":30 * #: 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, 30, __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, 30, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":33 * #: 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, 33, __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, 33, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":36 * #: 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, 36, __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, 36, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":39 * #: 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, 39, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_ROOT, __pyx_t_1) < 0) __PYX_ERR(8, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":42 * #: 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, 42, __pyx_L1_error) /* "MPI/MPI.pyx":45 * #: 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, 45, __pyx_L1_error) /* "MPI/MPI.pyx":52 * # ---------------------------- * * 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, 52, __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, 52, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":54 * 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, 54, __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, 54, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":55 * * 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, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_HOST, __pyx_t_1) < 0) __PYX_ERR(8, 55, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_IO); 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_IO, __pyx_t_1) < 0) __PYX_ERR(8, 56, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":57 * 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, 57, __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, 57, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":59 * 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, 59, __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, 59, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":60 * * 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, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_APPNUM, __pyx_t_1) < 0) __PYX_ERR(8, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":62 * 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, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_LASTUSEDCODE, __pyx_t_1) < 0) __PYX_ERR(8, 62, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":64 * 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, 64, __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, 64, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":65 * * 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, 65, __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, 65, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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 * 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, 66, __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, 66, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":67 * 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, 67, __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, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":68 * 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_FLAVOR, __pyx_t_1) < 0) __PYX_ERR(8, 68, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/MPI.pyx":69 * 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, 69, __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, 69, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/ExceptionP.pyx":1 * class Exception(RuntimeError): # <<<<<<<<<<<<<< * * """ */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_builtin_RuntimeError); __Pyx_GIVEREF(__pyx_builtin_RuntimeError); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_RuntimeError); __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_1, __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_9)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); /* "MPI/ExceptionP.pyx":7 * """ * * def __init__(self, int ierr=0): # <<<<<<<<<<<<<< * if ierr < MPI_SUCCESS: ierr = MPI_ERR_UNKNOWN * self.ob_mpi = ierr */ __pyx_t_13 = __Pyx_PyInt_From_int(((int)0)); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_13, __pyx_t_16); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_init, __pyx_t_13) < 0) __PYX_ERR(1, 7, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "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_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 12, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_eq, __pyx_t_13) < 0) __PYX_ERR(1, 12, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":16 * return (ierr == error) * * def __ne__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr != error) */ __pyx_t_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_ne, __pyx_t_13) < 0) __PYX_ERR(1, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":20 * return (ierr != error) * * def __lt__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr < error) */ __pyx_t_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_lt, __pyx_t_13) < 0) __PYX_ERR(1, 20, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":24 * return (ierr < error) * * def __le__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr <= error) */ __pyx_t_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_le, __pyx_t_13) < 0) __PYX_ERR(1, 24, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":28 * return (ierr <= error) * * def __gt__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr > error) */ __pyx_t_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_gt, __pyx_t_13) < 0) __PYX_ERR(1, 28, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":32 * return (ierr > error) * * def __ge__(self, object error): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return (ierr >= error) */ __pyx_t_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_ge, __pyx_t_13) < 0) __PYX_ERR(1, 32, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":36 * return (ierr >= error) * * def __hash__(self): # <<<<<<<<<<<<<< * return hash(self.ob_mpi) * */ __pyx_t_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 36, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_hash, __pyx_t_13) < 0) __PYX_ERR(1, 36, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":39 * return hash(self.ob_mpi) * * def __bool__(self): # <<<<<<<<<<<<<< * cdef int ierr = self.ob_mpi * return ierr != MPI_SUCCESS */ __pyx_t_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_bool, __pyx_t_13) < 0) __PYX_ERR(1, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":43 * return ierr != MPI_SUCCESS * * __nonzero__ = __bool__ # <<<<<<<<<<<<<< * * def __int__(self): */ __pyx_t_13 = PyObject_GetItem(__pyx_t_9, __pyx_n_s_bool); if (unlikely(!__pyx_t_13)) { PyErr_Clear(); __pyx_t_13 = __Pyx_GetModuleGlobalName(__pyx_n_s_bool); } if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 43, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_nonzero, __pyx_t_13) < 0) __PYX_ERR(1, 43, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":45 * __nonzero__ = __bool__ * * def __int__(self): # <<<<<<<<<<<<<< * return self.ob_mpi * */ __pyx_t_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_int, __pyx_t_13) < 0) __PYX_ERR(1, 45, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":48 * return self.ob_mpi * * def __repr__(self): # <<<<<<<<<<<<<< * return "MPI.Exception(%d)" % self.ob_mpi * */ __pyx_t_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_repr, __pyx_t_13) < 0) __PYX_ERR(1, 48, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "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_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_str, __pyx_t_13) < 0) __PYX_ERR(1, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":56 * return self.Get_error_string() * * def Get_error_code(self): # <<<<<<<<<<<<<< * """ * Error code */ __pyx_t_13 = __Pyx_CyFunction_NewEx(&__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_13)) __PYX_ERR(1, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_Get_error_code, __pyx_t_13) < 0) __PYX_ERR(1, 56, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":64 * return errorcode * * error_code = property(Get_error_code, doc="error code") # <<<<<<<<<<<<<< * * def Get_error_class(self): */ __pyx_t_13 = PyObject_GetItem(__pyx_t_9, __pyx_n_s_Get_error_code); if (unlikely(!__pyx_t_13)) { PyErr_Clear(); __pyx_t_13 = __Pyx_GetModuleGlobalName(__pyx_n_s_Get_error_code); } if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyDict_New(); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_doc_2, __pyx_kp_s_error_code) < 0) __PYX_ERR(1, 64, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_property, __pyx_t_16, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_error_code_2, __pyx_t_14) < 0) __PYX_ERR(1, 64, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; /* "MPI/ExceptionP.pyx":66 * error_code = property(Get_error_code, doc="error code") * * def Get_error_class(self): # <<<<<<<<<<<<<< * """ * Error class */ __pyx_t_14 = __Pyx_CyFunction_NewEx(&__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_14)) __PYX_ERR(1, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_Get_error_class, __pyx_t_14) < 0) __PYX_ERR(1, 66, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; /* "MPI/ExceptionP.pyx":74 * return errorclass * * error_class = property(Get_error_class, doc="error class") # <<<<<<<<<<<<<< * * def Get_error_string(self): */ __pyx_t_14 = PyObject_GetItem(__pyx_t_9, __pyx_n_s_Get_error_class); if (unlikely(!__pyx_t_14)) { PyErr_Clear(); __pyx_t_14 = __Pyx_GetModuleGlobalName(__pyx_n_s_Get_error_class); } if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyDict_New(); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_doc_2, __pyx_kp_s_error_class) < 0) __PYX_ERR(1, 74, __pyx_L1_error) __pyx_t_16 = __Pyx_PyObject_Call(__pyx_builtin_property, __pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_error_class_2, __pyx_t_16) < 0) __PYX_ERR(1, 74, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; /* "MPI/ExceptionP.pyx":76 * error_class = property(Get_error_class, doc="error class") * * def Get_error_string(self): # <<<<<<<<<<<<<< * """ * Error string */ __pyx_t_16 = __Pyx_CyFunction_NewEx(&__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_16)) __PYX_ERR(1, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_Get_error_string, __pyx_t_16) < 0) __PYX_ERR(1, 76, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; /* "MPI/ExceptionP.pyx":85 * return tompistr(string, resultlen) * * error_string = property(Get_error_string, doc="error string") # <<<<<<<<<<<<<< */ __pyx_t_16 = PyObject_GetItem(__pyx_t_9, __pyx_n_s_Get_error_string); if (unlikely(!__pyx_t_16)) { PyErr_Clear(); __pyx_t_16 = __Pyx_GetModuleGlobalName(__pyx_n_s_Get_error_string); } if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyDict_New(); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (PyDict_SetItem(__pyx_t_16, __pyx_n_s_doc_2, __pyx_kp_s_error_string) < 0) __PYX_ERR(1, 85, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_property, __pyx_t_14, __pyx_t_16); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (PyObject_SetItem(__pyx_t_9, __pyx_n_s_error_string_2, __pyx_t_13) < 0) __PYX_ERR(1, 85, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* "MPI/ExceptionP.pyx":1 * class Exception(RuntimeError): # <<<<<<<<<<<<<< * * """ */ __pyx_t_13 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_Exception_2, __pyx_t_1, __pyx_t_9, NULL, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Exception_2, __pyx_t_13) < 0) __PYX_ERR(1, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Exception.pyx":3 * include "ExceptionP.pyx" * #include "ExceptionC.pyx" * MPIException = Exception # <<<<<<<<<<<<<< * * */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_Exception_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 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; /* "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(21, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_SUCCESS, __pyx_t_1) < 0) __PYX_ERR(21, 7, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 8, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 13, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 14, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 15, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 17, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 19, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 20, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 21, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 22, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 23, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 24, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 26, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 27, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 29, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 30, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 32, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 35, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 36, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 41, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 42, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 43, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 45, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 47, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 48, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 49, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 52, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 53, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 54, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 55, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 56, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 57, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 58, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 59, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 61, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 62, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 63, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 65, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 66, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 68, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 69, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 70, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 71, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 73, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 74, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 75, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 76, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 77, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 78, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 79, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 80, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 81, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 82, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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(21, 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(21, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_1Get_error_class, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 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(21, 87, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_3Get_error_string, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 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(21, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_5Add_error_class, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 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(21, 106, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_7Add_error_code, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 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(21, 114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_9Add_error_string, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 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(21, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Errhandler.pyx":45 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Errhandler, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 45, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "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(5, 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(5, 45, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Errhandler); /* "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(5, 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; /* "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(5, 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; /* "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(5, 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; /* "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(5, 62, __pyx_L1_error) /* "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(5, 63, __pyx_L1_error) /* "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(5, 64, __pyx_L1_error) /* "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(6, 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(6, 3, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 4, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 5, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 10, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 11, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 12, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 17, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 18, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 19, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 20, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 25, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 26, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 27, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 28, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 29, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 30, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 31, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 32, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 33, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 35, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 36, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 37, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 38, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(6, 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(6, 40, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":129 * return datatype * * Create_dup = Dup #: convenience alias # <<<<<<<<<<<<<< * * def Create_contiguous(self, int count): */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Dup); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 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(6, 129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "MPI/Datatype.pyx":220 * * @classmethod * def Create_struct(cls, blocklengths, displacements, datatypes): # <<<<<<<<<<<<<< * """ * Create an datatype from a general set of */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Create_struct); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Datatype.pyx":219 * 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(6, 219, __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(6, 220, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "MPI/Datatype.pyx":241 * * def Create_subarray(self, sizes, subsizes, starts, * int order=ORDER_C): # <<<<<<<<<<<<<< * """ * Create a datatype for a subarray of */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ORDER_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 241, __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(6, 241, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__31 = __pyx_t_2; /* "MPI/Datatype.pyx":266 * def Create_darray(self, int size, int rank, * gsizes, distribs, dargs, psizes, * int order=ORDER_C): # <<<<<<<<<<<<<< * """ * Create a datatype representing an HPF-like */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ORDER_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 266, __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(6, 266, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__32 = __pyx_t_2; /* "MPI/Datatype.pyx":289 * * @classmethod * def Create_f90_integer(cls, int r): # <<<<<<<<<<<<<< * """ * Return a bounded integer datatype */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Create_f90_integer); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Datatype.pyx":288 * # ------------------------------------------------ * * @classmethod # <<<<<<<<<<<<<< * def Create_f90_integer(cls, int r): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 288, __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(6, 289, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "MPI/Datatype.pyx":298 * * @classmethod * def Create_f90_real(cls, int p, int r): # <<<<<<<<<<<<<< * """ * Return a bounded real datatype */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Create_f90_real); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Datatype.pyx":297 * 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(6, 297, __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(6, 298, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "MPI/Datatype.pyx":307 * * @classmethod * def Create_f90_complex(cls, int p, int r): # <<<<<<<<<<<<<< * """ * Return a bounded complex datatype */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Create_f90_complex); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Datatype.pyx":306 * 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(6, 306, __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(6, 307, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "MPI/Datatype.pyx":316 * * @classmethod * def Match_size(cls, int typeclass, int size): # <<<<<<<<<<<<<< * """ * Find a datatype matching a specified size in bytes */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Match_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Datatype.pyx":315 * 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(6, 315, __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(6, 316, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "MPI/Datatype.pyx":425 * return datatype * * Resized = Create_resized #: compatibility alias # <<<<<<<<<<<<<< * * def Get_true_extent(self): */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Create_resized); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 425, __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(6, 425, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "MPI/Datatype.pyx":782 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None): # <<<<<<<<<<<<<< * """ * Create a new attribute key for datatypes */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Create_keyval); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Datatype.pyx":781 * CHKERR( MPI_Type_delete_attr(self.ob_mpi, keyval) ) * * @classmethod # <<<<<<<<<<<<<< * def Create_keyval(cls, copy_fn=None, delete_fn=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 781, __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(6, 782, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "MPI/Datatype.pyx":796 * * @classmethod * def Free_keyval(cls, int keyval): # <<<<<<<<<<<<<< * """ * Free and attribute key for datatypes */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_Free_keyval); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Datatype.pyx":795 * 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(6, 795, __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(6, 796, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "MPI/Datatype.pyx":842 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Datatype, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Datatype.pyx":841 * 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(6, 841, __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(6, 842, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Datatype); /* "MPI/Datatype.pyx":854 * # ---------------- * * def Get_address(location): # <<<<<<<<<<<<<< * """ * Get the address of a location in memory */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_11Get_address, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 854, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Get_address, __pyx_t_3) < 0) __PYX_ERR(6, 854, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Datatype.pyx":866 * * * 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(6, 866, __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; /* "MPI/Datatype.pyx":868 * 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(6, 868, __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; /* "MPI/Datatype.pyx":869 * * 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(6, 869, __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; /* "MPI/Datatype.pyx":871 * 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(6, 871, __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; /* "MPI/Datatype.pyx":872 * * 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(6, 872, __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; /* "MPI/Datatype.pyx":873 * 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(6, 873, __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; /* "MPI/Datatype.pyx":874 * 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(6, 874, __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; /* "MPI/Datatype.pyx":875 * 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(6, 875, __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; /* "MPI/Datatype.pyx":877 * 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(6, 877, __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; /* "MPI/Datatype.pyx":878 * * 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(6, 878, __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; /* "MPI/Datatype.pyx":879 * 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(6, 879, __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; /* "MPI/Datatype.pyx":880 * 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(6, 880, __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; /* "MPI/Datatype.pyx":881 * 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(6, 881, __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; /* "MPI/Datatype.pyx":882 * 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(6, 882, __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; /* "MPI/Datatype.pyx":883 * 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(6, 883, __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; /* "MPI/Datatype.pyx":884 * 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(6, 884, __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; /* "MPI/Datatype.pyx":885 * 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(6, 885, __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; /* "MPI/Datatype.pyx":886 * 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(6, 886, __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; /* "MPI/Datatype.pyx":887 * 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(6, 887, __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; /* "MPI/Datatype.pyx":888 * 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(6, 888, __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; /* "MPI/Datatype.pyx":889 * 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(6, 889, __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; /* "MPI/Datatype.pyx":890 * 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(6, 890, __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; /* "MPI/Datatype.pyx":891 * 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(6, 891, __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; /* "MPI/Datatype.pyx":893 * 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(6, 893, __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; /* "MPI/Datatype.pyx":894 * * 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(6, 894, __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; /* "MPI/Datatype.pyx":895 * 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(6, 895, __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; /* "MPI/Datatype.pyx":896 * 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(6, 896, __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; /* "MPI/Datatype.pyx":897 * 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(6, 897, __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; /* "MPI/Datatype.pyx":898 * 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(6, 898, __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; /* "MPI/Datatype.pyx":899 * 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(6, 899, __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; /* "MPI/Datatype.pyx":900 * 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(6, 900, __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; /* "MPI/Datatype.pyx":901 * 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(6, 901, __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; /* "MPI/Datatype.pyx":902 * 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(6, 902, __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; /* "MPI/Datatype.pyx":904 * 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(6, 904, __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; /* "MPI/Datatype.pyx":906 * 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(6, 906, __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; /* "MPI/Datatype.pyx":908 * 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(6, 908, __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; /* "MPI/Datatype.pyx":911 * 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(6, 911, __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; /* "MPI/Datatype.pyx":912 * * 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(6, 912, __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; /* "MPI/Datatype.pyx":914 * 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(6, 914, __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; /* "MPI/Datatype.pyx":916 * 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(6, 916, __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; /* "MPI/Datatype.pyx":919 * 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(6, 919, __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; /* "MPI/Datatype.pyx":920 * * 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(6, 920, __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; /* "MPI/Datatype.pyx":921 * 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(6, 921, __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; /* "MPI/Datatype.pyx":922 * 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(6, 922, __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; /* "MPI/Datatype.pyx":923 * 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(6, 923, __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; /* "MPI/Datatype.pyx":924 * 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(6, 924, __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; /* "MPI/Datatype.pyx":926 * 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(6, 926, __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; /* "MPI/Datatype.pyx":927 * * 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(6, 927, __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; /* "MPI/Datatype.pyx":928 * 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(6, 928, __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; /* "MPI/Datatype.pyx":929 * 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(6, 929, __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; /* "MPI/Datatype.pyx":930 * 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(6, 930, __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; /* "MPI/Datatype.pyx":931 * 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(6, 931, __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; /* "MPI/Datatype.pyx":932 * 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(6, 932, __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; /* "MPI/Datatype.pyx":934 * 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(6, 934, __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; /* "MPI/Datatype.pyx":935 * * 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(6, 935, __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; /* "MPI/Datatype.pyx":936 * 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(6, 936, __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; /* "MPI/Datatype.pyx":937 * 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(6, 937, __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; /* "MPI/Datatype.pyx":938 * 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(6, 938, __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; /* "MPI/Datatype.pyx":939 * 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(6, 939, __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; /* "MPI/Datatype.pyx":940 * 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(6, 940, __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; /* "MPI/Datatype.pyx":941 * 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(6, 941, __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; /* "MPI/Datatype.pyx":942 * 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(6, 942, __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; /* "MPI/Datatype.pyx":943 * 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(6, 943, __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; /* "MPI/Datatype.pyx":944 * 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(6, 944, __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; /* "MPI/Datatype.pyx":945 * 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(6, 945, __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; /* "MPI/Datatype.pyx":946 * 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(6, 946, __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; /* "MPI/Datatype.pyx":947 * 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(6, 947, __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; /* "MPI/Datatype.pyx":948 * 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(6, 948, __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; /* "MPI/Datatype.pyx":949 * 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(6, 949, __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; /* "MPI/Datatype.pyx":950 * 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(6, 950, __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; /* "MPI/typemap.pxi":11 * # ----------------------------------------------------------------------------- * * cdef dict TypeDict = { } # <<<<<<<<<<<<<< * _typedict = TypeDict * */ __pyx_t_3 = PyDict_New(); 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; /* "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) /* "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), __pyx_kp_s__181, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "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), __pyx_kp_s__181, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":19 * AddTypeMap(TypeDict, "?" , __C_BOOL__ ) # PEP-3118 & NumPy * # character * AddTypeMap(TypeDict, "c" , __CHAR__ ) # PEP-3118 & NumPy # <<<<<<<<<<<<<< * AddTypeMap(TypeDict, "S" , __CHAR__ ) # NumPy * ## XXX this requires special handling */ __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), __pyx_n_s_c, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":20 * # character * AddTypeMap(TypeDict, "c" , __CHAR__ ) # PEP-3118 & NumPy * AddTypeMap(TypeDict, "S" , __CHAR__ ) # NumPy # <<<<<<<<<<<<<< * ## XXX this requires special handling * ## AddTypeMap(TypeDict, "u" , __????__ ) # 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), __pyx_n_s_S, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":25 * ## AddTypeMap(TypeDict, "w" , __????__ ) # 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), __pyx_n_s_b, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 25, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":26 * # (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), __pyx_n_s_h, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 26, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":27 * 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), __pyx_n_s_i, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":28 * 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), __pyx_n_s_l, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":29 * 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), __pyx_n_s_q, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":30 * 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), __pyx_n_s_p, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":32 * 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), __pyx_n_s_B, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 32, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":33 * # 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), __pyx_n_s_H, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 33, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":34 * 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), __pyx_n_s_I, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":35 * 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), __pyx_n_s_L, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":36 * 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), __pyx_n_s_Q, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":38 * 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), __pyx_n_s_f, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 38, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":39 * # (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), __pyx_n_s_d, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 39, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":40 * 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), __pyx_n_s_g, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":42 * 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), __pyx_n_s_Zf, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 42, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":43 * # 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), __pyx_n_s_Zd, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 43, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":44 * 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), __pyx_n_s_F, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":45 * 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), __pyx_n_s_D, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":47 * 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), __pyx_n_s_Zf, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 47, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":48 * # 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), __pyx_n_s_Zd, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 48, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":49 * 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), __pyx_n_s_F, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":50 * 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), __pyx_n_s_D, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":52 * 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), __pyx_n_s_Zf, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 52, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":53 * # 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), __pyx_n_s_Zd, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 53, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":54 * 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), __pyx_n_s_Zg, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":55 * 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), __pyx_n_s_F, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":56 * 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), __pyx_n_s_D, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":57 * 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), __pyx_n_s_G, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":59 * 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), __pyx_n_s_Zf, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 59, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":60 * # 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), __pyx_n_s_Zd, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":61 * 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), __pyx_n_s_Zg, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":62 * 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), __pyx_n_s_F, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":63 * 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), __pyx_n_s_D, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":64 * 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_LONG_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_G, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":68 * # ----------------------------------------------------------------------------- * * cdef dict CTypeDict = { } # <<<<<<<<<<<<<< * _typedict_c = CTypeDict * */ __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(22, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_CTypeDict); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_CTypeDict, ((PyObject*)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":69 * * 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, 69, __pyx_L1_error) /* "MPI/typemap.pxi":71 * _typedict_c = CTypeDict * * AddTypeMap(CTypeDict, "?" , __C_BOOL__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "b" , __SIGNED_CHAR__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___C_BOOL__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_kp_s__181, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 71, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":73 * AddTypeMap(CTypeDict, "?" , __C_BOOL__ ) * * AddTypeMap(CTypeDict, "b" , __SIGNED_CHAR__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "h" , __SHORT__ ) * AddTypeMap(CTypeDict, "i" , __INT__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___SIGNED_CHAR__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_b, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 73, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":74 * * AddTypeMap(CTypeDict, "b" , __SIGNED_CHAR__ ) * AddTypeMap(CTypeDict, "h" , __SHORT__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "i" , __INT__ ) * AddTypeMap(CTypeDict, "l" , __LONG__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __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), __pyx_n_s_h, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 74, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":75 * AddTypeMap(CTypeDict, "b" , __SIGNED_CHAR__ ) * 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___INT__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_i, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 75, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":76 * 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___LONG__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_l, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":77 * AddTypeMap(CTypeDict, "i" , __INT__ ) * AddTypeMap(CTypeDict, "l" , __LONG__ ) * AddTypeMap(CTypeDict, "q" , __LONG_LONG__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "B" , __UNSIGNED_CHAR__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LONG_LONG__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_q, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":79 * AddTypeMap(CTypeDict, "q" , __LONG_LONG__ ) * * AddTypeMap(CTypeDict, "B" , __UNSIGNED_CHAR__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "H" , __UNSIGNED_SHORT__ ) * AddTypeMap(CTypeDict, "I" , __UNSIGNED__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __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), __pyx_n_s_B, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":80 * * AddTypeMap(CTypeDict, "B" , __UNSIGNED_CHAR__ ) * AddTypeMap(CTypeDict, "H" , __UNSIGNED_SHORT__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "I" , __UNSIGNED__ ) * AddTypeMap(CTypeDict, "L" , __UNSIGNED_LONG__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __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), __pyx_n_s_H, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":81 * 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_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __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), __pyx_n_s_I, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 81, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":82 * 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_LONG__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_L, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 82, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":83 * AddTypeMap(CTypeDict, "I" , __UNSIGNED__ ) * AddTypeMap(CTypeDict, "L" , __UNSIGNED_LONG__ ) * AddTypeMap(CTypeDict, "Q" , __UNSIGNED_LONG_LONG__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "f" , __FLOAT__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __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), __pyx_n_s_Q, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":85 * AddTypeMap(CTypeDict, "Q" , __UNSIGNED_LONG_LONG__ ) * * 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___FLOAT__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_f, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 85, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":86 * * 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___DOUBLE__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_d, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 86, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":87 * AddTypeMap(CTypeDict, "f" , __FLOAT__ ) * AddTypeMap(CTypeDict, "d" , __DOUBLE__ ) * AddTypeMap(CTypeDict, "g" , __LONG_DOUBLE__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "F" , __C_FLOAT_COMPLEX__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __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), __pyx_n_s_g, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 87, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":89 * 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_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __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), __pyx_n_s_F, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 89, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":90 * * 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_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_D, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 90, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":91 * 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_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __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), __pyx_n_s_G, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 91, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":93 * AddTypeMap(CTypeDict, "G" , __C_LONG_DOUBLE_COMPLEX__ ) * * AddTypeMap(CTypeDict, "i1" , __INT8_T__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "i2" , __INT16_T__ ) * AddTypeMap(CTypeDict, "i4" , __INT32_T__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT8_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_i1, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 93, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":94 * * 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___INT16_T__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_i2, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 94, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":95 * 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___INT32_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_i4, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":96 * AddTypeMap(CTypeDict, "i2" , __INT16_T__ ) * AddTypeMap(CTypeDict, "i4" , __INT32_T__ ) * AddTypeMap(CTypeDict, "i8" , __INT64_T__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "u1" , __UINT8_T__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INT64_T__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_i8, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 96, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":98 * AddTypeMap(CTypeDict, "i8" , __INT64_T__ ) * * AddTypeMap(CTypeDict, "u1" , __UINT8_T__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "u2" , __UINT16_T__ ) * AddTypeMap(CTypeDict, "u4" , __UINT32_T__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT8_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_u1, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 98, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":99 * * 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___UINT16_T__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_u2, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":100 * 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___UINT32_T__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_u4, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":101 * AddTypeMap(CTypeDict, "u2" , __UINT16_T__ ) * AddTypeMap(CTypeDict, "u4" , __UINT32_T__ ) * AddTypeMap(CTypeDict, "u8" , __UINT64_T__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "f4" , __FLOAT__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_CTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___UINT64_T__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_u8, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":103 * AddTypeMap(CTypeDict, "u8" , __UINT64_T__ ) * * AddTypeMap(CTypeDict, "f4" , __FLOAT__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "f8" , __DOUBLE__ ) * 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___FLOAT__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_f4, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":104 * * AddTypeMap(CTypeDict, "f4" , __FLOAT__ ) * AddTypeMap(CTypeDict, "f8" , __DOUBLE__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "f16" , __LONG_DOUBLE__ ) * */ __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), __pyx_n_s_f8, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":105 * AddTypeMap(CTypeDict, "f4" , __FLOAT__ ) * AddTypeMap(CTypeDict, "f8" , __DOUBLE__ ) * AddTypeMap(CTypeDict, "f16" , __LONG_DOUBLE__ ) # <<<<<<<<<<<<<< * * AddTypeMap(CTypeDict, "c8" , __C_FLOAT_COMPLEX__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_CTypeDict; __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), __pyx_n_s_f16, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":107 * AddTypeMap(CTypeDict, "f16" , __LONG_DOUBLE__ ) * * AddTypeMap(CTypeDict, "c8" , __C_FLOAT_COMPLEX__ ) # <<<<<<<<<<<<<< * AddTypeMap(CTypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) * 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___C_FLOAT_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_c8, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":108 * * AddTypeMap(CTypeDict, "c8" , __C_FLOAT_COMPLEX__ ) * AddTypeMap(CTypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) # <<<<<<<<<<<<<< * 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_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_c16, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":109 * AddTypeMap(CTypeDict, "c8" , __C_FLOAT_COMPLEX__ ) * AddTypeMap(CTypeDict, "c16" , __C_DOUBLE_COMPLEX__ ) * 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___C_LONG_DOUBLE_COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_c32, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":113 * # ----------------------------------------------------------------------------- * * cdef dict FTypeDict = { } # <<<<<<<<<<<<<< * _typedict_f = FTypeDict * */ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_v_6mpi4py_3MPI_FTypeDict); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI_FTypeDict, ((PyObject*)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":114 * * 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, 114, __pyx_L1_error) /* "MPI/typemap.pxi":116 * _typedict_f = FTypeDict * * AddTypeMap(FTypeDict, "?" , __LOGICAL__ ) # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "i" , __INTEGER__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_kp_s__181, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":118 * AddTypeMap(FTypeDict, "?" , __LOGICAL__ ) * * AddTypeMap(FTypeDict, "i" , __INTEGER__ ) # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "s" , __REAL__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_i, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":120 * AddTypeMap(FTypeDict, "i" , __INTEGER__ ) * * AddTypeMap(FTypeDict, "s" , __REAL__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "r" , __REAL__ ) * AddTypeMap(FTypeDict, "d" , __DOUBLE_PRECISION__ ) */ __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), __pyx_n_s_s, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 120, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":121 * * AddTypeMap(FTypeDict, "s" , __REAL__ ) * AddTypeMap(FTypeDict, "r" , __REAL__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "d" , __DOUBLE_PRECISION__ ) * AddTypeMap(FTypeDict, "c" , __COMPLEX__ ) */ __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), __pyx_n_s_r, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 121, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":122 * AddTypeMap(FTypeDict, "s" , __REAL__ ) * 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___DOUBLE_PRECISION__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_d, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":123 * 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___COMPLEX__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_c, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 123, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":124 * AddTypeMap(FTypeDict, "d" , __DOUBLE_PRECISION__ ) * AddTypeMap(FTypeDict, "c" , __COMPLEX__ ) * AddTypeMap(FTypeDict, "z" , __DOUBLE_COMPLEX__ ) # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "?1" , __LOGICAL1__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __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), __pyx_n_s_z, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":126 * AddTypeMap(FTypeDict, "z" , __DOUBLE_COMPLEX__ ) * * AddTypeMap(FTypeDict, "?1" , __LOGICAL1__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "?2" , __LOGICAL2__ ) * AddTypeMap(FTypeDict, "?4" , __LOGICAL4__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL1__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_kp_s_1, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 126, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":127 * * 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___LOGICAL2__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_kp_s_2, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 127, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":128 * 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___LOGICAL4__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_kp_s_4, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":129 * AddTypeMap(FTypeDict, "?2" , __LOGICAL2__ ) * AddTypeMap(FTypeDict, "?4" , __LOGICAL4__ ) * AddTypeMap(FTypeDict, "?8" , __LOGICAL8__ ) # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "i1" , __INTEGER1__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___LOGICAL8__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_kp_s_8, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":131 * AddTypeMap(FTypeDict, "?8" , __LOGICAL8__ ) * * AddTypeMap(FTypeDict, "i1" , __INTEGER1__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "i2" , __INTEGER2__ ) * AddTypeMap(FTypeDict, "i4" , __INTEGER4__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER1__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_i1, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 131, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":132 * * AddTypeMap(FTypeDict, "i1" , __INTEGER1__ ) * AddTypeMap(FTypeDict, "i2" , __INTEGER2__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "i4" , __INTEGER4__ ) * AddTypeMap(FTypeDict, "i8" , __INTEGER8__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER2__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_i2, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":133 * AddTypeMap(FTypeDict, "i1" , __INTEGER1__ ) * 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___INTEGER4__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_i4, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 133, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/typemap.pxi":134 * 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___INTEGER8__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_i8, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":135 * AddTypeMap(FTypeDict, "i4" , __INTEGER4__ ) * AddTypeMap(FTypeDict, "i8" , __INTEGER8__ ) * AddTypeMap(FTypeDict, "i16" , __INTEGER16__ ) # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "r2" , __REAL2__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___INTEGER16__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_i16, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":137 * AddTypeMap(FTypeDict, "i16" , __INTEGER16__ ) * * AddTypeMap(FTypeDict, "r2" , __REAL2__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "r4" , __REAL4__ ) * AddTypeMap(FTypeDict, "r8" , __REAL8__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL2__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_r2, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 137, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":138 * * 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___REAL4__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_r4, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":139 * 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___REAL8__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_r8, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":140 * AddTypeMap(FTypeDict, "r4" , __REAL4__ ) * AddTypeMap(FTypeDict, "r8" , __REAL8__ ) * AddTypeMap(FTypeDict, "r16" , __REAL16__ ) # <<<<<<<<<<<<<< * * AddTypeMap(FTypeDict, "c4" , __COMPLEX4__ ) */ __pyx_t_3 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = ((PyObject *)__pyx_v_6mpi4py_3MPI___REAL16__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_r16, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":142 * AddTypeMap(FTypeDict, "r16" , __REAL16__ ) * * AddTypeMap(FTypeDict, "c4" , __COMPLEX4__ ) # <<<<<<<<<<<<<< * AddTypeMap(FTypeDict, "c8" , __COMPLEX8__ ) * AddTypeMap(FTypeDict, "c16" , __COMPLEX16__ ) */ __pyx_t_1 = __pyx_v_6mpi4py_3MPI_FTypeDict; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = ((PyObject *)__pyx_v_6mpi4py_3MPI___COMPLEX4__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_c4, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -1)) __PYX_ERR(22, 142, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/typemap.pxi":143 * * 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___COMPLEX8__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_c8, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":144 * 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___COMPLEX16__); __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_1), __pyx_n_s_c16, ((struct PyMPIDatatypeObject *)__pyx_t_3)); if (unlikely(__pyx_t_2 == -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; /* "MPI/typemap.pxi":145 * 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___COMPLEX32__); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_f_6mpi4py_3MPI_AddTypeMap(((PyObject*)__pyx_t_3), __pyx_n_s_c32, ((struct PyMPIDatatypeObject *)__pyx_t_1)); if (unlikely(__pyx_t_2 == -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; /* "MPI/Datatype.pyx":958 * # --------------------------- * * 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(6, 958, __pyx_L1_error) /* "MPI/Datatype.pyx":960 * 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(6, 960, __pyx_L1_error) /* "MPI/Datatype.pyx":961 * # 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(6, 961, __pyx_L1_error) /* "MPI/Datatype.pyx":963 * 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(6, 963, __pyx_L1_error) /* "MPI/Datatype.pyx":964 * # 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(6, 964, __pyx_L1_error) /* "MPI/Datatype.pyx":965 * 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(6, 965, __pyx_L1_error) /* "MPI/Datatype.pyx":966 * 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(6, 966, __pyx_L1_error) /* "MPI/Datatype.pyx":967 * 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(6, 967, __pyx_L1_error) /* "MPI/Datatype.pyx":969 * 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(6, 969, __pyx_L1_error) /* "MPI/Datatype.pyx":970 * # 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(6, 970, __pyx_L1_error) /* "MPI/Datatype.pyx":971 * 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(6, 971, __pyx_L1_error) /* "MPI/Datatype.pyx":972 * 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(6, 972, __pyx_L1_error) /* "MPI/Datatype.pyx":973 * 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(6, 973, __pyx_L1_error) /* "MPI/Datatype.pyx":974 * 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(6, 974, __pyx_L1_error) /* "MPI/Datatype.pyx":975 * 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(6, 975, __pyx_L1_error) /* "MPI/Datatype.pyx":976 * 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(6, 976, __pyx_L1_error) /* "MPI/Datatype.pyx":977 * 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(6, 977, __pyx_L1_error) /* "MPI/Datatype.pyx":978 * 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(6, 978, __pyx_L1_error) /* "MPI/Datatype.pyx":979 * 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(6, 979, __pyx_L1_error) /* "MPI/Datatype.pyx":980 * 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(6, 980, __pyx_L1_error) /* "MPI/Datatype.pyx":981 * 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(6, 981, __pyx_L1_error) /* "MPI/Datatype.pyx":982 * 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(6, 982, __pyx_L1_error) /* "MPI/Datatype.pyx":983 * 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(6, 983, __pyx_L1_error) /* "MPI/Datatype.pyx":985 * 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(6, 985, __pyx_L1_error) /* "MPI/Datatype.pyx":986 * # 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(6, 986, __pyx_L1_error) /* "MPI/Datatype.pyx":987 * 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(6, 987, __pyx_L1_error) /* "MPI/Datatype.pyx":988 * 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(6, 988, __pyx_L1_error) /* "MPI/Datatype.pyx":989 * 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(6, 989, __pyx_L1_error) /* "MPI/Datatype.pyx":990 * 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(6, 990, __pyx_L1_error) /* "MPI/Datatype.pyx":991 * 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(6, 991, __pyx_L1_error) /* "MPI/Datatype.pyx":992 * 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(6, 992, __pyx_L1_error) /* "MPI/Datatype.pyx":993 * 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(6, 993, __pyx_L1_error) /* "MPI/Datatype.pyx":994 * 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(6, 994, __pyx_L1_error) /* "MPI/Datatype.pyx":995 * 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(6, 995, __pyx_L1_error) /* "MPI/Datatype.pyx":996 * 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(6, 996, __pyx_L1_error) /* "MPI/Datatype.pyx":997 * 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(6, 997, __pyx_L1_error) /* "MPI/Datatype.pyx":999 * 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(6, 999, __pyx_L1_error) /* "MPI/Datatype.pyx":1000 * # 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(6, 1000, __pyx_L1_error) /* "MPI/Datatype.pyx":1001 * 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(6, 1001, __pyx_L1_error) /* "MPI/Datatype.pyx":1002 * 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(6, 1002, __pyx_L1_error) /* "MPI/Datatype.pyx":1004 * 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(6, 1004, __pyx_L1_error) /* "MPI/Datatype.pyx":1005 * # 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(6, 1005, __pyx_L1_error) if (PyDict_SetItem(__pyx_d, __pyx_n_s_TWOINT, ((PyObject *)__pyx_v_6mpi4py_3MPI___TWOINT__)) < 0) __PYX_ERR(6, 1005, __pyx_L1_error) /* "MPI/Datatype.pyx":1006 * 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(6, 1006, __pyx_L1_error) /* "MPI/Datatype.pyx":1007 * 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(6, 1007, __pyx_L1_error) /* "MPI/Datatype.pyx":1008 * 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(6, 1008, __pyx_L1_error) /* "MPI/Datatype.pyx":1009 * 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(6, 1009, __pyx_L1_error) /* "MPI/Datatype.pyx":1011 * 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(6, 1011, __pyx_L1_error) /* "MPI/Datatype.pyx":1012 * # 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(6, 1012, __pyx_L1_error) /* "MPI/Datatype.pyx":1013 * 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(6, 1013, __pyx_L1_error) /* "MPI/Datatype.pyx":1014 * 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(6, 1014, __pyx_L1_error) /* "MPI/Datatype.pyx":1015 * 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(6, 1015, __pyx_L1_error) /* "MPI/Datatype.pyx":1016 * 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(6, 1016, __pyx_L1_error) /* "MPI/Datatype.pyx":1017 * 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(6, 1017, __pyx_L1_error) /* "MPI/Datatype.pyx":1019 * 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(6, 1019, __pyx_L1_error) /* "MPI/Datatype.pyx":1020 * # 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(6, 1020, __pyx_L1_error) /* "MPI/Datatype.pyx":1021 * 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(6, 1021, __pyx_L1_error) /* "MPI/Datatype.pyx":1022 * 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(6, 1022, __pyx_L1_error) /* "MPI/Datatype.pyx":1023 * 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(6, 1023, __pyx_L1_error) /* "MPI/Datatype.pyx":1024 * 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(6, 1024, __pyx_L1_error) /* "MPI/Datatype.pyx":1025 * 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(6, 1025, __pyx_L1_error) /* "MPI/Datatype.pyx":1026 * 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(6, 1026, __pyx_L1_error) /* "MPI/Datatype.pyx":1027 * 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(6, 1027, __pyx_L1_error) /* "MPI/Datatype.pyx":1028 * 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(6, 1028, __pyx_L1_error) /* "MPI/Datatype.pyx":1029 * 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(6, 1029, __pyx_L1_error) /* "MPI/Datatype.pyx":1030 * 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(6, 1030, __pyx_L1_error) /* "MPI/Datatype.pyx":1031 * 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(6, 1031, __pyx_L1_error) /* "MPI/Datatype.pyx":1032 * 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(6, 1032, __pyx_L1_error) /* "MPI/Datatype.pyx":1033 * 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(6, 1033, __pyx_L1_error) /* "MPI/Datatype.pyx":1034 * 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(6, 1034, __pyx_L1_error) /* "MPI/Datatype.pyx":1035 * 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(6, 1035, __pyx_L1_error) /* "MPI/Datatype.pyx":1038 * * # 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(6, 1038, __pyx_L1_error) /* "MPI/Datatype.pyx":1039 * # 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(6, 1039, __pyx_L1_error) /* "MPI/Datatype.pyx":1040 * 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(6, 1040, __pyx_L1_error) /* "MPI/Datatype.pyx":1041 * 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(6, 1041, __pyx_L1_error) /* "MPI/Datatype.pyx":1042 * 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(6, 1042, __pyx_L1_error) /* "MPI/Datatype.pyx":1043 * 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(6, 1043, __pyx_L1_error) /* "MPI/Datatype.pyx":1044 * 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(6, 1044, __pyx_L1_error) /* "MPI/Datatype.pyx":1045 * 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(6, 1045, __pyx_L1_error) /* "MPI/Datatype.pyx":1046 * 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(6, 1046, __pyx_L1_error) /* "MPI/Datatype.pyx":1047 * 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(6, 1047, __pyx_L1_error) /* "MPI/Datatype.pyx":1048 * 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(6, 1048, __pyx_L1_error) /* "MPI/Datatype.pyx":1049 * 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(6, 1049, __pyx_L1_error) /* "MPI/Datatype.pyx":1050 * 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(6, 1050, __pyx_L1_error) /* "MPI/Datatype.pyx":1051 * 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(6, 1051, __pyx_L1_error) /* "MPI/Datatype.pyx":1052 * 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(6, 1052, __pyx_L1_error) /* "MPI/Datatype.pyx":1053 * 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(6, 1053, __pyx_L1_error) /* "MPI/Datatype.pyx":1054 * 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(6, 1054, __pyx_L1_error) /* "MPI/Status.pyx":81 * self.Set_error(value) * * def Get_count(self, Datatype datatype not None=BYTE): # <<<<<<<<<<<<<< * """ * Get the number of *top level* elements */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_BYTE); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 81, __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_Datatype))))) __PYX_ERR(23, 81, __pyx_L1_error) __pyx_k__33 = ((struct PyMPIDatatypeObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Status.pyx":156 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Status, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Status.pyx":155 * return [f_status[i] for i from 0 <= i < n] * * @classmethod # <<<<<<<<<<<<<< * def f2py(cls, arg): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(23, 155, __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_Status->tp_dict, __pyx_n_s_f2py, __pyx_t_3) < 0) __PYX_ERR(23, 156, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Status); /* "MPI/Request.pyx":74 * * @classmethod * def Waitany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for any previously initiated request to complete */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_Waitany); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Request.pyx":73 * # -------------------- * * @classmethod # <<<<<<<<<<<<<< * def Waitany(cls, requests, Status status=None): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 73, __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(24, 74, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "MPI/Request.pyx":92 * * @classmethod * def Testany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Test for completion of any previously initiated request */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_Testany); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 92, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Request.pyx":91 * return index * * @classmethod # <<<<<<<<<<<<<< * def Testany(cls, requests, Status status=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 91, __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(24, 92, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "MPI/Request.pyx":112 * * @classmethod * def Waitall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Wait for all previously initiated requests to complete */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_Waitall); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Request.pyx":111 * return (index, flag) * * @classmethod # <<<<<<<<<<<<<< * def Waitall(cls, requests, statuses=None): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 111, __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(24, 112, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "MPI/Request.pyx":130 * * @classmethod * def Testall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Test for completion of all previously initiated requests */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_Testall); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Request.pyx":129 * return None * * @classmethod # <<<<<<<<<<<<<< * def Testall(cls, requests, statuses=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 129, __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(24, 130, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "MPI/Request.pyx":149 * * @classmethod * def Waitsome(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Wait for some previously initiated requests to complete */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_Waitsome); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Request.pyx":148 * return flag * * @classmethod # <<<<<<<<<<<<<< * def Waitsome(cls, requests, statuses=None): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 148, __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_Waitsome, __pyx_t_1) < 0) __PYX_ERR(24, 149, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "MPI/Request.pyx":174 * * @classmethod * def Testsome(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Test for completion of some previously initiated requests */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_Testsome); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Request.pyx":173 * return indices * * @classmethod # <<<<<<<<<<<<<< * def Testsome(cls, requests, statuses=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 173, __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_Testsome, __pyx_t_3) < 0) __PYX_ERR(24, 174, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "MPI/Request.pyx":216 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_f2py); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Request.pyx":215 * return MPI_Request_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(24, 215, __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_f2py, __pyx_t_1) < 0) __PYX_ERR(24, 216, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "MPI/Request.pyx":246 * # * @classmethod * def waitany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Wait for any previously initiated request to complete */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_waitany); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Request.pyx":245 * return (flag, msg) * # * @classmethod # <<<<<<<<<<<<<< * def waitany(cls, requests, Status status=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 245, __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(24, 246, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "MPI/Request.pyx":255 * # * @classmethod * def testany(cls, requests, Status status=None): # <<<<<<<<<<<<<< * """ * Test for completion of any previously initiated request */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_testany); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Request.pyx":254 * return (index, msg) * # * @classmethod # <<<<<<<<<<<<<< * def testany(cls, requests, Status status=None): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 254, __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(24, 255, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "MPI/Request.pyx":265 * # * @classmethod * def waitall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Wait for all previously initiated requests to complete */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_waitall); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Request.pyx":264 * return (index, flag, msg) * # * @classmethod # <<<<<<<<<<<<<< * def waitall(cls, requests, statuses=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 264, __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(24, 265, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "MPI/Request.pyx":273 * # * @classmethod * def testall(cls, requests, statuses=None): # <<<<<<<<<<<<<< * """ * Test for completion of all previously initiated requests */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Request, __pyx_n_s_testall); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Request.pyx":272 * return msg * # * @classmethod # <<<<<<<<<<<<<< * def testall(cls, requests, statuses=None): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 272, __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(24, 273, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Request); /* "MPI/Request.pyx":299 * * @classmethod * def Startall(cls, requests): # <<<<<<<<<<<<<< * """ * Start a collection of persistent requests */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Prequest, __pyx_n_s_Startall); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Request.pyx":298 * with nogil: CHKERR( MPI_Start(&self.ob_mpi) ) * * @classmethod # <<<<<<<<<<<<<< * def Startall(cls, requests): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 298, __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_Prequest->tp_dict, __pyx_n_s_Startall, __pyx_t_3) < 0) __PYX_ERR(24, 299, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Prequest); /* "MPI/Request.pyx":326 * * @classmethod * def Start(cls, query_fn, free_fn, cancel_fn, # <<<<<<<<<<<<<< * args=None, kargs=None): * """ */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Grequest, __pyx_n_s_Start); if (unlikely(!__pyx_t_3)) __PYX_ERR(24, 326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Request.pyx":325 * (request) * * @classmethod # <<<<<<<<<<<<<< * def Start(cls, query_fn, free_fn, cancel_fn, * args=None, kargs=None): */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 325, __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_Grequest->tp_dict, __pyx_n_s_Start, __pyx_t_1) < 0) __PYX_ERR(24, 326, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Grequest); /* "MPI/Request.pyx":355 * * * cdef Request __REQUEST_NULL__ = new_Request(MPI_REQUEST_NULL) # <<<<<<<<<<<<<< * * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Request(MPI_REQUEST_NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 355, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___REQUEST_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___REQUEST_NULL__, ((struct PyMPIRequestObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Request.pyx":361 * # -------------------------- * * 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(24, 361, __pyx_L1_error) /* "MPI/Message.pyx":34 * @classmethod * def Probe(cls, Comm comm not None, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): # <<<<<<<<<<<<<< * """ * Blocking test for a matched message */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 34, __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(25, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__34 = __pyx_t_2; __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 34, __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(25, 34, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__35 = __pyx_t_2; /* "MPI/Message.pyx":33 * * @classmethod * def Probe(cls, Comm comm not None, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """ */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message, __pyx_n_s_Probe); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 33, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Message.pyx":32 * # -------------- * * @classmethod # <<<<<<<<<<<<<< * def Probe(cls, Comm comm not None, * 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(25, 32, __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_Probe, __pyx_t_3) < 0) __PYX_ERR(25, 33, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Message); /* "MPI/Message.pyx":48 * @classmethod * def Iprobe(cls, Comm comm not None, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): # <<<<<<<<<<<<<< * """ * Nonblocking test for a matched message */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 48, __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(25, 48, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__36 = __pyx_t_2; __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 48, __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(25, 48, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__37 = __pyx_t_2; /* "MPI/Message.pyx":47 * * @classmethod * def Iprobe(cls, Comm comm not None, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """ */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message, __pyx_n_s_Iprobe); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Message.pyx":46 * return message * * @classmethod # <<<<<<<<<<<<<< * def Iprobe(cls, Comm comm not None, * 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(25, 46, __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_Iprobe, __pyx_t_1) < 0) __PYX_ERR(25, 47, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Message); /* "MPI/Message.pyx":104 * @classmethod * def probe(cls, Comm comm not None, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): # <<<<<<<<<<<<<< * """Blocking test for a matched message""" * cdef Message message = Message.__new__(cls) */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 104, __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(25, 104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__38 = __pyx_t_2; __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 104, __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(25, 104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__39 = __pyx_t_2; /* "MPI/Message.pyx":103 * # * @classmethod * def probe(cls, Comm comm not None, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """Blocking test for a matched message""" */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message, __pyx_n_s_probe); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Message.pyx":102 * # -------------------- * # * @classmethod # <<<<<<<<<<<<<< * def probe(cls, Comm comm not None, * 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(25, 102, __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_probe, __pyx_t_3) < 0) __PYX_ERR(25, 103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Message); /* "MPI/Message.pyx":114 * @classmethod * def iprobe(cls, Comm comm not None, * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): # <<<<<<<<<<<<<< * """Nonblocking test for a matched message""" * cdef int flag = 0 */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 114, __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(25, 114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__40 = __pyx_t_2; __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 114, __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(25, 114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__41 = __pyx_t_2; /* "MPI/Message.pyx":113 * # * @classmethod * def iprobe(cls, Comm comm not None, # <<<<<<<<<<<<<< * int source=ANY_SOURCE, int tag=ANY_TAG, Status status=None): * """Nonblocking test for a matched message""" */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message, __pyx_n_s_iprobe); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Message.pyx":112 * return message * # * @classmethod # <<<<<<<<<<<<<< * def iprobe(cls, Comm comm not None, * 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(25, 112, __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_iprobe, __pyx_t_1) < 0) __PYX_ERR(25, 113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Message); /* "MPI/Message.pyx":153 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Message, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Message.pyx":152 * return MPI_Message_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, 152, __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_f2py, __pyx_t_3) < 0) __PYX_ERR(25, 153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Message); /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Message(MPI_MESSAGE_NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___MESSAGE_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___MESSAGE_NULL__, ((struct PyMPIMessageObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Message(MPI_MESSAGE_NO_PROC)); if (unlikely(!__pyx_t_3)) __PYX_ERR(25, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___MESSAGE_NO_PROC__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___MESSAGE_NO_PROC__, ((struct PyMPIMessageObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(25, 168, __pyx_L1_error) /* "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(25, 169, __pyx_L1_error) /* "MPI/Info.pyx":29 * * @classmethod * def Create(cls): # <<<<<<<<<<<<<< * """ * Create a new, empty info object */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Info, __pyx_n_s_Create); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 29, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Info.pyx":28 * return self.ob_mpi != MPI_INFO_NULL * * @classmethod # <<<<<<<<<<<<<< * def Create(cls): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 28, __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_Create, __pyx_t_1) < 0) __PYX_ERR(26, 29, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Info); /* "MPI/Info.pyx":116 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Info, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(26, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Info.pyx":115 * return MPI_Info_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(26, 115, __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_f2py, __pyx_t_3) < 0) __PYX_ERR(26, 116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Info); /* "MPI/Info.pyx":224 * * * cdef Info __INFO_NULL__ = new_Info(MPI_INFO_NULL) # <<<<<<<<<<<<<< * cdef Info __INFO_ENV__ = new_Info(MPI_INFO_ENV) * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Info(MPI_INFO_NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INFO_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INFO_NULL__, ((struct PyMPIInfoObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Info.pyx":225 * * cdef Info __INFO_NULL__ = new_Info(MPI_INFO_NULL) * cdef Info __INFO_ENV__ = new_Info(MPI_INFO_ENV) # <<<<<<<<<<<<<< * * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Info(MPI_INFO_ENV)); if (unlikely(!__pyx_t_3)) __PYX_ERR(26, 225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___INFO_ENV__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___INFO_ENV__, ((struct PyMPIInfoObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Info.pyx":231 * # ----------------------- * * 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(26, 231, __pyx_L1_error) /* "MPI/Info.pyx":232 * * 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(26, 232, __pyx_L1_error) /* "MPI/Op.pyx":38 * * @classmethod * def Create(cls, function, bint commute=False): # <<<<<<<<<<<<<< * """ * Create a user-defined operation */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Op, __pyx_n_s_Create); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Op.pyx":37 * return op_user_py(self.ob_usrid, x, y, None) * * @classmethod # <<<<<<<<<<<<<< * def Create(cls, function, bint commute=False): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 37, __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_Create, __pyx_t_1) < 0) __PYX_ERR(27, 38, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Op); /* "MPI/Op.pyx":132 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Op, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(27, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Op.pyx":131 * return MPI_Op_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(27, 131, __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_f2py, __pyx_t_3) < 0) __PYX_ERR(27, 132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Op); /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_OP_NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___OP_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___OP_NULL__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_MAX)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___MAX__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___MAX__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_MIN)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___MIN__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___MIN__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_SUM)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___SUM__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___SUM__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_PROD)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___PROD__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___PROD__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_LAND)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LAND__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LAND__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_BAND)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___BAND__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___BAND__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_LOR)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LOR__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LOR__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_BOR)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___BOR__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___BOR__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_LXOR)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___LXOR__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___LXOR__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_BXOR)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___BXOR__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___BXOR__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_MAXLOC)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___MAXLOC__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___MAXLOC__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_MINLOC)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___MINLOC__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___MINLOC__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_REPLACE)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___REPLACE__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___REPLACE__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Op(MPI_NO_OP)); if (unlikely(!__pyx_t_3)) __PYX_ERR(27, 155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___NO_OP__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___NO_OP__, ((struct PyMPIOpObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "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(27, 161, __pyx_L1_error) /* "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(27, 162, __pyx_L1_error) /* "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(27, 163, __pyx_L1_error) /* "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(27, 164, __pyx_L1_error) /* "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(27, 165, __pyx_L1_error) /* "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(27, 166, __pyx_L1_error) /* "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(27, 167, __pyx_L1_error) /* "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(27, 168, __pyx_L1_error) /* "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(27, 169, __pyx_L1_error) /* "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(27, 170, __pyx_L1_error) /* "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(27, 171, __pyx_L1_error) /* "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(27, 172, __pyx_L1_error) /* "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(27, 173, __pyx_L1_error) /* "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(27, 174, __pyx_L1_error) /* "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(27, 175, __pyx_L1_error) /* "MPI/Group.pyx":58 * * @classmethod * def Translate_ranks(cls, # <<<<<<<<<<<<<< * Group group1 not None, ranks1, * Group group2=None): */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_Translate_ranks); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Group.pyx":57 * return self.Get_rank() * * @classmethod # <<<<<<<<<<<<<< * def Translate_ranks(cls, * Group group1 not None, ranks1, */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 57, __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_Translate_ranks, __pyx_t_1) < 0) __PYX_ERR(28, 58, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "MPI/Group.pyx":87 * * @classmethod * def Compare(cls, # <<<<<<<<<<<<<< * Group group1 not None, * Group group2 not None): */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_Compare); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 87, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Group.pyx":86 * return ranks2 * * @classmethod # <<<<<<<<<<<<<< * def Compare(cls, * Group group1 not None, */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 86, __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_Compare, __pyx_t_3) < 0) __PYX_ERR(28, 87, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "MPI/Group.pyx":109 * * @classmethod * def Union(cls, # <<<<<<<<<<<<<< * Group group1 not None, * Group group2 not None): */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_Union); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Group.pyx":108 * return group * * @classmethod # <<<<<<<<<<<<<< * def Union(cls, * Group group1 not None, */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 108, __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_Union, __pyx_t_1) < 0) __PYX_ERR(28, 109, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "MPI/Group.pyx":122 * * @classmethod * def Intersection(cls, # <<<<<<<<<<<<<< * Group group1 not None, * Group group2 not None): */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_Intersection); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Group.pyx":121 * return group * * @classmethod # <<<<<<<<<<<<<< * def Intersection(cls, * Group group1 not None, */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 121, __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_Intersection, __pyx_t_3) < 0) __PYX_ERR(28, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "MPI/Group.pyx":134 * return group * * Intersect = Intersection # <<<<<<<<<<<<<< * * @classmethod */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_Intersection); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group->tp_dict, __pyx_n_s_Intersect, __pyx_t_3) < 0) __PYX_ERR(28, 134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "MPI/Group.pyx":137 * * @classmethod * def Difference(cls, # <<<<<<<<<<<<<< * Group group1 not None, * Group group2 not None): */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_Difference); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Group.pyx":136 * Intersect = Intersection * * @classmethod # <<<<<<<<<<<<<< * def Difference(cls, * Group group1 not None, */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 136, __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_Difference, __pyx_t_1) < 0) __PYX_ERR(28, 137, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "MPI/Group.pyx":222 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Group, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(28, 222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Group.pyx":221 * return MPI_Group_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(28, 221, __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_f2py, __pyx_t_3) < 0) __PYX_ERR(28, 222, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Group); /* "MPI/Group.pyx":231 * * * cdef Group __GROUP_NULL__ = new_Group ( MPI_GROUP_NULL ) # <<<<<<<<<<<<<< * cdef Group __GROUP_EMPTY__ = new_Group ( MPI_GROUP_EMPTY ) * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Group(MPI_GROUP_NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___GROUP_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___GROUP_NULL__, ((struct PyMPIGroupObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Group.pyx":232 * * cdef Group __GROUP_NULL__ = new_Group ( MPI_GROUP_NULL ) * cdef Group __GROUP_EMPTY__ = new_Group ( MPI_GROUP_EMPTY ) # <<<<<<<<<<<<<< * * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Group(MPI_GROUP_EMPTY)); if (unlikely(!__pyx_t_3)) __PYX_ERR(28, 232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___GROUP_EMPTY__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___GROUP_EMPTY__, ((struct PyMPIGroupObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Group.pyx":238 * # ------------------------ * * 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(28, 238, __pyx_L1_error) /* "MPI/Group.pyx":239 * * 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(28, 239, __pyx_L1_error) /* "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_3 = __Pyx_PyInt_From_int(MPI_IDENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_IDENT, __pyx_t_3) < 0) __PYX_ERR(7, 4, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_CONGRUENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 5, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_CONGRUENT, __pyx_t_3) < 0) __PYX_ERR(7, 5, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_SIMILAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 6, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_SIMILAR, __pyx_t_3) < 0) __PYX_ERR(7, 6, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_UNEQUAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_UNEQUAL, __pyx_t_3) < 0) __PYX_ERR(7, 7, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_CART); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 13, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_CART, __pyx_t_3) < 0) __PYX_ERR(7, 13, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_GRAPH); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_GRAPH, __pyx_t_3) < 0) __PYX_ERR(7, 14, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_DIST_GRAPH); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 15, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_DIST_GRAPH, __pyx_t_3) < 0) __PYX_ERR(7, 15, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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) /* "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) /* "MPI/Comm.pyx":28 * # ----------------------- * * COMM_TYPE_SHARED = MPI_COMM_TYPE_SHARED # <<<<<<<<<<<<<< * * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_COMM_TYPE_SHARED); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_COMM_TYPE_SHARED, __pyx_t_3) < 0) __PYX_ERR(7, 28, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":104 * * @classmethod * def Compare(cls, Comm comm1 not None, Comm comm2 not None): # <<<<<<<<<<<<<< * """ * Compare two communicators */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm, __pyx_n_s_Compare); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Comm.pyx":103 * return self.Get_rank() * * @classmethod # <<<<<<<<<<<<<< * def Compare(cls, Comm comm1 not None, Comm comm2 not None): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 103, __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_Compare, __pyx_t_1) < 0) __PYX_ERR(7, 104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Comm); /* "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_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 205, __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, 205, __pyx_L1_error) __pyx_k__44 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":277 * dest, tag, self.ob_mpi) ) * * def Recv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 277, __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, 277, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__45 = __pyx_t_2; __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 277, __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, 277, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__46 = __pyx_t_2; /* "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): * """ */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 294, __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, 294, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__47 = __pyx_t_2; __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 294, __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, 294, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__48 = __pyx_t_2; /* "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): * """ */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 316, __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, 316, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__49 = __pyx_t_2; __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 316, __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, 316, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__50 = __pyx_t_2; /* "MPI/Comm.pyx":354 * return request * * def Irecv(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG): # <<<<<<<<<<<<<< * """ * Nonblocking receive */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 354, __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, 354, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__51 = __pyx_t_2; __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 354, __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, 354, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__52 = __pyx_t_2; /* "MPI/Comm.pyx":369 * # ----- * * def Probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 369, __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, 369, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__53 = __pyx_t_2; __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 369, __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, 369, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__54 = __pyx_t_2; /* "MPI/Comm.pyx":381 * return True * * def Iprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 381, __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, 381, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__55 = __pyx_t_2; __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 381, __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, 381, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__56 = __pyx_t_2; /* "MPI/Comm.pyx":395 * # -------------- * * def Mprobe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 395, __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, 395, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__57 = __pyx_t_2; __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 395, __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, 395, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__58 = __pyx_t_2; /* "MPI/Comm.pyx":408 * return message * * def Improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """ */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 408, __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, 408, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__59 = __pyx_t_2; __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 408, __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, 408, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__60 = __pyx_t_2; /* "MPI/Comm.pyx":438 * return request * * def Recv_init(self, buf, int source=ANY_SOURCE, int tag=ANY_TAG): # <<<<<<<<<<<<<< * """ * Create a persistent request for a receive */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 438, __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, 438, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__61 = __pyx_t_2; __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 438, __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, 438, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__62 = __pyx_t_2; /* "MPI/Comm.pyx":699 * # --------------------------- * * def Reduce(self, sendbuf, recvbuf, Op op not None=SUM, int root=0): # <<<<<<<<<<<<<< * """ * Reduce */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 699, __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, 699, __pyx_L1_error) __pyx_k__63 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":709 * op.ob_mpi, root, self.ob_mpi) ) * * def Allreduce(self, sendbuf, recvbuf, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * All Reduce */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 709, __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, 709, __pyx_L1_error) __pyx_k__64 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":720 * * def Reduce_scatter_block(self, sendbuf, recvbuf, * Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Reduce-Scatter Block (regular, non-vector version) */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 720, __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, 720, __pyx_L1_error) __pyx_k__65 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":731 * * def Reduce_scatter(self, sendbuf, recvbuf, recvcounts=None, * Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Reduce-Scatter (vector version) */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 731, __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, 731, __pyx_L1_error) __pyx_k__66 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":891 * return request * * def Ireduce(self, sendbuf, recvbuf, Op op not None=SUM, int root=0): # <<<<<<<<<<<<<< * """ * Nonblocking Reduce */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 891, __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, 891, __pyx_L1_error) __pyx_k__67 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":903 * return request * * def Iallreduce(self, sendbuf, recvbuf, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Nonblocking All Reduce */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 903, __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, 903, __pyx_L1_error) __pyx_k__68 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":916 * * def Ireduce_scatter_block(self, sendbuf, recvbuf, * Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Nonblocking Reduce-Scatter Block (regular, non-vector version) */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 916, __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, 916, __pyx_L1_error) __pyx_k__69 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":929 * * def Ireduce_scatter(self, sendbuf, recvbuf, recvcounts=None, * Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Nonblocking Reduce-Scatter (vector version) */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 929, __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, 929, __pyx_L1_error) __pyx_k__70 = ((struct PyMPIOpObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Comm.pyx":994 * * @classmethod * def Get_parent(cls): # <<<<<<<<<<<<<< * """ * Return the parent intercommunicator for this process */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm, __pyx_n_s_Get_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Comm.pyx":993 * # ------------------------------- * * @classmethod # <<<<<<<<<<<<<< * def Get_parent(cls): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 993, __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_Get_parent, __pyx_t_3) < 0) __PYX_ERR(7, 994, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Comm); /* "MPI/Comm.pyx":1010 * * @classmethod * def Join(cls, int fd): # <<<<<<<<<<<<<< * """ * Create a intercommunicator by joining */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm, __pyx_n_s_Join); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Comm.pyx":1009 * with nogil: CHKERR( MPI_Comm_disconnect(&self.ob_mpi) ) * * @classmethod # <<<<<<<<<<<<<< * def Join(cls, int fd): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1009, __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_Join, __pyx_t_1) < 0) __PYX_ERR(7, 1010, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Comm); /* "MPI/Comm.pyx":1071 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None): # <<<<<<<<<<<<<< * """ * Create a new attribute key for communicators */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm, __pyx_n_s_Create_keyval); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Comm.pyx":1070 * CHKERR( MPI_Comm_delete_attr(self.ob_mpi, keyval) ) * * @classmethod # <<<<<<<<<<<<<< * def Create_keyval(cls, copy_fn=None, delete_fn=None): * """ */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1070, __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_Create_keyval, __pyx_t_3) < 0) __PYX_ERR(7, 1071, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Comm); /* "MPI/Comm.pyx":1085 * * @classmethod * def Free_keyval(cls, int keyval): # <<<<<<<<<<<<<< * """ * Free and attribute key for communicators */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm, __pyx_n_s_Free_keyval); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Comm.pyx":1084 * 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(7, 1084, __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_Free_keyval, __pyx_t_1) < 0) __PYX_ERR(7, 1085, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Comm); /* "MPI/Comm.pyx":1163 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Comm, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 1163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Comm.pyx":1162 * return MPI_Comm_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(7, 1162, __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_f2py, __pyx_t_3) < 0) __PYX_ERR(7, 1163, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Comm); /* "MPI/Comm.pyx":1187 * 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_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1187, __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, 1187, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__71 = __pyx_t_2; __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1187, __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, 1187, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__72 = __pyx_t_2; /* "MPI/Comm.pyx":1195 * # * 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_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1195, __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, 1195, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__73 = __pyx_t_2; __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1195, __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, 1195, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__74 = __pyx_t_2; /* "MPI/Comm.pyx":1225 * 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_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1225, __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, 1225, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__75 = __pyx_t_2; __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1225, __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, 1225, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__76 = __pyx_t_2; /* "MPI/Comm.pyx":1232 * return request * # * def probe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Blocking test for a message""" */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1232, __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, 1232, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__77 = __pyx_t_2; __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1232, __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, 1232, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__78 = __pyx_t_2; /* "MPI/Comm.pyx":1239 * 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_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1239, __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, 1239, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__79 = __pyx_t_2; __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1239, __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, 1239, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__80 = __pyx_t_2; /* "MPI/Comm.pyx":1246 * 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_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1246, __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, 1246, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__81 = __pyx_t_2; __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1246, __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, 1246, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__82 = __pyx_t_2; /* "MPI/Comm.pyx":1256 * return message * # * def improbe(self, int source=ANY_SOURCE, int tag=ANY_TAG, # <<<<<<<<<<<<<< * Status status=None): * """Nonblocking test for a matched message""" */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_SOURCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1256, __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, 1256, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__83 = __pyx_t_2; __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ANY_TAG); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1256, __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, 1256, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__84 = __pyx_t_2; /* "MPI/Comm.pyx":1298 * return PyMPI_alltoall(sendobj, comm) * # * def reduce(self, sendobj, op=SUM, int root=0): # <<<<<<<<<<<<<< * """Reduce""" * if op is None: op = SUM */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_k__85 = __pyx_t_3; __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1304 * return PyMPI_reduce(sendobj, op, root, comm) * # * def allreduce(self, sendobj, op=SUM): # <<<<<<<<<<<<<< * """Reduce to All""" * if op is None: op = SUM */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_k__86 = __pyx_t_3; __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1365 * def Create_dist_graph_adjacent(self, sources, destinations, * sourceweights=None, destweights=None, * Info info=INFO_NULL, bint reorder=False): # <<<<<<<<<<<<<< * """ * Create distributed graph communicator */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1365, __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, 1365, __pyx_L1_error) __pyx_k__88 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1394 * * def Create_dist_graph(self, sources, degrees, destinations, weights=None, * Info info=INFO_NULL, bint reorder=False): # <<<<<<<<<<<<<< * """ * Create distributed graph communicator */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1394, __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, 1394, __pyx_L1_error) __pyx_k__89 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1472 * # Inclusive Scan * * def Scan(self, sendbuf, recvbuf, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Inclusive Scan */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1472, __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, 1472, __pyx_L1_error) __pyx_k__90 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1484 * # Exclusive Scan * * def Exscan(self, sendbuf, recvbuf, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Exclusive Scan */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1484, __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, 1484, __pyx_L1_error) __pyx_k__91 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1496 * # Nonblocking * * def Iscan(self, sendbuf, recvbuf, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Inclusive Scan */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1496, __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, 1496, __pyx_L1_error) __pyx_k__92 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1508 * return request * * def Iexscan(self, sendbuf, recvbuf, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Inclusive Scan */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1508, __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, 1508, __pyx_L1_error) __pyx_k__93 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1522 * # Python Communication * # * def scan(self, sendobj, op=SUM): # <<<<<<<<<<<<<< * """Inclusive Scan""" * if op is None: op = SUM */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_k__94 = __pyx_t_3; __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1528 * return PyMPI_scan(sendobj, op, comm) * # * def exscan(self, sendobj, op=SUM): # <<<<<<<<<<<<<< * """Exclusive Scan""" * if op is None: op = SUM */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_k__95 = __pyx_t_3; __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1540 * * 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_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1540, __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, 1540, __pyx_L1_error) __pyx_k__96 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1571 * * def Spawn_multiple(self, command, args=None, maxprocs=None, * info=INFO_NULL, int root=0, errcodes=None): # <<<<<<<<<<<<<< * """ * Spawn instances of multiple MPI applications */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_k__98 = __pyx_t_3; __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1616 * # Server Routines * * def Accept(self, port_name, Info info=INFO_NULL, int root=0): # <<<<<<<<<<<<<< * """ * Accept a request to form a new intercommunicator */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1616, __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, 1616, __pyx_L1_error) __pyx_k__100 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":1636 * # Client Routines * * def Connect(self, port_name, Info info=INFO_NULL, int root=0): # <<<<<<<<<<<<<< * """ * Make a request to form a new intercommunicator */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 1636, __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, 1636, __pyx_L1_error) __pyx_k__101 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2000 * # Cartesian Convenience Function * * def Compute_dims(int nnodes, dims): # <<<<<<<<<<<<<< * """ * Return a balanced distribution of */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_13Compute_dims, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Compute_dims, __pyx_t_3) < 0) __PYX_ERR(7, 2000, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2244 * * * 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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Comm(MPI_COMM_NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMM_NULL__, ((struct PyMPICommObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2245 * * 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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Intracomm(MPI_COMM_SELF)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_SELF__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMM_SELF__, ((struct PyMPIIntracommObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2246 * 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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Intracomm(MPI_COMM_WORLD)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_WORLD__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMM_WORLD__, ((struct PyMPIIntracommObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2247 * 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_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Intercomm(MPI_COMM_NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___COMM_PARENT__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___COMM_PARENT__, ((struct PyMPIIntercommObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2253 * # ------------------------ * * 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, 2253, __pyx_L1_error) /* "MPI/Comm.pyx":2254 * * 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, 2254, __pyx_L1_error) /* "MPI/Comm.pyx":2255 * 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, 2255, __pyx_L1_error) /* "MPI/Comm.pyx":2261 * # --------------------------- * * BSEND_OVERHEAD = MPI_BSEND_OVERHEAD # <<<<<<<<<<<<<< * #: Upper bound of memory overhead for sending in buffered mode * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_BSEND_OVERHEAD); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_BSEND_OVERHEAD, __pyx_t_3) < 0) __PYX_ERR(7, 2261, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2264 * #: Upper bound of memory overhead for sending in buffered mode * * def Attach_buffer(memory): # <<<<<<<<<<<<<< * """ * Attach a user-provided buffer for */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_15Attach_buffer, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Attach_buffer, __pyx_t_3) < 0) __PYX_ERR(7, 2264, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2274 * with nogil: CHKERR( MPI_Buffer_attach(base, size) ) * * def Detach_buffer(): # <<<<<<<<<<<<<< * """ * Remove an existing attached buffer */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_17Detach_buffer, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Detach_buffer, __pyx_t_3) < 0) __PYX_ERR(7, 2274, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2291 * # --------------- * * def Open_port(Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Return an address that can be used to establish */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2291, __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, 2291, __pyx_L1_error) __pyx_k__111 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_19Open_port, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Open_port, __pyx_t_3) < 0) __PYX_ERR(7, 2291, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2302 * return mpistr(cportname) * * def Close_port(port_name): # <<<<<<<<<<<<<< * """ * Close a port */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_21Close_port, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Close_port, __pyx_t_3) < 0) __PYX_ERR(7, 2302, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2313 * # --------------- * * def Publish_name(service_name, port_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Publish a service name */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_k__112 = __pyx_t_3; __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_23Publish_name, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Publish_name, __pyx_t_3) < 0) __PYX_ERR(7, 2313, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2326 * with nogil: CHKERR( MPI_Publish_name(csrvcname, cinfo, cportname) ) * * def Unpublish_name(service_name, port_name, info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Unpublish a service name */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_k__113 = __pyx_t_3; __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_25Unpublish_name, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Unpublish_name, __pyx_t_3) < 0) __PYX_ERR(7, 2326, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Comm.pyx":2339 * 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_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_k__114 = __pyx_t_3; __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_27Lookup_name, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 2339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Lookup_name, __pyx_t_3) < 0) __PYX_ERR(7, 2339, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_WIN_FLAVOR_CREATE); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 3, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_FLAVOR_CREATE, __pyx_t_3) < 0) __PYX_ERR(29, 3, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_WIN_FLAVOR_ALLOCATE); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_FLAVOR_ALLOCATE, __pyx_t_3) < 0) __PYX_ERR(29, 4, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_WIN_FLAVOR_DYNAMIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 5, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_FLAVOR_DYNAMIC, __pyx_t_3) < 0) __PYX_ERR(29, 5, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_WIN_FLAVOR_SHARED); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 6, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_FLAVOR_SHARED, __pyx_t_3) < 0) __PYX_ERR(29, 6, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":10 * # Memory model * # ------------ * WIN_SEPARATE = MPI_WIN_SEPARATE # <<<<<<<<<<<<<< * WIN_UNIFIED = MPI_WIN_UNIFIED * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_WIN_SEPARATE); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_SEPARATE, __pyx_t_3) < 0) __PYX_ERR(29, 10, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":11 * # ------------ * WIN_SEPARATE = MPI_WIN_SEPARATE * WIN_UNIFIED = MPI_WIN_UNIFIED # <<<<<<<<<<<<<< * * # Assertion modes */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_WIN_UNIFIED); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 11, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_WIN_UNIFIED, __pyx_t_3) < 0) __PYX_ERR(29, 11, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":15 * # Assertion modes * # --------------- * MODE_NOCHECK = MPI_MODE_NOCHECK # <<<<<<<<<<<<<< * MODE_NOSTORE = MPI_MODE_NOSTORE * MODE_NOPUT = MPI_MODE_NOPUT */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MODE_NOCHECK); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 15, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_NOCHECK, __pyx_t_3) < 0) __PYX_ERR(29, 15, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_MODE_NOSTORE); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 16, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_NOSTORE, __pyx_t_3) < 0) __PYX_ERR(29, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_MODE_NOPUT); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_NOPUT, __pyx_t_3) < 0) __PYX_ERR(29, 17, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "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_3 = __Pyx_PyInt_From_int(MPI_MODE_NOPRECEDE); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_NOPRECEDE, __pyx_t_3) < 0) __PYX_ERR(29, 18, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":19 * MODE_NOPUT = MPI_MODE_NOPUT * MODE_NOPRECEDE = MPI_MODE_NOPRECEDE * MODE_NOSUCCEED = MPI_MODE_NOSUCCEED # <<<<<<<<<<<<<< * * # Lock types */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MODE_NOSUCCEED); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 19, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_NOSUCCEED, __pyx_t_3) < 0) __PYX_ERR(29, 19, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":23 * # Lock types * # ---------- * LOCK_EXCLUSIVE = MPI_LOCK_EXCLUSIVE # <<<<<<<<<<<<<< * LOCK_SHARED = MPI_LOCK_SHARED * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_LOCK_EXCLUSIVE); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOCK_EXCLUSIVE, __pyx_t_3) < 0) __PYX_ERR(29, 23, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":24 * # ---------- * LOCK_EXCLUSIVE = MPI_LOCK_EXCLUSIVE * LOCK_SHARED = MPI_LOCK_SHARED # <<<<<<<<<<<<<< * * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_LOCK_SHARED); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_LOCK_SHARED, __pyx_t_3) < 0) __PYX_ERR(29, 24, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":60 * @classmethod * def Create(cls, memory, int disp_unit=1, * Info info=INFO_NULL, Intracomm comm not None=COMM_SELF): # <<<<<<<<<<<<<< * """ * Create an window object for one-sided communication */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 60, __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(29, 60, __pyx_L1_error) __pyx_k__115 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_COMM_SELF); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 60, __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(29, 60, __pyx_L1_error) __pyx_k__116 = ((struct PyMPIIntracommObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":59 * * @classmethod * def Create(cls, memory, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, Intracomm comm not None=COMM_SELF): * """ */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_Create); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Win.pyx":58 * # --------------- * * @classmethod # <<<<<<<<<<<<<< * def Create(cls, memory, int disp_unit=1, * Info info=INFO_NULL, Intracomm comm not None=COMM_SELF): */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 58, __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, __pyx_t_1) < 0) __PYX_ERR(29, 59, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "MPI/Win.pyx":82 * @classmethod * def Allocate(cls, Aint size, int disp_unit=1, * Info info=INFO_NULL, # <<<<<<<<<<<<<< * Intracomm comm not None=COMM_SELF): * """ */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 82, __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(29, 82, __pyx_L1_error) __pyx_k__117 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":83 * def Allocate(cls, Aint size, int disp_unit=1, * Info info=INFO_NULL, * Intracomm comm not None=COMM_SELF): # <<<<<<<<<<<<<< * """ * Create an window object for one-sided communication */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_COMM_SELF); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 83, __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(29, 83, __pyx_L1_error) __pyx_k__118 = ((struct PyMPIIntracommObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":81 * * @classmethod * def Allocate(cls, Aint size, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, * Intracomm comm not None=COMM_SELF): */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_Allocate); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Win.pyx":80 * return win * * @classmethod # <<<<<<<<<<<<<< * def Allocate(cls, Aint size, int disp_unit=1, * Info info=INFO_NULL, */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 80, __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, __pyx_t_3) < 0) __PYX_ERR(29, 81, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "MPI/Win.pyx":98 * @classmethod * def Allocate_shared(cls, Aint size, int disp_unit=1, * Info info=INFO_NULL, # <<<<<<<<<<<<<< * Intracomm comm not None=COMM_SELF): * """ */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 98, __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(29, 98, __pyx_L1_error) __pyx_k__119 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":99 * def Allocate_shared(cls, Aint size, int disp_unit=1, * Info info=INFO_NULL, * Intracomm comm not None=COMM_SELF): # <<<<<<<<<<<<<< * """ * Create an window object for one-sided communication */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_COMM_SELF); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 99, __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(29, 99, __pyx_L1_error) __pyx_k__120 = ((struct PyMPIIntracommObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":97 * * @classmethod * def Allocate_shared(cls, Aint size, int disp_unit=1, # <<<<<<<<<<<<<< * Info info=INFO_NULL, * Intracomm comm not None=COMM_SELF): */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_Allocate_shared); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Win.pyx":96 * return win * * @classmethod # <<<<<<<<<<<<<< * def Allocate_shared(cls, Aint size, int disp_unit=1, * Info info=INFO_NULL, */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 96, __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_shared, __pyx_t_1) < 0) __PYX_ERR(29, 97, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "MPI/Win.pyx":128 * @classmethod * def Create_dynamic(cls, * Info info=INFO_NULL, # <<<<<<<<<<<<<< * Intracomm comm not None=COMM_SELF): * """ */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 128, __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(29, 128, __pyx_L1_error) __pyx_k__121 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":129 * def Create_dynamic(cls, * Info info=INFO_NULL, * Intracomm comm not None=COMM_SELF): # <<<<<<<<<<<<<< * """ * Create an window object for one-sided communication */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_COMM_SELF); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 129, __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(29, 129, __pyx_L1_error) __pyx_k__122 = ((struct PyMPIIntracommObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":127 * * @classmethod * def Create_dynamic(cls, # <<<<<<<<<<<<<< * Info info=INFO_NULL, * Intracomm comm not None=COMM_SELF): */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_Create_dynamic); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Win.pyx":126 * return (tomemory(base, size), disp_unit) * * @classmethod # <<<<<<<<<<<<<< * def Create_dynamic(cls, * Info info=INFO_NULL, */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 126, __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_dynamic, __pyx_t_3) < 0) __PYX_ERR(29, 127, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "MPI/Win.pyx":263 * * @classmethod * def Create_keyval(cls, copy_fn=None, delete_fn=None): # <<<<<<<<<<<<<< * """ * Create a new attribute key for windows */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_Create_keyval); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Win.pyx":262 * CHKERR( MPI_Win_delete_attr(self.ob_mpi, keyval) ) * * @classmethod # <<<<<<<<<<<<<< * def Create_keyval(cls, copy_fn=None, delete_fn=None): * """ */ __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 262, __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_keyval, __pyx_t_1) < 0) __PYX_ERR(29, 263, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "MPI/Win.pyx":277 * * @classmethod * def Free_keyval(cls, int keyval): # <<<<<<<<<<<<<< * """ * Free and attribute key for windows */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_Free_keyval); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/Win.pyx":276 * 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(29, 276, __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_Free_keyval, __pyx_t_3) < 0) __PYX_ERR(29, 277, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "MPI/Win.pyx":390 * * def Accumulate(self, origin, int target_rank, * target=None, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Accumulate data into the target process */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 390, __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(29, 390, __pyx_L1_error) __pyx_k__123 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":403 * * def Get_accumulate(self, origin, result, int target_rank, * target=None, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Fetch-and-accumulate data into the target process */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 403, __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(29, 403, __pyx_L1_error) __pyx_k__124 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":450 * * def Raccumulate(self, origin, int target_rank, * target=None, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Fetch-and-accumulate data into the target process */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 450, __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(29, 450, __pyx_L1_error) __pyx_k__125 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":466 * * def Rget_accumulate(self, origin, result, int target_rank, * target=None, Op op not None=SUM): # <<<<<<<<<<<<<< * """ * Accumulate data into the target process */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 466, __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(29, 466, __pyx_L1_error) __pyx_k__126 = ((struct PyMPIOpObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/Win.pyx":535 * # ---- * * def Lock(self, int rank, int lock_type=LOCK_EXCLUSIVE, int assertion=0): # <<<<<<<<<<<<<< * """ * Begin an RMA access epoch at the target process */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LOCK_EXCLUSIVE); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 535, __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(29, 535, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__127 = __pyx_t_2; /* "MPI/Win.pyx":654 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_Win, __pyx_n_s_f2py); if (unlikely(!__pyx_t_3)) __PYX_ERR(29, 654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* "MPI/Win.pyx":653 * return MPI_Win_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, 653, __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_f2py, __pyx_t_1) < 0) __PYX_ERR(29, 654, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_Win); /* "MPI/Win.pyx":663 * * * cdef Win __WIN_NULL__ = new_Win(MPI_WIN_NULL) # <<<<<<<<<<<<<< * * */ __pyx_t_1 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_Win(MPI_WIN_NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(29, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___WIN_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___WIN_NULL__, ((struct PyMPIWinObject *)__pyx_t_1)); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/Win.pyx":669 * # ------------------------- * * 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(29, 669, __pyx_L1_error) /* "MPI/File.pyx":4 * # ------------- * * MODE_RDONLY = MPI_MODE_RDONLY # <<<<<<<<<<<<<< * #: Read only * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MODE_RDONLY); 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_MODE_RDONLY, __pyx_t_1) < 0) __PYX_ERR(30, 4, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":7 * #: Read only * * MODE_WRONLY = MPI_MODE_WRONLY # <<<<<<<<<<<<<< * #: Write only * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MODE_WRONLY); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_WRONLY, __pyx_t_1) < 0) __PYX_ERR(30, 7, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":10 * #: Write only * * MODE_RDWR = MPI_MODE_RDWR # <<<<<<<<<<<<<< * #: Reading and writing * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MODE_RDWR); 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_MODE_RDWR, __pyx_t_1) < 0) __PYX_ERR(30, 10, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":13 * #: Reading and writing * * MODE_CREATE = MPI_MODE_CREATE # <<<<<<<<<<<<<< * #: Create the file if it does not exist * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MODE_CREATE); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 13, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_CREATE, __pyx_t_1) < 0) __PYX_ERR(30, 13, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_1 = __Pyx_PyInt_From_int(MPI_MODE_EXCL); 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_EXCL, __pyx_t_1) < 0) __PYX_ERR(30, 16, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_1 = __Pyx_PyInt_From_int(MPI_MODE_DELETE_ON_CLOSE); 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_DELETE_ON_CLOSE, __pyx_t_1) < 0) __PYX_ERR(30, 19, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":22 * #: Delete file on close * * MODE_UNIQUE_OPEN = MPI_MODE_UNIQUE_OPEN # <<<<<<<<<<<<<< * #: File will not be concurrently opened elsewhere * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MODE_UNIQUE_OPEN); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 22, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_UNIQUE_OPEN, __pyx_t_1) < 0) __PYX_ERR(30, 22, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":25 * #: File will not be concurrently opened elsewhere * * MODE_SEQUENTIAL = MPI_MODE_SEQUENTIAL # <<<<<<<<<<<<<< * #: File will only be accessed sequentially * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_MODE_SEQUENTIAL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_SEQUENTIAL, __pyx_t_1) < 0) __PYX_ERR(30, 25, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_1 = __Pyx_PyInt_From_int(MPI_MODE_APPEND); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 28, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MODE_APPEND, __pyx_t_1) < 0) __PYX_ERR(30, 28, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":35 * # ----------- * * SEEK_SET = MPI_SEEK_SET # <<<<<<<<<<<<<< * #: File pointer is set to offset * */ __pyx_t_1 = __Pyx_PyInt_From_int(MPI_SEEK_SET); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_SEEK_SET, __pyx_t_1) < 0) __PYX_ERR(30, 35, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_1 = __Pyx_PyInt_From_int(MPI_SEEK_CUR); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_SEEK_CUR, __pyx_t_1) < 0) __PYX_ERR(30, 38, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_1 = __Pyx_PyInt_From_int(MPI_SEEK_END); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_SEEK_END, __pyx_t_1) < 0) __PYX_ERR(30, 41, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_1 = __Pyx_PyInt_From_int(MPI_DISPLACEMENT_CURRENT); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_DISPLACEMENT_CURRENT, __pyx_t_1) < 0) __PYX_ERR(30, 44, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "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_1 = __Pyx_PyInt_From_int(MPI_DISPLACEMENT_CURRENT); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_DISP_CUR, __pyx_t_1) < 0) __PYX_ERR(30, 47, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":83 * @classmethod * def Open(cls, Intracomm comm not None, filename, * int amode=MODE_RDONLY, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Open a file */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_MODE_RDONLY); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 83, __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, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__129 = __pyx_t_2; __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 83, __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, 83, __pyx_L1_error) __pyx_k__128 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":82 * * @classmethod * def Open(cls, Intracomm comm not None, filename, # <<<<<<<<<<<<<< * int amode=MODE_RDONLY, Info info=INFO_NULL): * """ */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_File, __pyx_n_s_Open); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/File.pyx":81 * # ----------------- * * @classmethod # <<<<<<<<<<<<<< * def Open(cls, Intracomm comm not None, filename, * int amode=MODE_RDONLY, Info info=INFO_NULL): */ __pyx_t_3 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 81, __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_Open, __pyx_t_3) < 0) __PYX_ERR(30, 82, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_File); /* "MPI/File.pyx":103 * * @classmethod * def Delete(cls, filename, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Delete a file */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 103, __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, 103, __pyx_L1_error) __pyx_k__130 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/File.pyx":102 * with nogil: CHKERR( MPI_File_close(&self.ob_mpi) ) * * @classmethod # <<<<<<<<<<<<<< * def Delete(cls, filename, Info info=INFO_NULL): * """ */ __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_File, __pyx_n_s_Delete); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 103, __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, 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_File->tp_dict, __pyx_n_s_Delete, __pyx_t_1) < 0) __PYX_ERR(30, 103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_File); /* "MPI/File.pyx":198 * 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_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 198, __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, 198, __pyx_L1_error) __pyx_k__131 = ((struct PyMPIInfoObject *)__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; /* "MPI/File.pyx":397 * return request * * def Seek(self, Offset offset, int whence=SEEK_SET): # <<<<<<<<<<<<<< * """ * Update the individual file pointer */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_SEEK_SET); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 397, __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, 397, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__132 = __pyx_t_2; /* "MPI/File.pyx":483 * 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_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_SEEK_SET); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 483, __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, 483, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_k__133 = __pyx_t_2; /* "MPI/File.pyx":694 * * @classmethod * def f2py(cls, arg): # <<<<<<<<<<<<<< * """ * """ */ __pyx_t_1 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_6mpi4py_3MPI_File, __pyx_n_s_f2py); if (unlikely(!__pyx_t_1)) __PYX_ERR(30, 694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "MPI/File.pyx":693 * return MPI_File_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, 693, __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_f2py, __pyx_t_3) < 0) __PYX_ERR(30, 694, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; PyType_Modified(__pyx_ptype_6mpi4py_3MPI_File); /* "MPI/File.pyx":703 * * * cdef File __FILE_NULL__ = new_File(MPI_FILE_NULL) # <<<<<<<<<<<<<< * * */ __pyx_t_3 = ((PyObject *)__pyx_f_6mpi4py_3MPI_new_File(MPI_FILE_NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(((PyObject *)__pyx_v_6mpi4py_3MPI___FILE_NULL__)); __Pyx_DECREF_SET(__pyx_v_6mpi4py_3MPI___FILE_NULL__, ((struct PyMPIFileObject *)__pyx_t_3)); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/File.pyx":709 * # ----------------------- * * 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(30, 709, __pyx_L1_error) /* "MPI/File.pyx":715 * # --------------------------------- * * def Register_datarep(datarep, read_fn, write_fn, extent_fn): # <<<<<<<<<<<<<< * """ * Register user-defined data representations */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_29Register_datarep, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(30, 715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Register_datarep, __pyx_t_3) < 0) __PYX_ERR(30, 715, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":89 * # ----------------- * * def Alloc_mem(Aint size, Info info=INFO_NULL): # <<<<<<<<<<<<<< * """ * Allocate memory for message passing and RMA */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_INFO_NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 89, __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(8, 89, __pyx_L1_error) __pyx_k__134 = ((struct PyMPIInfoObject *)__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_31Alloc_mem, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 89, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Alloc_mem, __pyx_t_3) < 0) __PYX_ERR(8, 89, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":98 * return tomemory(base, size) * * def Free_mem(memory): # <<<<<<<<<<<<<< * """ * Free memory allocated with `Alloc_mem()` */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_33Free_mem, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 98, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Free_mem, __pyx_t_3) < 0) __PYX_ERR(8, 98, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":109 * # ----------------------- * * def Init(): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_35Init, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Init, __pyx_t_3) < 0) __PYX_ERR(8, 109, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":116 * initialize() * * def Finalize(): # <<<<<<<<<<<<<< * """ * Terminate the MPI execution environment */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_37Finalize, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Finalize, __pyx_t_3) < 0) __PYX_ERR(8, 116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":126 * # ------------------------------- * * THREAD_SINGLE = MPI_THREAD_SINGLE # <<<<<<<<<<<<<< * #: Only one thread will execute * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_THREAD_SINGLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_THREAD_SINGLE, __pyx_t_3) < 0) __PYX_ERR(8, 126, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":129 * #: Only one thread will execute * * THREAD_FUNNELED = MPI_THREAD_FUNNELED # <<<<<<<<<<<<<< * #: MPI calls are *funneled* to the main thread * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_THREAD_FUNNELED); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_THREAD_FUNNELED, __pyx_t_3) < 0) __PYX_ERR(8, 129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":132 * #: MPI calls are *funneled* to the main thread * * THREAD_SERIALIZED = MPI_THREAD_SERIALIZED # <<<<<<<<<<<<<< * #: MPI calls are *serialized* * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_THREAD_SERIALIZED); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_THREAD_SERIALIZED, __pyx_t_3) < 0) __PYX_ERR(8, 132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":135 * #: MPI calls are *serialized* * * THREAD_MULTIPLE = MPI_THREAD_MULTIPLE # <<<<<<<<<<<<<< * #: Multiple threads may call MPI * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_THREAD_MULTIPLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_THREAD_MULTIPLE, __pyx_t_3) < 0) __PYX_ERR(8, 135, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":138 * #: Multiple threads may call MPI * * def Init_thread(int required=THREAD_MULTIPLE): # <<<<<<<<<<<<<< * """ * Initialize the MPI execution environment */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_THREAD_MULTIPLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 138, __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(8, 138, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_k__135 = __pyx_t_2; __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_39Init_thread, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Init_thread, __pyx_t_3) < 0) __PYX_ERR(8, 138, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":147 * return provided * * def Query_thread(): # <<<<<<<<<<<<<< * """ * Return the level of thread support */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_41Query_thread, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Query_thread, __pyx_t_3) < 0) __PYX_ERR(8, 147, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":156 * return provided * * def Is_thread_main(): # <<<<<<<<<<<<<< * """ * Indicate whether this thread called */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_43Is_thread_main, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Is_thread_main, __pyx_t_3) < 0) __PYX_ERR(8, 156, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":165 * return flag * * def Is_initialized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Init`` has been called */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_45Is_initialized, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Is_initialized, __pyx_t_3) < 0) __PYX_ERR(8, 165, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":173 * return flag * * def Is_finalized(): # <<<<<<<<<<<<<< * """ * Indicates whether ``Finalize`` has completed */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_47Is_finalized, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Is_finalized, __pyx_t_3) < 0) __PYX_ERR(8, 173, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":187 * # ----------------- * * VERSION = MPI_VERSION # <<<<<<<<<<<<<< * SUBVERSION = MPI_SUBVERSION * */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_VERSION); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_VERSION, __pyx_t_3) < 0) __PYX_ERR(8, 187, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":188 * * VERSION = MPI_VERSION * SUBVERSION = MPI_SUBVERSION # <<<<<<<<<<<<<< * * def Get_version(): */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_SUBVERSION); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_SUBVERSION, __pyx_t_3) < 0) __PYX_ERR(8, 188, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":190 * SUBVERSION = MPI_SUBVERSION * * def Get_version(): # <<<<<<<<<<<<<< * """ * Obtain the version number of the MPI standard supported */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_49Get_version, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Get_version, __pyx_t_3) < 0) __PYX_ERR(8, 190, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":200 * return (version, subversion) * * def Get_library_version(): # <<<<<<<<<<<<<< * """ * Obtain the version string of the MPI library */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_51Get_library_version, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Get_library_version, __pyx_t_3) < 0) __PYX_ERR(8, 200, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":212 * # ---------------------- * * def Get_processor_name(): # <<<<<<<<<<<<<< * """ * Obtain the name of the calling processor */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_53Get_processor_name, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Get_processor_name, __pyx_t_3) < 0) __PYX_ERR(8, 212, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":224 * # -------------------------- * * def Wtime(): # <<<<<<<<<<<<<< * """ * Return an elapsed time on the calling processor */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_55Wtime, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Wtime, __pyx_t_3) < 0) __PYX_ERR(8, 224, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":230 * return MPI_Wtime() * * def Wtick(): # <<<<<<<<<<<<<< * """ * Return the resolution of ``Wtime`` */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_57Wtick, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Wtick, __pyx_t_3) < 0) __PYX_ERR(8, 230, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":239 * # -------------------- * * def Pcontrol(int level): # <<<<<<<<<<<<<< * """ * Control profiling */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_59Pcontrol, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Pcontrol, __pyx_t_3) < 0) __PYX_ERR(8, 239, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":251 * * # MPI-1 * MAX_PROCESSOR_NAME = MPI_MAX_PROCESSOR_NAME # <<<<<<<<<<<<<< * MAX_ERROR_STRING = MPI_MAX_ERROR_STRING * # MPI-2 */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MAX_PROCESSOR_NAME); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_PROCESSOR_NAME, __pyx_t_3) < 0) __PYX_ERR(8, 251, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":252 * # 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_3 = __Pyx_PyInt_From_int(MPI_MAX_ERROR_STRING); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_ERROR_STRING, __pyx_t_3) < 0) __PYX_ERR(8, 252, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":254 * 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_3 = __Pyx_PyInt_From_int(MPI_MAX_PORT_NAME); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_PORT_NAME, __pyx_t_3) < 0) __PYX_ERR(8, 254, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":255 * # 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_3 = __Pyx_PyInt_From_int(MPI_MAX_INFO_KEY); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_INFO_KEY, __pyx_t_3) < 0) __PYX_ERR(8, 255, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":256 * 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_3 = __Pyx_PyInt_From_int(MPI_MAX_INFO_VAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_INFO_VAL, __pyx_t_3) < 0) __PYX_ERR(8, 256, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":257 * 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_3 = __Pyx_PyInt_From_int(MPI_MAX_OBJECT_NAME); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_OBJECT_NAME, __pyx_t_3) < 0) __PYX_ERR(8, 257, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":258 * 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_3 = __Pyx_PyInt_From_int(MPI_MAX_DATAREP_STRING); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_DATAREP_STRING, __pyx_t_3) < 0) __PYX_ERR(8, 258, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":260 * MAX_DATAREP_STRING = MPI_MAX_DATAREP_STRING * # MPI-3 * MAX_LIBRARY_VERSION_STRING = MPI_MAX_LIBRARY_VERSION_STRING # <<<<<<<<<<<<<< * * # -------------------------------------------------------------------- */ __pyx_t_3 = __Pyx_PyInt_From_int(MPI_MAX_LIBRARY_VERSION_STRING); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_LIBRARY_VERSION_STRING, __pyx_t_3) < 0) __PYX_ERR(8, 260, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":267 * int PyMPI_Get_vendor(const char**,int*,int*,int*) nogil * * def get_vendor(): # <<<<<<<<<<<<<< * """ * Infomation about the underlying MPI implementation */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_61get_vendor, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_vendor, __pyx_t_3) < 0) __PYX_ERR(8, 267, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":293 * return 0 * * def _sizeof(arg): # <<<<<<<<<<<<<< * """ * Size in bytes of the underlying MPI handle */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_63_sizeof, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_sizeof, __pyx_t_3) < 0) __PYX_ERR(8, 293, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":310 * raise TypeError("expecting an MPI type or instance") * * def _addressof(arg): # <<<<<<<<<<<<<< * """ * Memory address of the underlying MPI handle */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_65_addressof, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_addressof, __pyx_t_3) < 0) __PYX_ERR(8, 310, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "MPI/MPI.pyx":341 * return PyLong_FromVoidPtr(ptr) * * def _handleof(arg): # <<<<<<<<<<<<<< * """ * Unsigned integer value with the underlying MPI handle */ __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6mpi4py_3MPI_67_handleof, NULL, __pyx_n_s_mpi4py_MPI); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_d, __pyx_n_s_handleof, __pyx_t_3) < 0) __PYX_ERR(8, 341, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /*--- Wrapped vars code ---*/ if (__Pyx_RegisterCleanup()) __PYX_ERR(31, 1, __pyx_L1_error); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_13); __Pyx_XDECREF(__pyx_t_14); __Pyx_XDECREF(__pyx_t_15); __Pyx_XDECREF(__pyx_t_16); __Pyx_XDECREF(__pyx_t_20); __Pyx_XDECREF(__pyx_t_21); __Pyx_XDECREF(__pyx_t_22); if (__pyx_m) { if (__pyx_d) { __Pyx_AddTraceback("init mpi4py.MPI", __pyx_clineno, __pyx_lineno, __pyx_filename); } Py_DECREF(__pyx_m); __pyx_m = 0; } else if (!PyErr_Occurred()) { PyErr_SetString(PyExc_ImportError, "init mpi4py.MPI"); } __pyx_L0:; __Pyx_RefNannyFinishContext(); #if PY_MAJOR_VERSION < 3 return; #else return __pyx_m; #endif } static 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__23); Py_CLEAR(__pyx_tuple__24); Py_CLEAR(__pyx_tuple__25); Py_CLEAR(__pyx_tuple__26); Py_CLEAR(__pyx_tuple__27); Py_CLEAR(__pyx_tuple__28); Py_CLEAR(__pyx_tuple__30); Py_CLEAR(__pyx_tuple__42); Py_CLEAR(__pyx_tuple__43); Py_CLEAR(__pyx_tuple__87); Py_CLEAR(__pyx_slice__97); Py_CLEAR(__pyx_slice__99); Py_CLEAR(__pyx_tuple__102); Py_CLEAR(__pyx_slice__103); Py_CLEAR(__pyx_tuple__104); Py_CLEAR(__pyx_slice__105); Py_CLEAR(__pyx_tuple__106); Py_CLEAR(__pyx_tuple__107); Py_CLEAR(__pyx_tuple__108); Py_CLEAR(__pyx_tuple__109); Py_CLEAR(__pyx_tuple__110); Py_CLEAR(__pyx_tuple__136); Py_CLEAR(__pyx_tuple__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__182); Py_CLEAR(__pyx_codeobj__183); Py_CLEAR(__pyx_tuple__184); Py_CLEAR(__pyx_codeobj__185); Py_CLEAR(__pyx_tuple__186); Py_CLEAR(__pyx_codeobj__187); Py_CLEAR(__pyx_tuple__188); Py_CLEAR(__pyx_codeobj__189); Py_CLEAR(__pyx_tuple__190); Py_CLEAR(__pyx_codeobj__191); Py_CLEAR(__pyx_tuple__192); Py_CLEAR(__pyx_codeobj__193); Py_CLEAR(__pyx_tuple__194); Py_CLEAR(__pyx_codeobj__195); Py_CLEAR(__pyx_tuple__196); Py_CLEAR(__pyx_codeobj__197); Py_CLEAR(__pyx_tuple__198); Py_CLEAR(__pyx_codeobj__199); Py_CLEAR(__pyx_tuple__200); Py_CLEAR(__pyx_codeobj__201); Py_CLEAR(__pyx_tuple__202); Py_CLEAR(__pyx_codeobj__203); Py_CLEAR(__pyx_codeobj__204); Py_CLEAR(__pyx_codeobj__205); Py_CLEAR(__pyx_tuple__206); Py_CLEAR(__pyx_codeobj__207); Py_CLEAR(__pyx_tuple__208); Py_CLEAR(__pyx_codeobj__209); Py_CLEAR(__pyx_tuple__210); Py_CLEAR(__pyx_codeobj__211); Py_CLEAR(__pyx_tuple__212); Py_CLEAR(__pyx_codeobj__213); Py_CLEAR(__pyx_tuple__214); Py_CLEAR(__pyx_codeobj__215); Py_CLEAR(__pyx_tuple__216); Py_CLEAR(__pyx_codeobj__217); Py_CLEAR(__pyx_tuple__218); Py_CLEAR(__pyx_codeobj__219); Py_CLEAR(__pyx_tuple__220); Py_CLEAR(__pyx_codeobj__221); Py_CLEAR(__pyx_codeobj__222); Py_CLEAR(__pyx_codeobj__223); Py_CLEAR(__pyx_tuple__224); Py_CLEAR(__pyx_codeobj__225); Py_CLEAR(__pyx_tuple__226); Py_CLEAR(__pyx_codeobj__227); Py_CLEAR(__pyx_tuple__228); Py_CLEAR(__pyx_codeobj__229); Py_CLEAR(__pyx_tuple__230); Py_CLEAR(__pyx_codeobj__231); Py_CLEAR(__pyx_tuple__232); Py_CLEAR(__pyx_codeobj__233); /* 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; i= 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_VERSION_HEX < 0x03030000 PyObject *py_import; py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); if (!py_import) goto bad; #endif if (from_list) list = from_list; else { empty_list = PyList_New(0); if (!empty_list) goto bad; list = empty_list; } global_dict = PyModule_GetDict(__pyx_m); if (!global_dict) goto bad; empty_dict = PyDict_New(); if (!empty_dict) goto bad; { #if PY_MAJOR_VERSION >= 3 if (level == -1) { if (strchr(__Pyx_MODULE_NAME, '.')) { #if PY_VERSION_HEX < 0x03030000 PyObject *py_level = PyInt_FromLong(1); if (!py_level) goto bad; module = PyObject_CallFunctionObjArgs(py_import, name, global_dict, empty_dict, list, py_level, NULL); Py_DECREF(py_level); #else module = PyImport_ImportModuleLevelObject( name, global_dict, empty_dict, list, 1); #endif if (!module) { if (!PyErr_ExceptionMatches(PyExc_ImportError)) goto bad; PyErr_Clear(); } } level = 0; } #endif if (!module) { #if PY_VERSION_HEX < 0x03030000 PyObject *py_level = PyInt_FromLong(level); if (!py_level) goto bad; module = PyObject_CallFunctionObjArgs(py_import, name, global_dict, empty_dict, list, py_level, NULL); Py_DECREF(py_level); #else module = PyImport_ImportModuleLevelObject( name, global_dict, empty_dict, list, level); #endif } } bad: #if PY_VERSION_HEX < 0x03030000 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); assert(PyCFunction_Check(func)); assert(METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST))); 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()); return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs, NULL); } #endif // CYTHON_FAST_PYCCALL /* PyFunctionFastCall */ #if CYTHON_FAST_PYCALL #include "frameobject.h" static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, PyObject *globals) { PyFrameObject *f; PyThreadState *tstate = PyThreadState_GET(); 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 = f->f_localsplus; for (i = 0; i < na; i++) { Py_INCREF(*args); fastlocals[i] = *args++; } result = PyEval_EvalFrameEx(f,0); ++tstate->recursion_depth; Py_DECREF(f); --tstate->recursion_depth; return result; } #if 1 || PY_VERSION_HEX < 0x030600B1 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) { PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); PyObject *globals = PyFunction_GET_GLOBALS(func); PyObject *argdefs = PyFunction_GET_DEFAULTS(func); PyObject *closure; #if PY_MAJOR_VERSION >= 3 PyObject *kwdefs; #endif PyObject *kwtuple, **k; PyObject **d; Py_ssize_t nd; Py_ssize_t nk; PyObject *result; assert(kwargs == NULL || PyDict_Check(kwargs)); nk = kwargs ? PyDict_Size(kwargs) : 0; if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { return NULL; } if ( #if PY_MAJOR_VERSION >= 3 co->co_kwonlyargcount == 0 && #endif likely(kwargs == NULL || nk == 0) && co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { if (argdefs == NULL && co->co_argcount == nargs) { result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); goto done; } else if (nargs == 0 && argdefs != NULL && co->co_argcount == Py_SIZE(argdefs)) { /* function called with no arguments, but all parameters have a default value: use default values as arguments .*/ args = &PyTuple_GET_ITEM(argdefs, 0); result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); goto done; } } if (kwargs != NULL) { Py_ssize_t pos, i; kwtuple = PyTuple_New(2 * nk); if (kwtuple == NULL) { result = NULL; goto done; } k = &PyTuple_GET_ITEM(kwtuple, 0); pos = i = 0; while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { Py_INCREF(k[i]); Py_INCREF(k[i+1]); i += 2; } nk = i / 2; } else { kwtuple = NULL; k = NULL; } closure = PyFunction_GET_CLOSURE(func); #if PY_MAJOR_VERSION >= 3 kwdefs = PyFunction_GET_KW_DEFAULTS(func); #endif if (argdefs != NULL) { d = &PyTuple_GET_ITEM(argdefs, 0); nd = Py_SIZE(argdefs); } else { d = NULL; nd = 0; } #if PY_MAJOR_VERSION >= 3 result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, args, nargs, k, (int)nk, d, (int)nd, kwdefs, closure); #else result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, args, nargs, k, (int)nk, d, (int)nd, closure); #endif Py_XDECREF(kwtuple); done: Py_LeaveRecursiveCall(); return result; } #endif // CPython < 3.6 #endif // CYTHON_FAST_PYCALL /* PyObjectCall */ #if CYTHON_COMPILING_IN_CPYTHON static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { PyObject *result; ternaryfunc call = func->ob_type->tp_call; if (unlikely(!call)) return PyObject_Call(func, arg, kw); if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) return NULL; result = (*call)(func, arg, kw); Py_LeaveRecursiveCall(); if (unlikely(!result) && unlikely(!PyErr_Occurred())) { PyErr_SetString( PyExc_SystemError, "NULL result without error in PyObject_Call"); } return result; } #endif /* 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 #ifdef __Pyx_CyFunction_USED if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) { #else if (likely(PyCFunction_Check(func))) { #endif if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { return __Pyx_PyObject_CallMethO(func, arg); #if CYTHON_FAST_PYCCALL } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { return __Pyx_PyCFunction_FastCall(func, &arg, 1); #endif } } return __Pyx__PyObject_CallOneArg(func, arg); } #else static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { PyObject *result; PyObject *args = PyTuple_Pack(1, arg); if (unlikely(!args)) return NULL; result = __Pyx_PyObject_Call(func, args, NULL); Py_DECREF(args); return result; } #endif /* SaveResetException */ #if CYTHON_FAST_THREAD_STATE static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { *type = tstate->exc_type; *value = tstate->exc_value; *tb = tstate->exc_traceback; 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; 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; 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 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; 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 = 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; } 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_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 PY_VERSION_HEX >= 0x03030000 if (cause) { #else if (cause && cause != Py_None) { #endif 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 = PyThreadState_GET(); 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 /* 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) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) { #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 } /* 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 = PyThreadState_GET(); PyObject* exc_type = tstate->curexc_type; if (unlikely(exc_type)) { if (likely(exc_type == PyExc_StopIteration) || 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; } /* PyErrExceptionMatches */ #if CYTHON_FAST_THREAD_STATE static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) { PyObject *exc_type = tstate->curexc_type; if (exc_type == err) return 1; if (unlikely(!exc_type)) return 0; return PyErr_GivenExceptionMatches(exc_type, err); } #endif /* 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); } /* KeywordStringCheck */ static CYTHON_INLINE 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_CheckExact(key)) && 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 CYTHON_INLINE 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 if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o); if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { PyObject *r = PyList_GET_ITEM(o, 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 if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o); if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { PyObject *r = PyTuple_GET_ITEM(o, 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((n >= 0) & (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((n >= 0) & (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(PyObject_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 CYTHON_INLINE 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((n >= 0) & (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); } /* RaiseDoubleKeywords */ static void __Pyx_RaiseDoubleKeywordsError( const char* func_name, PyObject* kw_name) { PyErr_Format(PyExc_TypeError, #if PY_MAJOR_VERSION >= 3 "%s() got multiple values for keyword argument '%U'", func_name, kw_name); #else "%s() got multiple values for keyword argument '%s'", func_name, PyString_AsString(kw_name)); #endif } /* ParseKeywords */ static int __Pyx_ParseOptionalKeywords( PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name) { PyObject *key = 0, *value = 0; Py_ssize_t pos = 0; PyObject*** name; PyObject*** first_kw_arg = argnames + num_pos_args; while (PyDict_Next(kwds, &pos, &key, &value)) { name = first_kw_arg; while (*name && (**name != key)) name++; if (*name) { values[name-argnames] = value; continue; } name = first_kw_arg; #if PY_MAJOR_VERSION < 3 if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { while (*name) { if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) && _PyString_Eq(**name, key)) { values[name-argnames] = value; break; } name++; } if (*name) continue; else { PyObject*** argname = argnames; while (argname != first_kw_arg) { if ((**argname == key) || ( (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) && _PyString_Eq(**argname, key))) { goto arg_passed_twice; } argname++; } } } else #endif if (likely(PyUnicode_Check(key))) { while (*name) { int cmp = (**name == key) ? 0 : #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : #endif PyUnicode_Compare(**name, key); if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; if (cmp == 0) { values[name-argnames] = value; break; } name++; } if (*name) continue; else { PyObject*** argname = argnames; while (argname != first_kw_arg) { int cmp = (**argname == key) ? 0 : #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : #endif PyUnicode_Compare(**argname, key); if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; if (cmp == 0) goto arg_passed_twice; argname++; } } } else goto invalid_keyword_type; if (kwds2) { if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; } else { goto invalid_keyword; } } return 0; arg_passed_twice: __Pyx_RaiseDoubleKeywordsError(function_name, key); goto bad; invalid_keyword_type: PyErr_Format(PyExc_TypeError, "%.200s() keywords must be strings", function_name); goto bad; invalid_keyword: PyErr_Format(PyExc_TypeError, #if PY_MAJOR_VERSION < 3 "%.200s() got an unexpected keyword argument '%.200s'", function_name, PyString_AsString(key)); #else "%s() got an unexpected keyword argument '%U'", function_name, key); #endif bad: return -1; } /* 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; 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; *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 /* PyObjectCallMethod1 */ static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { PyObject *method, *result = NULL; method = __Pyx_PyObject_GetAttrStr(obj, method_name); if (unlikely(!method)) goto done; #if CYTHON_UNPACK_METHODS if (likely(PyMethod_Check(method))) { PyObject *self = PyMethod_GET_SELF(method); if (likely(self)) { PyObject *args; PyObject *function = PyMethod_GET_FUNCTION(method); #if CYTHON_FAST_PYCALL if (PyFunction_Check(function)) { PyObject *args[2] = {self, arg}; result = __Pyx_PyFunction_FastCall(function, args, 2); goto done; } #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(function)) { PyObject *args[2] = {self, arg}; result = __Pyx_PyCFunction_FastCall(function, args, 2); goto done; } #endif args = PyTuple_New(2); if (unlikely(!args)) goto done; Py_INCREF(self); PyTuple_SET_ITEM(args, 0, self); Py_INCREF(arg); PyTuple_SET_ITEM(args, 1, arg); Py_INCREF(function); Py_DECREF(method); method = NULL; result = __Pyx_PyObject_Call(function, args, NULL); Py_DECREF(args); Py_DECREF(function); return result; } } #endif result = __Pyx_PyObject_CallOneArg(method, arg); done: Py_XDECREF(method); return result; } /* 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(0 <= cix && cix < size)) { PyObject* v = PyList_GET_ITEM(L, cix); 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 /* ArgTypeTest */ static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) { PyErr_Format(PyExc_TypeError, "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", name, type->tp_name, Py_TYPE(obj)->tp_name); } static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, const char *name, int exact) { if (unlikely(!type)) { PyErr_SetString(PyExc_SystemError, "Missing type object"); return 0; } if (none_allowed && obj == Py_None) return 1; else if (exact) { if (likely(Py_TYPE(obj) == type)) return 1; #if PY_MAJOR_VERSION == 2 else if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; #endif } else { if (likely(PyObject_TypeCheck(obj, type))) return 1; } __Pyx_RaiseArgumentTypeInvalid(name, obj, type); return 0; } /* 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); #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); } else { if (default_value == Py_None) default_value = NULL; value = PyObject_CallMethodObjArgs( d, __pyx_n_s_get, key, default_value, NULL); } #endif return value; } /* 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(PyObject_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); } #endif return 0; } /* 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); } /* GetModuleGlobalName */ static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) { PyObject *result; #if !CYTHON_AVOID_BORROWED_REFS result = PyDict_GetItem(__pyx_d, name); if (likely(result)) { Py_INCREF(result); } else { #else result = PyObject_GetItem(__pyx_d, name); if (!result) { PyErr_Clear(); #endif result = __Pyx_GetBuiltinName(name); } return result; } /* 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; } /* 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; } /* 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; } /* CythonFunction */ 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) { 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) { 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) { 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) { Py_INCREF(op->func_qualname); return op->func_qualname; } static int __Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value) { 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) { 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) { 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) { Py_INCREF(op->func_globals); return op->func_globals; } static PyObject * __Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op) { Py_INCREF(Py_None); return Py_None; } static PyObject * __Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op) { 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) { 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) { 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) { 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) { 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) { 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) { 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(__pyx_CyFunctionObject, func.m_module), PY_WRITE_RESTRICTED, 0}, {0, 0, 0, 0, 0} }; static PyObject * __Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args) { #if PY_MAJOR_VERSION >= 3 return PyUnicode_FromString(m->func.m_ml->ml_name); #else return PyString_FromString(m->func.m_ml->ml_name); #endif } static PyMethodDef __pyx_CyFunction_methods[] = { {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, {0, 0, 0, 0} }; #if PY_VERSION_HEX < 0x030500A0 #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) #else #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist) #endif static PyObject *__Pyx_CyFunction_New(PyTypeObject *type, PyMethodDef *ml, int flags, PyObject* qualname, PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { __pyx_CyFunctionObject *op = PyObject_GC_New(__pyx_CyFunctionObject, type); if (op == NULL) return NULL; op->flags = flags; __Pyx_CyFunction_weakreflist(op) = NULL; op->func.m_ml = ml; op->func.m_self = (PyObject *) op; Py_XINCREF(closure); op->func_closure = closure; Py_XINCREF(module); op->func.m_module = module; op->func_dict = NULL; op->func_name = NULL; Py_INCREF(qualname); op->func_qualname = qualname; op->func_doc = NULL; op->func_classobj = NULL; op->func_globals = globals; Py_INCREF(op->func_globals); Py_XINCREF(code); op->func_code = code; op->defaults_pyobjects = 0; op->defaults = NULL; op->defaults_tuple = NULL; op->defaults_kwdict = NULL; op->defaults_getter = NULL; op->func_annotations = NULL; PyObject_GC_Track(op); return (PyObject *) op; } static int __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) { Py_CLEAR(m->func_closure); Py_CLEAR(m->func.m_module); Py_CLEAR(m->func_dict); Py_CLEAR(m->func_name); Py_CLEAR(m->func_qualname); Py_CLEAR(m->func_doc); Py_CLEAR(m->func_globals); Py_CLEAR(m->func_code); Py_CLEAR(m->func_classobj); Py_CLEAR(m->defaults_tuple); Py_CLEAR(m->defaults_kwdict); Py_CLEAR(m->func_annotations); if (m->defaults) { PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); int i; for (i = 0; i < m->defaults_pyobjects; i++) Py_XDECREF(pydefaults[i]); PyObject_Free(m->defaults); m->defaults = NULL; } return 0; } static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) { PyObject_GC_UnTrack(m); if (__Pyx_CyFunction_weakreflist(m) != NULL) PyObject_ClearWeakRefs((PyObject *) m); __Pyx_CyFunction_clear(m); PyObject_GC_Del(m); } static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) { Py_VISIT(m->func_closure); Py_VISIT(m->func.m_module); Py_VISIT(m->func_dict); Py_VISIT(m->func_name); Py_VISIT(m->func_qualname); Py_VISIT(m->func_doc); Py_VISIT(m->func_globals); Py_VISIT(m->func_code); Py_VISIT(m->func_classobj); Py_VISIT(m->defaults_tuple); Py_VISIT(m->defaults_kwdict); if (m->defaults) { PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); int i; for (i = 0; i < m->defaults_pyobjects; i++) Py_VISIT(pydefaults[i]); } return 0; } static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) { Py_INCREF(func); return func; } if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) { if (type == NULL) type = (PyObject *)(Py_TYPE(obj)); return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type))); } if (obj == Py_None) obj = NULL; return __Pyx_PyMethod_New(func, obj, type); } static PyObject* __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) { #if PY_MAJOR_VERSION >= 3 return PyUnicode_FromFormat("", 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)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 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; result = (*meth)(self, arg0); Py_DECREF(arg0); return result; } PyErr_Format(PyExc_TypeError, "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", f->m_ml->ml_name, size); return NULL; } break; default: PyErr_SetString(PyExc_SystemError, "Bad call flags in " "__Pyx_CyFunction_Call. METH_OLDARGS is no " "longer supported!"); return NULL; } PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", f->m_ml->ml_name); return NULL; } static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw); } static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { PyObject *result; __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { Py_ssize_t argc; PyObject *new_args; PyObject *self; argc = PyTuple_GET_SIZE(args); new_args = PyTuple_GetSlice(args, 1, argc); if (unlikely(!new_args)) return NULL; self = PyTuple_GetItem(args, 0); if (unlikely(!self)) { Py_DECREF(new_args); return NULL; } result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); Py_DECREF(new_args); } else { result = __Pyx_CyFunction_Call(func, args, kw); } return result; } static PyTypeObject __pyx_CyFunctionType_type = { PyVarObject_HEAD_INIT(0, 0) "cython_function_or_method", sizeof(__pyx_CyFunctionObject), 0, (destructor) __Pyx_CyFunction_dealloc, 0, 0, 0, #if PY_MAJOR_VERSION < 3 0, #else 0, #endif (reprfunc) __Pyx_CyFunction_repr, 0, 0, 0, 0, __Pyx_CyFunction_CallAsMethod, 0, 0, 0, 0, Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, 0, (traverseproc) __Pyx_CyFunction_traverse, (inquiry) __Pyx_CyFunction_clear, 0, #if PY_VERSION_HEX < 0x030500A0 offsetof(__pyx_CyFunctionObject, func_weakreflist), #else offsetof(PyCFunctionObject, m_weakreflist), #endif 0, 0, __pyx_CyFunction_methods, __pyx_CyFunction_members, __pyx_CyFunction_getsets, 0, 0, __Pyx_CyFunction_descr_get, 0, offsetof(__pyx_CyFunctionObject, func_dict), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, #if PY_VERSION_HEX >= 0x030400a1 0, #endif }; static int __pyx_CyFunction_init(void) { __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); if (__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 (!m->defaults) return PyErr_NoMemory(); memset(m->defaults, 0, size); m->defaults_pyobjects = pyobjects; return m->defaults; } static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->defaults_tuple = tuple; Py_INCREF(tuple); } static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->defaults_kwdict = dict; Py_INCREF(dict); } static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->func_annotations = dict; Py_INCREF(dict); } /* 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; } /* GetNameInClass */ static PyObject *__Pyx_GetNameInClass(PyObject *nmspace, PyObject *name) { PyObject *result; result = __Pyx_PyObject_GetAttrStr(nmspace, name); if (!result) result = __Pyx_GetModuleGlobalName(name); return result; } /* ClassMethod */ static PyObject* __Pyx_Method_ClassMethod(PyObject *method) { #if CYTHON_COMPILING_IN_PYPY if (PyObject_TypeCheck(method, &PyWrapperDescr_Type)) { return PyClassMethod_New(method); } #else #if CYTHON_COMPILING_IN_PYSTON if (PyMethodDescr_Check(method)) { #else static PyTypeObject *methoddescr_type = NULL; if (methoddescr_type == NULL) { PyObject *meth = PyObject_GetAttrString((PyObject*)&PyList_Type, "append"); if (!meth) return NULL; methoddescr_type = Py_TYPE(meth); Py_DECREF(meth); } if (PyObject_TypeCheck(method, methoddescr_type)) { #endif PyMethodDescrObject *descr = (PyMethodDescrObject *)method; #if PY_VERSION_HEX < 0x03020000 PyTypeObject *d_type = descr->d_type; #else PyTypeObject *d_type = descr->d_common.d_type; #endif return PyDescr_NewClassMethod(d_type, descr->d_method); } #endif else if (PyMethod_Check(method)) { return PyClassMethod_New(PyMethod_GET_FUNCTION(method)); } else if (PyCFunction_Check(method)) { return PyClassMethod_New(method); } #ifdef __Pyx_CyFunction_USED else if (PyObject_TypeCheck(method, __pyx_CyFunctionType)) { return PyClassMethod_New(method); } #endif PyErr_SetString(PyExc_TypeError, "Class-level classmethod() can only be called on " "a method_descriptor or instance method."); return NULL; } /* ModuleImport */ #ifndef __PYX_HAVE_RT_ImportModule #define __PYX_HAVE_RT_ImportModule static PyObject *__Pyx_ImportModule(const char *name) { PyObject *py_name = 0; PyObject *py_module = 0; py_name = __Pyx_PyIdentifier_FromString(name); if (!py_name) goto bad; py_module = PyImport_Import(py_name); Py_DECREF(py_name); return py_module; bad: Py_XDECREF(py_name); return 0; } #endif /* RegisterModuleCleanup */ #if PY_MAJOR_VERSION < 3 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 = __Pyx_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; } #else static int __Pyx_RegisterCleanup(void) { if (0) __Pyx_ImportModule(NULL); return 0; } #endif /* CodeObjectCache */ static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { int start = 0, mid = 0, end = count - 1; if (end >= 0 && code_line > entries[end].code_line) { return count; } while (start < end) { mid = start + (end - start) / 2; if (code_line < entries[mid].code_line) { end = mid; } else if (code_line > entries[mid].code_line) { start = mid + 1; } else { return mid; } } if (code_line <= entries[mid].code_line) { return mid; } else { return mid + 1; } } static PyCodeObject *__pyx_find_code_object(int code_line) { PyCodeObject* code_object; int pos; if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { return NULL; } pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { return NULL; } code_object = __pyx_code_cache.entries[pos].code_object; Py_INCREF(code_object); return code_object; } static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { int pos, i; __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; if (unlikely(!code_line)) { return; } if (unlikely(!entries)) { entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); if (likely(entries)) { __pyx_code_cache.entries = entries; __pyx_code_cache.max_count = 64; __pyx_code_cache.count = 1; entries[0].code_line = code_line; entries[0].code_object = code_object; Py_INCREF(code_object); } return; } pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { PyCodeObject* tmp = entries[pos].code_object; entries[pos].code_object = code_object; Py_DECREF(tmp); return; } if (__pyx_code_cache.count == __pyx_code_cache.max_count) { int new_max = __pyx_code_cache.max_count + 64; entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry)); if (unlikely(!entries)) { return; } __pyx_code_cache.entries = entries; __pyx_code_cache.max_count = new_max; } for (i=__pyx_code_cache.count; i>pos; i--) { entries[i] = entries[i-1]; } entries[pos].code_line = code_line; entries[pos].code_object = code_object; __pyx_code_cache.count++; Py_INCREF(code_object); } /* AddTraceback */ #include "compile.h" #include "frameobject.h" #include "traceback.h" static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( const char *funcname, int c_line, int py_line, const char *filename) { PyCodeObject *py_code = 0; PyObject *py_srcfile = 0; PyObject *py_funcname = 0; #if PY_MAJOR_VERSION < 3 py_srcfile = PyString_FromString(filename); #else py_srcfile = PyUnicode_FromString(filename); #endif if (!py_srcfile) goto bad; if (c_line) { #if PY_MAJOR_VERSION < 3 py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); #else py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); #endif } else { #if PY_MAJOR_VERSION < 3 py_funcname = PyString_FromString(funcname); #else py_funcname = PyUnicode_FromString(funcname); #endif } if (!py_funcname) goto bad; py_code = __Pyx_PyCode_New( 0, 0, 0, 0, 0, __pyx_empty_bytes, /*PyObject *code,*/ __pyx_empty_tuple, /*PyObject *consts,*/ __pyx_empty_tuple, /*PyObject *names,*/ __pyx_empty_tuple, /*PyObject *varnames,*/ __pyx_empty_tuple, /*PyObject *freevars,*/ __pyx_empty_tuple, /*PyObject *cellvars,*/ py_srcfile, /*PyObject *filename,*/ py_funcname, /*PyObject *name,*/ py_line, __pyx_empty_bytes /*PyObject *lnotab*/ ); Py_DECREF(py_srcfile); Py_DECREF(py_funcname); return py_code; bad: Py_XDECREF(py_srcfile); Py_XDECREF(py_funcname); return NULL; } static void __Pyx_AddTraceback(const char *funcname, int c_line, int py_line, const char *filename) { PyCodeObject *py_code = 0; PyFrameObject *py_frame = 0; py_code = __pyx_find_code_object(c_line ? c_line : py_line); if (!py_code) { py_code = __Pyx_CreateCodeObjectForTraceback( funcname, c_line, py_line, filename); if (!py_code) goto bad; __pyx_insert_code_object(c_line ? c_line : py_line, py_code); } py_frame = PyFrame_New( PyThreadState_GET(), /*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;\ } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Aint(MPI_Aint value) { const MPI_Aint neg_one = (MPI_Aint) -1, const_zero = (MPI_Aint) 0; 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) { const int neg_one = (int) -1, const_zero = (int) 0; const int is_unsigned = neg_one > const_zero; if (is_unsigned) { if (sizeof(int) < sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(int) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); #endif } } else { if (sizeof(int) <= sizeof(long)) { return PyInt_FromLong((long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { return PyLong_FromLongLong((PY_LONG_LONG) value); #endif } } { int one = 1; int little = (int)*(unsigned char *)&one; unsigned char *bytes = (unsigned char *)&value; return _PyLong_FromByteArray(bytes, sizeof(int), little, !is_unsigned); } } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { const long neg_one = (long) -1, const_zero = (long) 0; const int is_unsigned = neg_one > const_zero; if (is_unsigned) { if (sizeof(long) < sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(long) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); #endif } } else { if (sizeof(long) <= sizeof(long)) { return PyInt_FromLong((long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { return PyLong_FromLongLong((PY_LONG_LONG) value); #endif } } { int one = 1; int little = (int)*(unsigned char *)&one; unsigned char *bytes = (unsigned char *)&value; return _PyLong_FromByteArray(bytes, sizeof(long), little, !is_unsigned); } } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Offset(MPI_Offset value) { const MPI_Offset neg_one = (MPI_Offset) -1, const_zero = (MPI_Offset) 0; 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) { const MPI_Fint neg_one = (MPI_Fint) -1, const_zero = (MPI_Fint) 0; 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); } } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Count(MPI_Count value) { const MPI_Count neg_one = (MPI_Count) -1, const_zero = (MPI_Count) 0; 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 int __Pyx_PyInt_As_int(PyObject *x) { const int neg_one = (int) -1, const_zero = (int) 0; const int is_unsigned = neg_one > const_zero; #if PY_MAJOR_VERSION < 3 if (likely(PyInt_Check(x))) { if (sizeof(int) < sizeof(long)) { __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { goto raise_neg_overflow; } return (int) val; } } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { #if CYTHON_USE_PYLONG_INTERNALS const digit* digits = ((PyLongObject*)x)->ob_digit; switch (Py_SIZE(x)) { case 0: return (int) 0; case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) case 2: if (8 * sizeof(int) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); } } break; case 3: if (8 * sizeof(int) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); } } break; case 4: if (8 * sizeof(int) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); } } break; } #endif #if CYTHON_COMPILING_IN_CPYTHON if (unlikely(Py_SIZE(x) < 0)) { goto raise_neg_overflow; } #else { int result = PyObject_RichCompareBool(x, Py_False, Py_LT); if (unlikely(result < 0)) return (int) -1; if (unlikely(result == 1)) goto raise_neg_overflow; } #endif if (sizeof(int) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) #endif } } else { #if CYTHON_USE_PYLONG_INTERNALS const digit* digits = ((PyLongObject*)x)->ob_digit; switch (Py_SIZE(x)) { case 0: return (int) 0; case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) case -2: if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); } } break; case 2: if (8 * sizeof(int) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); } } break; case -3: if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); } } break; case 3: if (8 * sizeof(int) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); } } break; case -4: if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); } } break; case 4: if (8 * sizeof(int) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); } } break; } #endif if (sizeof(int) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) #endif } } { #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) PyErr_SetString(PyExc_RuntimeError, "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); #else int val; PyObject *v = __Pyx_PyNumber_IntOrLong(x); #if PY_MAJOR_VERSION < 3 if (likely(v) && !PyLong_Check(v)) { PyObject *tmp = v; v = PyNumber_Long(tmp); Py_DECREF(tmp); } #endif if (likely(v)) { int one = 1; int is_little = (int)*(unsigned char *)&one; unsigned char *bytes = (unsigned char *)&val; int ret = _PyLong_AsByteArray((PyLongObject *)v, bytes, sizeof(val), is_little, !is_unsigned); Py_DECREF(v); if (likely(!ret)) return val; } #endif return (int) -1; } } else { int val; PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); if (!tmp) return (int) -1; val = __Pyx_PyInt_As_int(tmp); Py_DECREF(tmp); return val; } raise_overflow: PyErr_SetString(PyExc_OverflowError, "value too large to convert to int"); return (int) -1; raise_neg_overflow: PyErr_SetString(PyExc_OverflowError, "can't convert negative value to int"); return (int) -1; } /* CIntFromPy */ static CYTHON_INLINE unsigned char __Pyx_PyInt_As_unsigned_char(PyObject *x) { const unsigned char neg_one = (unsigned char) -1, const_zero = (unsigned char) 0; 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; } /* CIntFromPy */ static CYTHON_INLINE MPI_Aint __Pyx_PyInt_As_MPI_Aint(PyObject *x) { const MPI_Aint neg_one = (MPI_Aint) -1, const_zero = (MPI_Aint) 0; 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) { const MPI_Count neg_one = (MPI_Count) -1, const_zero = (MPI_Count) 0; 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) { const MPI_Offset neg_one = (MPI_Offset) -1, const_zero = (MPI_Offset) 0; 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; } /* CIntFromPy */ static CYTHON_INLINE MPI_Fint __Pyx_PyInt_As_MPI_Fint(PyObject *x) { const MPI_Fint neg_one = (MPI_Fint) -1, const_zero = (MPI_Fint) 0; 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; } /* CIntFromPy */ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { const long neg_one = (long) -1, const_zero = (long) 0; const int is_unsigned = neg_one > const_zero; #if PY_MAJOR_VERSION < 3 if (likely(PyInt_Check(x))) { if (sizeof(long) < sizeof(long)) { __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { goto raise_neg_overflow; } return (long) val; } } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { #if CYTHON_USE_PYLONG_INTERNALS const digit* digits = ((PyLongObject*)x)->ob_digit; switch (Py_SIZE(x)) { case 0: return (long) 0; case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) case 2: if (8 * sizeof(long) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); } } break; case 3: if (8 * sizeof(long) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); } } break; case 4: if (8 * sizeof(long) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); } } break; } #endif #if CYTHON_COMPILING_IN_CPYTHON if (unlikely(Py_SIZE(x) < 0)) { goto raise_neg_overflow; } #else { int result = PyObject_RichCompareBool(x, Py_False, Py_LT); if (unlikely(result < 0)) return (long) -1; if (unlikely(result == 1)) goto raise_neg_overflow; } #endif if (sizeof(long) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) #endif } } else { #if CYTHON_USE_PYLONG_INTERNALS const digit* digits = ((PyLongObject*)x)->ob_digit; switch (Py_SIZE(x)) { case 0: return (long) 0; case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) case -2: if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); } } break; case 2: if (8 * sizeof(long) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); } } break; case -3: if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); } } break; case 3: if (8 * sizeof(long) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); } } break; case -4: if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); } } break; case 4: if (8 * sizeof(long) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); } } break; } #endif if (sizeof(long) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) #endif } } { #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) PyErr_SetString(PyExc_RuntimeError, "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); #else long val; PyObject *v = __Pyx_PyNumber_IntOrLong(x); #if PY_MAJOR_VERSION < 3 if (likely(v) && !PyLong_Check(v)) { PyObject *tmp = v; v = PyNumber_Long(tmp); Py_DECREF(tmp); } #endif if (likely(v)) { int one = 1; int is_little = (int)*(unsigned char *)&one; unsigned char *bytes = (unsigned char *)&val; int ret = _PyLong_AsByteArray((PyLongObject *)v, bytes, sizeof(val), is_little, !is_unsigned); Py_DECREF(v); if (likely(!ret)) return val; } #endif return (long) -1; } } else { long val; PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); if (!tmp) return (long) -1; val = __Pyx_PyInt_As_long(tmp); Py_DECREF(tmp); return val; } raise_overflow: PyErr_SetString(PyExc_OverflowError, "value too large to convert to long"); return (long) -1; raise_neg_overflow: PyErr_SetString(PyExc_OverflowError, "can't convert negative value to long"); return (long) -1; } /* CheckBinaryVersion */ static int __Pyx_check_binary_version(void) { char ctversion[4], rtversion[4]; PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { char message[200]; PyOS_snprintf(message, sizeof(message), "compiletime version %s of module '%.100s' " "does not match runtime version %s", ctversion, __Pyx_MODULE_NAME, rtversion); return PyErr_WarnEx(NULL, message, 1); } return 0; } /* 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; ++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 char* __Pyx_PyObject_AsString(PyObject* o) { Py_ssize_t ignore; return __Pyx_PyObject_AsStringAndSize(o, &ignore); } static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { #if CYTHON_COMPILING_IN_CPYTHON && (__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)) { #if PY_VERSION_HEX < 0x03030000 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 if (__Pyx_PyUnicode_READY(o) == -1) return NULL; #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII if (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 } 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 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 (PyInt_Check(x) || PyLong_Check(x)) #else if (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 = PyNumber_Int(x); } else if (m && m->nb_long) { name = "long"; res = PyNumber_Long(x); } #else if (m && m->nb_int) { name = "int"; res = PyNumber_Long(x); } #endif #else res = PyNumber_Int(x); #endif if (res) { #if PY_MAJOR_VERSION < 3 if (!PyInt_Check(res) && !PyLong_Check(res)) { #else if (!PyLong_Check(res)) { #endif PyErr_Format(PyExc_TypeError, "__%.4s__ returned non-%.4s (type %.200s)", name, name, Py_TYPE(res)->tp_name); Py_DECREF(res); return NULL; } } 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(x); } #endif if (likely(PyLong_CheckExact(b))) { #if CYTHON_USE_PYLONG_INTERNALS const digit* digits = ((PyLongObject*)b)->ob_digit; const Py_ssize_t size = Py_SIZE(b); if (likely(__Pyx_sst_abs(size) <= 1)) { ival = likely(size) ? digits[0] : 0; if (size == -1) ival = -ival; return ival; } else { switch (size) { case 2: if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); } break; case -2: if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); } break; case 3: if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); } break; case -3: if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); } break; case 4: if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); } break; case -4: if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); } break; } } #endif return PyLong_AsSsize_t(b); } x = PyNumber_Index(b); if (!x) return -1; ival = PyInt_AsSsize_t(x); Py_DECREF(x); return ival; } static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { return PyInt_FromSize_t(ival); } #endif /* Py_PYTHON_H */