1 --- ParaView-5.11.0-ref/VTK/ThirdParty/mpi4py/vtkmpi4py/src/mpi4py.MPI.c 2022-11-18 15:26:55.000000000 +0100
2 +++ ParaView-5.11.0-dev/VTK/ThirdParty/mpi4py/vtkmpi4py/src/mpi4py.MPI.c 2022-12-01 14:27:19.715849691 +0100
4 -/* Generated by Cython 0.29.21 */
5 +/* Generated by Cython 0.29.32 */
7 +#ifndef PY_SSIZE_T_CLEAN
8 #define PY_SSIZE_T_CLEAN
9 +#endif /* PY_SSIZE_T_CLEAN */
12 #error Python headers needed to compile C extensions, please install development version of Python.
13 #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
14 #error Cython requires Python 2.6+ or Python 3.3+.
16 -#define CYTHON_ABI "0_29_21"
17 -#define CYTHON_HEX_VERSION 0x001D15F0
18 +#define CYTHON_ABI "0_29_32"
19 +#define CYTHON_HEX_VERSION 0x001D20F0
20 #define CYTHON_FUTURE_DIVISION 0
24 #define CYTHON_COMPILING_IN_PYPY 1
25 #define CYTHON_COMPILING_IN_PYSTON 0
26 #define CYTHON_COMPILING_IN_CPYTHON 0
27 + #define CYTHON_COMPILING_IN_NOGIL 0
28 #undef CYTHON_USE_TYPE_SLOTS
29 #define CYTHON_USE_TYPE_SLOTS 0
30 #undef CYTHON_USE_PYTYPE_LOOKUP
32 #define CYTHON_USE_DICT_VERSIONS 0
33 #undef CYTHON_USE_EXC_INFO_STACK
34 #define CYTHON_USE_EXC_INFO_STACK 0
35 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
36 + #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_HEX >= 0x07030900)
38 #elif defined(PYSTON_VERSION)
39 #define CYTHON_COMPILING_IN_PYPY 0
40 #define CYTHON_COMPILING_IN_PYSTON 1
41 #define CYTHON_COMPILING_IN_CPYTHON 0
42 + #define CYTHON_COMPILING_IN_NOGIL 0
43 #ifndef CYTHON_USE_TYPE_SLOTS
44 #define CYTHON_USE_TYPE_SLOTS 1
47 #define CYTHON_USE_DICT_VERSIONS 0
48 #undef CYTHON_USE_EXC_INFO_STACK
49 #define CYTHON_USE_EXC_INFO_STACK 0
50 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
51 + #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
53 +#elif defined(PY_NOGIL)
54 + #define CYTHON_COMPILING_IN_PYPY 0
55 + #define CYTHON_COMPILING_IN_PYSTON 0
56 + #define CYTHON_COMPILING_IN_CPYTHON 0
57 + #define CYTHON_COMPILING_IN_NOGIL 1
58 + #ifndef CYTHON_USE_TYPE_SLOTS
59 + #define CYTHON_USE_TYPE_SLOTS 1
61 + #undef CYTHON_USE_PYTYPE_LOOKUP
62 + #define CYTHON_USE_PYTYPE_LOOKUP 0
63 + #ifndef CYTHON_USE_ASYNC_SLOTS
64 + #define CYTHON_USE_ASYNC_SLOTS 1
66 + #undef CYTHON_USE_PYLIST_INTERNALS
67 + #define CYTHON_USE_PYLIST_INTERNALS 0
68 + #ifndef CYTHON_USE_UNICODE_INTERNALS
69 + #define CYTHON_USE_UNICODE_INTERNALS 1
71 + #undef CYTHON_USE_UNICODE_WRITER
72 + #define CYTHON_USE_UNICODE_WRITER 0
73 + #undef CYTHON_USE_PYLONG_INTERNALS
74 + #define CYTHON_USE_PYLONG_INTERNALS 0
75 + #ifndef CYTHON_AVOID_BORROWED_REFS
76 + #define CYTHON_AVOID_BORROWED_REFS 0
78 + #ifndef CYTHON_ASSUME_SAFE_MACROS
79 + #define CYTHON_ASSUME_SAFE_MACROS 1
81 + #ifndef CYTHON_UNPACK_METHODS
82 + #define CYTHON_UNPACK_METHODS 1
84 + #undef CYTHON_FAST_THREAD_STATE
85 + #define CYTHON_FAST_THREAD_STATE 0
86 + #undef CYTHON_FAST_PYCALL
87 + #define CYTHON_FAST_PYCALL 0
88 + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
89 + #define CYTHON_PEP489_MULTI_PHASE_INIT 1
91 + #ifndef CYTHON_USE_TP_FINALIZE
92 + #define CYTHON_USE_TP_FINALIZE 1
94 + #undef CYTHON_USE_DICT_VERSIONS
95 + #define CYTHON_USE_DICT_VERSIONS 0
96 + #undef CYTHON_USE_EXC_INFO_STACK
97 + #define CYTHON_USE_EXC_INFO_STACK 0
99 #define CYTHON_COMPILING_IN_PYPY 0
100 #define CYTHON_COMPILING_IN_PYSTON 0
101 #define CYTHON_COMPILING_IN_CPYTHON 1
102 + #define CYTHON_COMPILING_IN_NOGIL 0
103 #ifndef CYTHON_USE_TYPE_SLOTS
104 #define CYTHON_USE_TYPE_SLOTS 1
107 #ifndef CYTHON_USE_UNICODE_INTERNALS
108 #define CYTHON_USE_UNICODE_INTERNALS 1
110 - #if PY_VERSION_HEX < 0x030300F0
111 + #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2
112 #undef CYTHON_USE_UNICODE_WRITER
113 #define CYTHON_USE_UNICODE_WRITER 0
114 #elif !defined(CYTHON_USE_UNICODE_WRITER)
115 @@ -170,11 +226,14 @@
116 #ifndef CYTHON_UNPACK_METHODS
117 #define CYTHON_UNPACK_METHODS 1
119 - #ifndef CYTHON_FAST_THREAD_STATE
120 + #if PY_VERSION_HEX >= 0x030B00A4
121 + #undef CYTHON_FAST_THREAD_STATE
122 + #define CYTHON_FAST_THREAD_STATE 0
123 + #elif !defined(CYTHON_FAST_THREAD_STATE)
124 #define CYTHON_FAST_THREAD_STATE 1
126 #ifndef CYTHON_FAST_PYCALL
127 - #define CYTHON_FAST_PYCALL 1
128 + #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000)
130 #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
131 #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
132 @@ -185,15 +244,23 @@
133 #ifndef CYTHON_USE_DICT_VERSIONS
134 #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
136 - #ifndef CYTHON_USE_EXC_INFO_STACK
137 + #if PY_VERSION_HEX >= 0x030B00A4
138 + #undef CYTHON_USE_EXC_INFO_STACK
139 + #define CYTHON_USE_EXC_INFO_STACK 0
140 + #elif !defined(CYTHON_USE_EXC_INFO_STACK)
141 #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
143 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
144 + #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
147 #if !defined(CYTHON_FAST_PYCCALL)
148 #define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
150 #if CYTHON_USE_PYLONG_INTERNALS
151 - #include "longintrepr.h"
152 + #if PY_MAJOR_VERSION < 3
153 + #include "longintrepr.h"
159 #define __Pyx_DefaultClassType PyClass_Type
161 #define __Pyx_BUILTIN_MODULE_NAME "builtins"
162 -#if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2
163 - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
164 - PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
165 + #define __Pyx_DefaultClassType PyType_Type
166 +#if PY_VERSION_HEX >= 0x030B00A1
167 + static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f,
168 + PyObject *code, PyObject *c, PyObject* n, PyObject *v,
169 + PyObject *fv, PyObject *cell, PyObject* fn,
170 + PyObject *name, int fline, PyObject *lnos) {
171 + PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
172 + PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL;
173 + const char *fn_cstr=NULL;
174 + const char *name_cstr=NULL;
175 + PyCodeObject* co=NULL;
176 + PyObject *type, *value, *traceback;
177 + PyErr_Fetch(&type, &value, &traceback);
178 + if (!(kwds=PyDict_New())) goto end;
179 + if (!(argcount=PyLong_FromLong(a))) goto end;
180 + if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
181 + if (!(posonlyargcount=PyLong_FromLong(0))) goto end;
182 + if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
183 + if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
184 + if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
185 + if (!(nlocals=PyLong_FromLong(l))) goto end;
186 + if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
187 + if (!(stacksize=PyLong_FromLong(s))) goto end;
188 + if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
189 + if (!(flags=PyLong_FromLong(f))) goto end;
190 + if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
191 + if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
192 + if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
193 + if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
194 + if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
195 + if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
196 + if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
197 + if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
198 + if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
199 + if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
200 + if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
201 + if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too;
202 + if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here
203 + if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too;
204 + Py_XDECREF((PyObject*)co);
205 + co = (PyCodeObject*)call_result;
206 + call_result = NULL;
209 + Py_XDECREF((PyObject*)co);
214 + Py_XDECREF(argcount);
215 + Py_XDECREF(posonlyargcount);
216 + Py_XDECREF(kwonlyargcount);
217 + Py_XDECREF(nlocals);
218 + Py_XDECREF(stacksize);
219 + Py_XDECREF(replace);
220 + Py_XDECREF(call_result);
223 + PyErr_Restore(type, value, traceback);
228 #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
229 PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
232 #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
233 #define CYTHON_PEP393_ENABLED 1
234 + #if defined(PyUnicode_IS_READY)
235 #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
236 0 : _PyUnicode_Ready((PyObject *)(op)))
238 + #define __Pyx_PyUnicode_READY(op) (0)
240 #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
241 #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
242 #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
244 #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
245 #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch)
246 #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
247 + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
248 + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
250 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
253 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))
255 @@ -542,10 +676,10 @@
256 #if PY_VERSION_HEX < 0x030200A4
257 typedef long Py_hash_t;
258 #define __Pyx_PyInt_FromHash_t PyInt_FromLong
259 - #define __Pyx_PyInt_AsHash_t PyInt_AsLong
260 + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t
262 #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
263 - #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t
264 + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t
266 #if PY_MAJOR_VERSION >= 3
267 #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func))
269 } __Pyx_PyAsyncMethodsStruct;
272 -#if defined(WIN32) || defined(MS_WINDOWS)
273 - #define _USE_MATH_DEFINES
274 +#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
275 + #if !defined(_USE_MATH_DEFINES)
276 + #define _USE_MATH_DEFINES
282 (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
283 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
284 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
285 +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
286 #if CYTHON_ASSUME_SAFE_MACROS
287 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
289 @@ -1747,13 +1884,21 @@
290 #ifndef Py_MEMBER_SIZE
291 #define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
293 +#if CYTHON_FAST_PYCALL
294 static size_t __pyx_pyframe_localsplus_offset = 0;
295 #include "frameobject.h"
296 +#if PY_VERSION_HEX >= 0x030b00a6
297 + #ifndef Py_BUILD_CORE
298 + #define Py_BUILD_CORE 1
300 + #include "internal/pycore_frame.h"
302 #define __Pxy_PyFrame_Initialize_Offsets()\
303 ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
304 (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
305 #define __Pyx_PyFrame_GetLocalsplus(frame)\
306 (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
307 +#endif // CYTHON_FAST_PYCALL
310 /* PyObjectCall.proto */
311 @@ -2340,26 +2485,19 @@
312 static void __Pyx_AddTraceback(const char *funcname, int c_line,
313 int py_line, const char *filename);
315 -/* CIntToPy.proto */
316 -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Aint(MPI_Aint value);
318 -/* CIntToPy.proto */
319 -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
321 -/* CIntToPy.proto */
322 -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
323 +/* GCCDiagnostics.proto */
324 +#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
325 +#define __Pyx_HAS_GCC_DIAGNOSTIC
328 -/* CIntToPy.proto */
329 -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Offset(MPI_Offset value);
330 +/* CIntFromPy.proto */
331 +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
334 -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Fint(MPI_Fint value);
335 +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Aint(MPI_Aint value);
338 -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Count(MPI_Count value);
340 -/* CIntFromPy.proto */
341 -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
342 +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
344 /* CIntFromPy.proto */
345 static CYTHON_INLINE MPI_Aint __Pyx_PyInt_As_MPI_Aint(PyObject *);
346 @@ -2370,12 +2508,24 @@
347 /* CIntFromPy.proto */
348 static CYTHON_INLINE MPI_Offset __Pyx_PyInt_As_MPI_Offset(PyObject *);
350 +/* CIntToPy.proto */
351 +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
353 /* CIntFromPy.proto */
354 static CYTHON_INLINE unsigned char __Pyx_PyInt_As_unsigned_char(PyObject *);
356 +/* CIntToPy.proto */
357 +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Offset(MPI_Offset value);
359 +/* CIntToPy.proto */
360 +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Fint(MPI_Fint value);
362 /* CIntFromPy.proto */
363 static CYTHON_INLINE MPI_Fint __Pyx_PyInt_As_MPI_Fint(PyObject *);
365 +/* CIntToPy.proto */
366 +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Count(MPI_Count value);
368 /* CIntFromPy.proto */
369 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
371 @@ -16973,7 +17123,8 @@
372 PyObject *__pyx_t_2 = NULL;
375 - MPI_Status __pyx_t_5;
376 + PyObject *__pyx_t_5 = NULL;
377 + MPI_Status __pyx_t_6;
378 int __pyx_lineno = 0;
379 const char *__pyx_filename = NULL;
380 int __pyx_clineno = 0;
381 @@ -17073,10 +17224,13 @@
382 PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
383 __PYX_ERR(13, 79, __pyx_L1_error)
385 - __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)
386 + __pyx_t_2 = PyDict_Copy(__pyx_v_self->kargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(13, 79, __pyx_L1_error)
387 __Pyx_GOTREF(__pyx_t_2);
388 + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_self->query_fn, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(13, 79, __pyx_L1_error)
389 + __Pyx_GOTREF(__pyx_t_5);
390 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
391 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
392 + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
394 /* "mpi4py/MPI/reqimpl.pxi":80
395 * sts.ob_mpi = status[0]
396 @@ -17085,8 +17239,8 @@
397 * if self.cancel_fn is None:
398 * <void>MPI_Status_set_cancelled(status, 0)
400 - __pyx_t_5 = __pyx_v_sts->ob_mpi;
401 - (__pyx_v_status[0]) = __pyx_t_5;
402 + __pyx_t_6 = __pyx_v_sts->ob_mpi;
403 + (__pyx_v_status[0]) = __pyx_t_6;
405 /* "mpi4py/MPI/reqimpl.pxi":81
406 * self.query_fn(sts, *self.args, **self.kargs)
407 @@ -17148,6 +17302,7 @@
409 __Pyx_XDECREF(__pyx_t_1);
410 __Pyx_XDECREF(__pyx_t_2);
411 + __Pyx_XDECREF(__pyx_t_5);
412 __Pyx_AddTraceback("mpi4py.MPI._p_greq.query", __pyx_clineno, __pyx_lineno, __pyx_filename);
415 @@ -17170,6 +17325,7 @@
418 PyObject *__pyx_t_3 = NULL;
419 + PyObject *__pyx_t_4 = NULL;
420 int __pyx_lineno = 0;
421 const char *__pyx_filename = NULL;
422 int __pyx_clineno = 0;
423 @@ -17201,9 +17357,12 @@
424 PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
425 __PYX_ERR(13, 87, __pyx_L1_error)
427 - __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)
428 + __pyx_t_3 = PyDict_Copy(__pyx_v_self->kargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(13, 87, __pyx_L1_error)
429 __Pyx_GOTREF(__pyx_t_3);
430 + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_self->free_fn, __pyx_v_self->args, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 87, __pyx_L1_error)
431 + __Pyx_GOTREF(__pyx_t_4);
432 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
433 + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
435 /* "mpi4py/MPI/reqimpl.pxi":86
437 @@ -17235,6 +17394,7 @@
438 /* function exit code */
440 __Pyx_XDECREF(__pyx_t_3);
441 + __Pyx_XDECREF(__pyx_t_4);
442 __Pyx_AddTraceback("mpi4py.MPI._p_greq.free", __pyx_clineno, __pyx_lineno, __pyx_filename);
445 @@ -17257,6 +17417,7 @@
447 PyObject *__pyx_t_3 = NULL;
448 PyObject *__pyx_t_4 = NULL;
449 + PyObject *__pyx_t_5 = NULL;
450 int __pyx_lineno = 0;
451 const char *__pyx_filename = NULL;
452 int __pyx_clineno = 0;
453 @@ -17298,10 +17459,13 @@
454 PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
455 __PYX_ERR(13, 92, __pyx_L1_error)
457 - __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)
458 + __pyx_t_4 = PyDict_Copy(__pyx_v_self->kargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 92, __pyx_L1_error)
459 __Pyx_GOTREF(__pyx_t_4);
460 + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_self->cancel_fn, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(13, 92, __pyx_L1_error)
461 + __Pyx_GOTREF(__pyx_t_5);
462 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
463 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
464 + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
466 /* "mpi4py/MPI/reqimpl.pxi":91
468 @@ -17334,6 +17498,7 @@
470 __Pyx_XDECREF(__pyx_t_3);
471 __Pyx_XDECREF(__pyx_t_4);
472 + __Pyx_XDECREF(__pyx_t_5);
473 __Pyx_AddTraceback("mpi4py.MPI._p_greq.cancel", __pyx_clineno, __pyx_lineno, __pyx_filename);
476 @@ -157790,12 +157955,15 @@
477 #if PY_VERSION_HEX >= 0x030400a1
480 - #if PY_VERSION_HEX >= 0x030800b1
481 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
484 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
487 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
488 + 0, /*tp_pypy_flags*/
492 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Datatype(PyTypeObject *t, PyObject *a, PyObject *k) {
493 @@ -158075,12 +158243,15 @@
494 #if PY_VERSION_HEX >= 0x030400a1
497 - #if PY_VERSION_HEX >= 0x030800b1
498 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
501 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
504 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
505 + 0, /*tp_pypy_flags*/
509 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Request(PyTypeObject *t, PyObject *a, PyObject *k) {
510 @@ -158285,12 +158456,15 @@
511 #if PY_VERSION_HEX >= 0x030400a1
514 - #if PY_VERSION_HEX >= 0x030800b1
515 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
518 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
521 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
522 + 0, /*tp_pypy_flags*/
526 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Prequest(PyTypeObject *t, PyObject *a, PyObject *k) {
527 @@ -158370,12 +158544,15 @@
528 #if PY_VERSION_HEX >= 0x030400a1
531 - #if PY_VERSION_HEX >= 0x030800b1
532 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
535 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
538 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
539 + 0, /*tp_pypy_flags*/
543 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Grequest(PyTypeObject *t, PyObject *a, PyObject *k) {
544 @@ -158455,12 +158632,15 @@
545 #if PY_VERSION_HEX >= 0x030400a1
548 - #if PY_VERSION_HEX >= 0x030800b1
549 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
552 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
555 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
556 + 0, /*tp_pypy_flags*/
560 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Message(PyTypeObject *t, PyObject *a, PyObject *k) {
561 @@ -158656,12 +158836,15 @@
562 #if PY_VERSION_HEX >= 0x030400a1
565 - #if PY_VERSION_HEX >= 0x030800b1
566 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
569 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
572 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
573 + 0, /*tp_pypy_flags*/
577 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Op(PyTypeObject *t, PyObject *a, PyObject *k) {
578 @@ -158843,12 +159026,15 @@
579 #if PY_VERSION_HEX >= 0x030400a1
582 - #if PY_VERSION_HEX >= 0x030800b1
583 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
586 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
589 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
590 + 0, /*tp_pypy_flags*/
594 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Group(PyTypeObject *t, PyObject *a, PyObject *k) {
595 @@ -159039,12 +159225,15 @@
596 #if PY_VERSION_HEX >= 0x030400a1
599 - #if PY_VERSION_HEX >= 0x030800b1
600 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
603 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
606 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
607 + 0, /*tp_pypy_flags*/
611 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Info(PyTypeObject *t, PyObject *a, PyObject *k) {
612 @@ -159258,12 +159447,15 @@
613 #if PY_VERSION_HEX >= 0x030400a1
616 - #if PY_VERSION_HEX >= 0x030800b1
617 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
620 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
623 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
624 + 0, /*tp_pypy_flags*/
628 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Errhandler(PyTypeObject *t, PyObject *a, PyObject *k) {
629 @@ -159428,12 +159620,15 @@
630 #if PY_VERSION_HEX >= 0x030400a1
633 - #if PY_VERSION_HEX >= 0x030800b1
634 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
637 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
640 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
641 + 0, /*tp_pypy_flags*/
645 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Comm(PyTypeObject *t, PyObject *a, PyObject *k) {
646 @@ -159770,12 +159965,15 @@
647 #if PY_VERSION_HEX >= 0x030400a1
650 - #if PY_VERSION_HEX >= 0x030800b1
651 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
654 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
657 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
658 + 0, /*tp_pypy_flags*/
662 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Intracomm(PyTypeObject *t, PyObject *a, PyObject *k) {
663 @@ -159870,12 +160068,15 @@
664 #if PY_VERSION_HEX >= 0x030400a1
667 - #if PY_VERSION_HEX >= 0x030800b1
668 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
671 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
674 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
675 + 0, /*tp_pypy_flags*/
679 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Topocomm(PyTypeObject *t, PyObject *a, PyObject *k) {
680 @@ -159999,12 +160200,15 @@
681 #if PY_VERSION_HEX >= 0x030400a1
684 - #if PY_VERSION_HEX >= 0x030800b1
685 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
688 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
691 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
692 + 0, /*tp_pypy_flags*/
696 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Cartcomm(PyTypeObject *t, PyObject *a, PyObject *k) {
697 @@ -160122,12 +160326,15 @@
698 #if PY_VERSION_HEX >= 0x030400a1
701 - #if PY_VERSION_HEX >= 0x030800b1
702 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
705 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
708 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
709 + 0, /*tp_pypy_flags*/
713 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Graphcomm(PyTypeObject *t, PyObject *a, PyObject *k) {
714 @@ -160253,12 +160460,15 @@
715 #if PY_VERSION_HEX >= 0x030400a1
718 - #if PY_VERSION_HEX >= 0x030800b1
719 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
722 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
725 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
726 + 0, /*tp_pypy_flags*/
730 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Distgraphcomm(PyTypeObject *t, PyObject *a, PyObject *k) {
731 @@ -160338,12 +160548,15 @@
732 #if PY_VERSION_HEX >= 0x030400a1
735 - #if PY_VERSION_HEX >= 0x030800b1
736 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
739 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
742 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
743 + 0, /*tp_pypy_flags*/
747 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Intercomm(PyTypeObject *t, PyObject *a, PyObject *k) {
748 @@ -160438,12 +160651,15 @@
749 #if PY_VERSION_HEX >= 0x030400a1
752 - #if PY_VERSION_HEX >= 0x030800b1
753 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
756 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
759 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
760 + 0, /*tp_pypy_flags*/
764 static PyObject *__pyx_tp_new_6mpi4py_3MPI_Win(PyTypeObject *t, PyObject *a, PyObject *k) {
765 @@ -160749,12 +160965,15 @@
766 #if PY_VERSION_HEX >= 0x030400a1
769 - #if PY_VERSION_HEX >= 0x030800b1
770 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
773 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
776 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
777 + 0, /*tp_pypy_flags*/
781 static PyObject *__pyx_tp_new_6mpi4py_3MPI_File(PyTypeObject *t, PyObject *a, PyObject *k) {
782 @@ -161025,12 +161244,15 @@
783 #if PY_VERSION_HEX >= 0x030400a1
786 - #if PY_VERSION_HEX >= 0x030800b1
787 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
790 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
793 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
794 + 0, /*tp_pypy_flags*/
798 static PyObject *__pyx_tp_new_6mpi4py_3MPI_memory(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
799 @@ -161201,12 +161423,15 @@
800 #if PY_VERSION_HEX >= 0x030400a1
803 - #if PY_VERSION_HEX >= 0x030800b1
804 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
807 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
810 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
811 + 0, /*tp_pypy_flags*/
815 static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_mem(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
816 @@ -161297,12 +161522,15 @@
817 #if PY_VERSION_HEX >= 0x030400a1
820 - #if PY_VERSION_HEX >= 0x030800b1
821 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
824 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
827 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
828 + 0, /*tp_pypy_flags*/
831 static struct __pyx_vtabstruct_6mpi4py_3MPI__p_greq __pyx_vtable_6mpi4py_3MPI__p_greq;
833 @@ -161443,12 +161671,15 @@
834 #if PY_VERSION_HEX >= 0x030400a1
837 - #if PY_VERSION_HEX >= 0x030800b1
838 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
841 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
844 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
845 + 0, /*tp_pypy_flags*/
848 static struct __pyx_vtabstruct_6mpi4py_3MPI__p_datarep __pyx_vtable_6mpi4py_3MPI__p_datarep;
850 @@ -161573,12 +161804,15 @@
851 #if PY_VERSION_HEX >= 0x030400a1
854 - #if PY_VERSION_HEX >= 0x030800b1
855 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
858 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
861 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
862 + 0, /*tp_pypy_flags*/
866 static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_keyval(PyTypeObject *t, PyObject *a, PyObject *k) {
867 @@ -161740,12 +161974,15 @@
868 #if PY_VERSION_HEX >= 0x030400a1
871 - #if PY_VERSION_HEX >= 0x030800b1
872 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
875 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
878 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
879 + 0, /*tp_pypy_flags*/
883 static PyObject *__pyx_tp_new_6mpi4py_3MPI__p_message(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
884 @@ -161868,12 +162105,15 @@
885 #if PY_VERSION_HEX >= 0x030400a1
888 - #if PY_VERSION_HEX >= 0x030800b1
889 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
892 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
895 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
896 + 0, /*tp_pypy_flags*/
899 static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_p2p __pyx_vtable_6mpi4py_3MPI__p_msg_p2p;
901 @@ -161982,12 +162222,15 @@
902 #if PY_VERSION_HEX >= 0x030400a1
905 - #if PY_VERSION_HEX >= 0x030800b1
906 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
909 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
912 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
913 + 0, /*tp_pypy_flags*/
916 static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_cco __pyx_vtable_6mpi4py_3MPI__p_msg_cco;
918 @@ -162112,12 +162355,15 @@
919 #if PY_VERSION_HEX >= 0x030400a1
922 - #if PY_VERSION_HEX >= 0x030800b1
923 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
926 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
929 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
930 + 0, /*tp_pypy_flags*/
933 static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_ccow __pyx_vtable_6mpi4py_3MPI__p_msg_ccow;
935 @@ -162234,12 +162480,15 @@
936 #if PY_VERSION_HEX >= 0x030400a1
939 - #if PY_VERSION_HEX >= 0x030800b1
940 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
943 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
946 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
947 + 0, /*tp_pypy_flags*/
950 static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_rma __pyx_vtable_6mpi4py_3MPI__p_msg_rma;
952 @@ -162372,12 +162621,15 @@
953 #if PY_VERSION_HEX >= 0x030400a1
956 - #if PY_VERSION_HEX >= 0x030800b1
957 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
960 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
963 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
964 + 0, /*tp_pypy_flags*/
967 static struct __pyx_vtabstruct_6mpi4py_3MPI__p_msg_io __pyx_vtable_6mpi4py_3MPI__p_msg_io;
969 @@ -162486,12 +162738,15 @@
970 #if PY_VERSION_HEX >= 0x030400a1
973 - #if PY_VERSION_HEX >= 0x030800b1
974 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
977 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
980 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
981 + 0, /*tp_pypy_flags*/
984 static struct __pyx_vtabstruct_6mpi4py_3MPI_Pickle __pyx_vtable_6mpi4py_3MPI_Pickle;
986 @@ -162637,12 +162892,15 @@
987 #if PY_VERSION_HEX >= 0x030400a1
990 - #if PY_VERSION_HEX >= 0x030800b1
991 + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
994 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
997 + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
998 + 0, /*tp_pypy_flags*/
1002 static PyMethodDef __pyx_methods[] = {
1003 @@ -165349,11 +165607,9 @@
1005 /*--- Library function declarations ---*/
1006 /*--- Threads initialization code ---*/
1007 - #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
1008 - #ifdef WITH_THREAD /* Python build with threading support? */
1009 + #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
1010 PyEval_InitThreads();
1013 /*--- Module creation code ---*/
1014 #if CYTHON_PEP489_MULTI_PHASE_INIT
1015 __pyx_m = __pyx_pyinit_module;
1016 @@ -177405,7 +177661,7 @@
1017 #if CYTHON_COMPILING_IN_CPYTHON
1018 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
1020 - ternaryfunc call = func->ob_type->tp_call;
1021 + ternaryfunc call = Py_TYPE(func)->tp_call;
1022 if (unlikely(!call))
1023 return PyObject_Call(func, arg, kw);
1024 if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
1025 @@ -177492,7 +177748,7 @@
1026 if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
1027 return __Pyx_PyObject_CallMethO(func, arg);
1028 #if CYTHON_FAST_PYCCALL
1029 - } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) {
1030 + } else if (__Pyx_PyFastCFunction_Check(func)) {
1031 return __Pyx_PyCFunction_FastCall(func, &arg, 1);
1034 @@ -177684,7 +177940,7 @@
1035 return (equals == Py_EQ);
1038 -#if CYTHON_USE_UNICODE_INTERNALS
1039 +#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000)
1040 Py_hash_t hash1, hash2;
1041 hash1 = ((PyBytesObject*)s1)->ob_shash;
1042 hash2 = ((PyBytesObject*)s2)->ob_shash;
1043 @@ -179668,7 +179924,8 @@
1044 __Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
1046 #if PY_MAJOR_VERSION >= 3
1047 - return PyUnicode_FromString(m->func.m_ml->ml_name);
1048 + Py_INCREF(m->func_qualname);
1049 + return m->func_qualname;
1051 return PyString_FromString(m->func.m_ml->ml_name);
1053 @@ -179871,6 +180128,9 @@
1054 self = PyTuple_GetItem(args, 0);
1055 if (unlikely(!self)) {
1056 Py_DECREF(new_args);
1057 + PyErr_Format(PyExc_TypeError,
1058 + "unbound method %.200S() needs an argument",
1059 + cyfunc->func_qualname);
1062 result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
1063 @@ -179939,12 +180199,15 @@
1064 #if PY_VERSION_HEX >= 0x030400a1
1067 -#if PY_VERSION_HEX >= 0x030800b1
1068 +#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
1071 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
1074 +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
1078 static int __pyx_CyFunction_init(void) {
1079 __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
1080 @@ -180194,7 +180457,7 @@
1084 - PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
1085 + (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
1087 else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
1089 @@ -180288,33 +180551,40 @@
1090 #include "compile.h"
1091 #include "frameobject.h"
1092 #include "traceback.h"
1093 +#if PY_VERSION_HEX >= 0x030b00a6
1094 + #ifndef Py_BUILD_CORE
1095 + #define Py_BUILD_CORE 1
1097 + #include "internal/pycore_frame.h"
1099 static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
1100 const char *funcname, int c_line,
1101 int py_line, const char *filename) {
1102 - PyCodeObject *py_code = 0;
1103 - PyObject *py_srcfile = 0;
1104 - PyObject *py_funcname = 0;
1105 + PyCodeObject *py_code = NULL;
1106 + PyObject *py_funcname = NULL;
1107 #if PY_MAJOR_VERSION < 3
1108 + PyObject *py_srcfile = NULL;
1109 py_srcfile = PyString_FromString(filename);
1111 - py_srcfile = PyUnicode_FromString(filename);
1113 if (!py_srcfile) goto bad;
1116 #if PY_MAJOR_VERSION < 3
1117 py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
1118 + if (!py_funcname) goto bad;
1120 py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
1121 + if (!py_funcname) goto bad;
1122 + funcname = PyUnicode_AsUTF8(py_funcname);
1123 + if (!funcname) goto bad;
1127 #if PY_MAJOR_VERSION < 3
1128 py_funcname = PyString_FromString(funcname);
1130 - py_funcname = PyUnicode_FromString(funcname);
1131 + if (!py_funcname) goto bad;
1134 - if (!py_funcname) goto bad;
1135 + #if PY_MAJOR_VERSION < 3
1136 py_code = __Pyx_PyCode_New(
1139 @@ -180333,11 +180603,16 @@
1140 __pyx_empty_bytes /*PyObject *lnotab*/
1142 Py_DECREF(py_srcfile);
1143 - Py_DECREF(py_funcname);
1145 + py_code = PyCode_NewEmpty(filename, funcname, py_line);
1147 + Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline
1150 - Py_XDECREF(py_srcfile);
1151 Py_XDECREF(py_funcname);
1152 + #if PY_MAJOR_VERSION < 3
1153 + Py_XDECREF(py_srcfile);
1157 static void __Pyx_AddTraceback(const char *funcname, int c_line,
1158 @@ -180345,14 +180620,24 @@
1159 PyCodeObject *py_code = 0;
1160 PyFrameObject *py_frame = 0;
1161 PyThreadState *tstate = __Pyx_PyThreadState_Current;
1162 + PyObject *ptype, *pvalue, *ptraceback;
1164 c_line = __Pyx_CLineForTraceback(tstate, c_line);
1166 py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
1168 + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
1169 py_code = __Pyx_CreateCodeObjectForTraceback(
1170 funcname, c_line, py_line, filename);
1171 - if (!py_code) goto bad;
1173 + /* If the code object creation fails, then we should clear the
1174 + fetched exception references and propagate the new exception */
1175 + Py_XDECREF(ptype);
1176 + Py_XDECREF(pvalue);
1177 + Py_XDECREF(ptraceback);
1180 + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
1181 __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
1183 py_frame = PyFrame_New(
1184 @@ -180391,195 +180676,16 @@
1185 return (target_type) value;\
1189 -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Aint(MPI_Aint value) {
1190 - const MPI_Aint neg_one = (MPI_Aint) ((MPI_Aint) 0 - (MPI_Aint) 1), const_zero = (MPI_Aint) 0;
1191 - const int is_unsigned = neg_one > const_zero;
1192 - if (is_unsigned) {
1193 - if (sizeof(MPI_Aint) < sizeof(long)) {
1194 - return PyInt_FromLong((long) value);
1195 - } else if (sizeof(MPI_Aint) <= sizeof(unsigned long)) {
1196 - return PyLong_FromUnsignedLong((unsigned long) value);
1197 -#ifdef HAVE_LONG_LONG
1198 - } else if (sizeof(MPI_Aint) <= sizeof(unsigned PY_LONG_LONG)) {
1199 - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
1203 - if (sizeof(MPI_Aint) <= sizeof(long)) {
1204 - return PyInt_FromLong((long) value);
1205 -#ifdef HAVE_LONG_LONG
1206 - } else if (sizeof(MPI_Aint) <= sizeof(PY_LONG_LONG)) {
1207 - return PyLong_FromLongLong((PY_LONG_LONG) value);
1212 - int one = 1; int little = (int)*(unsigned char *)&one;
1213 - unsigned char *bytes = (unsigned char *)&value;
1214 - return _PyLong_FromByteArray(bytes, sizeof(MPI_Aint),
1215 - little, !is_unsigned);
1220 -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
1221 - const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0;
1222 - const int is_unsigned = neg_one > const_zero;
1223 - if (is_unsigned) {
1224 - if (sizeof(int) < sizeof(long)) {
1225 - return PyInt_FromLong((long) value);
1226 - } else if (sizeof(int) <= sizeof(unsigned long)) {
1227 - return PyLong_FromUnsignedLong((unsigned long) value);
1228 -#ifdef HAVE_LONG_LONG
1229 - } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
1230 - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
1234 - if (sizeof(int) <= sizeof(long)) {
1235 - return PyInt_FromLong((long) value);
1236 -#ifdef HAVE_LONG_LONG
1237 - } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
1238 - return PyLong_FromLongLong((PY_LONG_LONG) value);
1243 - int one = 1; int little = (int)*(unsigned char *)&one;
1244 - unsigned char *bytes = (unsigned char *)&value;
1245 - return _PyLong_FromByteArray(bytes, sizeof(int),
1246 - little, !is_unsigned);
1251 -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
1252 - const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0;
1253 - const int is_unsigned = neg_one > const_zero;
1254 - if (is_unsigned) {
1255 - if (sizeof(long) < sizeof(long)) {
1256 - return PyInt_FromLong((long) value);
1257 - } else if (sizeof(long) <= sizeof(unsigned long)) {
1258 - return PyLong_FromUnsignedLong((unsigned long) value);
1259 -#ifdef HAVE_LONG_LONG
1260 - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
1261 - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
1265 - if (sizeof(long) <= sizeof(long)) {
1266 - return PyInt_FromLong((long) value);
1267 -#ifdef HAVE_LONG_LONG
1268 - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
1269 - return PyLong_FromLongLong((PY_LONG_LONG) value);
1274 - int one = 1; int little = (int)*(unsigned char *)&one;
1275 - unsigned char *bytes = (unsigned char *)&value;
1276 - return _PyLong_FromByteArray(bytes, sizeof(long),
1277 - little, !is_unsigned);
1282 -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Offset(MPI_Offset value) {
1283 - const MPI_Offset neg_one = (MPI_Offset) ((MPI_Offset) 0 - (MPI_Offset) 1), const_zero = (MPI_Offset) 0;
1284 - const int is_unsigned = neg_one > const_zero;
1285 - if (is_unsigned) {
1286 - if (sizeof(MPI_Offset) < sizeof(long)) {
1287 - return PyInt_FromLong((long) value);
1288 - } else if (sizeof(MPI_Offset) <= sizeof(unsigned long)) {
1289 - return PyLong_FromUnsignedLong((unsigned long) value);
1290 -#ifdef HAVE_LONG_LONG
1291 - } else if (sizeof(MPI_Offset) <= sizeof(unsigned PY_LONG_LONG)) {
1292 - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
1296 - if (sizeof(MPI_Offset) <= sizeof(long)) {
1297 - return PyInt_FromLong((long) value);
1298 -#ifdef HAVE_LONG_LONG
1299 - } else if (sizeof(MPI_Offset) <= sizeof(PY_LONG_LONG)) {
1300 - return PyLong_FromLongLong((PY_LONG_LONG) value);
1305 - int one = 1; int little = (int)*(unsigned char *)&one;
1306 - unsigned char *bytes = (unsigned char *)&value;
1307 - return _PyLong_FromByteArray(bytes, sizeof(MPI_Offset),
1308 - little, !is_unsigned);
1313 -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Fint(MPI_Fint value) {
1314 - const MPI_Fint neg_one = (MPI_Fint) ((MPI_Fint) 0 - (MPI_Fint) 1), const_zero = (MPI_Fint) 0;
1315 - const int is_unsigned = neg_one > const_zero;
1316 - if (is_unsigned) {
1317 - if (sizeof(MPI_Fint) < sizeof(long)) {
1318 - return PyInt_FromLong((long) value);
1319 - } else if (sizeof(MPI_Fint) <= sizeof(unsigned long)) {
1320 - return PyLong_FromUnsignedLong((unsigned long) value);
1321 -#ifdef HAVE_LONG_LONG
1322 - } else if (sizeof(MPI_Fint) <= sizeof(unsigned PY_LONG_LONG)) {
1323 - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
1327 - if (sizeof(MPI_Fint) <= sizeof(long)) {
1328 - return PyInt_FromLong((long) value);
1329 -#ifdef HAVE_LONG_LONG
1330 - } else if (sizeof(MPI_Fint) <= sizeof(PY_LONG_LONG)) {
1331 - return PyLong_FromLongLong((PY_LONG_LONG) value);
1336 - int one = 1; int little = (int)*(unsigned char *)&one;
1337 - unsigned char *bytes = (unsigned char *)&value;
1338 - return _PyLong_FromByteArray(bytes, sizeof(MPI_Fint),
1339 - little, !is_unsigned);
1344 -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Count(MPI_Count value) {
1345 - const MPI_Count neg_one = (MPI_Count) ((MPI_Count) 0 - (MPI_Count) 1), const_zero = (MPI_Count) 0;
1346 - const int is_unsigned = neg_one > const_zero;
1347 - if (is_unsigned) {
1348 - if (sizeof(MPI_Count) < sizeof(long)) {
1349 - return PyInt_FromLong((long) value);
1350 - } else if (sizeof(MPI_Count) <= sizeof(unsigned long)) {
1351 - return PyLong_FromUnsignedLong((unsigned long) value);
1352 -#ifdef HAVE_LONG_LONG
1353 - } else if (sizeof(MPI_Count) <= sizeof(unsigned PY_LONG_LONG)) {
1354 - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
1358 - if (sizeof(MPI_Count) <= sizeof(long)) {
1359 - return PyInt_FromLong((long) value);
1360 -#ifdef HAVE_LONG_LONG
1361 - } else if (sizeof(MPI_Count) <= sizeof(PY_LONG_LONG)) {
1362 - return PyLong_FromLongLong((PY_LONG_LONG) value);
1367 - int one = 1; int little = (int)*(unsigned char *)&one;
1368 - unsigned char *bytes = (unsigned char *)&value;
1369 - return _PyLong_FromByteArray(bytes, sizeof(MPI_Count),
1370 - little, !is_unsigned);
1375 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
1376 - const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0;
1377 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1378 +#pragma GCC diagnostic push
1379 +#pragma GCC diagnostic ignored "-Wconversion"
1381 + const int neg_one = (int) -1, const_zero = (int) 0;
1382 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1383 +#pragma GCC diagnostic pop
1385 const int is_unsigned = neg_one > const_zero;
1386 #if PY_MAJOR_VERSION < 3
1387 if (likely(PyInt_Check(x))) {
1388 @@ -180766,9 +180872,92 @@
1393 +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Aint(MPI_Aint value) {
1394 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1395 +#pragma GCC diagnostic push
1396 +#pragma GCC diagnostic ignored "-Wconversion"
1398 + const MPI_Aint neg_one = (MPI_Aint) -1, const_zero = (MPI_Aint) 0;
1399 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1400 +#pragma GCC diagnostic pop
1402 + const int is_unsigned = neg_one > const_zero;
1403 + if (is_unsigned) {
1404 + if (sizeof(MPI_Aint) < sizeof(long)) {
1405 + return PyInt_FromLong((long) value);
1406 + } else if (sizeof(MPI_Aint) <= sizeof(unsigned long)) {
1407 + return PyLong_FromUnsignedLong((unsigned long) value);
1408 +#ifdef HAVE_LONG_LONG
1409 + } else if (sizeof(MPI_Aint) <= sizeof(unsigned PY_LONG_LONG)) {
1410 + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
1414 + if (sizeof(MPI_Aint) <= sizeof(long)) {
1415 + return PyInt_FromLong((long) value);
1416 +#ifdef HAVE_LONG_LONG
1417 + } else if (sizeof(MPI_Aint) <= sizeof(PY_LONG_LONG)) {
1418 + return PyLong_FromLongLong((PY_LONG_LONG) value);
1423 + int one = 1; int little = (int)*(unsigned char *)&one;
1424 + unsigned char *bytes = (unsigned char *)&value;
1425 + return _PyLong_FromByteArray(bytes, sizeof(MPI_Aint),
1426 + little, !is_unsigned);
1431 +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
1432 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1433 +#pragma GCC diagnostic push
1434 +#pragma GCC diagnostic ignored "-Wconversion"
1436 + const int neg_one = (int) -1, const_zero = (int) 0;
1437 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1438 +#pragma GCC diagnostic pop
1440 + const int is_unsigned = neg_one > const_zero;
1441 + if (is_unsigned) {
1442 + if (sizeof(int) < sizeof(long)) {
1443 + return PyInt_FromLong((long) value);
1444 + } else if (sizeof(int) <= sizeof(unsigned long)) {
1445 + return PyLong_FromUnsignedLong((unsigned long) value);
1446 +#ifdef HAVE_LONG_LONG
1447 + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
1448 + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
1452 + if (sizeof(int) <= sizeof(long)) {
1453 + return PyInt_FromLong((long) value);
1454 +#ifdef HAVE_LONG_LONG
1455 + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
1456 + return PyLong_FromLongLong((PY_LONG_LONG) value);
1461 + int one = 1; int little = (int)*(unsigned char *)&one;
1462 + unsigned char *bytes = (unsigned char *)&value;
1463 + return _PyLong_FromByteArray(bytes, sizeof(int),
1464 + little, !is_unsigned);
1469 static CYTHON_INLINE MPI_Aint __Pyx_PyInt_As_MPI_Aint(PyObject *x) {
1470 - const MPI_Aint neg_one = (MPI_Aint) ((MPI_Aint) 0 - (MPI_Aint) 1), const_zero = (MPI_Aint) 0;
1471 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1472 +#pragma GCC diagnostic push
1473 +#pragma GCC diagnostic ignored "-Wconversion"
1475 + const MPI_Aint neg_one = (MPI_Aint) -1, const_zero = (MPI_Aint) 0;
1476 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1477 +#pragma GCC diagnostic pop
1479 const int is_unsigned = neg_one > const_zero;
1480 #if PY_MAJOR_VERSION < 3
1481 if (likely(PyInt_Check(x))) {
1482 @@ -180957,7 +181146,14 @@
1485 static CYTHON_INLINE MPI_Count __Pyx_PyInt_As_MPI_Count(PyObject *x) {
1486 - const MPI_Count neg_one = (MPI_Count) ((MPI_Count) 0 - (MPI_Count) 1), const_zero = (MPI_Count) 0;
1487 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1488 +#pragma GCC diagnostic push
1489 +#pragma GCC diagnostic ignored "-Wconversion"
1491 + const MPI_Count neg_one = (MPI_Count) -1, const_zero = (MPI_Count) 0;
1492 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1493 +#pragma GCC diagnostic pop
1495 const int is_unsigned = neg_one > const_zero;
1496 #if PY_MAJOR_VERSION < 3
1497 if (likely(PyInt_Check(x))) {
1498 @@ -181146,7 +181342,14 @@
1501 static CYTHON_INLINE MPI_Offset __Pyx_PyInt_As_MPI_Offset(PyObject *x) {
1502 - const MPI_Offset neg_one = (MPI_Offset) ((MPI_Offset) 0 - (MPI_Offset) 1), const_zero = (MPI_Offset) 0;
1503 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1504 +#pragma GCC diagnostic push
1505 +#pragma GCC diagnostic ignored "-Wconversion"
1507 + const MPI_Offset neg_one = (MPI_Offset) -1, const_zero = (MPI_Offset) 0;
1508 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1509 +#pragma GCC diagnostic pop
1511 const int is_unsigned = neg_one > const_zero;
1512 #if PY_MAJOR_VERSION < 3
1513 if (likely(PyInt_Check(x))) {
1514 @@ -181333,9 +181536,54 @@
1515 return (MPI_Offset) -1;
1519 +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
1520 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1521 +#pragma GCC diagnostic push
1522 +#pragma GCC diagnostic ignored "-Wconversion"
1524 + const long neg_one = (long) -1, const_zero = (long) 0;
1525 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1526 +#pragma GCC diagnostic pop
1528 + const int is_unsigned = neg_one > const_zero;
1529 + if (is_unsigned) {
1530 + if (sizeof(long) < sizeof(long)) {
1531 + return PyInt_FromLong((long) value);
1532 + } else if (sizeof(long) <= sizeof(unsigned long)) {
1533 + return PyLong_FromUnsignedLong((unsigned long) value);
1534 +#ifdef HAVE_LONG_LONG
1535 + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
1536 + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
1540 + if (sizeof(long) <= sizeof(long)) {
1541 + return PyInt_FromLong((long) value);
1542 +#ifdef HAVE_LONG_LONG
1543 + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
1544 + return PyLong_FromLongLong((PY_LONG_LONG) value);
1549 + int one = 1; int little = (int)*(unsigned char *)&one;
1550 + unsigned char *bytes = (unsigned char *)&value;
1551 + return _PyLong_FromByteArray(bytes, sizeof(long),
1552 + little, !is_unsigned);
1557 static CYTHON_INLINE unsigned char __Pyx_PyInt_As_unsigned_char(PyObject *x) {
1558 - const unsigned char neg_one = (unsigned char) ((unsigned char) 0 - (unsigned char) 1), const_zero = (unsigned char) 0;
1559 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1560 +#pragma GCC diagnostic push
1561 +#pragma GCC diagnostic ignored "-Wconversion"
1563 + const unsigned char neg_one = (unsigned char) -1, const_zero = (unsigned char) 0;
1564 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1565 +#pragma GCC diagnostic pop
1567 const int is_unsigned = neg_one > const_zero;
1568 #if PY_MAJOR_VERSION < 3
1569 if (likely(PyInt_Check(x))) {
1570 @@ -181522,9 +181770,92 @@
1571 return (unsigned char) -1;
1575 +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Offset(MPI_Offset value) {
1576 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1577 +#pragma GCC diagnostic push
1578 +#pragma GCC diagnostic ignored "-Wconversion"
1580 + const MPI_Offset neg_one = (MPI_Offset) -1, const_zero = (MPI_Offset) 0;
1581 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1582 +#pragma GCC diagnostic pop
1584 + const int is_unsigned = neg_one > const_zero;
1585 + if (is_unsigned) {
1586 + if (sizeof(MPI_Offset) < sizeof(long)) {
1587 + return PyInt_FromLong((long) value);
1588 + } else if (sizeof(MPI_Offset) <= sizeof(unsigned long)) {
1589 + return PyLong_FromUnsignedLong((unsigned long) value);
1590 +#ifdef HAVE_LONG_LONG
1591 + } else if (sizeof(MPI_Offset) <= sizeof(unsigned PY_LONG_LONG)) {
1592 + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
1596 + if (sizeof(MPI_Offset) <= sizeof(long)) {
1597 + return PyInt_FromLong((long) value);
1598 +#ifdef HAVE_LONG_LONG
1599 + } else if (sizeof(MPI_Offset) <= sizeof(PY_LONG_LONG)) {
1600 + return PyLong_FromLongLong((PY_LONG_LONG) value);
1605 + int one = 1; int little = (int)*(unsigned char *)&one;
1606 + unsigned char *bytes = (unsigned char *)&value;
1607 + return _PyLong_FromByteArray(bytes, sizeof(MPI_Offset),
1608 + little, !is_unsigned);
1613 +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Fint(MPI_Fint value) {
1614 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1615 +#pragma GCC diagnostic push
1616 +#pragma GCC diagnostic ignored "-Wconversion"
1618 + const MPI_Fint neg_one = (MPI_Fint) -1, const_zero = (MPI_Fint) 0;
1619 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1620 +#pragma GCC diagnostic pop
1622 + const int is_unsigned = neg_one > const_zero;
1623 + if (is_unsigned) {
1624 + if (sizeof(MPI_Fint) < sizeof(long)) {
1625 + return PyInt_FromLong((long) value);
1626 + } else if (sizeof(MPI_Fint) <= sizeof(unsigned long)) {
1627 + return PyLong_FromUnsignedLong((unsigned long) value);
1628 +#ifdef HAVE_LONG_LONG
1629 + } else if (sizeof(MPI_Fint) <= sizeof(unsigned PY_LONG_LONG)) {
1630 + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
1634 + if (sizeof(MPI_Fint) <= sizeof(long)) {
1635 + return PyInt_FromLong((long) value);
1636 +#ifdef HAVE_LONG_LONG
1637 + } else if (sizeof(MPI_Fint) <= sizeof(PY_LONG_LONG)) {
1638 + return PyLong_FromLongLong((PY_LONG_LONG) value);
1643 + int one = 1; int little = (int)*(unsigned char *)&one;
1644 + unsigned char *bytes = (unsigned char *)&value;
1645 + return _PyLong_FromByteArray(bytes, sizeof(MPI_Fint),
1646 + little, !is_unsigned);
1651 static CYTHON_INLINE MPI_Fint __Pyx_PyInt_As_MPI_Fint(PyObject *x) {
1652 - const MPI_Fint neg_one = (MPI_Fint) ((MPI_Fint) 0 - (MPI_Fint) 1), const_zero = (MPI_Fint) 0;
1653 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1654 +#pragma GCC diagnostic push
1655 +#pragma GCC diagnostic ignored "-Wconversion"
1657 + const MPI_Fint neg_one = (MPI_Fint) -1, const_zero = (MPI_Fint) 0;
1658 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1659 +#pragma GCC diagnostic pop
1661 const int is_unsigned = neg_one > const_zero;
1662 #if PY_MAJOR_VERSION < 3
1663 if (likely(PyInt_Check(x))) {
1664 @@ -181711,9 +182042,54 @@
1665 return (MPI_Fint) -1;
1669 +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_MPI_Count(MPI_Count value) {
1670 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1671 +#pragma GCC diagnostic push
1672 +#pragma GCC diagnostic ignored "-Wconversion"
1674 + const MPI_Count neg_one = (MPI_Count) -1, const_zero = (MPI_Count) 0;
1675 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1676 +#pragma GCC diagnostic pop
1678 + const int is_unsigned = neg_one > const_zero;
1679 + if (is_unsigned) {
1680 + if (sizeof(MPI_Count) < sizeof(long)) {
1681 + return PyInt_FromLong((long) value);
1682 + } else if (sizeof(MPI_Count) <= sizeof(unsigned long)) {
1683 + return PyLong_FromUnsignedLong((unsigned long) value);
1684 +#ifdef HAVE_LONG_LONG
1685 + } else if (sizeof(MPI_Count) <= sizeof(unsigned PY_LONG_LONG)) {
1686 + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
1690 + if (sizeof(MPI_Count) <= sizeof(long)) {
1691 + return PyInt_FromLong((long) value);
1692 +#ifdef HAVE_LONG_LONG
1693 + } else if (sizeof(MPI_Count) <= sizeof(PY_LONG_LONG)) {
1694 + return PyLong_FromLongLong((PY_LONG_LONG) value);
1699 + int one = 1; int little = (int)*(unsigned char *)&one;
1700 + unsigned char *bytes = (unsigned char *)&value;
1701 + return _PyLong_FromByteArray(bytes, sizeof(MPI_Count),
1702 + little, !is_unsigned);
1707 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
1708 - const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0;
1709 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1710 +#pragma GCC diagnostic push
1711 +#pragma GCC diagnostic ignored "-Wconversion"
1713 + const long neg_one = (long) -1, const_zero = (long) 0;
1714 +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
1715 +#pragma GCC diagnostic pop
1717 const int is_unsigned = neg_one > const_zero;
1718 #if PY_MAJOR_VERSION < 3
1719 if (likely(PyInt_Check(x))) {
1720 @@ -182002,11 +182378,33 @@
1722 /* CheckBinaryVersion */
1723 static int __Pyx_check_binary_version(void) {
1724 - char ctversion[4], rtversion[4];
1725 - PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
1726 - PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
1727 - if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
1728 + char ctversion[5];
1729 + int same=1, i, found_dot;
1730 + const char* rt_from_call = Py_GetVersion();
1731 + PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
1733 + for (i = 0; i < 4; i++) {
1734 + if (!ctversion[i]) {
1735 + same = (rt_from_call[i] < '0' || rt_from_call[i] > '9');
1738 + if (rt_from_call[i] != ctversion[i]) {
1744 + char rtversion[5] = {'\0'};
1746 + for (i=0; i<4; ++i) {
1747 + if (rt_from_call[i] == '.') {
1748 + if (found_dot) break;
1750 + } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') {
1753 + rtversion[i] = rt_from_call[i];
1755 PyOS_snprintf(message, sizeof(message),
1756 "compiletime version %s of module '%.100s' "
1757 "does not match runtime version %s",
1758 @@ -182301,6 +182699,23 @@
1762 +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
1763 + if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
1764 + return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
1765 +#if PY_MAJOR_VERSION < 3
1766 + } else if (likely(PyInt_CheckExact(o))) {
1767 + return PyInt_AS_LONG(o);
1772 + x = PyNumber_Index(o);
1773 + if (!x) return -1;
1774 + ival = PyInt_AsLong(x);
1779 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
1780 return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);