3 #ifndef PY_SSIZE_T_CLEAN
4 #define PY_SSIZE_T_CLEAN
8 #error Python headers needed to compile C extensions, please install development version of Python.
9 #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
10 #error Cython requires Python 2.6+ or Python 3.3+.
12 #define CYTHON_ABI "0_29_30"
13 #define CYTHON_HEX_VERSION 0x001D1EF0
14 #define CYTHON_FUTURE_DIVISION 0
17 #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
19 #if !defined(WIN32) && !defined(MS_WINDOWS)
31 #define DL_IMPORT(t) t
34 #define DL_EXPORT(t) t
37 #ifndef HAVE_LONG_LONG
38 #if PY_VERSION_HEX >= 0x02070000
39 #define HAVE_LONG_LONG
43 #define PY_LONG_LONG LONG_LONG
46 #define Py_HUGE_VAL HUGE_VAL
49 #define CYTHON_COMPILING_IN_PYPY 1
50 #define CYTHON_COMPILING_IN_PYSTON 0
51 #define CYTHON_COMPILING_IN_CPYTHON 0
52 #undef CYTHON_USE_TYPE_SLOTS
53 #define CYTHON_USE_TYPE_SLOTS 0
54 #undef CYTHON_USE_PYTYPE_LOOKUP
55 #define CYTHON_USE_PYTYPE_LOOKUP 0
56 #if PY_VERSION_HEX < 0x03050000
57 #undef CYTHON_USE_ASYNC_SLOTS
58 #define CYTHON_USE_ASYNC_SLOTS 0
59 #elif !defined(CYTHON_USE_ASYNC_SLOTS)
60 #define CYTHON_USE_ASYNC_SLOTS 1
62 #undef CYTHON_USE_PYLIST_INTERNALS
63 #define CYTHON_USE_PYLIST_INTERNALS 0
64 #undef CYTHON_USE_UNICODE_INTERNALS
65 #define CYTHON_USE_UNICODE_INTERNALS 0
66 #undef CYTHON_USE_UNICODE_WRITER
67 #define CYTHON_USE_UNICODE_WRITER 0
68 #undef CYTHON_USE_PYLONG_INTERNALS
69 #define CYTHON_USE_PYLONG_INTERNALS 0
70 #undef CYTHON_AVOID_BORROWED_REFS
71 #define CYTHON_AVOID_BORROWED_REFS 1
72 #undef CYTHON_ASSUME_SAFE_MACROS
73 #define CYTHON_ASSUME_SAFE_MACROS 0
74 #undef CYTHON_UNPACK_METHODS
75 #define CYTHON_UNPACK_METHODS 0
76 #undef CYTHON_FAST_THREAD_STATE
77 #define CYTHON_FAST_THREAD_STATE 0
78 #undef CYTHON_FAST_PYCALL
79 #define CYTHON_FAST_PYCALL 0
80 #undef CYTHON_PEP489_MULTI_PHASE_INIT
81 #define CYTHON_PEP489_MULTI_PHASE_INIT 0
82 #undef CYTHON_USE_TP_FINALIZE
83 #define CYTHON_USE_TP_FINALIZE 0
84 #undef CYTHON_USE_DICT_VERSIONS
85 #define CYTHON_USE_DICT_VERSIONS 0
86 #undef CYTHON_USE_EXC_INFO_STACK
87 #define CYTHON_USE_EXC_INFO_STACK 0
88 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
89 #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_HEX >= 0x07030900)
91 #elif defined(PYSTON_VERSION)
92 #define CYTHON_COMPILING_IN_PYPY 0
93 #define CYTHON_COMPILING_IN_PYSTON 1
94 #define CYTHON_COMPILING_IN_CPYTHON 0
95 #ifndef CYTHON_USE_TYPE_SLOTS
96 #define CYTHON_USE_TYPE_SLOTS 1
98 #undef CYTHON_USE_PYTYPE_LOOKUP
99 #define CYTHON_USE_PYTYPE_LOOKUP 0
100 #undef CYTHON_USE_ASYNC_SLOTS
101 #define CYTHON_USE_ASYNC_SLOTS 0
102 #undef CYTHON_USE_PYLIST_INTERNALS
103 #define CYTHON_USE_PYLIST_INTERNALS 0
104 #ifndef CYTHON_USE_UNICODE_INTERNALS
105 #define CYTHON_USE_UNICODE_INTERNALS 1
107 #undef CYTHON_USE_UNICODE_WRITER
108 #define CYTHON_USE_UNICODE_WRITER 0
109 #undef CYTHON_USE_PYLONG_INTERNALS
110 #define CYTHON_USE_PYLONG_INTERNALS 0
111 #ifndef CYTHON_AVOID_BORROWED_REFS
112 #define CYTHON_AVOID_BORROWED_REFS 0
114 #ifndef CYTHON_ASSUME_SAFE_MACROS
115 #define CYTHON_ASSUME_SAFE_MACROS 1
117 #ifndef CYTHON_UNPACK_METHODS
118 #define CYTHON_UNPACK_METHODS 1
120 #undef CYTHON_FAST_THREAD_STATE
121 #define CYTHON_FAST_THREAD_STATE 0
122 #undef CYTHON_FAST_PYCALL
123 #define CYTHON_FAST_PYCALL 0
124 #undef CYTHON_PEP489_MULTI_PHASE_INIT
125 #define CYTHON_PEP489_MULTI_PHASE_INIT 0
126 #undef CYTHON_USE_TP_FINALIZE
127 #define CYTHON_USE_TP_FINALIZE 0
128 #undef CYTHON_USE_DICT_VERSIONS
129 #define CYTHON_USE_DICT_VERSIONS 0
130 #undef CYTHON_USE_EXC_INFO_STACK
131 #define CYTHON_USE_EXC_INFO_STACK 0
132 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
133 #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
136 #define CYTHON_COMPILING_IN_PYPY 0
137 #define CYTHON_COMPILING_IN_PYSTON 0
138 #define CYTHON_COMPILING_IN_CPYTHON 1
139 #ifndef CYTHON_USE_TYPE_SLOTS
140 #define CYTHON_USE_TYPE_SLOTS 1
142 #if PY_VERSION_HEX < 0x02070000
143 #undef CYTHON_USE_PYTYPE_LOOKUP
144 #define CYTHON_USE_PYTYPE_LOOKUP 0
145 #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
146 #define CYTHON_USE_PYTYPE_LOOKUP 1
148 #if PY_MAJOR_VERSION < 3
149 #undef CYTHON_USE_ASYNC_SLOTS
150 #define CYTHON_USE_ASYNC_SLOTS 0
151 #elif !defined(CYTHON_USE_ASYNC_SLOTS)
152 #define CYTHON_USE_ASYNC_SLOTS 1
154 #if PY_VERSION_HEX < 0x02070000
155 #undef CYTHON_USE_PYLONG_INTERNALS
156 #define CYTHON_USE_PYLONG_INTERNALS 0
157 #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
158 #define CYTHON_USE_PYLONG_INTERNALS 1
160 #ifndef CYTHON_USE_PYLIST_INTERNALS
161 #define CYTHON_USE_PYLIST_INTERNALS 1
163 #ifndef CYTHON_USE_UNICODE_INTERNALS
164 #define CYTHON_USE_UNICODE_INTERNALS 1
166 #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2
167 #undef CYTHON_USE_UNICODE_WRITER
168 #define CYTHON_USE_UNICODE_WRITER 0
169 #elif !defined(CYTHON_USE_UNICODE_WRITER)
170 #define CYTHON_USE_UNICODE_WRITER 1
172 #ifndef CYTHON_AVOID_BORROWED_REFS
173 #define CYTHON_AVOID_BORROWED_REFS 0
175 #ifndef CYTHON_ASSUME_SAFE_MACROS
176 #define CYTHON_ASSUME_SAFE_MACROS 1
178 #ifndef CYTHON_UNPACK_METHODS
179 #define CYTHON_UNPACK_METHODS 1
181 #if PY_VERSION_HEX >= 0x030B00A4
182 #undef CYTHON_FAST_THREAD_STATE
183 #define CYTHON_FAST_THREAD_STATE 0
184 #elif !defined(CYTHON_FAST_THREAD_STATE)
185 #define CYTHON_FAST_THREAD_STATE 1
187 #ifndef CYTHON_FAST_PYCALL
188 #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000)
190 #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
191 #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
193 #ifndef CYTHON_USE_TP_FINALIZE
194 #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
196 #ifndef CYTHON_USE_DICT_VERSIONS
197 #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
199 #if PY_VERSION_HEX >= 0x030B00A4
200 #undef CYTHON_USE_EXC_INFO_STACK
201 #define CYTHON_USE_EXC_INFO_STACK 0
202 #elif !defined(CYTHON_USE_EXC_INFO_STACK)
203 #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
205 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
206 #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
209 #if !defined(CYTHON_FAST_PYCCALL)
210 #define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
212 #if CYTHON_USE_PYLONG_INTERNALS
213 #if PY_MAJOR_VERSION < 3
214 #include "longintrepr.h"
220 enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P ==
sizeof(
void*)) };
223 #ifndef __has_attribute
224 #define __has_attribute(x) 0
226 #ifndef __has_cpp_attribute
227 #define __has_cpp_attribute(x) 0
229 #ifndef CYTHON_RESTRICT
230 #if defined(__GNUC__)
231 #define CYTHON_RESTRICT __restrict__
232 #elif defined(_MSC_VER) && _MSC_VER >= 1400
233 #define CYTHON_RESTRICT __restrict
234 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
235 #define CYTHON_RESTRICT restrict
237 #define CYTHON_RESTRICT
240 #ifndef CYTHON_UNUSED
241 # if defined(__GNUC__)
242 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
243 # define CYTHON_UNUSED __attribute__ ((__unused__))
245 # define CYTHON_UNUSED
247 # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
248 # define CYTHON_UNUSED __attribute__ ((__unused__))
250 # define CYTHON_UNUSED
253 #ifndef CYTHON_MAYBE_UNUSED_VAR
254 # if defined(__cplusplus)
255 template<
class T>
void CYTHON_MAYBE_UNUSED_VAR(
const T& ) { }
257 # define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
260 #ifndef CYTHON_NCP_UNUSED
261 # if CYTHON_COMPILING_IN_CPYTHON
262 # define CYTHON_NCP_UNUSED
264 # define CYTHON_NCP_UNUSED CYTHON_UNUSED
267 #define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
269 #ifndef _MSC_STDINT_H_
271 typedef unsigned char uint8_t;
272 typedef unsigned int uint32_t;
274 typedef unsigned __int8 uint8_t;
275 typedef unsigned __int32 uint32_t;
281 #ifndef CYTHON_FALLTHROUGH
282 #if defined(__cplusplus) && __cplusplus >= 201103L
283 #if __has_cpp_attribute(fallthrough)
284 #define CYTHON_FALLTHROUGH [[fallthrough]]
285 #elif __has_cpp_attribute(clang::fallthrough)
286 #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
287 #elif __has_cpp_attribute(gnu::fallthrough)
288 #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
291 #ifndef CYTHON_FALLTHROUGH
292 #if __has_attribute(fallthrough)
293 #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
295 #define CYTHON_FALLTHROUGH
298 #if defined(__clang__ ) && defined(__apple_build_version__)
299 #if __apple_build_version__ < 7000000
300 #undef CYTHON_FALLTHROUGH
301 #define CYTHON_FALLTHROUGH
307 #error "Cython files generated with the C++ option must be compiled with a C++ compiler."
309 #ifndef CYTHON_INLINE
310 #if defined(__clang__)
311 #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
313 #define CYTHON_INLINE inline
317 void __Pyx_call_destructor(
T& x) {
321 class __Pyx_FakeReference {
323 __Pyx_FakeReference() : ptr(NULL) { }
324 __Pyx_FakeReference(
const T& ref) : ptr(const_cast<
T*>(&ref)) { }
325 T *operator->() {
return ptr; }
326 T *operator&() {
return ptr; }
327 operator T&() {
return *ptr; }
328 template<
typename U>
bool operator ==(
U other) {
return *ptr == other; }
329 template<
typename U>
bool operator !=(
U other) {
return *ptr != other; }
334 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
335 #define Py_OptimizeFlag 0
337 #define __PYX_BUILD_PY_SSIZE_T "n"
338 #define CYTHON_FORMAT_SSIZE_T "z"
339 #if PY_MAJOR_VERSION < 3
340 #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
341 #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
342 PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
343 #define __Pyx_DefaultClassType PyClass_Type
345 #define __Pyx_BUILTIN_MODULE_NAME "builtins"
346 #define __Pyx_DefaultClassType PyType_Type
347 #if PY_VERSION_HEX >= 0x030B00A1
348 static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(
int a,
int k,
int l,
int s,
int f,
349 PyObject *code, PyObject *
c, PyObject*
n, PyObject *
v,
350 PyObject *fv, PyObject *cell, PyObject* fn,
351 PyObject *name,
int fline, PyObject *lnos) {
352 PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
353 PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL;
354 const char *fn_cstr=NULL;
355 const char *name_cstr=NULL;
356 PyCodeObject* co=NULL;
357 PyObject *type, *value, *traceback;
358 PyErr_Fetch(&type, &value, &traceback);
359 if (!(kwds=PyDict_New()))
goto end;
360 if (!(argcount=PyLong_FromLong(a)))
goto end;
361 if (PyDict_SetItemString(kwds,
"co_argcount", argcount) != 0)
goto end;
362 if (!(posonlyargcount=PyLong_FromLong(0)))
goto end;
363 if (PyDict_SetItemString(kwds,
"co_posonlyargcount", posonlyargcount) != 0)
goto end;
364 if (!(kwonlyargcount=PyLong_FromLong(k)))
goto end;
365 if (PyDict_SetItemString(kwds,
"co_kwonlyargcount", kwonlyargcount) != 0)
goto end;
366 if (!(nlocals=PyLong_FromLong(l)))
goto end;
367 if (PyDict_SetItemString(kwds,
"co_nlocals", nlocals) != 0)
goto end;
368 if (!(stacksize=PyLong_FromLong(
s)))
goto end;
369 if (PyDict_SetItemString(kwds,
"co_stacksize", stacksize) != 0)
goto end;
370 if (!(flags=PyLong_FromLong(
f)))
goto end;
371 if (PyDict_SetItemString(kwds,
"co_flags", flags) != 0)
goto end;
372 if (PyDict_SetItemString(kwds,
"co_code", code) != 0)
goto end;
373 if (PyDict_SetItemString(kwds,
"co_consts",
c) != 0)
goto end;
374 if (PyDict_SetItemString(kwds,
"co_names",
n) != 0)
goto end;
375 if (PyDict_SetItemString(kwds,
"co_varnames",
v) != 0)
goto end;
376 if (PyDict_SetItemString(kwds,
"co_freevars", fv) != 0)
goto end;
377 if (PyDict_SetItemString(kwds,
"co_cellvars", cell) != 0)
goto end;
378 if (PyDict_SetItemString(kwds,
"co_linetable", lnos) != 0)
goto end;
379 if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL)))
goto end;
380 if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL)))
goto end;
381 if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline)))
goto end;
382 if (!(replace = PyObject_GetAttrString((PyObject*)co,
"replace")))
goto cleanup_code_too;
383 if (!(empty = PyTuple_New(0)))
goto cleanup_code_too;
384 if (!(call_result = PyObject_Call(replace, empty, kwds)))
goto cleanup_code_too;
385 Py_XDECREF((PyObject*)co);
386 co = (PyCodeObject*)call_result;
390 Py_XDECREF((PyObject*)co);
395 Py_XDECREF(argcount);
396 Py_XDECREF(posonlyargcount);
397 Py_XDECREF(kwonlyargcount);
399 Py_XDECREF(stacksize);
401 Py_XDECREF(call_result);
404 PyErr_Restore(type, value, traceback);
409 #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
410 PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
412 #define __Pyx_DefaultClassType PyType_Type
414 #ifndef Py_TPFLAGS_CHECKTYPES
415 #define Py_TPFLAGS_CHECKTYPES 0
417 #ifndef Py_TPFLAGS_HAVE_INDEX
418 #define Py_TPFLAGS_HAVE_INDEX 0
420 #ifndef Py_TPFLAGS_HAVE_NEWBUFFER
421 #define Py_TPFLAGS_HAVE_NEWBUFFER 0
423 #ifndef Py_TPFLAGS_HAVE_FINALIZE
424 #define Py_TPFLAGS_HAVE_FINALIZE 0
426 #ifndef METH_STACKLESS
427 #define METH_STACKLESS 0
429 #if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
430 #ifndef METH_FASTCALL
431 #define METH_FASTCALL 0x80
433 typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *
self, PyObject *
const *args, Py_ssize_t nargs);
434 typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *
self, PyObject *
const *args,
435 Py_ssize_t nargs, PyObject *kwnames);
437 #define __Pyx_PyCFunctionFast _PyCFunctionFast
438 #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
440 #if CYTHON_FAST_PYCCALL
441 #define __Pyx_PyFastCFunction_Check(func)\
442 ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
444 #define __Pyx_PyFastCFunction_Check(func) 0
446 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
447 #define PyObject_Malloc(s) PyMem_Malloc(s)
448 #define PyObject_Free(p) PyMem_Free(p)
449 #define PyObject_Realloc(p) PyMem_Realloc(p)
451 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
452 #define PyMem_RawMalloc(n) PyMem_Malloc(n)
453 #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n)
454 #define PyMem_RawFree(p) PyMem_Free(p)
456 #if CYTHON_COMPILING_IN_PYSTON
457 #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co)
458 #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
460 #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
461 #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno)
463 #if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
464 #define __Pyx_PyThreadState_Current PyThreadState_GET()
465 #elif PY_VERSION_HEX >= 0x03060000
466 #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
467 #elif PY_VERSION_HEX >= 0x03000000
468 #define __Pyx_PyThreadState_Current PyThreadState_GET()
470 #define __Pyx_PyThreadState_Current _PyThreadState_Current
472 #if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
473 #include "pythread.h"
474 #define Py_tss_NEEDS_INIT 0
475 typedef int Py_tss_t;
476 static CYTHON_INLINE
int PyThread_tss_create(Py_tss_t *key) {
477 *key = PyThread_create_key();
480 static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(
void) {
481 Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(
sizeof(Py_tss_t));
482 *key = Py_tss_NEEDS_INIT;
485 static CYTHON_INLINE
void PyThread_tss_free(Py_tss_t *key) {
488 static CYTHON_INLINE
int PyThread_tss_is_created(Py_tss_t *key) {
489 return *key != Py_tss_NEEDS_INIT;
491 static CYTHON_INLINE
void PyThread_tss_delete(Py_tss_t *key) {
492 PyThread_delete_key(*key);
493 *key = Py_tss_NEEDS_INIT;
495 static CYTHON_INLINE
int PyThread_tss_set(Py_tss_t *key,
void *value) {
496 return PyThread_set_key_value(*key, value);
498 static CYTHON_INLINE
void * PyThread_tss_get(Py_tss_t *key) {
499 return PyThread_get_key_value(*key);
502 #if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
503 #define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
505 #define __Pyx_PyDict_NewPresized(n) PyDict_New()
507 #if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
508 #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
509 #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
511 #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
512 #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
514 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
515 #define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
517 #define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name)
519 #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
520 #define CYTHON_PEP393_ENABLED 1
521 #if defined(PyUnicode_IS_READY)
522 #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
523 0 : _PyUnicode_Ready((PyObject *)(op)))
525 #define __Pyx_PyUnicode_READY(op) (0)
527 #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
528 #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
529 #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
530 #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u)
531 #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)
532 #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
533 #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch)
534 #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
535 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
536 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
538 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
541 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))
544 #define CYTHON_PEP393_ENABLED 0
545 #define PyUnicode_1BYTE_KIND 1
546 #define PyUnicode_2BYTE_KIND 2
547 #define PyUnicode_4BYTE_KIND 4
548 #define __Pyx_PyUnicode_READY(op) (0)
549 #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
550 #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
551 #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
552 #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE))
553 #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u))
554 #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
555 #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
556 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u))
558 #if CYTHON_COMPILING_IN_PYPY
559 #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)
560 #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)
562 #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)
563 #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
564 PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
566 #if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
567 #define PyUnicode_Contains(u, s) PySequence_Contains(u, s)
569 #if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
570 #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type)
572 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
573 #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt)
575 #define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
576 #define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
577 #if PY_MAJOR_VERSION >= 3
578 #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b)
580 #define __Pyx_PyString_Format(a, b) PyString_Format(a, b)
582 #if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
583 #define PyObject_ASCII(o) PyObject_Repr(o)
585 #if PY_MAJOR_VERSION >= 3
586 #define PyBaseString_Type PyUnicode_Type
587 #define PyStringObject PyUnicodeObject
588 #define PyString_Type PyUnicode_Type
589 #define PyString_Check PyUnicode_Check
590 #define PyString_CheckExact PyUnicode_CheckExact
591 #ifndef PyObject_Unicode
592 #define PyObject_Unicode PyObject_Str
595 #if PY_MAJOR_VERSION >= 3
596 #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
597 #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
599 #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
600 #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
602 #ifndef PySet_CheckExact
603 #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type)
605 #if PY_VERSION_HEX >= 0x030900A4
606 #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
607 #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
609 #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
610 #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
612 #if CYTHON_ASSUME_SAFE_MACROS
613 #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
615 #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
617 #if PY_MAJOR_VERSION >= 3
618 #define PyIntObject PyLongObject
619 #define PyInt_Type PyLong_Type
620 #define PyInt_Check(op) PyLong_Check(op)
621 #define PyInt_CheckExact(op) PyLong_CheckExact(op)
622 #define PyInt_FromString PyLong_FromString
623 #define PyInt_FromUnicode PyLong_FromUnicode
624 #define PyInt_FromLong PyLong_FromLong
625 #define PyInt_FromSize_t PyLong_FromSize_t
626 #define PyInt_FromSsize_t PyLong_FromSsize_t
627 #define PyInt_AsLong PyLong_AsLong
628 #define PyInt_AS_LONG PyLong_AS_LONG
629 #define PyInt_AsSsize_t PyLong_AsSsize_t
630 #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
631 #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
632 #define PyNumber_Int PyNumber_Long
634 #if PY_MAJOR_VERSION >= 3
635 #define PyBoolObject PyLongObject
637 #if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
638 #ifndef PyUnicode_InternFromString
639 #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
642 #if PY_VERSION_HEX < 0x030200A4
643 typedef long Py_hash_t;
644 #define __Pyx_PyInt_FromHash_t PyInt_FromLong
645 #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t
647 #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
648 #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t
650 #if PY_MAJOR_VERSION >= 3
651 #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func))
653 #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
655 #if CYTHON_USE_ASYNC_SLOTS
656 #if PY_VERSION_HEX >= 0x030500B1
657 #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
658 #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
660 #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
663 #define __Pyx_PyType_AsAsync(obj) NULL
665 #ifndef __Pyx_PyAsyncMethodsStruct
670 } __Pyx_PyAsyncMethodsStruct;
673 #if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
674 #if !defined(_USE_MATH_DEFINES)
675 #define _USE_MATH_DEFINES
680 #define __PYX_NAN() ((float) NAN)
682 static CYTHON_INLINE
float __PYX_NAN() {
684 memset(&value, 0xFF,
sizeof(value));
688 #if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
689 #define __Pyx_truncl trunc
691 #define __Pyx_truncl truncl
694 #define __PYX_MARK_ERR_POS(f_index, lineno) \
695 { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
696 #define __PYX_ERR(f_index, lineno, Ln_error) \
697 { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
699 #ifndef __PYX_EXTERN_C
701 #define __PYX_EXTERN_C extern "C"
703 #define __PYX_EXTERN_C extern
707 #define __PYX_HAVE__mprans__cMoveMeshMonitor
708 #define __PYX_HAVE_API__mprans__cMoveMeshMonitor
712 #include "numpy/arrayobject.h"
713 #include "numpy/ndarrayobject.h"
714 #include "numpy/ndarraytypes.h"
715 #include "numpy/arrayscalars.h"
716 #include "numpy/ufuncobject.h"
720 #include "pythread.h"
727 #if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
728 #define CYTHON_WITHOUT_ASSERTIONS
731 typedef struct {PyObject **p;
const char *
s;
const Py_ssize_t
n;
const char* encoding;
732 const char is_unicode;
const char is_str;
const char intern; } __Pyx_StringTabEntry;
734 #define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
735 #define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
736 #define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
737 #define __PYX_DEFAULT_STRING_ENCODING ""
738 #define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
739 #define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
740 #define __Pyx_uchar_cast(c) ((unsigned char)c)
741 #define __Pyx_long_cast(x) ((long)x)
742 #define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\
743 (sizeof(type) < sizeof(Py_ssize_t)) ||\
744 (sizeof(type) > sizeof(Py_ssize_t) &&\
745 likely(v < (type)PY_SSIZE_T_MAX ||\
746 v == (type)PY_SSIZE_T_MAX) &&\
747 (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
748 v == (type)PY_SSIZE_T_MIN))) ||\
749 (sizeof(type) == sizeof(Py_ssize_t) &&\
750 (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
751 v == (type)PY_SSIZE_T_MAX))) )
752 static CYTHON_INLINE
int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
753 return (
size_t) i < (size_t) limit;
755 #if defined (__cplusplus) && __cplusplus >= 201103L
757 #define __Pyx_sst_abs(value) std::abs(value)
758 #elif SIZEOF_INT >= SIZEOF_SIZE_T
759 #define __Pyx_sst_abs(value) abs(value)
760 #elif SIZEOF_LONG >= SIZEOF_SIZE_T
761 #define __Pyx_sst_abs(value) labs(value)
762 #elif defined (_MSC_VER)
763 #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
764 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
765 #define __Pyx_sst_abs(value) llabs(value)
766 #elif defined (__GNUC__)
767 #define __Pyx_sst_abs(value) __builtin_llabs(value)
769 #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
771 static CYTHON_INLINE
const char* __Pyx_PyObject_AsString(PyObject*);
772 static CYTHON_INLINE
const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
773 #define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
774 #define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
775 #define __Pyx_PyBytes_FromString PyBytes_FromString
776 #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
777 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(
const char*);
778 #if PY_MAJOR_VERSION < 3
779 #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString
780 #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
782 #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString
783 #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
785 #define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s))
786 #define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s))
787 #define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s))
788 #define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s))
789 #define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s))
790 #define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s))
791 #define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s))
792 #define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s))
793 #define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s))
794 #define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s))
795 #define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s))
796 #define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)
797 #define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)
798 #define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
799 #define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)
800 #define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
801 static CYTHON_INLINE
size_t __Pyx_Py_UNICODE_strlen(
const Py_UNICODE *
u) {
802 const Py_UNICODE *u_end =
u;
804 return (
size_t)(u_end -
u - 1);
806 #define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
807 #define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
808 #define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode
809 #define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
810 #define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
811 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(
long b);
812 static CYTHON_INLINE
int __Pyx_PyObject_IsTrue(PyObject*);
813 static CYTHON_INLINE
int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
814 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
815 #define __Pyx_PySequence_Tuple(obj)\
816 (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
817 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
818 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(
size_t);
819 static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
820 #if CYTHON_ASSUME_SAFE_MACROS
821 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
823 #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
825 #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
826 #if PY_MAJOR_VERSION >= 3
827 #define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
829 #define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
831 #define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
832 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
833 static int __Pyx_sys_getdefaultencoding_not_ascii;
834 static int __Pyx_init_sys_getdefaultencoding_params(
void) {
836 PyObject* default_encoding = NULL;
837 PyObject* ascii_chars_u = NULL;
838 PyObject* ascii_chars_b = NULL;
839 const char* default_encoding_c;
840 sys = PyImport_ImportModule(
"sys");
842 default_encoding = PyObject_CallMethod(sys, (
char*)
"getdefaultencoding", NULL);
844 if (!default_encoding)
goto bad;
845 default_encoding_c = PyBytes_AsString(default_encoding);
846 if (!default_encoding_c)
goto bad;
847 if (strcmp(default_encoding_c,
"ascii") == 0) {
848 __Pyx_sys_getdefaultencoding_not_ascii = 0;
850 char ascii_chars[128];
852 for (
c = 0;
c < 128;
c++) {
855 __Pyx_sys_getdefaultencoding_not_ascii = 1;
856 ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
857 if (!ascii_chars_u)
goto bad;
858 ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
859 if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
862 "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
866 Py_DECREF(ascii_chars_u);
867 Py_DECREF(ascii_chars_b);
869 Py_DECREF(default_encoding);
872 Py_XDECREF(default_encoding);
873 Py_XDECREF(ascii_chars_u);
874 Py_XDECREF(ascii_chars_b);
878 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
879 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
881 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
882 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
883 static char* __PYX_DEFAULT_STRING_ENCODING;
884 static int __Pyx_init_sys_getdefaultencoding_params(
void) {
886 PyObject* default_encoding = NULL;
887 char* default_encoding_c;
888 sys = PyImport_ImportModule(
"sys");
890 default_encoding = PyObject_CallMethod(sys, (
char*) (
const char*)
"getdefaultencoding", NULL);
892 if (!default_encoding)
goto bad;
893 default_encoding_c = PyBytes_AsString(default_encoding);
894 if (!default_encoding_c)
goto bad;
895 __PYX_DEFAULT_STRING_ENCODING = (
char*) malloc(strlen(default_encoding_c) + 1);
896 if (!__PYX_DEFAULT_STRING_ENCODING)
goto bad;
897 strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
898 Py_DECREF(default_encoding);
901 Py_XDECREF(default_encoding);
909 #if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
910 #define likely(x) __builtin_expect(!!(x), 1)
911 #define unlikely(x) __builtin_expect(!!(x), 0)
913 #define likely(x) (x)
914 #define unlikely(x) (x)
916 static CYTHON_INLINE
void __Pyx_pretend_to_initialize(
void* ptr) { (void)ptr; }
918 static PyObject *__pyx_m = NULL;
919 static PyObject *__pyx_d;
920 static PyObject *__pyx_b;
921 static PyObject *__pyx_cython_runtime = NULL;
922 static PyObject *__pyx_empty_tuple;
923 static PyObject *__pyx_empty_bytes;
924 static PyObject *__pyx_empty_unicode;
925 static int __pyx_lineno;
926 static int __pyx_clineno = 0;
927 static const char * __pyx_cfilenm= __FILE__;
928 static const char *__pyx_filename;
931 #if !defined(CYTHON_CCOMPLEX)
932 #if defined(__cplusplus)
933 #define CYTHON_CCOMPLEX 1
934 #elif defined(_Complex_I)
935 #define CYTHON_CCOMPLEX 1
937 #define CYTHON_CCOMPLEX 0
947 #if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)
949 #define _Complex_I 1.0fj
953 static const char *__pyx_f[] = {
954 "proteus/mprans/cMoveMeshMonitor.pyx",
960 struct __pyx_memoryview_obj;
962 struct __pyx_memoryview_obj *memview;
965 Py_ssize_t strides[8];
966 Py_ssize_t suboffsets[8];
967 } __Pyx_memviewslice;
968 #define __Pyx_MemoryView_Len(m) (m.shape[0])
971 #include <pythread.h>
972 #ifndef CYTHON_ATOMICS
973 #define CYTHON_ATOMICS 1
975 #define __pyx_atomic_int_type int
976 #if CYTHON_ATOMICS && __GNUC__ >= 4 && (__GNUC_MINOR__ > 1 ||\
977 (__GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL >= 2)) &&\
979 #define __pyx_atomic_incr_aligned(value, lock) __sync_fetch_and_add(value, 1)
980 #define __pyx_atomic_decr_aligned(value, lock) __sync_fetch_and_sub(value, 1)
981 #ifdef __PYX_DEBUG_ATOMICS
982 #warning "Using GNU atomics"
984 #elif CYTHON_ATOMICS && defined(_MSC_VER) && 0
986 #undef __pyx_atomic_int_type
987 #define __pyx_atomic_int_type LONG
988 #define __pyx_atomic_incr_aligned(value, lock) InterlockedIncrement(value)
989 #define __pyx_atomic_decr_aligned(value, lock) InterlockedDecrement(value)
990 #ifdef __PYX_DEBUG_ATOMICS
991 #pragma message ("Using MSVC atomics")
993 #elif CYTHON_ATOMICS && (defined(__ICC) || defined(__INTEL_COMPILER)) && 0
994 #define __pyx_atomic_incr_aligned(value, lock) _InterlockedIncrement(value)
995 #define __pyx_atomic_decr_aligned(value, lock) _InterlockedDecrement(value)
996 #ifdef __PYX_DEBUG_ATOMICS
997 #warning "Using Intel atomics"
1000 #undef CYTHON_ATOMICS
1001 #define CYTHON_ATOMICS 0
1002 #ifdef __PYX_DEBUG_ATOMICS
1003 #warning "Not using atomics"
1006 typedef volatile __pyx_atomic_int_type __pyx_atomic_int;
1008 #define __pyx_add_acquisition_count(memview)\
1009 __pyx_atomic_incr_aligned(__pyx_get_slice_count_pointer(memview), memview->lock)
1010 #define __pyx_sub_acquisition_count(memview)\
1011 __pyx_atomic_decr_aligned(__pyx_get_slice_count_pointer(memview), memview->lock)
1013 #define __pyx_add_acquisition_count(memview)\
1014 __pyx_add_acquisition_count_locked(__pyx_get_slice_count_pointer(memview), memview->lock)
1015 #define __pyx_sub_acquisition_count(memview)\
1016 __pyx_sub_acquisition_count_locked(__pyx_get_slice_count_pointer(memview), memview->lock)
1020 #ifndef __PYX_FORCE_INIT_THREADS
1021 #define __PYX_FORCE_INIT_THREADS 0
1025 #define __Pyx_PyGILState_Ensure PyGILState_Ensure
1026 #define __Pyx_PyGILState_Release PyGILState_Release
1027 #define __Pyx_FastGIL_Remember()
1028 #define __Pyx_FastGIL_Forget()
1029 #define __Pyx_FastGilFuncInit()
1032 #define IS_UNSIGNED(type) (((type) -1) > 0)
1033 struct __Pyx_StructField_;
1034 #define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0)
1037 struct __Pyx_StructField_* fields;
1039 size_t arraysize[8];
1045 typedef struct __Pyx_StructField_ {
1046 __Pyx_TypeInfo* type;
1049 } __Pyx_StructField;
1051 __Pyx_StructField* field;
1052 size_t parent_offset;
1053 } __Pyx_BufFmt_StackElem;
1055 __Pyx_StructField root;
1056 __Pyx_BufFmt_StackElem* head;
1058 size_t new_count, enc_count;
1059 size_t struct_alignment;
1064 char is_valid_array;
1065 } __Pyx_BufFmt_Context;
1075 typedef npy_int8 __pyx_t_5numpy_int8_t;
1084 typedef npy_int16 __pyx_t_5numpy_int16_t;
1093 typedef npy_int32 __pyx_t_5numpy_int32_t;
1102 typedef npy_int64 __pyx_t_5numpy_int64_t;
1111 typedef npy_uint8 __pyx_t_5numpy_uint8_t;
1120 typedef npy_uint16 __pyx_t_5numpy_uint16_t;
1129 typedef npy_uint32 __pyx_t_5numpy_uint32_t;
1138 typedef npy_uint64 __pyx_t_5numpy_uint64_t;
1147 typedef npy_float32 __pyx_t_5numpy_float32_t;
1156 typedef npy_float64 __pyx_t_5numpy_float64_t;
1165 typedef npy_long __pyx_t_5numpy_int_t;
1174 typedef npy_longlong __pyx_t_5numpy_long_t;
1183 typedef npy_longlong __pyx_t_5numpy_longlong_t;
1192 typedef npy_ulong __pyx_t_5numpy_uint_t;
1201 typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
1210 typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
1219 typedef npy_intp __pyx_t_5numpy_intp_t;
1228 typedef npy_uintp __pyx_t_5numpy_uintp_t;
1237 typedef npy_double __pyx_t_5numpy_float_t;
1246 typedef npy_double __pyx_t_5numpy_double_t;
1255 typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
1259 typedef ::std::complex< float > __pyx_t_float_complex;
1261 typedef float _Complex __pyx_t_float_complex;
1264 typedef struct {
float real, imag; } __pyx_t_float_complex;
1266 static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(
float,
float);
1271 typedef ::std::complex< double > __pyx_t_double_complex;
1273 typedef double _Complex __pyx_t_double_complex;
1276 typedef struct {
double real, imag; } __pyx_t_double_complex;
1278 static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(
double,
double);
1282 struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients;
1283 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel;
1284 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_1_genexpr;
1285 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_2_genexpr;
1286 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_3_genexpr;
1287 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_4_genexpr;
1288 struct __pyx_array_obj;
1289 struct __pyx_MemviewEnum_obj;
1290 struct __pyx_memoryview_obj;
1291 struct __pyx_memoryviewslice_obj;
1300 typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
1309 typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
1318 typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
1327 typedef npy_cdouble __pyx_t_5numpy_complex_t;
1328 struct __pyx_opt_args_7proteus_6mprans_13MeshSmoothing_cySmoothNodesLaplace;
1329 struct __pyx_opt_args_7proteus_6mprans_13MeshSmoothing_cySmoothNodesCentroid;
1330 struct __pyx_opt_args_7proteus_6mprans_13MeshSmoothing_cyUpdateInverseMeanRatioTriangleNodes;
1331 struct __pyx_opt_args_7proteus_6mprans_13MeshSmoothing_cyGetInverseMeanRatioSingleTriangle;
1332 struct __pyx_opt_args_7proteus_6mprans_13MeshSmoothing_cySmoothNodesQuality;
1341 struct __pyx_opt_args_7proteus_6mprans_13MeshSmoothing_cySmoothNodesLaplace {
1344 bool smoothBoundaries;
1345 __Pyx_memviewslice fixedNodesBoolArray;
1356 struct __pyx_opt_args_7proteus_6mprans_13MeshSmoothing_cySmoothNodesCentroid {
1359 bool smoothBoundaries;
1370 struct __pyx_opt_args_7proteus_6mprans_13MeshSmoothing_cyUpdateInverseMeanRatioTriangleNodes {
1382 struct __pyx_opt_args_7proteus_6mprans_13MeshSmoothing_cyGetInverseMeanRatioSingleTriangle {
1394 struct __pyx_opt_args_7proteus_6mprans_13MeshSmoothing_cySmoothNodesQuality {
1396 bool apply_directly;
1406 struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients {
1408 struct __pyx_vtabstruct_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_vtab;
1409 PyObject *pyCoefficients;
1421 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel {
1423 int __pyx_v_comm_size;
1424 __Pyx_memviewslice __pyx_v_coords_2doArray;
1425 __Pyx_memviewslice __pyx_v_counts_in;
1426 __Pyx_memviewslice __pyx_v_displacements_in;
1437 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_1_genexpr {
1439 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel *__pyx_outer_scope;
1454 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_2_genexpr {
1456 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel *__pyx_outer_scope;
1471 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_3_genexpr {
1473 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel *__pyx_outer_scope;
1488 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_4_genexpr {
1490 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel *__pyx_outer_scope;
1505 struct __pyx_array_obj {
1507 struct __pyx_vtabstruct_array *__pyx_vtab;
1513 Py_ssize_t *_strides;
1514 Py_ssize_t itemsize;
1517 void (*callback_free_data)(
void *);
1519 int dtype_is_object;
1530 struct __pyx_MemviewEnum_obj {
1543 struct __pyx_memoryview_obj {
1545 struct __pyx_vtabstruct_memoryview *__pyx_vtab;
1548 PyObject *_array_interface;
1549 PyThread_type_lock lock;
1550 __pyx_atomic_int acquisition_count[2];
1551 __pyx_atomic_int *acquisition_count_aligned_p;
1554 int dtype_is_object;
1555 __Pyx_TypeInfo *typeinfo;
1566 struct __pyx_memoryviewslice_obj {
1567 struct __pyx_memoryview_obj __pyx_base;
1568 __Pyx_memviewslice from_slice;
1569 PyObject *from_object;
1570 PyObject *(*to_object_func)(
char *);
1571 int (*to_dtype_func)(
char *, PyObject *);
1584 struct __pyx_vtabstruct_6mprans_16cMoveMeshMonitor_cCoefficients {
1585 PyObject *(*cppPreStep)(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, int);
1586 PyObject *(*cppPostStep)(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *);
1587 PyObject *(*cppPseudoTimeSteppingParallel)(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *, __Pyx_memviewslice, double);
1589 static struct __pyx_vtabstruct_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_vtabptr_6mprans_16cMoveMeshMonitor_cCoefficients;
1600 struct __pyx_vtabstruct_array {
1601 PyObject *(*get_memview)(
struct __pyx_array_obj *);
1603 static struct __pyx_vtabstruct_array *__pyx_vtabptr_array;
1614 struct __pyx_vtabstruct_memoryview {
1615 char *(*get_item_pointer)(
struct __pyx_memoryview_obj *, PyObject *);
1616 PyObject *(*is_slice)(
struct __pyx_memoryview_obj *, PyObject *);
1617 PyObject *(*setitem_slice_assignment)(
struct __pyx_memoryview_obj *, PyObject *, PyObject *);
1618 PyObject *(*setitem_slice_assign_scalar)(
struct __pyx_memoryview_obj *,
struct __pyx_memoryview_obj *, PyObject *);
1619 PyObject *(*setitem_indexed)(
struct __pyx_memoryview_obj *, PyObject *, PyObject *);
1620 PyObject *(*convert_item_to_object)(
struct __pyx_memoryview_obj *,
char *);
1621 PyObject *(*assign_item_from_object)(
struct __pyx_memoryview_obj *,
char *, PyObject *);
1623 static struct __pyx_vtabstruct_memoryview *__pyx_vtabptr_memoryview;
1634 struct __pyx_vtabstruct__memoryviewslice {
1635 struct __pyx_vtabstruct_memoryview __pyx_base;
1637 static struct __pyx_vtabstruct__memoryviewslice *__pyx_vtabptr__memoryviewslice;
1641 #ifndef CYTHON_REFNANNY
1642 #define CYTHON_REFNANNY 0
1646 void (*INCREF)(
void*, PyObject*, int);
1647 void (*DECREF)(
void*, PyObject*, int);
1648 void (*GOTREF)(
void*, PyObject*, int);
1649 void (*GIVEREF)(
void*, PyObject*, int);
1650 void* (*SetupContext)(
const char*, int,
const char*);
1651 void (*FinishContext)(
void**);
1652 } __Pyx_RefNannyAPIStruct;
1653 static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
1654 static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(
const char *modname);
1655 #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
1657 #define __Pyx_RefNannySetupContext(name, acquire_gil)\
1659 PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
1660 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
1661 PyGILState_Release(__pyx_gilstate_save);\
1663 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
1666 #define __Pyx_RefNannySetupContext(name, acquire_gil)\
1667 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
1669 #define __Pyx_RefNannyFinishContext()\
1670 __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
1671 #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1672 #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1673 #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1674 #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1675 #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
1676 #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
1677 #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
1678 #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
1680 #define __Pyx_RefNannyDeclarations
1681 #define __Pyx_RefNannySetupContext(name, acquire_gil)
1682 #define __Pyx_RefNannyFinishContext()
1683 #define __Pyx_INCREF(r) Py_INCREF(r)
1684 #define __Pyx_DECREF(r) Py_DECREF(r)
1685 #define __Pyx_GOTREF(r)
1686 #define __Pyx_GIVEREF(r)
1687 #define __Pyx_XINCREF(r) Py_XINCREF(r)
1688 #define __Pyx_XDECREF(r) Py_XDECREF(r)
1689 #define __Pyx_XGOTREF(r)
1690 #define __Pyx_XGIVEREF(r)
1692 #define __Pyx_XDECREF_SET(r, v) do {\
1693 PyObject *tmp = (PyObject *) r;\
1694 r = v; __Pyx_XDECREF(tmp);\
1696 #define __Pyx_DECREF_SET(r, v) do {\
1697 PyObject *tmp = (PyObject *) r;\
1698 r = v; __Pyx_DECREF(tmp);\
1700 #define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
1701 #define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
1704 #if CYTHON_USE_TYPE_SLOTS
1705 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
1707 #define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
1711 static PyObject *__Pyx_GetBuiltinName(PyObject *name);
1714 static void __Pyx_RaiseArgtupleInvalid(
const char* func_name,
int exact,
1715 Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
1718 static int __Pyx_CheckKeywordStrings(PyObject *kwdict,
const char* function_name,
int kw_allowed);
1721 #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
1722 static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
1723 #define __Pyx_PyObject_Dict_GetItem(obj, name)\
1724 (likely(PyDict_CheckExact(obj)) ?\
1725 __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
1727 #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
1728 #define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name)
1732 #define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
1733 (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
1734 __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
1735 (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
1736 __Pyx_GetItemInt_Generic(o, to_py_func(i))))
1737 #define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
1738 (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
1739 __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
1740 (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
1741 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
1742 int wraparound,
int boundscheck);
1743 #define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
1744 (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
1745 __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
1746 (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
1747 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
1748 int wraparound,
int boundscheck);
1749 static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
1750 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
1751 int is_list,
int wraparound,
int boundscheck);
1754 #if CYTHON_USE_TYPE_SLOTS
1755 static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key);
1757 #define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key)
1761 #define __Pyx_BUF_MAX_NDIMS %(BUF_MAX_NDIMS)d
1762 #define __Pyx_MEMVIEW_DIRECT 1
1763 #define __Pyx_MEMVIEW_PTR 2
1764 #define __Pyx_MEMVIEW_FULL 4
1765 #define __Pyx_MEMVIEW_CONTIG 8
1766 #define __Pyx_MEMVIEW_STRIDED 16
1767 #define __Pyx_MEMVIEW_FOLLOW 32
1768 #define __Pyx_IS_C_CONTIG 1
1769 #define __Pyx_IS_F_CONTIG 2
1770 static int __Pyx_init_memviewslice(
1771 struct __pyx_memoryview_obj *memview,
1773 __Pyx_memviewslice *memviewslice,
1774 int memview_is_new_reference);
1775 static CYTHON_INLINE
int __pyx_add_acquisition_count_locked(
1776 __pyx_atomic_int *acquisition_count, PyThread_type_lock lock);
1777 static CYTHON_INLINE
int __pyx_sub_acquisition_count_locked(
1778 __pyx_atomic_int *acquisition_count, PyThread_type_lock lock);
1779 #define __pyx_get_slice_count_pointer(memview) (memview->acquisition_count_aligned_p)
1780 #define __pyx_get_slice_count(memview) (*__pyx_get_slice_count_pointer(memview))
1781 #define __PYX_INC_MEMVIEW(slice, have_gil) __Pyx_INC_MEMVIEW(slice, have_gil, __LINE__)
1782 #define __PYX_XDEC_MEMVIEW(slice, have_gil) __Pyx_XDEC_MEMVIEW(slice, have_gil, __LINE__)
1783 static CYTHON_INLINE
void __Pyx_INC_MEMVIEW(__Pyx_memviewslice *,
int,
int);
1784 static CYTHON_INLINE
void __Pyx_XDEC_MEMVIEW(__Pyx_memviewslice *,
int,
int);
1787 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
1788 #define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1)
1789 #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)
1790 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
1791 (version_var) = __PYX_GET_DICT_VERSION(dict);\
1792 (cache_var) = (value);
1793 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
1794 static PY_UINT64_T __pyx_dict_version = 0;\
1795 static PyObject *__pyx_dict_cached_value = NULL;\
1796 if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
1797 (VAR) = __pyx_dict_cached_value;\
1799 (VAR) = __pyx_dict_cached_value = (LOOKUP);\
1800 __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
1803 static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
1804 static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
1805 static CYTHON_INLINE
int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
1807 #define __PYX_GET_DICT_VERSION(dict) (0)
1808 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
1809 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP);
1813 #if CYTHON_USE_DICT_VERSIONS
1814 #define __Pyx_GetModuleGlobalName(var, name) {\
1815 static PY_UINT64_T __pyx_dict_version = 0;\
1816 static PyObject *__pyx_dict_cached_value = NULL;\
1817 (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
1818 (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
1819 __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
1821 #define __Pyx_GetModuleGlobalNameUncached(var, name) {\
1822 PY_UINT64_T __pyx_dict_version;\
1823 PyObject *__pyx_dict_cached_value;\
1824 (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
1826 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
1828 #define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name)
1829 #define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name)
1830 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
1834 #if CYTHON_FAST_PYCALL
1835 #define __Pyx_PyFunction_FastCall(func, args, nargs)\
1836 __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
1837 #if 1 || PY_VERSION_HEX < 0x030600B1
1838 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
1840 #define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
1842 #define __Pyx_BUILD_ASSERT_EXPR(cond)\
1843 (sizeof(char [1 - 2*!(cond)]) - 1)
1844 #ifndef Py_MEMBER_SIZE
1845 #define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
1847 #if CYTHON_FAST_PYCALL
1848 static size_t __pyx_pyframe_localsplus_offset = 0;
1849 #include "frameobject.h"
1850 #if PY_VERSION_HEX >= 0x030b00a6
1851 #ifndef Py_BUILD_CORE
1852 #define Py_BUILD_CORE 1
1854 #include "internal/pycore_frame.h"
1856 #define __Pxy_PyFrame_Initialize_Offsets()\
1857 ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
1858 (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
1859 #define __Pyx_PyFrame_GetLocalsplus(frame)\
1860 (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
1861 #endif // CYTHON_FAST_PYCALL
1865 #if CYTHON_COMPILING_IN_CPYTHON
1866 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
1868 #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
1872 #if CYTHON_COMPILING_IN_CPYTHON
1873 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
1877 #if CYTHON_COMPILING_IN_CPYTHON
1878 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
1880 #define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
1884 #if CYTHON_FAST_PYCCALL
1885 static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
1887 #define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL)
1891 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
1894 static void __Pyx_RaiseDoubleKeywordsError(
const char* func_name, PyObject* kw_name);
1897 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
1898 PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
1899 const char* function_name);
1902 #if PY_MAJOR_VERSION < 3
1903 static CYTHON_INLINE PyObject* __Pyx_PyInt_FromDouble(
double value);
1905 #define __Pyx_PyInt_FromDouble(value) PyLong_FromDouble(value)
1909 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
1910 PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
1911 PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
1912 int has_cstart,
int has_cstop,
int wraparound);
1915 static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject*
function, PyObject* arg1, PyObject* arg2);
1918 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
1919 static CYTHON_INLINE
int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
1920 PyListObject*
L = (PyListObject*) list;
1921 Py_ssize_t len = Py_SIZE(list);
1922 if (likely(
L->allocated > len)) {
1924 PyList_SET_ITEM(list, len, x);
1925 __Pyx_SET_SIZE(list, len + 1);
1928 return PyList_Append(list, x);
1931 #define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
1935 #if CYTHON_FAST_THREAD_STATE
1936 #define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate;
1937 #define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current;
1938 #define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type
1940 #define __Pyx_PyThreadState_declare
1941 #define __Pyx_PyThreadState_assign
1942 #define __Pyx_PyErr_Occurred() PyErr_Occurred()
1946 #if CYTHON_FAST_THREAD_STATE
1947 #define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
1948 #define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
1949 #define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
1950 #define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
1951 #define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
1952 static CYTHON_INLINE
void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
1953 static CYTHON_INLINE
void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
1954 #if CYTHON_COMPILING_IN_CPYTHON
1955 #define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
1957 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
1960 #define __Pyx_PyErr_Clear() PyErr_Clear()
1961 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
1962 #define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb)
1963 #define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb)
1964 #define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb)
1965 #define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb)
1966 #define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb)
1967 #define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb)
1971 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
1974 #if CYTHON_USE_EXC_INFO_STACK
1975 static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
1979 #if CYTHON_FAST_THREAD_STATE
1980 #define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
1981 static CYTHON_INLINE
void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
1982 #define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
1983 static CYTHON_INLINE
void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
1985 #define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb)
1986 #define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb)
1990 #if CYTHON_FAST_THREAD_STATE
1991 #define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
1992 static CYTHON_INLINE
int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
1994 #define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err)
1998 #if CYTHON_FAST_THREAD_STATE
1999 #define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)
2000 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2002 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
2006 #if !CYTHON_COMPILING_IN_PYPY
2007 static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2,
long intval,
int inplace,
int zerodivision_check);
2009 #define __Pyx_PyInt_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\
2010 (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2))
2014 #define __Pyx_PyObject_DelSlice(obj, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)\
2015 __Pyx_PyObject_SetSlice(obj, (PyObject*)NULL, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)
2016 static CYTHON_INLINE
int __Pyx_PyObject_SetSlice(
2017 PyObject* obj, PyObject* value, Py_ssize_t cstart, Py_ssize_t cstop,
2018 PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
2019 int has_cstart,
int has_cstop,
int wraparound);
2022 static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2,
long intval,
long inplace);
2025 static CYTHON_INLINE
void __Pyx_RaiseUnboundLocalError(
const char *varname);
2028 #if !CYTHON_COMPILING_IN_PYPY
2029 static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2,
long intval,
int inplace,
int zerodivision_check);
2031 #define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\
2032 (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
2036 #define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2037 (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2038 __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\
2039 (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\
2040 __Pyx_SetItemInt_Generic(o, to_py_func(i), v)))
2041 static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *
v);
2042 static CYTHON_INLINE
int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *
v,
2043 int is_list,
int wraparound,
int boundscheck);
2046 #define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
2047 ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\
2048 __Pyx__ArgTypeTest(obj, type, name, exact))
2049 static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type,
const char *name,
int exact);
2055 static CYTHON_INLINE
int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2,
int equals);
2058 static CYTHON_INLINE
int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2,
int equals);
2061 #if PY_MAJOR_VERSION >= 3
2062 #define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
2064 #define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
2068 #define UNARY_NEG_WOULD_OVERFLOW(x)\
2069 (((x) < 0) & ((unsigned long)(x) == 0-(unsigned long)(x)))
2071 static CYTHON_UNUSED
int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags);
2072 static PyObject *__pyx_array_get_memview(
struct __pyx_array_obj *);
2074 static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
2077 static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16(
const char *
s, Py_ssize_t size,
const char *errors) {
2079 return PyUnicode_DecodeUTF16(
s, size, errors, &byteorder);
2081 static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16LE(
const char *
s, Py_ssize_t size,
const char *errors) {
2083 return PyUnicode_DecodeUTF16(
s, size, errors, &byteorder);
2085 static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16BE(
const char *
s, Py_ssize_t size,
const char *errors) {
2087 return PyUnicode_DecodeUTF16(
s, size, errors, &byteorder);
2091 static CYTHON_INLINE PyObject* __Pyx_decode_c_string(
2092 const char* cstring, Py_ssize_t start, Py_ssize_t stop,
2093 const char* encoding,
const char* errors,
2094 PyObject* (*decode_func)(
const char *
s, Py_ssize_t size,
const char *errors));
2097 static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);
2100 static CYTHON_INLINE
void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
2103 static CYTHON_INLINE
void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
2106 static CYTHON_INLINE
void __Pyx_RaiseNoneNotIterableError(
void);
2109 static CYTHON_INLINE
int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
2112 #if CYTHON_FAST_THREAD_STATE
2113 #define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
2114 static CYTHON_INLINE
void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2116 static CYTHON_INLINE
void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
2120 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list,
int level);
2123 #if CYTHON_COMPILING_IN_CPYTHON
2124 #define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
2125 static CYTHON_INLINE
int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
2126 static CYTHON_INLINE
int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
2127 static CYTHON_INLINE
int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
2129 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
2130 #define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
2131 #define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
2133 #define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
2135 static CYTHON_UNUSED
int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags);
2137 static CYTHON_INLINE
int __Pyx_PyList_Extend(PyObject*
L, PyObject*
v) {
2138 #if CYTHON_COMPILING_IN_CPYTHON
2139 PyObject* none = _PyList_Extend((PyListObject*)
L,
v);
2140 if (unlikely(!none))
2145 return PyList_SetSlice(
L, PY_SSIZE_T_MAX, PY_SSIZE_T_MAX,
v);
2150 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
2151 static CYTHON_INLINE
int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
2152 PyListObject*
L = (PyListObject*) list;
2153 Py_ssize_t len = Py_SIZE(list);
2154 if (likely(
L->allocated > len) & likely(len > (
L->allocated >> 1))) {
2156 PyList_SET_ITEM(list, len, x);
2157 __Pyx_SET_SIZE(list, len + 1);
2160 return PyList_Append(list, x);
2163 #define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
2167 static CYTHON_INLINE
int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq,
int eq) {
2168 int result = PySequence_Contains(seq, item);
2169 return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
2173 static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
2176 static CYTHON_INLINE
int __Pyx_HasAttr(PyObject *, PyObject *);
2179 #if PY_MAJOR_VERSION < 3
2180 #define __Pyx_PyString_Join __Pyx_PyBytes_Join
2181 #define __Pyx_PyBaseString_Join(s, v) (PyUnicode_CheckExact(s) ? PyUnicode_Join(s, v) : __Pyx_PyBytes_Join(s, v))
2183 #define __Pyx_PyString_Join PyUnicode_Join
2184 #define __Pyx_PyBaseString_Join PyUnicode_Join
2186 #if CYTHON_COMPILING_IN_CPYTHON
2187 #if PY_MAJOR_VERSION < 3
2188 #define __Pyx_PyBytes_Join _PyString_Join
2190 #define __Pyx_PyBytes_Join _PyBytes_Join
2193 static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values);
2197 #if PY_MAJOR_VERSION >= 3
2198 #define __Pyx_PyObject_Unicode(obj)\
2199 (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))
2201 #define __Pyx_PyObject_Unicode(obj)\
2202 (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Unicode(obj))
2206 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
2207 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
2209 #define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
2213 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
2214 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
2216 #define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
2220 static int __Pyx_SetVtable(PyObject *dict,
void *vtable);
2223 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);
2226 static int __Pyx_setup_reduce(PyObject* type_obj);
2229 #ifndef __PYX_HAVE_RT_ImportType_proto
2230 #define __PYX_HAVE_RT_ImportType_proto
2231 enum __Pyx_ImportType_CheckSize {
2232 __Pyx_ImportType_CheckSize_Error = 0,
2233 __Pyx_ImportType_CheckSize_Warn = 1,
2234 __Pyx_ImportType_CheckSize_Ignore = 2
2236 static PyTypeObject *__Pyx_ImportType(PyObject* module,
const char *module_name,
const char *class_name,
size_t size,
enum __Pyx_ImportType_CheckSize check_size);
2240 #ifdef CYTHON_CLINE_IN_TRACEBACK
2241 #define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
2243 static int __Pyx_CLineForTraceback(PyThreadState *tstate,
int c_line);
2248 PyCodeObject* code_object;
2250 } __Pyx_CodeObjectCacheEntry;
2251 struct __Pyx_CodeObjectCache {
2254 __Pyx_CodeObjectCacheEntry* entries;
2256 static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
2257 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries,
int count,
int code_line);
2258 static PyCodeObject *__pyx_find_code_object(
int code_line);
2259 static void __pyx_insert_code_object(
int code_line, PyCodeObject* code_object);
2262 static void __Pyx_AddTraceback(
const char *funcname,
int c_line,
2263 int py_line,
const char *filename);
2265 #if PY_MAJOR_VERSION < 3
2266 static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view,
int flags);
2267 static void __Pyx_ReleaseBuffer(Py_buffer *view);
2269 #define __Pyx_GetBuffer PyObject_GetBuffer
2270 #define __Pyx_ReleaseBuffer PyBuffer_Release
2276 Py_ssize_t shape, strides, suboffsets;
2277 } __Pyx_Buf_DimInfo;
2283 __Pyx_Buffer *rcbuffer;
2285 __Pyx_Buf_DimInfo diminfo[8];
2286 } __Pyx_LocalBuf_ND;
2289 static int __pyx_memviewslice_is_contig(
const __Pyx_memviewslice mvs,
char order,
int ndim);
2292 static int __pyx_slices_overlap(__Pyx_memviewslice *slice1,
2293 __Pyx_memviewslice *slice2,
2294 int ndim,
size_t itemsize);
2297 static CYTHON_INLINE PyObject *__pyx_capsule_create(
void *p,
const char *sig);
2300 static CYTHON_INLINE
int __Pyx_Is_Little_Endian(
void);
2303 static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx,
const char* ts);
2304 static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
2305 __Pyx_BufFmt_StackElem* stack,
2306 __Pyx_TypeInfo* type);
2309 static int __pyx_typeinfo_cmp(__Pyx_TypeInfo *a, __Pyx_TypeInfo *b);
2312 static int __Pyx_ValidateAndInit_memviewslice(
2317 __Pyx_TypeInfo *dtype,
2318 __Pyx_BufFmt_StackElem stack[],
2319 __Pyx_memviewslice *memviewslice,
2320 PyObject *original_obj);
2323 static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_ds_double(PyObject *,
int writable_flag);
2326 static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_ds_int(PyObject *,
int writable_flag);
2329 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
2330 #define __Pyx_HAS_GCC_DIAGNOSTIC
2334 static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_dsdsds_double(PyObject *,
int writable_flag);
2337 static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_dsds_double(PyObject *,
int writable_flag);
2340 static CYTHON_INLINE PyObject *__pyx_memview_get_double(
const char *itemp);
2341 static CYTHON_INLINE
int __pyx_memview_set_double(
const char *itemp, PyObject *obj);
2344 static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_dsds_int(PyObject *,
int writable_flag);
2347 static int __Pyx_Print(PyObject*, PyObject *,
int);
2348 #if CYTHON_COMPILING_IN_PYPY || PY_MAJOR_VERSION >= 3
2349 static PyObject* __pyx_print = 0;
2350 static PyObject* __pyx_print_kwargs = 0;
2354 static CYTHON_INLINE PyObject *__pyx_memview_get_int(
const char *itemp);
2355 static CYTHON_INLINE
int __pyx_memview_set_int(
const char *itemp, PyObject *obj);
2360 #define __Pyx_CREAL(z) ((z).real())
2361 #define __Pyx_CIMAG(z) ((z).imag())
2363 #define __Pyx_CREAL(z) (__real__(z))
2364 #define __Pyx_CIMAG(z) (__imag__(z))
2367 #define __Pyx_CREAL(z) ((z).real)
2368 #define __Pyx_CIMAG(z) ((z).imag)
2370 #if defined(__cplusplus) && CYTHON_CCOMPLEX\
2371 && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103)
2372 #define __Pyx_SET_CREAL(z,x) ((z).real(x))
2373 #define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
2375 #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
2376 #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
2381 #define __Pyx_c_eq_float(a, b) ((a)==(b))
2382 #define __Pyx_c_sum_float(a, b) ((a)+(b))
2383 #define __Pyx_c_diff_float(a, b) ((a)-(b))
2384 #define __Pyx_c_prod_float(a, b) ((a)*(b))
2385 #define __Pyx_c_quot_float(a, b) ((a)/(b))
2386 #define __Pyx_c_neg_float(a) (-(a))
2388 #define __Pyx_c_is_zero_float(z) ((z)==(float)0)
2389 #define __Pyx_c_conj_float(z) (::std::conj(z))
2391 #define __Pyx_c_abs_float(z) (::std::abs(z))
2392 #define __Pyx_c_pow_float(a, b) (::std::pow(a, b))
2395 #define __Pyx_c_is_zero_float(z) ((z)==0)
2396 #define __Pyx_c_conj_float(z) (conjf(z))
2398 #define __Pyx_c_abs_float(z) (cabsf(z))
2399 #define __Pyx_c_pow_float(a, b) (cpowf(a, b))
2403 static CYTHON_INLINE
int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex);
2404 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex);
2405 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex);
2406 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex);
2407 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex);
2408 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex);
2409 static CYTHON_INLINE
int __Pyx_c_is_zero_float(__pyx_t_float_complex);
2410 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex);
2412 static CYTHON_INLINE
float __Pyx_c_abs_float(__pyx_t_float_complex);
2413 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex);
2419 #define __Pyx_c_eq_double(a, b) ((a)==(b))
2420 #define __Pyx_c_sum_double(a, b) ((a)+(b))
2421 #define __Pyx_c_diff_double(a, b) ((a)-(b))
2422 #define __Pyx_c_prod_double(a, b) ((a)*(b))
2423 #define __Pyx_c_quot_double(a, b) ((a)/(b))
2424 #define __Pyx_c_neg_double(a) (-(a))
2426 #define __Pyx_c_is_zero_double(z) ((z)==(double)0)
2427 #define __Pyx_c_conj_double(z) (::std::conj(z))
2429 #define __Pyx_c_abs_double(z) (::std::abs(z))
2430 #define __Pyx_c_pow_double(a, b) (::std::pow(a, b))
2433 #define __Pyx_c_is_zero_double(z) ((z)==0)
2434 #define __Pyx_c_conj_double(z) (conj(z))
2436 #define __Pyx_c_abs_double(z) (cabs(z))
2437 #define __Pyx_c_pow_double(a, b) (cpow(a, b))
2441 static CYTHON_INLINE
int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex);
2442 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex);
2443 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex);
2444 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex);
2445 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex);
2446 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex);
2447 static CYTHON_INLINE
int __Pyx_c_is_zero_double(__pyx_t_double_complex);
2448 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex);
2450 static CYTHON_INLINE
double __Pyx_c_abs_double(__pyx_t_double_complex);
2451 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex);
2456 static __Pyx_memviewslice
2457 __pyx_memoryview_copy_new_contig(
const __Pyx_memviewslice *from_mvs,
2458 const char *mode,
int ndim,
2459 size_t sizeof_dtype,
int contig_flag,
2460 int dtype_is_object);
2463 static CYTHON_INLINE
int __Pyx_PyInt_As_int(PyObject *);
2466 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(
int value);
2469 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(
long value);
2472 struct __pyx_typeinfo_string {
2475 static struct __pyx_typeinfo_string __Pyx_TypeInfoToFormat(__Pyx_TypeInfo *type);
2478 static int __Pyx_PrintOne(PyObject* stream, PyObject *o);
2481 static CYTHON_INLINE
long __Pyx_PyInt_As_long(PyObject *);
2484 static CYTHON_INLINE
char __Pyx_PyInt_As_char(PyObject *);
2487 static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
2490 static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
2493 static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
2496 typedef PyObject *(*__pyx_coroutine_body_t)(PyObject *, PyThreadState *, PyObject *);
2497 #if CYTHON_USE_EXC_INFO_STACK
2498 #define __Pyx_ExcInfoStruct _PyErr_StackItem
2502 PyObject *exc_value;
2503 PyObject *exc_traceback;
2504 } __Pyx_ExcInfoStruct;
2508 __pyx_coroutine_body_t body;
2510 __Pyx_ExcInfoStruct gi_exc_state;
2511 PyObject *gi_weakreflist;
2513 PyObject *yieldfrom;
2515 PyObject *gi_qualname;
2516 PyObject *gi_modulename;
2521 } __pyx_CoroutineObject;
2522 static __pyx_CoroutineObject *__Pyx__Coroutine_New(
2523 PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
2524 PyObject *name, PyObject *qualname, PyObject *module_name);
2525 static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
2526 __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
2527 PyObject *name, PyObject *qualname, PyObject *module_name);
2528 static CYTHON_INLINE
void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *
self);
2529 static int __Pyx_Coroutine_clear(PyObject *
self);
2530 static PyObject *__Pyx_Coroutine_Send(PyObject *
self, PyObject *value);
2531 static PyObject *__Pyx_Coroutine_Close(PyObject *
self);
2532 static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args);
2533 #if CYTHON_USE_EXC_INFO_STACK
2534 #define __Pyx_Coroutine_SwapException(self)
2535 #define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state)
2537 #define __Pyx_Coroutine_SwapException(self) {\
2538 __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\
2539 __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\
2541 #define __Pyx_Coroutine_ResetAndClearException(self) {\
2542 __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\
2543 (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\
2546 #if CYTHON_FAST_THREAD_STATE
2547 #define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
2548 __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue)
2550 #define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
2551 __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue)
2553 static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue);
2554 static CYTHON_INLINE
void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state);
2557 static PyObject* __Pyx_Coroutine_patch_module(PyObject* module,
const char* py_code);
2560 static int __Pyx_patch_abc(
void);
2563 #define __Pyx_Generator_USED
2564 static PyTypeObject *__pyx_GeneratorType = 0;
2565 #define __Pyx_Generator_CheckExact(obj) (Py_TYPE(obj) == __pyx_GeneratorType)
2566 #define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\
2567 __Pyx__Coroutine_New(__pyx_GeneratorType, body, code, closure, name, qualname, module_name)
2568 static PyObject *__Pyx_Generator_Next(PyObject *
self);
2569 static int __pyx_Generator_init(
void);
2572 static int __Pyx_check_binary_version(
void);
2575 static int __Pyx_ImportFunction(PyObject *module,
const char *funcname,
void (**
f)(
void),
const char *sig);
2578 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
2580 static PyObject *__pyx_f_6mprans_16cMoveMeshMonitor_13cCoefficients_cppPreStep(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self, __Pyx_memviewslice __pyx_v_q_uOfX, __Pyx_memviewslice __pyx_v_q_J, __Pyx_memviewslice __pyx_v_q_weights, __Pyx_memviewslice __pyx_v_areas_, __Pyx_memviewslice __pyx_v_q_rci, __Pyx_memviewslice __pyx_v_q_fci,
int __pyx_v_nElements_owned);
2581 static PyObject *__pyx_f_6mprans_16cMoveMeshMonitor_13cCoefficients_cppPostStep(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self);
2582 static PyObject *__pyx_f_6mprans_16cMoveMeshMonitor_13cCoefficients_cppPseudoTimeSteppingParallel(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self, __Pyx_memviewslice __pyx_v_xx,
double __pyx_v_eps);
2583 static PyObject *__pyx_array_get_memview(
struct __pyx_array_obj *__pyx_v_self);
2584 static char *__pyx_memoryview_get_item_pointer(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index);
2585 static PyObject *__pyx_memoryview_is_slice(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj);
2586 static PyObject *__pyx_memoryview_setitem_slice_assignment(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src);
2587 static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(
struct __pyx_memoryview_obj *__pyx_v_self,
struct __pyx_memoryview_obj *__pyx_v_dst, PyObject *__pyx_v_value);
2588 static PyObject *__pyx_memoryview_setitem_indexed(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value);
2589 static PyObject *__pyx_memoryview_convert_item_to_object(
struct __pyx_memoryview_obj *__pyx_v_self,
char *__pyx_v_itemp);
2590 static PyObject *__pyx_memoryview_assign_item_from_object(
struct __pyx_memoryview_obj *__pyx_v_self,
char *__pyx_v_itemp, PyObject *__pyx_v_value);
2591 static PyObject *__pyx_memoryviewslice_convert_item_to_object(
struct __pyx_memoryviewslice_obj *__pyx_v_self,
char *__pyx_v_itemp);
2592 static PyObject *__pyx_memoryviewslice_assign_item_from_object(
struct __pyx_memoryviewslice_obj *__pyx_v_self,
char *__pyx_v_itemp, PyObject *__pyx_v_value);
2595 static struct __pyx_array_obj *__pyx_array_new(PyObject *, Py_ssize_t,
char *,
char *,
char *);
2608 static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;
2621 static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;
2622 static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;
2623 static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;
2624 static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;
2625 static PyTypeObject *__pyx_ptype_5numpy_generic = 0;
2626 static PyTypeObject *__pyx_ptype_5numpy_number = 0;
2627 static PyTypeObject *__pyx_ptype_5numpy_integer = 0;
2628 static PyTypeObject *__pyx_ptype_5numpy_signedinteger = 0;
2629 static PyTypeObject *__pyx_ptype_5numpy_unsignedinteger = 0;
2630 static PyTypeObject *__pyx_ptype_5numpy_inexact = 0;
2631 static PyTypeObject *__pyx_ptype_5numpy_floating = 0;
2632 static PyTypeObject *__pyx_ptype_5numpy_complexfloating = 0;
2633 static PyTypeObject *__pyx_ptype_5numpy_flexible = 0;
2634 static PyTypeObject *__pyx_ptype_5numpy_character = 0;
2635 static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;
2642 static int (*__pyx_f_7proteus_6mprans_13MeshSmoothing_pyxGetLocalNearestNode)(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, int);
2643 static __Pyx_memviewslice (*__pyx_f_7proteus_6mprans_13MeshSmoothing_pyxGetLocalNearestElementIntersection)(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, int);
2644 static int (*__pyx_f_7proteus_6mprans_13MeshSmoothing_pyxGetLocalNearestElementAroundNode)(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, int);
2645 static void (*__pyx_f_7proteus_6mprans_13MeshSmoothing_pyxUpdateElementBoundaryNormalsTetra)(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, int);
2646 static void (*__pyx_f_7proteus_6mprans_13MeshSmoothing_pyxUpdateElementBoundaryNormalsTriangle)(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, int);
2647 static __Pyx_memviewslice (*__pyx_f_7proteus_6mprans_13MeshSmoothing_cyCheckOwnedVariable)(int, int, int, __Pyx_memviewslice, __Pyx_memviewslice);
2648 static __Pyx_memviewslice (*__pyx_f_7proteus_6mprans_13MeshSmoothing_cyGetGlobalVariable)(int, int, __Pyx_memviewslice, __Pyx_memviewslice);
2649 static int (*__pyx_f_7proteus_6mprans_13MeshSmoothing_cyGetLocalVariable)(int, int, int, __Pyx_memviewslice, __Pyx_memviewslice);
2650 static void (*__pyx_f_7proteus_6mprans_13MeshSmoothing_cyFindBoundaryDirectionTriangle)(__Pyx_memviewslice, int, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice);
2653 static PyTypeObject *__pyx_ptype_6mprans_16cMoveMeshMonitor_cCoefficients = 0;
2654 static PyTypeObject *__pyx_ptype_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel = 0;
2655 static PyTypeObject *__pyx_ptype_6mprans_16cMoveMeshMonitor___pyx_scope_struct_1_genexpr = 0;
2656 static PyTypeObject *__pyx_ptype_6mprans_16cMoveMeshMonitor___pyx_scope_struct_2_genexpr = 0;
2657 static PyTypeObject *__pyx_ptype_6mprans_16cMoveMeshMonitor___pyx_scope_struct_3_genexpr = 0;
2658 static PyTypeObject *__pyx_ptype_6mprans_16cMoveMeshMonitor___pyx_scope_struct_4_genexpr = 0;
2659 static PyTypeObject *__pyx_array_type = 0;
2660 static PyTypeObject *__pyx_MemviewEnum_type = 0;
2661 static PyTypeObject *__pyx_memoryview_type = 0;
2662 static PyTypeObject *__pyx_memoryviewslice_type = 0;
2663 static PyObject *
generic = 0;
2664 static PyObject *strided = 0;
2665 static PyObject *indirect = 0;
2666 static PyObject *contiguous = 0;
2667 static PyObject *indirect_contiguous = 0;
2668 static int __pyx_memoryview_thread_locks_used;
2669 static PyThread_type_lock __pyx_memoryview_thread_locks[8];
2670 static __Pyx_memviewslice __pyx_f_6mprans_16cMoveMeshMonitor_cppRecoveryAtNodes(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice);
2671 static __Pyx_memviewslice __pyx_f_6mprans_16cMoveMeshMonitor_cppRecoveryAtNodesWeighted(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice,
int);
2672 static __Pyx_memviewslice __pyx_f_6mprans_16cMoveMeshMonitor_cppGradientRecoveryAtNodes(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice,
int);
2673 static __Pyx_memviewslice __pyx_f_6mprans_16cMoveMeshMonitor_cppGradientRecoveryAtNodesWeighted(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice,
int);
2674 static PyObject *__pyx_f_6mprans_16cMoveMeshMonitor_checkOwnedVariable(
int,
int,
int, __Pyx_memviewslice, __Pyx_memviewslice);
2675 static __Pyx_memviewslice __pyx_f_6mprans_16cMoveMeshMonitor_findN(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice,
int,
int,
int,
int, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice,
int, __Pyx_memviewslice, __Pyx_memviewslice,
int, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice,
int);
2676 static struct __pyx_array_obj *__pyx_array_new(PyObject *, Py_ssize_t,
char *,
char *,
char *);
2677 static void *__pyx_align_pointer(
void *,
size_t);
2678 static PyObject *__pyx_memoryview_new(PyObject *,
int,
int, __Pyx_TypeInfo *);
2679 static CYTHON_INLINE
int __pyx_memoryview_check(PyObject *);
2680 static PyObject *_unellipsify(PyObject *,
int);
2681 static PyObject *assert_direct_dimensions(Py_ssize_t *,
int);
2682 static struct __pyx_memoryview_obj *__pyx_memview_slice(
struct __pyx_memoryview_obj *, PyObject *);
2683 static int __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice *, Py_ssize_t, Py_ssize_t, Py_ssize_t,
int,
int,
int *, Py_ssize_t, Py_ssize_t, Py_ssize_t,
int,
int,
int,
int);
2684 static char *__pyx_pybuffer_index(Py_buffer *,
char *, Py_ssize_t, Py_ssize_t);
2685 static int __pyx_memslice_transpose(__Pyx_memviewslice *);
2686 static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice,
int, PyObject *(*)(
char *),
int (*)(
char *, PyObject *),
int);
2687 static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(
struct __pyx_memoryview_obj *, __Pyx_memviewslice *);
2688 static void __pyx_memoryview_slice_copy(
struct __pyx_memoryview_obj *, __Pyx_memviewslice *);
2689 static PyObject *__pyx_memoryview_copy_object(
struct __pyx_memoryview_obj *);
2690 static PyObject *__pyx_memoryview_copy_object_from_slice(
struct __pyx_memoryview_obj *, __Pyx_memviewslice *);
2691 static Py_ssize_t abs_py_ssize_t(Py_ssize_t);
2692 static char __pyx_get_best_slice_order(__Pyx_memviewslice *,
int);
2693 static void _copy_strided_to_strided(
char *, Py_ssize_t *,
char *, Py_ssize_t *, Py_ssize_t *, Py_ssize_t *,
int,
size_t);
2694 static void copy_strided_to_strided(__Pyx_memviewslice *, __Pyx_memviewslice *,
int,
size_t);
2695 static Py_ssize_t __pyx_memoryview_slice_get_size(__Pyx_memviewslice *,
int);
2696 static Py_ssize_t __pyx_fill_contig_strides_array(Py_ssize_t *, Py_ssize_t *, Py_ssize_t,
int,
char);
2697 static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *, __Pyx_memviewslice *,
char,
int);
2698 static int __pyx_memoryview_err_extents(
int, Py_ssize_t, Py_ssize_t);
2699 static int __pyx_memoryview_err_dim(PyObject *,
char *,
int);
2700 static int __pyx_memoryview_err(PyObject *,
char *);
2701 static int __pyx_memoryview_copy_contents(__Pyx_memviewslice, __Pyx_memviewslice,
int,
int,
int);
2702 static void __pyx_memoryview_broadcast_leading(__Pyx_memviewslice *,
int,
int);
2703 static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *,
int,
int,
int);
2704 static void __pyx_memoryview_refcount_objects_in_slice_with_gil(
char *, Py_ssize_t *, Py_ssize_t *,
int,
int);
2705 static void __pyx_memoryview_refcount_objects_in_slice(
char *, Py_ssize_t *, Py_ssize_t *,
int,
int);
2706 static void __pyx_memoryview_slice_assign_scalar(__Pyx_memviewslice *,
int,
size_t,
void *,
int);
2707 static void __pyx_memoryview__slice_assign_scalar(
char *, Py_ssize_t *, Py_ssize_t *,
int,
size_t,
void *);
2708 static PyObject *__pyx_unpickle_Enum__set_state(
struct __pyx_MemviewEnum_obj *, PyObject *);
2709 static PyObject *__pyx_format_from_typeinfo(__Pyx_TypeInfo *);
2710 static __Pyx_TypeInfo __Pyx_TypeInfo_int = {
"int", NULL,
sizeof(int), { 0 }, 0, IS_UNSIGNED(
int) ?
'U' :
'I', IS_UNSIGNED(
int), 0 };
2711 static __Pyx_TypeInfo __Pyx_TypeInfo_double = {
"double", NULL,
sizeof(double), { 0 }, 0,
'R', 0, 0 };
2712 #define __Pyx_MODULE_NAME "mprans.cMoveMeshMonitor"
2713 extern int __pyx_module_is_main_mprans__cMoveMeshMonitor;
2714 int __pyx_module_is_main_mprans__cMoveMeshMonitor = 0;
2717 static PyObject *__pyx_builtin_xrange;
2718 static PyObject *__pyx_builtin_range;
2719 static PyObject *__pyx_builtin_AssertionError;
2720 static PyObject *__pyx_builtin_TypeError;
2721 static PyObject *__pyx_builtin_ImportError;
2722 static PyObject *__pyx_builtin_ValueError;
2723 static PyObject *__pyx_builtin_MemoryError;
2724 static PyObject *__pyx_builtin_enumerate;
2725 static PyObject *__pyx_builtin_Ellipsis;
2726 static PyObject *__pyx_builtin_id;
2727 static PyObject *__pyx_builtin_IndexError;
2728 static const char __pyx_k_C[] =
"C";
2729 static const char __pyx_k_O[] =
"O";
2730 static const char __pyx_k_T[] =
"T{";
2731 static const char __pyx_k_c[] =
"c";
2732 static const char __pyx_k_f[] =
"f";
2733 static const char __pyx_k_q[] =
"q";
2734 static const char __pyx_k_r[] =
"r";
2735 static const char __pyx_k_s[] =
"(%s)";
2736 static const char __pyx_k_t[] =
"t";
2737 static const char __pyx_k_u[] =
"u";
2738 static const char __pyx_k_x[] =
"x";
2739 static const char __pyx_k_id[] =
"id";
2740 static const char __pyx_k_ms[] =
"ms";
2741 static const char __pyx_k_nd[] =
"nd";
2742 static const char __pyx_k_np[] =
"np";
2743 static const char __pyx_k_op[] =
"op";
2744 static const char __pyx_k_xx[] =
"xx";
2745 static const char __pyx_k_INT[] =
"INT";
2746 static const char __pyx_k_MPI[] =
"MPI";
2747 static const char __pyx_k_SUM[] =
"SUM";
2748 static const char __pyx_k__31[] =
"^";
2749 static const char __pyx_k__32[] =
"";
2750 static const char __pyx_k__33[] =
":";
2751 static const char __pyx_k__34[] =
"}";
2752 static const char __pyx_k__35[] =
",";
2753 static const char __pyx_k_dot[] =
"dot: ";
2754 static const char __pyx_k_end[] =
"end";
2755 static const char __pyx_k_eps[] =
"eps";
2756 static const char __pyx_k_get[] =
"get";
2757 static const char __pyx_k_new[] =
"__new__";
2758 static const char __pyx_k_obj[] =
"obj";
2759 static const char __pyx_k_Comm[] =
"Comm";
2760 static const char __pyx_k_args[] =
"args";
2761 static const char __pyx_k_axis[] =
"axis";
2762 static const char __pyx_k_base[] =
"base";
2763 static const char __pyx_k_comm[] =
"comm";
2764 static const char __pyx_k_dict[] =
"__dict__";
2765 static const char __pyx_k_file[] =
"file";
2766 static const char __pyx_k_join[] =
"join";
2767 static const char __pyx_k_main[] =
"__main__";
2768 static const char __pyx_k_mesh[] =
"mesh";
2769 static const char __pyx_k_mode[] =
"mode";
2770 static const char __pyx_k_name[] =
"name";
2771 static const char __pyx_k_ndim[] =
"ndim";
2772 static const char __pyx_k_ones[] =
"ones";
2773 static const char __pyx_k_pack[] =
"pack";
2774 static const char __pyx_k_rank[] =
"rank";
2775 static const char __pyx_k_root[] =
"root";
2776 static const char __pyx_k_send[] =
"send";
2777 static const char __pyx_k_size[] =
"size";
2778 static const char __pyx_k_step[] =
"step";
2779 static const char __pyx_k_stop[] =
"stop";
2780 static const char __pyx_k_test[] =
"__test__";
2781 static const char __pyx_k_ASCII[] =
"ASCII";
2782 static const char __pyx_k_Abort[] =
"Abort";
2783 static const char __pyx_k_Error[] =
"Error: ";
2784 static const char __pyx_k_alpha[] =
"alpha";
2785 static const char __pyx_k_areas[] =
"areas";
2786 static const char __pyx_k_array[] =
"array";
2787 static const char __pyx_k_class[] =
"__class__";
2788 static const char __pyx_k_close[] =
"close";
2789 static const char __pyx_k_dtype[] =
"dtype";
2790 static const char __pyx_k_error[] =
"error";
2791 static const char __pyx_k_flags[] =
"flags";
2792 static const char __pyx_k_grads[] =
"grads";
2793 static const char __pyx_k_int32[] =
"int32";
2794 static const char __pyx_k_level[] =
"level";
2795 static const char __pyx_k_model[] =
"model";
2796 static const char __pyx_k_numpy[] =
"numpy";
2797 static const char __pyx_k_print[] =
"print";
2798 static const char __pyx_k_range[] =
"range";
2799 static const char __pyx_k_shape[] =
"shape";
2800 static const char __pyx_k_start[] =
"start";
2801 static const char __pyx_k_t_max[] =
"t_max";
2802 static const char __pyx_k_t_min[] =
"t_min";
2803 static const char __pyx_k_throw[] =
"throw";
2804 static const char __pyx_k_u_phi[] =
"u_phi";
2805 static const char __pyx_k_zeros[] =
"zeros";
2806 static const char __pyx_k_Commit[] =
"Commit";
2807 static const char __pyx_k_DOUBLE[] =
"DOUBLE";
2808 static const char __pyx_k_append[] =
"append";
2809 static const char __pyx_k_encode[] =
"encode";
2810 static const char __pyx_k_format[] =
"format";
2811 static const char __pyx_k_import[] =
"__import__";
2812 static const char __pyx_k_ls_phi[] =
"ls_phi";
2813 static const char __pyx_k_mpi4py[] =
"mpi4py";
2814 static const char __pyx_k_nNodes[] =
"nNodes";
2815 static const char __pyx_k_name_2[] =
"__name__";
2816 static const char __pyx_k_pickle[] =
"pickle";
2817 static const char __pyx_k_reduce[] =
"__reduce__";
2818 static const char __pyx_k_struct[] =
"struct";
2819 static const char __pyx_k_unpack[] =
"unpack";
2820 static const char __pyx_k_update[] =
"update";
2821 static const char __pyx_k_xrange[] =
"xrange";
2822 static const char __pyx_k_Gatherv[] =
"Gatherv";
2823 static const char __pyx_k_barrier[] =
"barrier";
2824 static const char __pyx_k_fortran[] =
"fortran";
2825 static const char __pyx_k_genexpr[] =
"genexpr";
2826 static const char __pyx_k_memview[] =
"memview";
2827 static const char __pyx_k_proteus[] =
"proteus";
2828 static const char __pyx_k_scalars[] =
"scalars";
2829 static const char __pyx_k_Ellipsis[] =
"Ellipsis";
2830 static const char __pyx_k_femSpace[] =
"femSpace";
2831 static const char __pyx_k_getstate[] =
"__getstate__";
2832 static const char __pyx_k_itemsize[] =
"itemsize";
2833 static const char __pyx_k_linspace[] =
"linspace";
2834 static const char __pyx_k_logEvent[] =
"logEvent";
2835 static const char __pyx_k_ntimes_i[] =
"ntimes_i";
2836 static const char __pyx_k_pyx_type[] =
"__pyx_type";
2837 static const char __pyx_k_setstate[] =
"__setstate__";
2838 static const char __pyx_k_tompi4py[] =
"tompi4py";
2839 static const char __pyx_k_TypeError[] =
"TypeError";
2840 static const char __pyx_k_abs_det_J[] =
"abs(det(J))";
2841 static const char __pyx_k_allreduce[] =
"allreduce";
2842 static const char __pyx_k_enumerate[] =
"enumerate";
2843 static const char __pyx_k_fixed_dir[] =
"fixed_dir: ";
2844 static const char __pyx_k_nSmoothIn[] =
"nSmoothIn";
2845 static const char __pyx_k_nodeArray[] =
"nodeArray";
2846 static const char __pyx_k_pyx_state[] =
"__pyx_state";
2847 static const char __pyx_k_reduce_ex[] =
"__reduce_ex__";
2848 static const char __pyx_k_Allgatherv[] =
"Allgatherv";
2849 static const char __pyx_k_IndexError[] =
"IndexError";
2850 static const char __pyx_k_ValueError[] =
"ValueError";
2851 static const char __pyx_k_detJ_array[] =
"detJ_array";
2852 static const char __pyx_k_globalMesh[] =
"globalMesh";
2853 static const char __pyx_k_nSmoothOut[] =
"nSmoothOut";
2854 static const char __pyx_k_pyx_result[] =
"__pyx_result";
2855 static const char __pyx_k_pyx_vtable[] =
"__pyx_vtable__";
2856 static const char __pyx_k_ImportError[] =
"ImportError";
2857 static const char __pyx_k_MemoryError[] =
"MemoryError";
2858 static const char __pyx_k_PickleError[] =
"PickleError";
2859 static const char __pyx_k_areas_nodes[] =
"areas_nodes";
2860 static const char __pyx_k_elementMaps[] =
"elementMaps";
2861 static const char __pyx_k_nodeArray_2[] =
"nodeArray_";
2862 static const char __pyx_k_node_number[] =
"node number";
2863 static const char __pyx_k_element_node[] =
"element node: ";
2864 static const char __pyx_k_getAreaValue[] =
"getAreaValue";
2865 static const char __pyx_k_nNodes_owned[] =
"nNodes_owned";
2866 static const char __pyx_k_pyx_checksum[] =
"__pyx_checksum";
2867 static const char __pyx_k_simultaneous[] =
"simultaneous";
2868 static const char __pyx_k_stringsource[] =
"stringsource";
2869 static const char __pyx_k_MeshSmoothing[] =
"MeshSmoothing";
2870 static const char __pyx_k_cCoefficients[] =
"cCoefficients";
2871 static const char __pyx_k_nNodes_global[] =
"nNodes_global";
2872 static const char __pyx_k_nodeStarArray[] =
"nodeStarArray";
2873 static const char __pyx_k_ntimes_solved[] =
"ntimes_solved";
2874 static const char __pyx_k_pyx_getbuffer[] =
"__pyx_getbuffer";
2875 static const char __pyx_k_reduce_cython[] =
"__reduce_cython__";
2876 static const char __pyx_k_AssertionError[] =
"AssertionError";
2877 static const char __pyx_k_Done_smoothing[] =
"Done smoothing";
2878 static const char __pyx_k_evaluateFunAtX[] =
"evaluateFunAtX";
2879 static const char __pyx_k_nNodes_element[] =
"nNodes_element";
2880 static const char __pyx_k_proteus_mprans[] =
"proteus.mprans";
2881 static const char __pyx_k_View_MemoryView[] =
"View.MemoryView";
2882 static const char __pyx_k_allocate_buffer[] =
"allocate_buffer";
2883 static const char __pyx_k_dtype_is_object[] =
"dtype_is_object";
2884 static const char __pyx_k_getInverseValue[] =
"getInverseValue";
2885 static const char __pyx_k_nElements_owned[] =
"nElements_owned";
2886 static const char __pyx_k_nodeStarOffsets[] =
"nodeStarOffsets";
2887 static const char __pyx_k_pyx_PickleError[] =
"__pyx_PickleError";
2888 static const char __pyx_k_recoveryAtNodes[] =
"recoveryAtNodes";
2889 static const char __pyx_k_setstate_cython[] =
"__setstate_cython__";
2890 static const char __pyx_k_getGradientValue[] =
"getGradientValue";
2891 static const char __pyx_k_getLevelSetValue[] =
"getLevelSetValue";
2892 static const char __pyx_k_nElements_global[] =
"nElements_global";
2893 static const char __pyx_k_nVariables_owned[] =
"nVariables_owned";
2894 static const char __pyx_k_nearestN_element[] =
"nearestN (element): ";
2895 static const char __pyx_k_smoothBoundaries[] =
"smoothBoundaries";
2896 static const char __pyx_k_type_should_be_1[] =
"type (should be 1): ";
2897 static const char __pyx_k_Create_contiguous[] =
"Create_contiguous";
2898 static const char __pyx_k_elementNodesArray[] =
"elementNodesArray";
2899 static const char __pyx_k_nodeElementsArray[] =
"nodeElementsArray";
2900 static const char __pyx_k_nodeMaterialTypes[] =
"nodeMaterialTypes";
2901 static const char __pyx_k_node_materialType[] =
"node materialType: ";
2902 static const char __pyx_k_proteus_Profiling[] =
"proteus.Profiling";
2903 static const char __pyx_k_pyx_unpickle_Enum[] =
"__pyx_unpickle_Enum";
2904 static const char __pyx_k_uOfXTatQuadrature[] =
"uOfXTatQuadrature";
2905 static const char __pyx_k_variable_nb_local[] =
"variable_nb_local";
2906 static const char __pyx_k_cline_in_traceback[] =
"cline_in_traceback";
2907 static const char __pyx_k_element_barycenter[] =
"element barycenter: ";
2908 static const char __pyx_k_nodeElementOffsets[] =
"nodeElementOffsets";
2909 static const char __pyx_k_smoothNodesLaplace[] =
"smoothNodesLaplace";
2910 static const char __pyx_k_strided_and_direct[] =
"<strided and direct>";
2911 static const char __pyx_k_fixedNodesBoolArray[] =
"fixedNodesBoolArray";
2912 static const char __pyx_k_node_new_coordinates[] =
"node new coordinates: ";
2913 static const char __pyx_k_node_old_coordinates[] =
"node old coordinates: ";
2914 static const char __pyx_k_pyCheckOwnedVariable[] =
"pyCheckOwnedVariable";
2915 static const char __pyx_k_strided_and_indirect[] =
"<strided and indirect>";
2916 static const char __pyx_k_contiguous_and_direct[] =
"<contiguous and direct>";
2917 static const char __pyx_k_elementNeighborsArray[] =
"elementNeighborsArray";
2918 static const char __pyx_k_getNonOwnedNodeValues[] =
"getNonOwnedNodeValues";
2919 static const char __pyx_k_MemoryView_of_r_object[] =
"<MemoryView of %r object>";
2920 static const char __pyx_k_elementBoundariesArray[] =
"elementBoundariesArray";
2921 static const char __pyx_k_nNodes_elementBoundary[] =
"nNodes_elementBoundary";
2922 static const char __pyx_k_MemoryView_of_r_at_0x_x[] =
"<MemoryView of %r at 0x%x>";
2923 static const char __pyx_k_contiguous_and_indirect[] =
"<contiguous and indirect>";
2924 static const char __pyx_k_elementBarycentersArray[] =
"elementBarycentersArray";
2925 static const char __pyx_k_gradientRecoveryAtNodes[] =
"gradientRecoveryAtNodes";
2926 static const char __pyx_k_mprans_cMoveMeshMonitor[] =
"mprans.cMoveMeshMonitor";
2927 static const char __pyx_k_recoveryAtNodesWeighted[] =
"recoveryAtNodesWeighted";
2928 static const char __pyx_k_Cannot_index_with_type_s[] =
"Cannot index with type '%s'";
2929 static const char __pyx_k_Done_pseudo_timestepping[] =
"Done pseudo-timestepping";
2930 static const char __pyx_k_Pseudo_time_stepping_t_t[] =
"Pseudo-time stepping t={t}";
2931 static const char __pyx_k_elementQuadratureWeights[] =
"elementQuadratureWeights";
2932 static const char __pyx_k_nElementBoundaries_owned[] =
"nElementBoundaries_owned";
2933 static const char __pyx_k_Invalid_shape_in_axis_d_d[] =
"Invalid shape in axis %d: %d.";
2934 static const char __pyx_k_elementBoundaryNodesArray[] =
"elementBoundaryNodesArray";
2935 static const char __pyx_k_nElementBoundaries_global[] =
"nElementBoundaries_global";
2936 static const char __pyx_k_elementBoundaryNormalsArray[] =
"elementBoundaryNormalsArray";
2937 static const char __pyx_k_itemsize_0_for_cython_array[] =
"itemsize <= 0 for cython.array";
2938 static const char __pyx_k_nodeOffsets_subdomain_owned[] =
"nodeOffsets_subdomain_owned";
2939 static const char __pyx_k_elementBoundaryElementsArray[] =
"elementBoundaryElementsArray";
2940 static const char __pyx_k_unable_to_allocate_array_data[] =
"unable to allocate array data.";
2941 static const char __pyx_k_elementOffsets_subdomain_owned[] =
"elementOffsets_subdomain_owned";
2942 static const char __pyx_k_exteriorElementBoundariesArray[] =
"exteriorElementBoundariesArray";
2943 static const char __pyx_k_nodeNumbering_subdomain2global[] =
"nodeNumbering_subdomain2global";
2944 static const char __pyx_k_strided_and_direct_or_indirect[] =
"<strided and direct or indirect>";
2945 static const char __pyx_k_b_i_and_nearestN_cannot_be_both[] =
"b_i and nearestN cannot be both -1";
2946 static const char __pyx_k_did_not_find_containing_element[] =
"did not find containing element! coords outside domain?";
2947 static const char __pyx_k_elementBoundaryBarycentersArray[] =
"elementBoundaryBarycentersArray";
2948 static const char __pyx_k_gradientRecoveryAtNodesWeighted[] =
"gradientRecoveryAtNodesWeighted";
2949 static const char __pyx_k_numpy_core_multiarray_failed_to[] =
"numpy.core.multiarray failed to import";
2950 static const char __pyx_k_proteus_mprans_cMoveMeshMonitor[] =
"proteus/mprans/cMoveMeshMonitor.pyx";
2951 static const char __pyx_k_variableOffsets_subdomain_owned[] =
"variableOffsets_subdomain_owned";
2952 static const char __pyx_k_Buffer_view_does_not_expose_stri[] =
"Buffer view does not expose strides";
2953 static const char __pyx_k_Can_only_create_a_buffer_that_is[] =
"Can only create a buffer that is contiguous in memory.";
2954 static const char __pyx_k_Cannot_assign_to_read_only_memor[] =
"Cannot assign to read-only memoryview";
2955 static const char __pyx_k_Cannot_create_writable_memory_vi[] =
"Cannot create writable memory view from read-only memoryview";
2956 static const char __pyx_k_Empty_shape_tuple_for_cython_arr[] =
"Empty shape tuple for cython.array";
2957 static const char __pyx_k_Incompatible_checksums_0x_x_vs_0[] =
"Incompatible checksums (0x%x vs (0xb068931, 0x82a3537, 0x6ae9995) = (name))";
2958 static const char __pyx_k_Indirect_dimensions_not_supporte[] =
"Indirect dimensions not supported";
2959 static const char __pyx_k_Invalid_mode_expected_c_or_fortr[] =
"Invalid mode, expected 'c' or 'fortran', got %s";
2960 static const char __pyx_k_Out_of_bounds_on_buffer_access_a[] =
"Out of bounds on buffer access (axis %d)";
2961 static const char __pyx_k_Pseudo_time_stepping_with_dt_eps[] =
"Pseudo-time stepping with dt={eps} ({t_min}<t<{t_max})";
2962 static const char __pyx_k_Smoothing_Mesh_with_Laplace_Smoo[] =
"Smoothing Mesh with Laplace Smoothing - ";
2963 static const char __pyx_k_Unable_to_convert_item_to_object[] =
"Unable to convert item to object";
2964 static const char __pyx_k_cCoefficients_cppPseudoTimeStepp[] =
"cCoefficients.cppPseudoTimeSteppingParallel.<locals>.genexpr";
2965 static const char __pyx_k_elementBoundaryNumbering_subdoma[] =
"elementBoundaryNumbering_subdomain2global";
2966 static const char __pyx_k_elementBoundaryOffsets_subdomain[] =
"elementBoundaryOffsets_subdomain_owned";
2967 static const char __pyx_k_elementNumbering_subdomain2globa[] =
"elementNumbering_subdomain2global";
2968 static const char __pyx_k_got_differing_extents_in_dimensi[] =
"got differing extents in dimension %d (got %d and %d)";
2969 static const char __pyx_k_no_default___reduce___due_to_non[] =
"no default __reduce__ due to non-trivial __cinit__";
2970 static const char __pyx_k_numpy_core_umath_failed_to_impor[] =
"numpy.core.umath failed to import";
2971 static const char __pyx_k_unable_to_allocate_shape_and_str[] =
"unable to allocate shape and strides.";
2972 static const char __pyx_k_variableNumbering_subdomain2glob[] =
"variableNumbering_subdomain2global";
2973 static const char __pyx_k_did_not_find_containing_element_2[] =
"did not find containing element! coords outside domain\077\077";
2974 static PyObject *__pyx_n_s_ASCII;
2975 static PyObject *__pyx_n_s_Abort;
2976 static PyObject *__pyx_n_s_Allgatherv;
2977 static PyObject *__pyx_n_s_AssertionError;
2978 static PyObject *__pyx_kp_s_Buffer_view_does_not_expose_stri;
2979 static PyObject *__pyx_n_s_C;
2980 static PyObject *__pyx_kp_s_Can_only_create_a_buffer_that_is;
2981 static PyObject *__pyx_kp_s_Cannot_assign_to_read_only_memor;
2982 static PyObject *__pyx_kp_s_Cannot_create_writable_memory_vi;
2983 static PyObject *__pyx_kp_s_Cannot_index_with_type_s;
2984 static PyObject *__pyx_n_s_Comm;
2985 static PyObject *__pyx_n_s_Commit;
2986 static PyObject *__pyx_n_s_Create_contiguous;
2987 static PyObject *__pyx_n_s_DOUBLE;
2988 static PyObject *__pyx_kp_s_Done_pseudo_timestepping;
2989 static PyObject *__pyx_kp_s_Done_smoothing;
2990 static PyObject *__pyx_n_s_Ellipsis;
2991 static PyObject *__pyx_kp_s_Empty_shape_tuple_for_cython_arr;
2992 static PyObject *__pyx_kp_s_Error;
2993 static PyObject *__pyx_n_s_Gatherv;
2994 static PyObject *__pyx_n_s_INT;
2995 static PyObject *__pyx_n_s_ImportError;
2996 static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0;
2997 static PyObject *__pyx_n_s_IndexError;
2998 static PyObject *__pyx_kp_s_Indirect_dimensions_not_supporte;
2999 static PyObject *__pyx_kp_s_Invalid_mode_expected_c_or_fortr;
3000 static PyObject *__pyx_kp_s_Invalid_shape_in_axis_d_d;
3001 static PyObject *__pyx_n_s_MPI;
3002 static PyObject *__pyx_n_s_MemoryError;
3003 static PyObject *__pyx_kp_s_MemoryView_of_r_at_0x_x;
3004 static PyObject *__pyx_kp_s_MemoryView_of_r_object;
3005 static PyObject *__pyx_n_s_MeshSmoothing;
3006 static PyObject *__pyx_n_b_O;
3007 static PyObject *__pyx_kp_s_Out_of_bounds_on_buffer_access_a;
3008 static PyObject *__pyx_n_s_PickleError;
3009 static PyObject *__pyx_kp_s_Pseudo_time_stepping_t_t;
3010 static PyObject *__pyx_kp_s_Pseudo_time_stepping_with_dt_eps;
3011 static PyObject *__pyx_n_s_SUM;
3012 static PyObject *__pyx_kp_s_Smoothing_Mesh_with_Laplace_Smoo;
3013 static PyObject *__pyx_kp_b_T;
3014 static PyObject *__pyx_n_s_TypeError;
3015 static PyObject *__pyx_kp_s_Unable_to_convert_item_to_object;
3016 static PyObject *__pyx_n_s_ValueError;
3017 static PyObject *__pyx_n_s_View_MemoryView;
3018 static PyObject *__pyx_kp_b__31;
3019 static PyObject *__pyx_kp_b__32;
3020 static PyObject *__pyx_kp_b__33;
3021 static PyObject *__pyx_kp_b__34;
3022 static PyObject *__pyx_kp_u__35;
3023 static PyObject *__pyx_kp_s_abs_det_J;
3024 static PyObject *__pyx_n_s_allocate_buffer;
3025 static PyObject *__pyx_n_s_allreduce;
3026 static PyObject *__pyx_n_s_alpha;
3027 static PyObject *__pyx_n_s_append;
3028 static PyObject *__pyx_n_s_areas;
3029 static PyObject *__pyx_n_s_areas_nodes;
3030 static PyObject *__pyx_n_s_args;
3031 static PyObject *__pyx_n_s_array;
3032 static PyObject *__pyx_n_s_axis;
3033 static PyObject *__pyx_kp_s_b_i_and_nearestN_cannot_be_both;
3034 static PyObject *__pyx_n_s_barrier;
3035 static PyObject *__pyx_n_s_base;
3036 static PyObject *__pyx_n_s_c;
3037 static PyObject *__pyx_n_u_c;
3038 static PyObject *__pyx_n_s_cCoefficients;
3039 static PyObject *__pyx_n_s_cCoefficients_cppPseudoTimeStepp;
3040 static PyObject *__pyx_n_s_class;
3041 static PyObject *__pyx_n_s_cline_in_traceback;
3042 static PyObject *__pyx_n_s_close;
3043 static PyObject *__pyx_n_s_comm;
3044 static PyObject *__pyx_kp_s_contiguous_and_direct;
3045 static PyObject *__pyx_kp_s_contiguous_and_indirect;
3046 static PyObject *__pyx_n_s_detJ_array;
3047 static PyObject *__pyx_n_s_dict;
3048 static PyObject *__pyx_kp_s_did_not_find_containing_element;
3049 static PyObject *__pyx_kp_s_did_not_find_containing_element_2;
3050 static PyObject *__pyx_kp_s_dot;
3051 static PyObject *__pyx_n_s_dtype;
3052 static PyObject *__pyx_n_s_dtype_is_object;
3053 static PyObject *__pyx_n_s_elementBarycentersArray;
3054 static PyObject *__pyx_n_s_elementBoundariesArray;
3055 static PyObject *__pyx_n_s_elementBoundaryBarycentersArray;
3056 static PyObject *__pyx_n_s_elementBoundaryElementsArray;
3057 static PyObject *__pyx_n_s_elementBoundaryNodesArray;
3058 static PyObject *__pyx_n_s_elementBoundaryNormalsArray;
3059 static PyObject *__pyx_n_s_elementBoundaryNumbering_subdoma;
3060 static PyObject *__pyx_n_s_elementBoundaryOffsets_subdomain;
3061 static PyObject *__pyx_n_s_elementMaps;
3062 static PyObject *__pyx_n_s_elementNeighborsArray;
3063 static PyObject *__pyx_n_s_elementNodesArray;
3064 static PyObject *__pyx_n_s_elementNumbering_subdomain2globa;
3065 static PyObject *__pyx_n_s_elementOffsets_subdomain_owned;
3066 static PyObject *__pyx_n_s_elementQuadratureWeights;
3067 static PyObject *__pyx_kp_s_element_barycenter;
3068 static PyObject *__pyx_kp_s_element_node;
3069 static PyObject *__pyx_n_s_encode;
3070 static PyObject *__pyx_n_s_end;
3071 static PyObject *__pyx_n_s_enumerate;
3072 static PyObject *__pyx_n_s_eps;
3073 static PyObject *__pyx_n_s_error;
3074 static PyObject *__pyx_n_s_evaluateFunAtX;
3075 static PyObject *__pyx_n_s_exteriorElementBoundariesArray;
3076 static PyObject *__pyx_n_s_f;
3077 static PyObject *__pyx_n_s_femSpace;
3078 static PyObject *__pyx_n_s_file;
3079 static PyObject *__pyx_n_s_fixedNodesBoolArray;
3080 static PyObject *__pyx_kp_s_fixed_dir;
3081 static PyObject *__pyx_n_s_flags;
3082 static PyObject *__pyx_n_s_format;
3083 static PyObject *__pyx_n_s_fortran;
3084 static PyObject *__pyx_n_u_fortran;
3085 static PyObject *__pyx_n_s_genexpr;
3086 static PyObject *__pyx_n_s_get;
3087 static PyObject *__pyx_n_s_getAreaValue;
3088 static PyObject *__pyx_n_s_getGradientValue;
3089 static PyObject *__pyx_n_s_getInverseValue;
3090 static PyObject *__pyx_n_s_getLevelSetValue;
3091 static PyObject *__pyx_n_s_getNonOwnedNodeValues;
3092 static PyObject *__pyx_n_s_getstate;
3093 static PyObject *__pyx_n_s_globalMesh;
3094 static PyObject *__pyx_kp_s_got_differing_extents_in_dimensi;
3095 static PyObject *__pyx_n_s_gradientRecoveryAtNodes;
3096 static PyObject *__pyx_n_s_gradientRecoveryAtNodesWeighted;
3097 static PyObject *__pyx_n_s_grads;
3098 static PyObject *__pyx_n_s_id;
3099 static PyObject *__pyx_n_s_import;
3100 static PyObject *__pyx_n_s_int32;
3101 static PyObject *__pyx_n_s_itemsize;
3102 static PyObject *__pyx_kp_s_itemsize_0_for_cython_array;
3103 static PyObject *__pyx_n_s_join;
3104 static PyObject *__pyx_n_s_level;
3105 static PyObject *__pyx_n_s_linspace;
3106 static PyObject *__pyx_n_s_logEvent;
3107 static PyObject *__pyx_n_s_ls_phi;
3108 static PyObject *__pyx_n_s_main;
3109 static PyObject *__pyx_n_s_memview;
3110 static PyObject *__pyx_n_s_mesh;
3111 static PyObject *__pyx_n_s_mode;
3112 static PyObject *__pyx_n_s_model;
3113 static PyObject *__pyx_n_s_mpi4py;
3114 static PyObject *__pyx_n_s_mprans_cMoveMeshMonitor;
3115 static PyObject *__pyx_n_s_ms;
3116 static PyObject *__pyx_n_s_nElementBoundaries_global;
3117 static PyObject *__pyx_n_s_nElementBoundaries_owned;
3118 static PyObject *__pyx_n_s_nElements_global;
3119 static PyObject *__pyx_n_s_nElements_owned;
3120 static PyObject *__pyx_n_s_nNodes;
3121 static PyObject *__pyx_n_s_nNodes_element;
3122 static PyObject *__pyx_n_s_nNodes_elementBoundary;
3123 static PyObject *__pyx_n_s_nNodes_global;
3124 static PyObject *__pyx_n_s_nNodes_owned;
3125 static PyObject *__pyx_n_s_nSmoothIn;
3126 static PyObject *__pyx_n_s_nSmoothOut;
3127 static PyObject *__pyx_n_s_nVariables_owned;
3128 static PyObject *__pyx_n_s_name;
3129 static PyObject *__pyx_n_s_name_2;
3130 static PyObject *__pyx_n_s_nd;
3131 static PyObject *__pyx_n_s_ndim;
3132 static PyObject *__pyx_kp_s_nearestN_element;
3133 static PyObject *__pyx_n_s_new;
3134 static PyObject *__pyx_kp_s_no_default___reduce___due_to_non;
3135 static PyObject *__pyx_n_s_nodeArray;
3136 static PyObject *__pyx_n_s_nodeArray_2;
3137 static PyObject *__pyx_n_s_nodeElementOffsets;
3138 static PyObject *__pyx_n_s_nodeElementsArray;
3139 static PyObject *__pyx_n_s_nodeMaterialTypes;
3140 static PyObject *__pyx_n_s_nodeNumbering_subdomain2global;
3141 static PyObject *__pyx_n_s_nodeOffsets_subdomain_owned;
3142 static PyObject *__pyx_n_s_nodeStarArray;
3143 static PyObject *__pyx_n_s_nodeStarOffsets;
3144 static PyObject *__pyx_kp_s_node_materialType;
3145 static PyObject *__pyx_kp_s_node_new_coordinates;
3146 static PyObject *__pyx_kp_s_node_number;
3147 static PyObject *__pyx_kp_s_node_old_coordinates;
3148 static PyObject *__pyx_n_s_np;
3149 static PyObject *__pyx_n_s_ntimes_i;
3150 static PyObject *__pyx_n_s_ntimes_solved;
3151 static PyObject *__pyx_n_s_numpy;
3152 static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to;
3153 static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor;
3154 static PyObject *__pyx_n_s_obj;
3155 static PyObject *__pyx_n_s_ones;
3156 static PyObject *__pyx_n_s_op;
3157 static PyObject *__pyx_n_s_pack;
3158 static PyObject *__pyx_n_s_pickle;
3159 static PyObject *__pyx_n_s_print;
3160 static PyObject *__pyx_n_s_proteus;
3161 static PyObject *__pyx_n_s_proteus_Profiling;
3162 static PyObject *__pyx_n_s_proteus_mprans;
3163 static PyObject *__pyx_kp_s_proteus_mprans_cMoveMeshMonitor;
3164 static PyObject *__pyx_n_s_pyCheckOwnedVariable;
3165 static PyObject *__pyx_n_s_pyx_PickleError;
3166 static PyObject *__pyx_n_s_pyx_checksum;
3167 static PyObject *__pyx_n_s_pyx_getbuffer;
3168 static PyObject *__pyx_n_s_pyx_result;
3169 static PyObject *__pyx_n_s_pyx_state;
3170 static PyObject *__pyx_n_s_pyx_type;
3171 static PyObject *__pyx_n_s_pyx_unpickle_Enum;
3172 static PyObject *__pyx_n_s_pyx_vtable;
3173 static PyObject *__pyx_n_s_q;
3174 static PyObject *__pyx_n_s_r;
3175 static PyObject *__pyx_n_s_range;
3176 static PyObject *__pyx_n_s_rank;
3177 static PyObject *__pyx_n_s_recoveryAtNodes;
3178 static PyObject *__pyx_n_s_recoveryAtNodesWeighted;
3179 static PyObject *__pyx_n_s_reduce;
3180 static PyObject *__pyx_n_s_reduce_cython;
3181 static PyObject *__pyx_n_s_reduce_ex;
3182 static PyObject *__pyx_n_s_root;
3183 static PyObject *__pyx_kp_u_s;
3184 static PyObject *__pyx_n_s_scalars;
3185 static PyObject *__pyx_n_s_send;
3186 static PyObject *__pyx_n_s_setstate;
3187 static PyObject *__pyx_n_s_setstate_cython;
3188 static PyObject *__pyx_n_s_shape;
3189 static PyObject *__pyx_n_s_simultaneous;
3190 static PyObject *__pyx_n_s_size;
3191 static PyObject *__pyx_n_s_smoothBoundaries;
3192 static PyObject *__pyx_n_s_smoothNodesLaplace;
3193 static PyObject *__pyx_n_s_start;
3194 static PyObject *__pyx_n_s_step;
3195 static PyObject *__pyx_n_s_stop;
3196 static PyObject *__pyx_kp_s_strided_and_direct;
3197 static PyObject *__pyx_kp_s_strided_and_direct_or_indirect;
3198 static PyObject *__pyx_kp_s_strided_and_indirect;
3199 static PyObject *__pyx_kp_s_stringsource;
3200 static PyObject *__pyx_n_s_struct;
3201 static PyObject *__pyx_n_s_t;
3202 static PyObject *__pyx_n_s_t_max;
3203 static PyObject *__pyx_n_s_t_min;
3204 static PyObject *__pyx_n_s_test;
3205 static PyObject *__pyx_n_s_throw;
3206 static PyObject *__pyx_n_s_tompi4py;
3207 static PyObject *__pyx_kp_s_type_should_be_1;
3208 static PyObject *__pyx_n_s_u;
3209 static PyObject *__pyx_n_s_uOfXTatQuadrature;
3210 static PyObject *__pyx_n_s_u_phi;
3211 static PyObject *__pyx_kp_s_unable_to_allocate_array_data;
3212 static PyObject *__pyx_kp_s_unable_to_allocate_shape_and_str;
3213 static PyObject *__pyx_n_s_unpack;
3214 static PyObject *__pyx_n_s_update;
3215 static PyObject *__pyx_n_s_variableNumbering_subdomain2glob;
3216 static PyObject *__pyx_n_s_variableOffsets_subdomain_owned;
3217 static PyObject *__pyx_n_s_variable_nb_local;
3218 static PyObject *__pyx_n_s_x;
3219 static PyObject *__pyx_n_s_xrange;
3220 static PyObject *__pyx_n_s_xx;
3221 static PyObject *__pyx_n_s_zeros;
3222 static int __pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients___cinit__(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self);
3223 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_2attachPyCoefficients(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self, PyObject *__pyx_v_pyCoefficients);
3224 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_4preStep(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self);
3225 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_6postStep(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self);
3226 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_8pseudoTimeStepping(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self, PyObject *__pyx_v_xx, PyObject *__pyx_v_eps);
3227 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_genexpr(PyObject *__pyx_self);
3228 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_3genexpr(PyObject *__pyx_self);
3229 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_6genexpr(PyObject *__pyx_self);
3230 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_9genexpr(PyObject *__pyx_self);
3231 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_14pyCoefficients___get__(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self);
3232 static int __pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_14pyCoefficients_2__set__(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self, PyObject *__pyx_v_value);
3233 static int __pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_14pyCoefficients_4__del__(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self);
3234 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_1C___get__(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self);
3235 static int __pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_1C_2__set__(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self, PyObject *__pyx_v_value);
3236 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_10__reduce_cython__(CYTHON_UNUSED
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self);
3237 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_12__setstate_cython__(CYTHON_UNUSED
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state);
3238 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_recoveryAtNodes(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_scalars, __Pyx_memviewslice __pyx_v_nodeElementsArray, __Pyx_memviewslice __pyx_v_nodeElementOffsets);
3239 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_2recoveryAtNodesWeighted(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_scalars, __Pyx_memviewslice __pyx_v_nodeElementsArray, __Pyx_memviewslice __pyx_v_nodeElementOffsets, __Pyx_memviewslice __pyx_v_detJ_array,
int __pyx_v_nNodes);
3240 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_4gradientRecoveryAtNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_grads, PyObject *__pyx_v_nodeElementsArray, PyObject *__pyx_v_nodeElementOffsets, PyObject *__pyx_v_nd);
3241 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_6gradientRecoveryAtNodesWeighted(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_grads, __Pyx_memviewslice __pyx_v_nodeElementsArray, __Pyx_memviewslice __pyx_v_nodeElementOffsets, __Pyx_memviewslice __pyx_v_detJ_array,
int __pyx_v_nd);
3242 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_8pyCheckOwnedVariable(CYTHON_UNUSED PyObject *__pyx_self,
int __pyx_v_variable_nb_local,
int __pyx_v_rank,
int __pyx_v_nVariables_owned, __Pyx_memviewslice __pyx_v_variableNumbering_subdomain2global, __Pyx_memviewslice __pyx_v_variableOffsets_subdomain_owned);
3243 static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(
struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, PyObject *__pyx_v_format, PyObject *__pyx_v_mode,
int __pyx_v_allocate_buffer);
3244 static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(
struct __pyx_array_obj *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags);
3245 static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(
struct __pyx_array_obj *__pyx_v_self);
3246 static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(
struct __pyx_array_obj *__pyx_v_self);
3247 static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(
struct __pyx_array_obj *__pyx_v_self);
3248 static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(
struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_attr);
3249 static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__(
struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item);
3250 static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(
struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value);
3251 static PyObject *__pyx_pf___pyx_array___reduce_cython__(CYTHON_UNUSED
struct __pyx_array_obj *__pyx_v_self);
3252 static PyObject *__pyx_pf___pyx_array_2__setstate_cython__(CYTHON_UNUSED
struct __pyx_array_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state);
3253 static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(
struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name);
3254 static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(
struct __pyx_MemviewEnum_obj *__pyx_v_self);
3255 static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(
struct __pyx_MemviewEnum_obj *__pyx_v_self);
3256 static PyObject *__pyx_pf___pyx_MemviewEnum_2__setstate_cython__(
struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v___pyx_state);
3257 static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj,
int __pyx_v_flags,
int __pyx_v_dtype_is_object);
3258 static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(
struct __pyx_memoryview_obj *__pyx_v_self);
3259 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index);
3260 static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value);
3261 static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(
struct __pyx_memoryview_obj *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags);
3262 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3263 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3264 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3265 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3266 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3267 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3268 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3269 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3270 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3271 static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(
struct __pyx_memoryview_obj *__pyx_v_self);
3272 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(
struct __pyx_memoryview_obj *__pyx_v_self);
3273 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(
struct __pyx_memoryview_obj *__pyx_v_self);
3274 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(
struct __pyx_memoryview_obj *__pyx_v_self);
3275 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(
struct __pyx_memoryview_obj *__pyx_v_self);
3276 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(
struct __pyx_memoryview_obj *__pyx_v_self);
3277 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(
struct __pyx_memoryview_obj *__pyx_v_self);
3278 static PyObject *__pyx_pf___pyx_memoryview___reduce_cython__(CYTHON_UNUSED
struct __pyx_memoryview_obj *__pyx_v_self);
3279 static PyObject *__pyx_pf___pyx_memoryview_2__setstate_cython__(CYTHON_UNUSED
struct __pyx_memoryview_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state);
3280 static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(
struct __pyx_memoryviewslice_obj *__pyx_v_self);
3281 static PyObject *__pyx_pf_15View_dot_MemoryView_16_memoryviewslice_4base___get__(
struct __pyx_memoryviewslice_obj *__pyx_v_self);
3282 static PyObject *__pyx_pf___pyx_memoryviewslice___reduce_cython__(CYTHON_UNUSED
struct __pyx_memoryviewslice_obj *__pyx_v_self);
3283 static PyObject *__pyx_pf___pyx_memoryviewslice_2__setstate_cython__(CYTHON_UNUSED
struct __pyx_memoryviewslice_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state);
3284 static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type,
long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state);
3285 static PyObject *__pyx_tp_new_6mprans_16cMoveMeshMonitor_cCoefficients(PyTypeObject *t, PyObject *a, PyObject *k);
3286 static PyObject *__pyx_tp_new_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel(PyTypeObject *t, PyObject *a, PyObject *k);
3287 static PyObject *__pyx_tp_new_6mprans_16cMoveMeshMonitor___pyx_scope_struct_1_genexpr(PyTypeObject *t, PyObject *a, PyObject *k);
3288 static PyObject *__pyx_tp_new_6mprans_16cMoveMeshMonitor___pyx_scope_struct_2_genexpr(PyTypeObject *t, PyObject *a, PyObject *k);
3289 static PyObject *__pyx_tp_new_6mprans_16cMoveMeshMonitor___pyx_scope_struct_3_genexpr(PyTypeObject *t, PyObject *a, PyObject *k);
3290 static PyObject *__pyx_tp_new_6mprans_16cMoveMeshMonitor___pyx_scope_struct_4_genexpr(PyTypeObject *t, PyObject *a, PyObject *k);
3291 static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k);
3292 static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, PyObject *a, PyObject *k);
3293 static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k);
3294 static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k);
3295 static PyObject *__pyx_float_0_;
3296 static PyObject *__pyx_float_1_;
3297 static PyObject *__pyx_int_0;
3298 static PyObject *__pyx_int_1;
3299 static PyObject *__pyx_int_3;
3300 static PyObject *__pyx_int_15;
3301 static PyObject *__pyx_int_112105877;
3302 static PyObject *__pyx_int_136983863;
3303 static PyObject *__pyx_int_184977713;
3304 static PyObject *__pyx_int_neg_1;
3305 static PyObject *__pyx_tuple_;
3306 static PyObject *__pyx_slice__4;
3307 static PyObject *__pyx_tuple__2;
3308 static PyObject *__pyx_tuple__3;
3309 static PyObject *__pyx_tuple__5;
3310 static PyObject *__pyx_tuple__6;
3311 static PyObject *__pyx_tuple__7;
3312 static PyObject *__pyx_tuple__8;
3313 static PyObject *__pyx_tuple__9;
3314 static PyObject *__pyx_slice__26;
3315 static PyObject *__pyx_tuple__10;
3316 static PyObject *__pyx_tuple__11;
3317 static PyObject *__pyx_tuple__12;
3318 static PyObject *__pyx_tuple__13;
3319 static PyObject *__pyx_tuple__14;
3320 static PyObject *__pyx_tuple__15;
3321 static PyObject *__pyx_tuple__16;
3322 static PyObject *__pyx_tuple__17;
3323 static PyObject *__pyx_tuple__18;
3324 static PyObject *__pyx_tuple__19;
3325 static PyObject *__pyx_tuple__20;
3326 static PyObject *__pyx_tuple__21;
3327 static PyObject *__pyx_tuple__22;
3328 static PyObject *__pyx_tuple__23;
3329 static PyObject *__pyx_tuple__24;
3330 static PyObject *__pyx_tuple__25;
3331 static PyObject *__pyx_tuple__27;
3332 static PyObject *__pyx_tuple__28;
3333 static PyObject *__pyx_tuple__29;
3334 static PyObject *__pyx_tuple__30;
3335 static PyObject *__pyx_tuple__36;
3336 static PyObject *__pyx_tuple__38;
3337 static PyObject *__pyx_tuple__40;
3338 static PyObject *__pyx_tuple__42;
3339 static PyObject *__pyx_tuple__44;
3340 static PyObject *__pyx_tuple__46;
3341 static PyObject *__pyx_tuple__47;
3342 static PyObject *__pyx_tuple__48;
3343 static PyObject *__pyx_tuple__49;
3344 static PyObject *__pyx_tuple__50;
3345 static PyObject *__pyx_tuple__51;
3346 static PyObject *__pyx_codeobj__37;
3347 static PyObject *__pyx_codeobj__39;
3348 static PyObject *__pyx_codeobj__41;
3349 static PyObject *__pyx_codeobj__43;
3350 static PyObject *__pyx_codeobj__45;
3351 static PyObject *__pyx_codeobj__52;
3363 static int __pyx_pw_6mprans_16cMoveMeshMonitor_13cCoefficients_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds);
3364 static int __pyx_pw_6mprans_16cMoveMeshMonitor_13cCoefficients_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
3366 __Pyx_RefNannyDeclarations
3367 __Pyx_RefNannySetupContext(
"__cinit__ (wrapper)", 0);
3368 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
3369 __Pyx_RaiseArgtupleInvalid(
"__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args));
return -1;}
3370 if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds,
"__cinit__", 0)))
return -1;
3371 __pyx_r = __pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients___cinit__(((
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *)__pyx_v_self));
3374 __Pyx_RefNannyFinishContext();
3378 static int __pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients___cinit__(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self) {
3380 __Pyx_RefNannyDeclarations
3381 __Pyx_RefNannySetupContext(
"__cinit__", 0);
3390 __pyx_v_self->C = 1.;
3402 __Pyx_RefNannyFinishContext();
3415 static PyObject *__pyx_pw_6mprans_16cMoveMeshMonitor_13cCoefficients_3attachPyCoefficients(PyObject *__pyx_v_self, PyObject *__pyx_v_pyCoefficients);
3416 static PyObject *__pyx_pw_6mprans_16cMoveMeshMonitor_13cCoefficients_3attachPyCoefficients(PyObject *__pyx_v_self, PyObject *__pyx_v_pyCoefficients) {
3417 PyObject *__pyx_r = 0;
3418 __Pyx_RefNannyDeclarations
3419 __Pyx_RefNannySetupContext(
"attachPyCoefficients (wrapper)", 0);
3420 __pyx_r = __pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_2attachPyCoefficients(((
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *)__pyx_v_self), ((PyObject *)__pyx_v_pyCoefficients));
3423 __Pyx_RefNannyFinishContext();
3427 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_2attachPyCoefficients(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self, PyObject *__pyx_v_pyCoefficients) {
3428 PyObject *__pyx_r = NULL;
3429 __Pyx_RefNannyDeclarations
3430 __Pyx_RefNannySetupContext(
"attachPyCoefficients", 0);
3439 __Pyx_INCREF(__pyx_v_pyCoefficients);
3440 __Pyx_GIVEREF(__pyx_v_pyCoefficients);
3441 __Pyx_GOTREF(__pyx_v_self->pyCoefficients);
3442 __Pyx_DECREF(__pyx_v_self->pyCoefficients);
3443 __pyx_v_self->pyCoefficients = __pyx_v_pyCoefficients;
3454 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3455 __Pyx_XGIVEREF(__pyx_r);
3456 __Pyx_RefNannyFinishContext();
3469 static PyObject *__pyx_pw_6mprans_16cMoveMeshMonitor_13cCoefficients_5preStep(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused);
3470 static PyObject *__pyx_pw_6mprans_16cMoveMeshMonitor_13cCoefficients_5preStep(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
3471 PyObject *__pyx_r = 0;
3472 __Pyx_RefNannyDeclarations
3473 __Pyx_RefNannySetupContext(
"preStep (wrapper)", 0);
3474 __pyx_r = __pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_4preStep(((
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *)__pyx_v_self));
3477 __Pyx_RefNannyFinishContext();
3481 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_4preStep(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self) {
3482 PyObject *__pyx_v_pc = NULL;
3483 PyObject *__pyx_r = NULL;
3484 __Pyx_RefNannyDeclarations
3485 PyObject *__pyx_t_1 = NULL;
3486 __Pyx_memviewslice __pyx_t_2 = { 0, 0, { 0 }, { 0 }, { 0 } };
3487 PyObject *__pyx_t_3 = NULL;
3488 __Pyx_memviewslice __pyx_t_4 = { 0, 0, { 0 }, { 0 }, { 0 } };
3489 __Pyx_memviewslice __pyx_t_5 = { 0, 0, { 0 }, { 0 }, { 0 } };
3490 __Pyx_memviewslice __pyx_t_6 = { 0, 0, { 0 }, { 0 }, { 0 } };
3491 __Pyx_memviewslice __pyx_t_7 = { 0, 0, { 0 }, { 0 }, { 0 } };
3492 __Pyx_memviewslice __pyx_t_8 = { 0, 0, { 0 }, { 0 }, { 0 } };
3494 int __pyx_lineno = 0;
3495 const char *__pyx_filename = NULL;
3496 int __pyx_clineno = 0;
3497 __Pyx_RefNannySetupContext(
"preStep", 0);
3506 __pyx_t_1 = __pyx_v_self->pyCoefficients;
3507 __Pyx_INCREF(__pyx_t_1);
3508 __pyx_v_pc = __pyx_t_1;
3518 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_uOfXTatQuadrature);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error)
3519 __Pyx_GOTREF(__pyx_t_1);
3520 __pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(__pyx_t_1, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 29, __pyx_L1_error)
3521 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3530 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_model);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30, __pyx_L1_error)
3531 __Pyx_GOTREF(__pyx_t_1);
3532 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_q);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error)
3533 __Pyx_GOTREF(__pyx_t_3);
3534 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3535 __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_kp_s_abs_det_J);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30, __pyx_L1_error)
3536 __Pyx_GOTREF(__pyx_t_1);
3537 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3538 __pyx_t_4 = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(__pyx_t_1, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_4.memview)) __PYX_ERR(0, 30, __pyx_L1_error)
3539 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3548 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_model);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error)
3549 __Pyx_GOTREF(__pyx_t_1);
3550 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_elementQuadratureWeights);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31, __pyx_L1_error)
3551 __Pyx_GOTREF(__pyx_t_3);
3552 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3553 __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_tuple_);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error)
3554 __Pyx_GOTREF(__pyx_t_1);
3555 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3556 __pyx_t_5 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_t_1, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 31, __pyx_L1_error)
3557 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3566 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_areas);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
3567 __Pyx_GOTREF(__pyx_t_1);
3568 __pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_ds_double(__pyx_t_1, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 32, __pyx_L1_error)
3569 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3578 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_model);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error)
3579 __Pyx_GOTREF(__pyx_t_1);
3580 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_q);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error)
3581 __Pyx_GOTREF(__pyx_t_3);
3582 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3583 __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_tuple__2);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error)
3584 __Pyx_GOTREF(__pyx_t_1);
3585 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3586 __pyx_t_7 = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(__pyx_t_1, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_7.memview)) __PYX_ERR(0, 33, __pyx_L1_error)
3587 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3596 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_model);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error)
3597 __Pyx_GOTREF(__pyx_t_1);
3598 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_q);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error)
3599 __Pyx_GOTREF(__pyx_t_3);
3600 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3601 __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_tuple__3);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error)
3602 __Pyx_GOTREF(__pyx_t_1);
3603 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3604 __pyx_t_8 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_double(__pyx_t_1, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_8.memview)) __PYX_ERR(0, 34, __pyx_L1_error)
3605 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3614 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_mesh);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error)
3615 __Pyx_GOTREF(__pyx_t_1);
3616 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_nElements_owned);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error)
3617 __Pyx_GOTREF(__pyx_t_3);
3618 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3619 __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_3);
if (unlikely((__pyx_t_9 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 35, __pyx_L1_error)
3620 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3629 __pyx_t_3 = ((
struct __pyx_vtabstruct_6mprans_16cMoveMeshMonitor_cCoefficients *)__pyx_v_self->__pyx_vtab)->cppPreStep(__pyx_v_self, __pyx_t_2, __pyx_t_4, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29, __pyx_L1_error)
3630 __Pyx_GOTREF(__pyx_t_3);
3631 __PYX_XDEC_MEMVIEW(&__pyx_t_2, 1);
3632 __pyx_t_2.memview = NULL;
3633 __pyx_t_2.data = NULL;
3634 __PYX_XDEC_MEMVIEW(&__pyx_t_4, 1);
3635 __pyx_t_4.memview = NULL;
3636 __pyx_t_4.data = NULL;
3637 __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1);
3638 __pyx_t_5.memview = NULL;
3639 __pyx_t_5.data = NULL;
3640 __PYX_XDEC_MEMVIEW(&__pyx_t_6, 1);
3641 __pyx_t_6.memview = NULL;
3642 __pyx_t_6.data = NULL;
3643 __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
3644 __pyx_t_7.memview = NULL;
3645 __pyx_t_7.data = NULL;
3646 __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1);
3647 __pyx_t_8.memview = NULL;
3648 __pyx_t_8.data = NULL;
3649 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3660 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3663 __Pyx_XDECREF(__pyx_t_1);
3664 __PYX_XDEC_MEMVIEW(&__pyx_t_2, 1);
3665 __Pyx_XDECREF(__pyx_t_3);
3666 __PYX_XDEC_MEMVIEW(&__pyx_t_4, 1);
3667 __PYX_XDEC_MEMVIEW(&__pyx_t_5, 1);
3668 __PYX_XDEC_MEMVIEW(&__pyx_t_6, 1);
3669 __PYX_XDEC_MEMVIEW(&__pyx_t_7, 1);
3670 __PYX_XDEC_MEMVIEW(&__pyx_t_8, 1);
3671 __Pyx_AddTraceback(
"mprans.cMoveMeshMonitor.cCoefficients.preStep", __pyx_clineno, __pyx_lineno, __pyx_filename);
3674 __Pyx_XDECREF(__pyx_v_pc);
3675 __Pyx_XGIVEREF(__pyx_r);
3676 __Pyx_RefNannyFinishContext();
3688 static PyObject *__pyx_f_6mprans_16cMoveMeshMonitor_13cCoefficients_cppPreStep(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self, __Pyx_memviewslice __pyx_v_q_uOfX, __Pyx_memviewslice __pyx_v_q_J, __Pyx_memviewslice __pyx_v_q_weights, __Pyx_memviewslice __pyx_v_areas_, __Pyx_memviewslice __pyx_v_q_rci, __Pyx_memviewslice __pyx_v_q_fci,
int __pyx_v_nElements_owned) {
3689 double __pyx_v_integral_1_over_f;
3690 CYTHON_UNUSED
int __pyx_v_N_eN;
3692 double __pyx_v_area;
3697 PyObject *__pyx_v_comm = NULL;
3700 PyObject *__pyx_v_pc = 0;
3701 PyObject *__pyx_v_mesh = 0;
3703 __Pyx_memviewslice __pyx_v_elementBoundaryBarycentersArray = { 0, 0, { 0 }, { 0 }, { 0 } };
3704 __Pyx_memviewslice __pyx_v_elementBarycentersArray = { 0, 0, { 0 }, { 0 }, { 0 } };
3705 __Pyx_memviewslice __pyx_v_nodeArray = { 0, 0, { 0 }, { 0 }, { 0 } };
3706 __Pyx_memviewslice __pyx_v_elementBoundaryNodesArray = { 0, 0, { 0 }, { 0 }, { 0 } };
3707 __Pyx_memviewslice __pyx_v_elementNodesArray = { 0, 0, { 0 }, { 0 }, { 0 } };
3708 __Pyx_memviewslice __pyx_v_elementBoundariesArray = { 0, 0, { 0 }, { 0 }, { 0 } };
3709 int __pyx_v_nElementBoundaries_global;
3710 int __pyx_v_nNodes_elementBoundary;
3711 int __pyx_v_nElements_global;
3712 int __pyx_v_nNodes_element;
3713 __Pyx_memviewslice __pyx_v_elementBoundaryNormalsArray = { 0, 0, { 0 }, { 0 }, { 0 } };
3716 PyObject *__pyx_r = NULL;
3717 __Pyx_RefNannyDeclarations
3725 Py_ssize_t __pyx_t_8;
3726 Py_ssize_t __pyx_t_9;
3727 Py_ssize_t __pyx_t_10;
3729 Py_ssize_t __pyx_t_12;
3730 Py_ssize_t __pyx_t_13;
3731 PyObject *__pyx_t_14 = NULL;
3732 PyObject *__pyx_t_15 = NULL;
3733 PyObject *__pyx_t_16 = NULL;
3734 PyObject *__pyx_t_17 = NULL;
3735 PyObject *__pyx_t_18 = NULL;
3737 __Pyx_memviewslice __pyx_t_20 = { 0, 0, { 0 }, { 0 }, { 0 } };
3738 __Pyx_memviewslice __pyx_t_21 = { 0, 0, { 0 }, { 0 }, { 0 } };
3739 __Pyx_memviewslice __pyx_t_22 = { 0, 0, { 0 }, { 0 }, { 0 } };
3740 __Pyx_memviewslice __pyx_t_23 = { 0, 0, { 0 }, { 0 }, { 0 } };
3741 Py_ssize_t __pyx_t_24;
3742 int __pyx_lineno = 0;
3743 const char *__pyx_filename = NULL;
3744 int __pyx_clineno = 0;
3745 __Pyx_RefNannySetupContext(
"cppPreStep", 0);
3754 __pyx_v_integral_1_over_f = 0.;
3763 __pyx_v_N_eN = (__pyx_v_q_J.shape[0]);
3790 __pyx_t_1 = __Pyx_MemoryView_Len(__pyx_v_q_J);
3791 __pyx_v_nJ = __pyx_t_1;
3800 __pyx_t_1 = __Pyx_MemoryView_Len(__pyx_v_q_weights);
3801 __pyx_v_nk = __pyx_t_1;
3810 __pyx_t_2 = __pyx_v_nJ;
3811 __pyx_t_3 = __pyx_t_2;
3812 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
3813 __pyx_v_eN = __pyx_t_4;
3831 __pyx_t_5 = __pyx_v_nk;
3832 __pyx_t_6 = __pyx_t_5;
3833 for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
3834 __pyx_v_k = __pyx_t_7;
3843 __pyx_t_8 = __pyx_v_eN;
3844 __pyx_t_9 = __pyx_v_k;
3845 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_q_J.shape[0];
3846 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_q_J.shape[1];
3847 __pyx_t_10 = __pyx_v_k;
3848 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_q_weights.shape[0];
3849 __pyx_v_area = (__pyx_v_area + ((*((
double *) ( (( (__pyx_v_q_J.data + __pyx_t_8 * __pyx_v_q_J.strides[0]) ) + __pyx_t_9 * __pyx_v_q_J.strides[1]) ))) * (*((
double *) ( (__pyx_v_q_weights.data + __pyx_t_10 * __pyx_v_q_weights.strides[0]) )))));
3858 __pyx_t_11 = ((__pyx_v_eN < __pyx_v_nElements_owned) != 0);
3868 __pyx_t_10 = __pyx_v_eN;
3869 __pyx_t_9 = __pyx_v_k;
3870 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_q_J.shape[0];
3871 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_q_J.shape[1];
3872 __pyx_t_8 = __pyx_v_k;
3873 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_q_weights.shape[0];
3874 __pyx_t_12 = __pyx_v_eN;
3875 __pyx_t_13 = __pyx_v_k;
3876 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_q_uOfX.shape[0];
3877 if (__pyx_t_13 < 0) __pyx_t_13 += __pyx_v_q_uOfX.shape[1];
3878 __pyx_v_integral_1_over_f = (__pyx_v_integral_1_over_f + (((*((
double *) ( (( (__pyx_v_q_J.data + __pyx_t_10 * __pyx_v_q_J.strides[0]) ) + __pyx_t_9 * __pyx_v_q_J.strides[1]) ))) * (*((
double *) ( (__pyx_v_q_weights.data + __pyx_t_8 * __pyx_v_q_weights.strides[0]) )))) / (*((
double *) ( (( (__pyx_v_q_uOfX.data + __pyx_t_12 * __pyx_v_q_uOfX.strides[0]) ) + __pyx_t_13 * __pyx_v_q_uOfX.strides[1]) )))));
3897 __pyx_t_13 = __pyx_v_eN;
3898 if (__pyx_t_13 < 0) __pyx_t_13 += __pyx_v_areas_.shape[0];
3899 *((
double *) ( (__pyx_v_areas_.data + __pyx_t_13 * __pyx_v_areas_.strides[0]) )) = __pyx_v_area;
3908 __pyx_t_11 = ((__pyx_v_eN < __pyx_v_nElements_owned) != 0);
3918 __pyx_v_nE = (__pyx_v_nE + 1);
3937 __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_Comm);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 60, __pyx_L1_error)
3938 __Pyx_GOTREF(__pyx_t_16);
3939 __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_get);
if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 60, __pyx_L1_error)
3940 __Pyx_GOTREF(__pyx_t_17);
3941 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
3943 if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
3944 __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_17);
3945 if (likely(__pyx_t_16)) {
3946 PyObject*
function = PyMethod_GET_FUNCTION(__pyx_t_17);
3947 __Pyx_INCREF(__pyx_t_16);
3948 __Pyx_INCREF(
function);
3949 __Pyx_DECREF_SET(__pyx_t_17,
function);
3952 __pyx_t_15 = (__pyx_t_16) ? __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_16) : __Pyx_PyObject_CallNoArg(__pyx_t_17);
3953 __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
3954 if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 60, __pyx_L1_error)
3955 __Pyx_GOTREF(__pyx_t_15);
3956 __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
3957 __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_comm);
if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 60, __pyx_L1_error)
3958 __Pyx_GOTREF(__pyx_t_17);
3959 __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
3960 __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_tompi4py);
if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 60, __pyx_L1_error)
3961 __Pyx_GOTREF(__pyx_t_15);
3962 __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
3964 if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_15))) {
3965 __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_15);
3966 if (likely(__pyx_t_17)) {
3967 PyObject*
function = PyMethod_GET_FUNCTION(__pyx_t_15);
3968 __Pyx_INCREF(__pyx_t_17);
3969 __Pyx_INCREF(
function);
3970 __Pyx_DECREF_SET(__pyx_t_15,
function);
3973 __pyx_t_14 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_15);
3974 __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
3975 if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 60, __pyx_L1_error)
3976 __Pyx_GOTREF(__pyx_t_14);
3977 __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
3978 __pyx_v_comm = __pyx_t_14;
3988 __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_comm, __pyx_n_s_size);
if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 61, __pyx_L1_error)
3989 __Pyx_GOTREF(__pyx_t_14);
3990 __pyx_t_15 = PyObject_RichCompare(__pyx_t_14, __pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_15);
if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 61, __pyx_L1_error)
3991 __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
3992 __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_15);
if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 61, __pyx_L1_error)
3993 __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
4003 __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_comm, __pyx_n_s_allreduce);
if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 62, __pyx_L1_error)
4004 __Pyx_GOTREF(__pyx_t_15);
4005 __pyx_t_14 = PyFloat_FromDouble(__pyx_v_integral_1_over_f);
if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 62, __pyx_L1_error)
4006 __Pyx_GOTREF(__pyx_t_14);
4007 __pyx_t_17 = PyTuple_New(1);
if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 62, __pyx_L1_error)
4008 __Pyx_GOTREF(__pyx_t_17);
4009 __Pyx_GIVEREF(__pyx_t_14);
4010 PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_14);
4012 __pyx_t_14 = __Pyx_PyDict_NewPresized(1);
if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 62, __pyx_L1_error)
4013 __Pyx_GOTREF(__pyx_t_14);
4014 __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_MPI);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 62, __pyx_L1_error)
4015 __Pyx_GOTREF(__pyx_t_16);
4016 __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_SUM);
if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 62, __pyx_L1_error)
4017 __Pyx_GOTREF(__pyx_t_18);
4018 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4019 if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_op, __pyx_t_18) < 0) __PYX_ERR(0, 62, __pyx_L1_error)
4020 __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
4021 __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_17, __pyx_t_14);
if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 62, __pyx_L1_error)
4022 __Pyx_GOTREF(__pyx_t_18);
4023 __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
4024 __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
4025 __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
4026 __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_18);
if (unlikely((__pyx_t_19 == (
double)-1) && PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L1_error)
4027 __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
4028 __pyx_v_integral_1_over_f = __pyx_t_19;
4037 __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_comm, __pyx_n_s_allreduce);
if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 63, __pyx_L1_error)
4038 __Pyx_GOTREF(__pyx_t_18);
4039 __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_nE);
if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 63, __pyx_L1_error)
4040 __Pyx_GOTREF(__pyx_t_14);
4041 __pyx_t_17 = PyTuple_New(1);
if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 63, __pyx_L1_error)
4042 __Pyx_GOTREF(__pyx_t_17);
4043 __Pyx_GIVEREF(__pyx_t_14);
4044 PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_14);
4046 __pyx_t_14 = __Pyx_PyDict_NewPresized(1);
if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 63, __pyx_L1_error)
4047 __Pyx_GOTREF(__pyx_t_14);
4048 __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_MPI);
if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 63, __pyx_L1_error)
4049 __Pyx_GOTREF(__pyx_t_15);
4050 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_SUM);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 63, __pyx_L1_error)
4051 __Pyx_GOTREF(__pyx_t_16);
4052 __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
4053 if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_op, __pyx_t_16) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
4054 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4055 __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_17, __pyx_t_14);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 63, __pyx_L1_error)
4056 __Pyx_GOTREF(__pyx_t_16);
4057 __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
4058 __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
4059 __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
4060 __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_16);
if (unlikely((__pyx_t_2 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L1_error)
4061 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4062 __pyx_v_nE = __pyx_t_2;
4080 __pyx_v_C = (__pyx_v_integral_1_over_f / __pyx_v_nE);
4089 __pyx_v_self->C = __pyx_v_C;
4098 __pyx_t_1 = __Pyx_MemoryView_Len(__pyx_v_q_rci);
4099 __pyx_v_nrci = __pyx_t_1;
4108 __pyx_t_2 = __pyx_v_nrci;
4109 __pyx_t_3 = __pyx_t_2;
4110 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
4111 __pyx_v_eN = __pyx_t_4;
4120 __pyx_t_5 = __pyx_v_nk;
4121 __pyx_t_6 = __pyx_t_5;
4122 for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
4123 __pyx_v_k = __pyx_t_7;
4132 __pyx_t_20.data = __pyx_v_q_fci.data;
4133 __pyx_t_20.memview = __pyx_v_q_fci.memview;
4134 __PYX_INC_MEMVIEW(&__pyx_t_20, 0);
4136 Py_ssize_t __pyx_tmp_idx = __pyx_v_eN;
4137 Py_ssize_t __pyx_tmp_shape = __pyx_v_q_fci.shape[0];
4138 Py_ssize_t __pyx_tmp_stride = __pyx_v_q_fci.strides[0];
4139 if (__pyx_tmp_idx < 0)
4140 __pyx_tmp_idx += __pyx_tmp_shape;
4141 __pyx_t_20.data += __pyx_tmp_idx * __pyx_tmp_stride;
4145 Py_ssize_t __pyx_tmp_idx = __pyx_v_k;
4146 Py_ssize_t __pyx_tmp_shape = __pyx_v_q_fci.shape[1];
4147 Py_ssize_t __pyx_tmp_stride = __pyx_v_q_fci.strides[1];
4148 if (__pyx_tmp_idx < 0)
4149 __pyx_tmp_idx += __pyx_tmp_shape;
4150 __pyx_t_20.data += __pyx_tmp_idx * __pyx_tmp_stride;
4153 __pyx_t_20.shape[0] = __pyx_v_q_fci.shape[2];
4154 __pyx_t_20.strides[0] = __pyx_v_q_fci.strides[2];
4155 __pyx_t_20.suboffsets[0] = -1;
4158 double __pyx_temp_scalar = 0.0;
4160 Py_ssize_t __pyx_temp_extent_0 = __pyx_t_20.shape[0];
4161 Py_ssize_t __pyx_temp_stride_0 = __pyx_t_20.strides[0];
4162 char *__pyx_temp_pointer_0;
4163 Py_ssize_t __pyx_temp_idx_0;
4164 __pyx_temp_pointer_0 = __pyx_t_20.data;
4165 for (__pyx_temp_idx_0 = 0; __pyx_temp_idx_0 < __pyx_temp_extent_0; __pyx_temp_idx_0++) {
4166 *((
double *) __pyx_temp_pointer_0) = __pyx_temp_scalar;
4167 __pyx_temp_pointer_0 += __pyx_temp_stride_0;
4171 __PYX_XDEC_MEMVIEW(&__pyx_t_20, 1);
4172 __pyx_t_20.memview = NULL;
4173 __pyx_t_20.data = NULL;
4182 __pyx_t_13 = __pyx_v_eN;
4183 __pyx_t_12 = __pyx_v_k;
4184 if (__pyx_t_13 < 0) __pyx_t_13 += __pyx_v_q_uOfX.shape[0];
4185 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_q_uOfX.shape[1];
4186 __pyx_t_8 = __pyx_v_eN;
4187 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_areas_.shape[0];
4188 __pyx_t_9 = __pyx_v_eN;
4189 __pyx_t_10 = __pyx_v_k;
4190 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_q_rci.shape[0];
4191 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_q_rci.shape[1];
4192 *((
double *) ( (( (__pyx_v_q_rci.data + __pyx_t_9 * __pyx_v_q_rci.strides[0]) ) + __pyx_t_10 * __pyx_v_q_rci.strides[1]) )) = (-((1. / ((*((
double *) ( (( (__pyx_v_q_uOfX.data + __pyx_t_13 * __pyx_v_q_uOfX.strides[0]) ) + __pyx_t_12 * __pyx_v_q_uOfX.strides[1]) ))) * __pyx_v_C)) - (1. / (*((
double *) ( (__pyx_v_areas_.data + __pyx_t_8 * __pyx_v_areas_.strides[0]) ))))));
4203 __pyx_t_16 = __pyx_v_self->pyCoefficients;
4204 __Pyx_INCREF(__pyx_t_16);
4205 __pyx_v_pc = __pyx_t_16;
4215 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_mesh);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 74, __pyx_L1_error)
4216 __Pyx_GOTREF(__pyx_t_16);
4217 __pyx_v_mesh = __pyx_t_16;
4227 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_nd);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 75, __pyx_L1_error)
4228 __Pyx_GOTREF(__pyx_t_16);
4229 __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_16);
if (unlikely((__pyx_t_2 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 75, __pyx_L1_error)
4230 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4231 __pyx_v_nd = __pyx_t_2;
4240 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_elementBoundaryBarycentersArray);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 76, __pyx_L1_error)
4241 __Pyx_GOTREF(__pyx_t_16);
4242 __pyx_t_21 = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(__pyx_t_16, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_21.memview)) __PYX_ERR(0, 76, __pyx_L1_error)
4243 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4244 __pyx_v_elementBoundaryBarycentersArray = __pyx_t_21;
4245 __pyx_t_21.memview = NULL;
4246 __pyx_t_21.data = NULL;
4255 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_elementBarycentersArray);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 77, __pyx_L1_error)
4256 __Pyx_GOTREF(__pyx_t_16);
4257 __pyx_t_21 = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(__pyx_t_16, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_21.memview)) __PYX_ERR(0, 77, __pyx_L1_error)
4258 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4259 __pyx_v_elementBarycentersArray = __pyx_t_21;
4260 __pyx_t_21.memview = NULL;
4261 __pyx_t_21.data = NULL;
4270 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_nodeArray);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 78, __pyx_L1_error)
4271 __Pyx_GOTREF(__pyx_t_16);
4272 __pyx_t_21 = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(__pyx_t_16, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_21.memview)) __PYX_ERR(0, 78, __pyx_L1_error)
4273 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4274 __pyx_v_nodeArray = __pyx_t_21;
4275 __pyx_t_21.memview = NULL;
4276 __pyx_t_21.data = NULL;
4285 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_elementBoundaryNodesArray);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 79, __pyx_L1_error)
4286 __Pyx_GOTREF(__pyx_t_16);
4287 __pyx_t_22 = __Pyx_PyObject_to_MemoryviewSlice_dsds_int(__pyx_t_16, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_22.memview)) __PYX_ERR(0, 79, __pyx_L1_error)
4288 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4289 __pyx_v_elementBoundaryNodesArray = __pyx_t_22;
4290 __pyx_t_22.memview = NULL;
4291 __pyx_t_22.data = NULL;
4300 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_elementNodesArray);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 80, __pyx_L1_error)
4301 __Pyx_GOTREF(__pyx_t_16);
4302 __pyx_t_22 = __Pyx_PyObject_to_MemoryviewSlice_dsds_int(__pyx_t_16, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_22.memview)) __PYX_ERR(0, 80, __pyx_L1_error)
4303 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4304 __pyx_v_elementNodesArray = __pyx_t_22;
4305 __pyx_t_22.memview = NULL;
4306 __pyx_t_22.data = NULL;
4315 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_elementBoundariesArray);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 81, __pyx_L1_error)
4316 __Pyx_GOTREF(__pyx_t_16);
4317 __pyx_t_22 = __Pyx_PyObject_to_MemoryviewSlice_dsds_int(__pyx_t_16, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_22.memview)) __PYX_ERR(0, 81, __pyx_L1_error)
4318 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4319 __pyx_v_elementBoundariesArray = __pyx_t_22;
4320 __pyx_t_22.memview = NULL;
4321 __pyx_t_22.data = NULL;
4330 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_nElementBoundaries_global);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 82, __pyx_L1_error)
4331 __Pyx_GOTREF(__pyx_t_16);
4332 __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_16);
if (unlikely((__pyx_t_2 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 82, __pyx_L1_error)
4333 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4334 __pyx_v_nElementBoundaries_global = __pyx_t_2;
4343 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_nNodes_elementBoundary);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 83, __pyx_L1_error)
4344 __Pyx_GOTREF(__pyx_t_16);
4345 __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_16);
if (unlikely((__pyx_t_2 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 83, __pyx_L1_error)
4346 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4347 __pyx_v_nNodes_elementBoundary = __pyx_t_2;
4356 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_nElements_global);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 84, __pyx_L1_error)
4357 __Pyx_GOTREF(__pyx_t_16);
4358 __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_16);
if (unlikely((__pyx_t_2 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 84, __pyx_L1_error)
4359 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4360 __pyx_v_nElements_global = __pyx_t_2;
4369 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_nNodes_element);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 85, __pyx_L1_error)
4370 __Pyx_GOTREF(__pyx_t_16);
4371 __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_16);
if (unlikely((__pyx_t_2 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L1_error)
4372 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4373 __pyx_v_nNodes_element = __pyx_t_2;
4382 __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_mesh);
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 86, __pyx_L1_error)
4383 __Pyx_GOTREF(__pyx_t_16);
4384 __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_elementBoundaryNormalsArray);
if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 86, __pyx_L1_error)
4385 __Pyx_GOTREF(__pyx_t_14);
4386 __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4387 __pyx_t_23 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_double(__pyx_t_14, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_23.memview)) __PYX_ERR(0, 86, __pyx_L1_error)
4388 __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
4389 __pyx_v_elementBoundaryNormalsArray = __pyx_t_23;
4390 __pyx_t_23.memview = NULL;
4391 __pyx_t_23.data = NULL;
4400 __pyx_t_2 = __pyx_v_nElementBoundaries_global;
4401 __pyx_t_3 = __pyx_t_2;
4402 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
4403 __pyx_v_ebN = __pyx_t_4;
4412 __pyx_t_8 = __pyx_v_ebN;
4414 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
4415 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
4416 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_8 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_12 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) = 0.;
4425 __pyx_t_12 = __pyx_v_ebN;
4427 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
4428 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
4429 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_12 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_8 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) = 0.;
4438 __pyx_t_8 = __pyx_v_ebN;
4440 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
4441 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
4442 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_8 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_12 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) = 0.;
4451 __pyx_t_5 = __pyx_v_nNodes_elementBoundary;
4452 __pyx_t_6 = __pyx_t_5;
4453 for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
4454 __pyx_v_nN = __pyx_t_7;
4463 __pyx_t_12 = __pyx_v_ebN;
4464 __pyx_t_8 = __pyx_v_nN;
4465 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBoundaryNodesArray.shape[0];
4466 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBoundaryNodesArray.shape[1];
4467 __pyx_t_13 = (*((
int *) ( (( (__pyx_v_elementBoundaryNodesArray.data + __pyx_t_12 * __pyx_v_elementBoundaryNodesArray.strides[0]) ) + __pyx_t_8 * __pyx_v_elementBoundaryNodesArray.strides[1]) )));
4469 if (__pyx_t_13 < 0) __pyx_t_13 += __pyx_v_nodeArray.shape[0];
4470 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_nodeArray.shape[1];
4471 __pyx_t_9 = __pyx_v_ebN;
4473 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
4474 if (__pyx_t_24 < 0) __pyx_t_24 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
4475 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_9 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_24 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) += (*((
double *) ( (( (__pyx_v_nodeArray.data + __pyx_t_13 * __pyx_v_nodeArray.strides[0]) ) + __pyx_t_10 * __pyx_v_nodeArray.strides[1]) )));
4484 __pyx_t_8 = __pyx_v_ebN;
4485 __pyx_t_12 = __pyx_v_nN;
4486 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBoundaryNodesArray.shape[0];
4487 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBoundaryNodesArray.shape[1];
4488 __pyx_t_10 = (*((
int *) ( (( (__pyx_v_elementBoundaryNodesArray.data + __pyx_t_8 * __pyx_v_elementBoundaryNodesArray.strides[0]) ) + __pyx_t_12 * __pyx_v_elementBoundaryNodesArray.strides[1]) )));
4490 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_nodeArray.shape[0];
4491 if (__pyx_t_13 < 0) __pyx_t_13 += __pyx_v_nodeArray.shape[1];
4492 __pyx_t_24 = __pyx_v_ebN;
4494 if (__pyx_t_24 < 0) __pyx_t_24 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
4495 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
4496 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_24 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_9 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) += (*((
double *) ( (( (__pyx_v_nodeArray.data + __pyx_t_10 * __pyx_v_nodeArray.strides[0]) ) + __pyx_t_13 * __pyx_v_nodeArray.strides[1]) )));
4505 __pyx_t_12 = __pyx_v_ebN;
4506 __pyx_t_8 = __pyx_v_nN;
4507 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBoundaryNodesArray.shape[0];
4508 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBoundaryNodesArray.shape[1];
4509 __pyx_t_13 = (*((
int *) ( (( (__pyx_v_elementBoundaryNodesArray.data + __pyx_t_12 * __pyx_v_elementBoundaryNodesArray.strides[0]) ) + __pyx_t_8 * __pyx_v_elementBoundaryNodesArray.strides[1]) )));
4511 if (__pyx_t_13 < 0) __pyx_t_13 += __pyx_v_nodeArray.shape[0];
4512 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_nodeArray.shape[1];
4513 __pyx_t_9 = __pyx_v_ebN;
4515 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
4516 if (__pyx_t_24 < 0) __pyx_t_24 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
4517 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_9 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_24 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) += (*((
double *) ( (( (__pyx_v_nodeArray.data + __pyx_t_13 * __pyx_v_nodeArray.strides[0]) ) + __pyx_t_10 * __pyx_v_nodeArray.strides[1]) )));
4527 __pyx_t_8 = __pyx_v_ebN;
4529 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
4530 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
4531 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_8 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_12 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) /= __pyx_v_nNodes_elementBoundary;
4540 __pyx_t_12 = __pyx_v_ebN;
4542 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
4543 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
4544 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_12 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_8 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) /= __pyx_v_nNodes_elementBoundary;
4553 __pyx_t_8 = __pyx_v_ebN;
4555 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
4556 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
4557 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_8 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_12 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) /= __pyx_v_nNodes_elementBoundary;
4567 __pyx_t_2 = __pyx_v_nElements_global;
4568 __pyx_t_3 = __pyx_t_2;
4569 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
4570 __pyx_v_eN = __pyx_t_4;
4579 __pyx_t_12 = __pyx_v_eN;
4581 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBarycentersArray.shape[0];
4582 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBarycentersArray.shape[1];
4583 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_12 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_8 * __pyx_v_elementBarycentersArray.strides[1]) )) = 0.;
4592 __pyx_t_8 = __pyx_v_eN;
4594 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBarycentersArray.shape[0];
4595 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBarycentersArray.shape[1];
4596 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_8 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_12 * __pyx_v_elementBarycentersArray.strides[1]) )) = 0.;
4605 __pyx_t_12 = __pyx_v_eN;
4607 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBarycentersArray.shape[0];
4608 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBarycentersArray.shape[1];
4609 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_12 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_8 * __pyx_v_elementBarycentersArray.strides[1]) )) = 0.;
4618 __pyx_t_5 = __pyx_v_nNodes_element;
4619 __pyx_t_6 = __pyx_t_5;
4620 for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
4621 __pyx_v_ebN = __pyx_t_7;
4630 __pyx_t_8 = __pyx_v_eN;
4631 __pyx_t_12 = __pyx_v_ebN;
4632 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementNodesArray.shape[0];
4633 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementNodesArray.shape[1];
4634 __pyx_t_10 = (*((
int *) ( (( (__pyx_v_elementNodesArray.data + __pyx_t_8 * __pyx_v_elementNodesArray.strides[0]) ) + __pyx_t_12 * __pyx_v_elementNodesArray.strides[1]) )));
4636 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_nodeArray.shape[0];
4637 if (__pyx_t_13 < 0) __pyx_t_13 += __pyx_v_nodeArray.shape[1];
4638 __pyx_t_24 = __pyx_v_eN;
4640 if (__pyx_t_24 < 0) __pyx_t_24 += __pyx_v_elementBarycentersArray.shape[0];
4641 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBarycentersArray.shape[1];
4642 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_24 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_9 * __pyx_v_elementBarycentersArray.strides[1]) )) += (*((
double *) ( (( (__pyx_v_nodeArray.data + __pyx_t_10 * __pyx_v_nodeArray.strides[0]) ) + __pyx_t_13 * __pyx_v_nodeArray.strides[1]) )));
4651 __pyx_t_12 = __pyx_v_eN;
4652 __pyx_t_8 = __pyx_v_ebN;
4653 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementNodesArray.shape[0];
4654 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementNodesArray.shape[1];
4655 __pyx_t_13 = (*((
int *) ( (( (__pyx_v_elementNodesArray.data + __pyx_t_12 * __pyx_v_elementNodesArray.strides[0]) ) + __pyx_t_8 * __pyx_v_elementNodesArray.strides[1]) )));
4657 if (__pyx_t_13 < 0) __pyx_t_13 += __pyx_v_nodeArray.shape[0];
4658 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_nodeArray.shape[1];
4659 __pyx_t_9 = __pyx_v_eN;
4661 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBarycentersArray.shape[0];
4662 if (__pyx_t_24 < 0) __pyx_t_24 += __pyx_v_elementBarycentersArray.shape[1];
4663 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_9 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_24 * __pyx_v_elementBarycentersArray.strides[1]) )) += (*((
double *) ( (( (__pyx_v_nodeArray.data + __pyx_t_13 * __pyx_v_nodeArray.strides[0]) ) + __pyx_t_10 * __pyx_v_nodeArray.strides[1]) )));
4672 __pyx_t_8 = __pyx_v_eN;
4673 __pyx_t_12 = __pyx_v_ebN;
4674 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementNodesArray.shape[0];
4675 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementNodesArray.shape[1];
4676 __pyx_t_10 = (*((
int *) ( (( (__pyx_v_elementNodesArray.data + __pyx_t_8 * __pyx_v_elementNodesArray.strides[0]) ) + __pyx_t_12 * __pyx_v_elementNodesArray.strides[1]) )));
4678 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_nodeArray.shape[0];
4679 if (__pyx_t_13 < 0) __pyx_t_13 += __pyx_v_nodeArray.shape[1];
4680 __pyx_t_24 = __pyx_v_eN;
4682 if (__pyx_t_24 < 0) __pyx_t_24 += __pyx_v_elementBarycentersArray.shape[0];
4683 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBarycentersArray.shape[1];
4684 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_24 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_9 * __pyx_v_elementBarycentersArray.strides[1]) )) += (*((
double *) ( (( (__pyx_v_nodeArray.data + __pyx_t_10 * __pyx_v_nodeArray.strides[0]) ) + __pyx_t_13 * __pyx_v_nodeArray.strides[1]) )));
4694 __pyx_t_12 = __pyx_v_eN;
4696 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBarycentersArray.shape[0];
4697 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBarycentersArray.shape[1];
4698 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_12 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_8 * __pyx_v_elementBarycentersArray.strides[1]) )) /= __pyx_v_nNodes_element;
4707 __pyx_t_8 = __pyx_v_eN;
4709 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBarycentersArray.shape[0];
4710 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBarycentersArray.shape[1];
4711 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_8 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_12 * __pyx_v_elementBarycentersArray.strides[1]) )) /= __pyx_v_nNodes_element;
4720 __pyx_t_12 = __pyx_v_eN;
4722 if (__pyx_t_12 < 0) __pyx_t_12 += __pyx_v_elementBarycentersArray.shape[0];
4723 if (__pyx_t_8 < 0) __pyx_t_8 += __pyx_v_elementBarycentersArray.shape[1];
4724 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_12 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_8 * __pyx_v_elementBarycentersArray.strides[1]) )) /= __pyx_v_nNodes_element;
4734 switch (__pyx_v_nd) {
4744 __pyx_f_7proteus_6mprans_13MeshSmoothing_pyxUpdateElementBoundaryNormalsTriangle(__pyx_v_elementBoundaryNormalsArray, __pyx_v_nodeArray, __pyx_v_elementBoundariesArray, __pyx_v_elementBoundaryNodesArray, __pyx_v_elementBoundaryBarycentersArray, __pyx_v_elementBarycentersArray, __pyx_v_nElements_global);
4763 __pyx_f_7proteus_6mprans_13MeshSmoothing_pyxUpdateElementBoundaryNormalsTetra(__pyx_v_elementBoundaryNormalsArray, __pyx_v_nodeArray, __pyx_v_elementBoundariesArray, __pyx_v_elementBoundaryNodesArray, __pyx_v_elementBoundaryBarycentersArray, __pyx_v_elementBarycentersArray, __pyx_v_nElements_global);
4785 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4788 __Pyx_XDECREF(__pyx_t_14);
4789 __Pyx_XDECREF(__pyx_t_15);
4790 __Pyx_XDECREF(__pyx_t_16);
4791 __Pyx_XDECREF(__pyx_t_17);
4792 __Pyx_XDECREF(__pyx_t_18);
4793 __PYX_XDEC_MEMVIEW(&__pyx_t_20, 1);
4794 __PYX_XDEC_MEMVIEW(&__pyx_t_21, 1);
4795 __PYX_XDEC_MEMVIEW(&__pyx_t_22, 1);
4796 __PYX_XDEC_MEMVIEW(&__pyx_t_23, 1);
4797 __Pyx_AddTraceback(
"mprans.cMoveMeshMonitor.cCoefficients.cppPreStep", __pyx_clineno, __pyx_lineno, __pyx_filename);
4800 __Pyx_XDECREF(__pyx_v_comm);
4801 __Pyx_XDECREF(__pyx_v_pc);
4802 __Pyx_XDECREF(__pyx_v_mesh);
4803 __PYX_XDEC_MEMVIEW(&__pyx_v_elementBoundaryBarycentersArray, 1);
4804 __PYX_XDEC_MEMVIEW(&__pyx_v_elementBarycentersArray, 1);
4805 __PYX_XDEC_MEMVIEW(&__pyx_v_nodeArray, 1);
4806 __PYX_XDEC_MEMVIEW(&__pyx_v_elementBoundaryNodesArray, 1);
4807 __PYX_XDEC_MEMVIEW(&__pyx_v_elementNodesArray, 1);
4808 __PYX_XDEC_MEMVIEW(&__pyx_v_elementBoundariesArray, 1);
4809 __PYX_XDEC_MEMVIEW(&__pyx_v_elementBoundaryNormalsArray, 1);
4810 __Pyx_XGIVEREF(__pyx_r);
4811 __Pyx_RefNannyFinishContext();
4824 static PyObject *__pyx_pw_6mprans_16cMoveMeshMonitor_13cCoefficients_7postStep(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused);
4825 static PyObject *__pyx_pw_6mprans_16cMoveMeshMonitor_13cCoefficients_7postStep(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
4826 PyObject *__pyx_r = 0;
4827 __Pyx_RefNannyDeclarations
4828 __Pyx_RefNannySetupContext(
"postStep (wrapper)", 0);
4829 __pyx_r = __pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_6postStep(((
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *)__pyx_v_self));
4832 __Pyx_RefNannyFinishContext();
4836 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_6postStep(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self) {
4837 CYTHON_UNUSED PyObject *__pyx_v_pc = NULL;
4838 PyObject *__pyx_r = NULL;
4839 __Pyx_RefNannyDeclarations
4840 PyObject *__pyx_t_1 = NULL;
4841 int __pyx_lineno = 0;
4842 const char *__pyx_filename = NULL;
4843 int __pyx_clineno = 0;
4844 __Pyx_RefNannySetupContext(
"postStep", 0);
4853 __pyx_t_1 = __pyx_v_self->pyCoefficients;
4854 __Pyx_INCREF(__pyx_t_1);
4855 __pyx_v_pc = __pyx_t_1;
4865 __pyx_t_1 = ((
struct __pyx_vtabstruct_6mprans_16cMoveMeshMonitor_cCoefficients *)__pyx_v_self->__pyx_vtab)->cppPostStep(__pyx_v_self);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 134, __pyx_L1_error)
4866 __Pyx_GOTREF(__pyx_t_1);
4867 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4878 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4881 __Pyx_XDECREF(__pyx_t_1);
4882 __Pyx_AddTraceback(
"mprans.cMoveMeshMonitor.cCoefficients.postStep", __pyx_clineno, __pyx_lineno, __pyx_filename);
4885 __Pyx_XDECREF(__pyx_v_pc);
4886 __Pyx_XGIVEREF(__pyx_r);
4887 __Pyx_RefNannyFinishContext();
4899 static PyObject *__pyx_f_6mprans_16cMoveMeshMonitor_13cCoefficients_cppPostStep(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self) {
4900 PyObject *__pyx_v_pc = 0;
4901 PyObject *__pyx_v_mesh = 0;
4903 __Pyx_memviewslice __pyx_v_elementBoundaryBarycentersArray = { 0, 0, { 0 }, { 0 }, { 0 } };
4904 __Pyx_memviewslice __pyx_v_elementBarycentersArray = { 0, 0, { 0 }, { 0 }, { 0 } };
4905 __Pyx_memviewslice __pyx_v_nodeArray = { 0, 0, { 0 }, { 0 }, { 0 } };
4906 __Pyx_memviewslice __pyx_v_elementBoundaryNodesArray = { 0, 0, { 0 }, { 0 }, { 0 } };
4907 __Pyx_memviewslice __pyx_v_elementNodesArray = { 0, 0, { 0 }, { 0 }, { 0 } };
4908 __Pyx_memviewslice __pyx_v_elementBoundariesArray = { 0, 0, { 0 }, { 0 }, { 0 } };
4909 int __pyx_v_nElementBoundaries_global;
4910 int __pyx_v_nNodes_elementBoundary;
4911 int __pyx_v_nElements_global;
4912 int __pyx_v_nNodes_element;
4913 __Pyx_memviewslice __pyx_v_elementBoundaryNormalsArray = { 0, 0, { 0 }, { 0 }, { 0 } };
4917 PyObject *__pyx_r = NULL;
4918 __Pyx_RefNannyDeclarations
4919 PyObject *__pyx_t_1 = NULL;
4921 __Pyx_memviewslice __pyx_t_3 = { 0, 0, { 0 }, { 0 }, { 0 } };
4922 __Pyx_memviewslice __pyx_t_4 = { 0, 0, { 0 }, { 0 }, { 0 } };
4923 PyObject *__pyx_t_5 = NULL;
4924 __Pyx_memviewslice __pyx_t_6 = { 0, 0, { 0 }, { 0 }, { 0 } };
4927 Py_ssize_t __pyx_t_9;
4928 Py_ssize_t __pyx_t_10;
4932 Py_ssize_t __pyx_t_14;
4933 Py_ssize_t __pyx_t_15;
4934 Py_ssize_t __pyx_t_16;
4935 Py_ssize_t __pyx_t_17;
4936 int __pyx_lineno = 0;
4937 const char *__pyx_filename = NULL;
4938 int __pyx_clineno = 0;
4939 __Pyx_RefNannySetupContext(
"cppPostStep", 0);
4948 __pyx_t_1 = __pyx_v_self->pyCoefficients;
4949 __Pyx_INCREF(__pyx_t_1);
4950 __pyx_v_pc = __pyx_t_1;
4960 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_mesh);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 138, __pyx_L1_error)
4961 __Pyx_GOTREF(__pyx_t_1);
4962 __pyx_v_mesh = __pyx_t_1;
4972 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_nd);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 139, __pyx_L1_error)
4973 __Pyx_GOTREF(__pyx_t_1);
4974 __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1);
if (unlikely((__pyx_t_2 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 139, __pyx_L1_error)
4975 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4976 __pyx_v_nd = __pyx_t_2;
4985 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_elementBoundaryBarycentersArray);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error)
4986 __Pyx_GOTREF(__pyx_t_1);
4987 __pyx_t_3 = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(__pyx_t_1, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_3.memview)) __PYX_ERR(0, 140, __pyx_L1_error)
4988 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4989 __pyx_v_elementBoundaryBarycentersArray = __pyx_t_3;
4990 __pyx_t_3.memview = NULL;
4991 __pyx_t_3.data = NULL;
5000 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_elementBarycentersArray);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 141, __pyx_L1_error)
5001 __Pyx_GOTREF(__pyx_t_1);
5002 __pyx_t_3 = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(__pyx_t_1, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_3.memview)) __PYX_ERR(0, 141, __pyx_L1_error)
5003 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5004 __pyx_v_elementBarycentersArray = __pyx_t_3;
5005 __pyx_t_3.memview = NULL;
5006 __pyx_t_3.data = NULL;
5015 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_nodeArray);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error)
5016 __Pyx_GOTREF(__pyx_t_1);
5017 __pyx_t_3 = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(__pyx_t_1, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_3.memview)) __PYX_ERR(0, 142, __pyx_L1_error)
5018 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5019 __pyx_v_nodeArray = __pyx_t_3;
5020 __pyx_t_3.memview = NULL;
5021 __pyx_t_3.data = NULL;
5030 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_elementBoundaryNodesArray);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 143, __pyx_L1_error)
5031 __Pyx_GOTREF(__pyx_t_1);
5032 __pyx_t_4 = __Pyx_PyObject_to_MemoryviewSlice_dsds_int(__pyx_t_1, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_4.memview)) __PYX_ERR(0, 143, __pyx_L1_error)
5033 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5034 __pyx_v_elementBoundaryNodesArray = __pyx_t_4;
5035 __pyx_t_4.memview = NULL;
5036 __pyx_t_4.data = NULL;
5045 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_elementNodesArray);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 144, __pyx_L1_error)
5046 __Pyx_GOTREF(__pyx_t_1);
5047 __pyx_t_4 = __Pyx_PyObject_to_MemoryviewSlice_dsds_int(__pyx_t_1, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_4.memview)) __PYX_ERR(0, 144, __pyx_L1_error)
5048 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5049 __pyx_v_elementNodesArray = __pyx_t_4;
5050 __pyx_t_4.memview = NULL;
5051 __pyx_t_4.data = NULL;
5060 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_elementBoundariesArray);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error)
5061 __Pyx_GOTREF(__pyx_t_1);
5062 __pyx_t_4 = __Pyx_PyObject_to_MemoryviewSlice_dsds_int(__pyx_t_1, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_4.memview)) __PYX_ERR(0, 145, __pyx_L1_error)
5063 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5064 __pyx_v_elementBoundariesArray = __pyx_t_4;
5065 __pyx_t_4.memview = NULL;
5066 __pyx_t_4.data = NULL;
5075 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_nElementBoundaries_global);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error)
5076 __Pyx_GOTREF(__pyx_t_1);
5077 __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1);
if (unlikely((__pyx_t_2 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 146, __pyx_L1_error)
5078 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5079 __pyx_v_nElementBoundaries_global = __pyx_t_2;
5088 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_nNodes_elementBoundary);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error)
5089 __Pyx_GOTREF(__pyx_t_1);
5090 __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1);
if (unlikely((__pyx_t_2 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 147, __pyx_L1_error)
5091 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5092 __pyx_v_nNodes_elementBoundary = __pyx_t_2;
5101 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_nElements_global);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 148, __pyx_L1_error)
5102 __Pyx_GOTREF(__pyx_t_1);
5103 __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1);
if (unlikely((__pyx_t_2 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 148, __pyx_L1_error)
5104 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5105 __pyx_v_nElements_global = __pyx_t_2;
5114 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mesh, __pyx_n_s_nNodes_element);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 149, __pyx_L1_error)
5115 __Pyx_GOTREF(__pyx_t_1);
5116 __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1);
if (unlikely((__pyx_t_2 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 149, __pyx_L1_error)
5117 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5118 __pyx_v_nNodes_element = __pyx_t_2;
5127 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pc, __pyx_n_s_mesh);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 150, __pyx_L1_error)
5128 __Pyx_GOTREF(__pyx_t_1);
5129 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_elementBoundaryNormalsArray);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 150, __pyx_L1_error)
5130 __Pyx_GOTREF(__pyx_t_5);
5131 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5132 __pyx_t_6 = __Pyx_PyObject_to_MemoryviewSlice_dsdsds_double(__pyx_t_5, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_6.memview)) __PYX_ERR(0, 150, __pyx_L1_error)
5133 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5134 __pyx_v_elementBoundaryNormalsArray = __pyx_t_6;
5135 __pyx_t_6.memview = NULL;
5136 __pyx_t_6.data = NULL;
5145 __pyx_t_2 = __pyx_v_nElementBoundaries_global;
5146 __pyx_t_7 = __pyx_t_2;
5147 for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
5148 __pyx_v_ebN = __pyx_t_8;
5157 __pyx_t_9 = __pyx_v_ebN;
5159 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
5160 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
5161 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_9 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_10 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) = 0.;
5170 __pyx_t_10 = __pyx_v_ebN;
5172 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
5173 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
5174 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_10 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_9 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) = 0.;
5183 __pyx_t_9 = __pyx_v_ebN;
5185 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
5186 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
5187 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_9 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_10 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) = 0.;
5196 __pyx_t_11 = __pyx_v_nNodes_elementBoundary;
5197 __pyx_t_12 = __pyx_t_11;
5198 for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
5199 __pyx_v_nN = __pyx_t_13;
5208 __pyx_t_10 = __pyx_v_ebN;
5209 __pyx_t_9 = __pyx_v_nN;
5210 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBoundaryNodesArray.shape[0];
5211 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBoundaryNodesArray.shape[1];
5212 __pyx_t_14 = (*((
int *) ( (( (__pyx_v_elementBoundaryNodesArray.data + __pyx_t_10 * __pyx_v_elementBoundaryNodesArray.strides[0]) ) + __pyx_t_9 * __pyx_v_elementBoundaryNodesArray.strides[1]) )));
5214 if (__pyx_t_14 < 0) __pyx_t_14 += __pyx_v_nodeArray.shape[0];
5215 if (__pyx_t_15 < 0) __pyx_t_15 += __pyx_v_nodeArray.shape[1];
5216 __pyx_t_16 = __pyx_v_ebN;
5218 if (__pyx_t_16 < 0) __pyx_t_16 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
5219 if (__pyx_t_17 < 0) __pyx_t_17 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
5220 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_16 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_17 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) += (*((
double *) ( (( (__pyx_v_nodeArray.data + __pyx_t_14 * __pyx_v_nodeArray.strides[0]) ) + __pyx_t_15 * __pyx_v_nodeArray.strides[1]) )));
5229 __pyx_t_9 = __pyx_v_ebN;
5230 __pyx_t_10 = __pyx_v_nN;
5231 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBoundaryNodesArray.shape[0];
5232 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBoundaryNodesArray.shape[1];
5233 __pyx_t_15 = (*((
int *) ( (( (__pyx_v_elementBoundaryNodesArray.data + __pyx_t_9 * __pyx_v_elementBoundaryNodesArray.strides[0]) ) + __pyx_t_10 * __pyx_v_elementBoundaryNodesArray.strides[1]) )));
5235 if (__pyx_t_15 < 0) __pyx_t_15 += __pyx_v_nodeArray.shape[0];
5236 if (__pyx_t_14 < 0) __pyx_t_14 += __pyx_v_nodeArray.shape[1];
5237 __pyx_t_17 = __pyx_v_ebN;
5239 if (__pyx_t_17 < 0) __pyx_t_17 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
5240 if (__pyx_t_16 < 0) __pyx_t_16 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
5241 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_17 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_16 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) += (*((
double *) ( (( (__pyx_v_nodeArray.data + __pyx_t_15 * __pyx_v_nodeArray.strides[0]) ) + __pyx_t_14 * __pyx_v_nodeArray.strides[1]) )));
5250 __pyx_t_10 = __pyx_v_ebN;
5251 __pyx_t_9 = __pyx_v_nN;
5252 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBoundaryNodesArray.shape[0];
5253 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBoundaryNodesArray.shape[1];
5254 __pyx_t_14 = (*((
int *) ( (( (__pyx_v_elementBoundaryNodesArray.data + __pyx_t_10 * __pyx_v_elementBoundaryNodesArray.strides[0]) ) + __pyx_t_9 * __pyx_v_elementBoundaryNodesArray.strides[1]) )));
5256 if (__pyx_t_14 < 0) __pyx_t_14 += __pyx_v_nodeArray.shape[0];
5257 if (__pyx_t_15 < 0) __pyx_t_15 += __pyx_v_nodeArray.shape[1];
5258 __pyx_t_16 = __pyx_v_ebN;
5260 if (__pyx_t_16 < 0) __pyx_t_16 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
5261 if (__pyx_t_17 < 0) __pyx_t_17 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
5262 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_16 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_17 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) += (*((
double *) ( (( (__pyx_v_nodeArray.data + __pyx_t_14 * __pyx_v_nodeArray.strides[0]) ) + __pyx_t_15 * __pyx_v_nodeArray.strides[1]) )));
5272 __pyx_t_9 = __pyx_v_ebN;
5274 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
5275 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
5276 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_9 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_10 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) /= __pyx_v_nNodes_elementBoundary;
5285 __pyx_t_10 = __pyx_v_ebN;
5287 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
5288 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
5289 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_10 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_9 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) /= __pyx_v_nNodes_elementBoundary;
5298 __pyx_t_9 = __pyx_v_ebN;
5300 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBoundaryBarycentersArray.shape[0];
5301 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBoundaryBarycentersArray.shape[1];
5302 *((
double *) ( (( (__pyx_v_elementBoundaryBarycentersArray.data + __pyx_t_9 * __pyx_v_elementBoundaryBarycentersArray.strides[0]) ) + __pyx_t_10 * __pyx_v_elementBoundaryBarycentersArray.strides[1]) )) /= __pyx_v_nNodes_elementBoundary;
5312 __pyx_t_2 = __pyx_v_nElements_global;
5313 __pyx_t_7 = __pyx_t_2;
5314 for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
5315 __pyx_v_eN = __pyx_t_8;
5324 __pyx_t_10 = __pyx_v_eN;
5326 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBarycentersArray.shape[0];
5327 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBarycentersArray.shape[1];
5328 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_10 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_9 * __pyx_v_elementBarycentersArray.strides[1]) )) = 0.;
5337 __pyx_t_9 = __pyx_v_eN;
5339 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBarycentersArray.shape[0];
5340 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBarycentersArray.shape[1];
5341 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_9 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_10 * __pyx_v_elementBarycentersArray.strides[1]) )) = 0.;
5350 __pyx_t_10 = __pyx_v_eN;
5352 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBarycentersArray.shape[0];
5353 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBarycentersArray.shape[1];
5354 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_10 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_9 * __pyx_v_elementBarycentersArray.strides[1]) )) = 0.;
5363 __pyx_t_11 = __pyx_v_nNodes_element;
5364 __pyx_t_12 = __pyx_t_11;
5365 for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
5366 __pyx_v_ebN = __pyx_t_13;
5375 __pyx_t_9 = __pyx_v_eN;
5376 __pyx_t_10 = __pyx_v_ebN;
5377 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementNodesArray.shape[0];
5378 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementNodesArray.shape[1];
5379 __pyx_t_15 = (*((
int *) ( (( (__pyx_v_elementNodesArray.data + __pyx_t_9 * __pyx_v_elementNodesArray.strides[0]) ) + __pyx_t_10 * __pyx_v_elementNodesArray.strides[1]) )));
5381 if (__pyx_t_15 < 0) __pyx_t_15 += __pyx_v_nodeArray.shape[0];
5382 if (__pyx_t_14 < 0) __pyx_t_14 += __pyx_v_nodeArray.shape[1];
5383 __pyx_t_17 = __pyx_v_eN;
5385 if (__pyx_t_17 < 0) __pyx_t_17 += __pyx_v_elementBarycentersArray.shape[0];
5386 if (__pyx_t_16 < 0) __pyx_t_16 += __pyx_v_elementBarycentersArray.shape[1];
5387 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_17 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_16 * __pyx_v_elementBarycentersArray.strides[1]) )) += (*((
double *) ( (( (__pyx_v_nodeArray.data + __pyx_t_15 * __pyx_v_nodeArray.strides[0]) ) + __pyx_t_14 * __pyx_v_nodeArray.strides[1]) )));
5396 __pyx_t_10 = __pyx_v_eN;
5397 __pyx_t_9 = __pyx_v_ebN;
5398 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementNodesArray.shape[0];
5399 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementNodesArray.shape[1];
5400 __pyx_t_14 = (*((
int *) ( (( (__pyx_v_elementNodesArray.data + __pyx_t_10 * __pyx_v_elementNodesArray.strides[0]) ) + __pyx_t_9 * __pyx_v_elementNodesArray.strides[1]) )));
5402 if (__pyx_t_14 < 0) __pyx_t_14 += __pyx_v_nodeArray.shape[0];
5403 if (__pyx_t_15 < 0) __pyx_t_15 += __pyx_v_nodeArray.shape[1];
5404 __pyx_t_16 = __pyx_v_eN;
5406 if (__pyx_t_16 < 0) __pyx_t_16 += __pyx_v_elementBarycentersArray.shape[0];
5407 if (__pyx_t_17 < 0) __pyx_t_17 += __pyx_v_elementBarycentersArray.shape[1];
5408 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_16 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_17 * __pyx_v_elementBarycentersArray.strides[1]) )) += (*((
double *) ( (( (__pyx_v_nodeArray.data + __pyx_t_14 * __pyx_v_nodeArray.strides[0]) ) + __pyx_t_15 * __pyx_v_nodeArray.strides[1]) )));
5417 __pyx_t_9 = __pyx_v_eN;
5418 __pyx_t_10 = __pyx_v_ebN;
5419 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementNodesArray.shape[0];
5420 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementNodesArray.shape[1];
5421 __pyx_t_15 = (*((
int *) ( (( (__pyx_v_elementNodesArray.data + __pyx_t_9 * __pyx_v_elementNodesArray.strides[0]) ) + __pyx_t_10 * __pyx_v_elementNodesArray.strides[1]) )));
5423 if (__pyx_t_15 < 0) __pyx_t_15 += __pyx_v_nodeArray.shape[0];
5424 if (__pyx_t_14 < 0) __pyx_t_14 += __pyx_v_nodeArray.shape[1];
5425 __pyx_t_17 = __pyx_v_eN;
5427 if (__pyx_t_17 < 0) __pyx_t_17 += __pyx_v_elementBarycentersArray.shape[0];
5428 if (__pyx_t_16 < 0) __pyx_t_16 += __pyx_v_elementBarycentersArray.shape[1];
5429 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_17 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_16 * __pyx_v_elementBarycentersArray.strides[1]) )) += (*((
double *) ( (( (__pyx_v_nodeArray.data + __pyx_t_15 * __pyx_v_nodeArray.strides[0]) ) + __pyx_t_14 * __pyx_v_nodeArray.strides[1]) )));
5439 __pyx_t_10 = __pyx_v_eN;
5441 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBarycentersArray.shape[0];
5442 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBarycentersArray.shape[1];
5443 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_10 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_9 * __pyx_v_elementBarycentersArray.strides[1]) )) /= __pyx_v_nNodes_element;
5452 __pyx_t_9 = __pyx_v_eN;
5454 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBarycentersArray.shape[0];
5455 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBarycentersArray.shape[1];
5456 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_9 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_10 * __pyx_v_elementBarycentersArray.strides[1]) )) /= __pyx_v_nNodes_element;
5465 __pyx_t_10 = __pyx_v_eN;
5467 if (__pyx_t_10 < 0) __pyx_t_10 += __pyx_v_elementBarycentersArray.shape[0];
5468 if (__pyx_t_9 < 0) __pyx_t_9 += __pyx_v_elementBarycentersArray.shape[1];
5469 *((
double *) ( (( (__pyx_v_elementBarycentersArray.data + __pyx_t_10 * __pyx_v_elementBarycentersArray.strides[0]) ) + __pyx_t_9 * __pyx_v_elementBarycentersArray.strides[1]) )) /= __pyx_v_nNodes_element;
5479 switch (__pyx_v_nd) {
5489 __pyx_f_7proteus_6mprans_13MeshSmoothing_pyxUpdateElementBoundaryNormalsTriangle(__pyx_v_elementBoundaryNormalsArray, __pyx_v_nodeArray, __pyx_v_elementBoundariesArray, __pyx_v_elementBoundaryNodesArray, __pyx_v_elementBoundaryBarycentersArray, __pyx_v_elementBarycentersArray, __pyx_v_nElements_global);
5508 __pyx_f_7proteus_6mprans_13MeshSmoothing_pyxUpdateElementBoundaryNormalsTetra(__pyx_v_elementBoundaryNormalsArray, __pyx_v_nodeArray, __pyx_v_elementBoundariesArray, __pyx_v_elementBoundaryNodesArray, __pyx_v_elementBoundaryBarycentersArray, __pyx_v_elementBarycentersArray, __pyx_v_nElements_global);
5530 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5533 __Pyx_XDECREF(__pyx_t_1);
5534 __PYX_XDEC_MEMVIEW(&__pyx_t_3, 1);
5535 __PYX_XDEC_MEMVIEW(&__pyx_t_4, 1);
5536 __Pyx_XDECREF(__pyx_t_5);
5537 __PYX_XDEC_MEMVIEW(&__pyx_t_6, 1);
5538 __Pyx_AddTraceback(
"mprans.cMoveMeshMonitor.cCoefficients.cppPostStep", __pyx_clineno, __pyx_lineno, __pyx_filename);
5541 __Pyx_XDECREF(__pyx_v_pc);
5542 __Pyx_XDECREF(__pyx_v_mesh);
5543 __PYX_XDEC_MEMVIEW(&__pyx_v_elementBoundaryBarycentersArray, 1);
5544 __PYX_XDEC_MEMVIEW(&__pyx_v_elementBarycentersArray, 1);
5545 __PYX_XDEC_MEMVIEW(&__pyx_v_nodeArray, 1);
5546 __PYX_XDEC_MEMVIEW(&__pyx_v_elementBoundaryNodesArray, 1);
5547 __PYX_XDEC_MEMVIEW(&__pyx_v_elementNodesArray, 1);
5548 __PYX_XDEC_MEMVIEW(&__pyx_v_elementBoundariesArray, 1);
5549 __PYX_XDEC_MEMVIEW(&__pyx_v_elementBoundaryNormalsArray, 1);
5550 __Pyx_XGIVEREF(__pyx_r);
5551 __Pyx_RefNannyFinishContext();
5564 static PyObject *__pyx_pw_6mprans_16cMoveMeshMonitor_13cCoefficients_9pseudoTimeStepping(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds);
5565 static PyObject *__pyx_pw_6mprans_16cMoveMeshMonitor_13cCoefficients_9pseudoTimeStepping(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
5566 PyObject *__pyx_v_xx = 0;
5567 PyObject *__pyx_v_eps = 0;
5568 int __pyx_lineno = 0;
5569 const char *__pyx_filename = NULL;
5570 int __pyx_clineno = 0;
5571 PyObject *__pyx_r = 0;
5572 __Pyx_RefNannyDeclarations
5573 __Pyx_RefNannySetupContext(
"pseudoTimeStepping (wrapper)", 0);
5575 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xx,&__pyx_n_s_eps,0};
5576 PyObject* values[2] = {0,0};
5577 values[1] = ((PyObject *)__pyx_float_1_);
5578 if (unlikely(__pyx_kwds)) {
5580 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
5582 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
5584 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
5587 default:
goto __pyx_L5_argtuple_error;
5589 kw_args = PyDict_Size(__pyx_kwds);
5592 if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xx)) != 0)) kw_args--;
5593 else goto __pyx_L5_argtuple_error;
5597 PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_eps);
5598 if (value) { values[1] = value; kw_args--; }
5601 if (unlikely(kw_args > 0)) {
5602 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args,
"pseudoTimeStepping") < 0)) __PYX_ERR(0, 195, __pyx_L3_error)
5605 switch (PyTuple_GET_SIZE(__pyx_args)) {
5606 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
5608 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
5610 default:
goto __pyx_L5_argtuple_error;
5613 __pyx_v_xx = values[0];
5614 __pyx_v_eps = values[1];
5616 goto __pyx_L4_argument_unpacking_done;
5617 __pyx_L5_argtuple_error:;
5618 __Pyx_RaiseArgtupleInvalid(
"pseudoTimeStepping", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 195, __pyx_L3_error)
5620 __Pyx_AddTraceback(
"mprans.cMoveMeshMonitor.cCoefficients.pseudoTimeStepping", __pyx_clineno, __pyx_lineno, __pyx_filename);
5621 __Pyx_RefNannyFinishContext();
5623 __pyx_L4_argument_unpacking_done:;
5624 __pyx_r = __pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_8pseudoTimeStepping(((
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *)__pyx_v_self), __pyx_v_xx, __pyx_v_eps);
5627 __Pyx_RefNannyFinishContext();
5631 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_8pseudoTimeStepping(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self, PyObject *__pyx_v_xx, PyObject *__pyx_v_eps) {
5632 CYTHON_UNUSED PyObject *__pyx_v_pc = NULL;
5633 PyObject *__pyx_r = NULL;
5634 __Pyx_RefNannyDeclarations
5635 PyObject *__pyx_t_1 = NULL;
5636 __Pyx_memviewslice __pyx_t_2 = { 0, 0, { 0 }, { 0 }, { 0 } };
5638 int __pyx_lineno = 0;
5639 const char *__pyx_filename = NULL;
5640 int __pyx_clineno = 0;
5641 __Pyx_RefNannySetupContext(
"pseudoTimeStepping", 0);
5650 __pyx_t_1 = __pyx_v_self->pyCoefficients;
5651 __Pyx_INCREF(__pyx_t_1);
5652 __pyx_v_pc = __pyx_t_1;
5662 __Pyx_XDECREF(__pyx_r);
5663 __pyx_t_2 = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(__pyx_v_xx, PyBUF_WRITABLE);
if (unlikely(!__pyx_t_2.memview)) __PYX_ERR(0, 199, __pyx_L1_error)
5672 __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_eps);
if (unlikely((__pyx_t_3 == (
double)-1) && PyErr_Occurred())) __PYX_ERR(0, 200, __pyx_L1_error)
5681 __pyx_t_1 = ((
struct __pyx_vtabstruct_6mprans_16cMoveMeshMonitor_cCoefficients *)__pyx_v_self->__pyx_vtab)->cppPseudoTimeSteppingParallel(__pyx_v_self, __pyx_t_2, __pyx_t_3);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error)
5682 __Pyx_GOTREF(__pyx_t_1);
5683 __PYX_XDEC_MEMVIEW(&__pyx_t_2, 1);
5684 __pyx_t_2.memview = NULL;
5685 __pyx_t_2.data = NULL;
5686 __pyx_r = __pyx_t_1;
5700 __Pyx_XDECREF(__pyx_t_1);
5701 __PYX_XDEC_MEMVIEW(&__pyx_t_2, 1);
5702 __Pyx_AddTraceback(
"mprans.cMoveMeshMonitor.cCoefficients.pseudoTimeStepping", __pyx_clineno, __pyx_lineno, __pyx_filename);
5705 __Pyx_XDECREF(__pyx_v_pc);
5706 __Pyx_XGIVEREF(__pyx_r);
5707 __Pyx_RefNannyFinishContext();
5710 static PyObject *__pyx_gb_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value);
5720 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_genexpr(PyObject *__pyx_self) {
5721 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_1_genexpr *__pyx_cur_scope;
5722 PyObject *__pyx_r = NULL;
5723 __Pyx_RefNannyDeclarations
5724 int __pyx_lineno = 0;
5725 const char *__pyx_filename = NULL;
5726 int __pyx_clineno = 0;
5727 __Pyx_RefNannySetupContext(
"genexpr", 0);
5728 __pyx_cur_scope = (
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_1_genexpr *)__pyx_tp_new_6mprans_16cMoveMeshMonitor___pyx_scope_struct_1_genexpr(__pyx_ptype_6mprans_16cMoveMeshMonitor___pyx_scope_struct_1_genexpr, __pyx_empty_tuple, NULL);
5729 if (unlikely(!__pyx_cur_scope)) {
5730 __pyx_cur_scope = ((
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_1_genexpr *)Py_None);
5731 __Pyx_INCREF(Py_None);
5732 __PYX_ERR(0, 597, __pyx_L1_error)
5734 __Pyx_GOTREF(__pyx_cur_scope);
5736 __pyx_cur_scope->__pyx_outer_scope = (
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel *) __pyx_self;
5737 __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
5738 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
5740 __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_2generator, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cCoefficients_cppPseudoTimeStepp, __pyx_n_s_mprans_cMoveMeshMonitor);
if (unlikely(!gen)) __PYX_ERR(0, 597, __pyx_L1_error)
5741 __Pyx_DECREF(__pyx_cur_scope);
5742 __Pyx_RefNannyFinishContext();
5743 return (PyObject *) gen;
5748 __Pyx_AddTraceback(
"mprans.cMoveMeshMonitor.cCoefficients.cppPseudoTimeSteppingParallel.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
5750 __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
5751 __Pyx_XGIVEREF(__pyx_r);
5752 __Pyx_RefNannyFinishContext();
5756 static PyObject *__pyx_gb_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value)
5758 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_1_genexpr *__pyx_cur_scope = ((
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_1_genexpr *)__pyx_generator->closure);
5759 PyObject *__pyx_r = NULL;
5763 Py_ssize_t __pyx_t_4;
5764 PyObject *__pyx_t_5 = NULL;
5765 int __pyx_lineno = 0;
5766 const char *__pyx_filename = NULL;
5767 int __pyx_clineno = 0;
5768 __Pyx_RefNannyDeclarations
5769 __Pyx_RefNannySetupContext(
"genexpr", 0);
5770 switch (__pyx_generator->resume_label) {
5771 case 0:
goto __pyx_L3_first_run;
5772 case 1:
goto __pyx_L6_resume_from_yield;
5774 __Pyx_RefNannyFinishContext();
5777 __pyx_L3_first_run:;
5778 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 597, __pyx_L1_error)
5779 __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_comm_size;
5780 __pyx_t_2 = __pyx_t_1;
5781 for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
5782 __pyx_cur_scope->__pyx_v_i = __pyx_t_3;
5783 __pyx_t_4 = __pyx_cur_scope->__pyx_v_i;
5784 if (__pyx_t_4 < 0) __pyx_t_4 += __pyx_cur_scope->__pyx_outer_scope->__pyx_v_counts_in.shape[0];
5785 __pyx_t_5 = PyInt_FromSsize_t(((*((
int *) ( (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_counts_in.data + __pyx_t_4 * __pyx_cur_scope->__pyx_outer_scope->__pyx_v_counts_in.strides[0]) ))) * (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_coords_2doArray.shape[1])));
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 597, __pyx_L1_error)
5786 __Pyx_GOTREF(__pyx_t_5);
5787 __pyx_r = __pyx_t_5;
5789 __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
5790 __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
5791 __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
5792 __Pyx_XGIVEREF(__pyx_r);
5793 __Pyx_RefNannyFinishContext();
5794 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
5796 __pyx_generator->resume_label = 1;
5798 __pyx_L6_resume_from_yield:;
5799 __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
5800 __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
5801 __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
5802 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 597, __pyx_L1_error)
5804 CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
5807 PyErr_SetNone(PyExc_StopIteration);
5810 __Pyx_XDECREF(__pyx_t_5);
5811 __Pyx_AddTraceback(
"genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
5813 __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
5814 #if !CYTHON_USE_EXC_INFO_STACK
5815 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
5817 __pyx_generator->resume_label = -1;
5818 __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
5819 __Pyx_RefNannyFinishContext();
5822 static PyObject *__pyx_gb_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value);
5832 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_3genexpr(PyObject *__pyx_self) {
5833 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_2_genexpr *__pyx_cur_scope;
5834 PyObject *__pyx_r = NULL;
5835 __Pyx_RefNannyDeclarations
5836 int __pyx_lineno = 0;
5837 const char *__pyx_filename = NULL;
5838 int __pyx_clineno = 0;
5839 __Pyx_RefNannySetupContext(
"genexpr", 0);
5840 __pyx_cur_scope = (
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_2_genexpr *)__pyx_tp_new_6mprans_16cMoveMeshMonitor___pyx_scope_struct_2_genexpr(__pyx_ptype_6mprans_16cMoveMeshMonitor___pyx_scope_struct_2_genexpr, __pyx_empty_tuple, NULL);
5841 if (unlikely(!__pyx_cur_scope)) {
5842 __pyx_cur_scope = ((
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_2_genexpr *)Py_None);
5843 __Pyx_INCREF(Py_None);
5844 __PYX_ERR(0, 598, __pyx_L1_error)
5846 __Pyx_GOTREF(__pyx_cur_scope);
5848 __pyx_cur_scope->__pyx_outer_scope = (
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel *) __pyx_self;
5849 __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
5850 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
5852 __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_5generator1, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cCoefficients_cppPseudoTimeStepp, __pyx_n_s_mprans_cMoveMeshMonitor);
if (unlikely(!gen)) __PYX_ERR(0, 598, __pyx_L1_error)
5853 __Pyx_DECREF(__pyx_cur_scope);
5854 __Pyx_RefNannyFinishContext();
5855 return (PyObject *) gen;
5860 __Pyx_AddTraceback(
"mprans.cMoveMeshMonitor.cCoefficients.cppPseudoTimeSteppingParallel.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
5862 __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
5863 __Pyx_XGIVEREF(__pyx_r);
5864 __Pyx_RefNannyFinishContext();
5868 static PyObject *__pyx_gb_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value)
5870 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_2_genexpr *__pyx_cur_scope = ((
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_2_genexpr *)__pyx_generator->closure);
5871 PyObject *__pyx_r = NULL;
5875 Py_ssize_t __pyx_t_4;
5876 PyObject *__pyx_t_5 = NULL;
5877 int __pyx_lineno = 0;
5878 const char *__pyx_filename = NULL;
5879 int __pyx_clineno = 0;
5880 __Pyx_RefNannyDeclarations
5881 __Pyx_RefNannySetupContext(
"genexpr", 0);
5882 switch (__pyx_generator->resume_label) {
5883 case 0:
goto __pyx_L3_first_run;
5884 case 1:
goto __pyx_L6_resume_from_yield;
5886 __Pyx_RefNannyFinishContext();
5889 __pyx_L3_first_run:;
5890 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 598, __pyx_L1_error)
5891 __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_comm_size;
5892 __pyx_t_2 = __pyx_t_1;
5893 for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
5894 __pyx_cur_scope->__pyx_v_i = __pyx_t_3;
5895 __pyx_t_4 = __pyx_cur_scope->__pyx_v_i;
5896 if (__pyx_t_4 < 0) __pyx_t_4 += __pyx_cur_scope->__pyx_outer_scope->__pyx_v_displacements_in.shape[0];
5897 __pyx_t_5 = PyInt_FromSsize_t(((*((
int *) ( (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_displacements_in.data + __pyx_t_4 * __pyx_cur_scope->__pyx_outer_scope->__pyx_v_displacements_in.strides[0]) ))) * (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_coords_2doArray.shape[1])));
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 598, __pyx_L1_error)
5898 __Pyx_GOTREF(__pyx_t_5);
5899 __pyx_r = __pyx_t_5;
5901 __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
5902 __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
5903 __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
5904 __Pyx_XGIVEREF(__pyx_r);
5905 __Pyx_RefNannyFinishContext();
5906 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
5908 __pyx_generator->resume_label = 1;
5910 __pyx_L6_resume_from_yield:;
5911 __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
5912 __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
5913 __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
5914 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 598, __pyx_L1_error)
5916 CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
5919 PyErr_SetNone(PyExc_StopIteration);
5922 __Pyx_XDECREF(__pyx_t_5);
5923 __Pyx_AddTraceback(
"genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
5925 __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
5926 #if !CYTHON_USE_EXC_INFO_STACK
5927 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
5929 __pyx_generator->resume_label = -1;
5930 __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
5931 __Pyx_RefNannyFinishContext();
5934 static PyObject *__pyx_gb_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value);
5944 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_6genexpr(PyObject *__pyx_self) {
5945 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_3_genexpr *__pyx_cur_scope;
5946 PyObject *__pyx_r = NULL;
5947 __Pyx_RefNannyDeclarations
5948 int __pyx_lineno = 0;
5949 const char *__pyx_filename = NULL;
5950 int __pyx_clineno = 0;
5951 __Pyx_RefNannySetupContext(
"genexpr", 0);
5952 __pyx_cur_scope = (
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_3_genexpr *)__pyx_tp_new_6mprans_16cMoveMeshMonitor___pyx_scope_struct_3_genexpr(__pyx_ptype_6mprans_16cMoveMeshMonitor___pyx_scope_struct_3_genexpr, __pyx_empty_tuple, NULL);
5953 if (unlikely(!__pyx_cur_scope)) {
5954 __pyx_cur_scope = ((
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_3_genexpr *)Py_None);
5955 __Pyx_INCREF(Py_None);
5956 __PYX_ERR(0, 793, __pyx_L1_error)
5958 __Pyx_GOTREF(__pyx_cur_scope);
5960 __pyx_cur_scope->__pyx_outer_scope = (
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel *) __pyx_self;
5961 __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
5962 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
5964 __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_8generator2, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cCoefficients_cppPseudoTimeStepp, __pyx_n_s_mprans_cMoveMeshMonitor);
if (unlikely(!gen)) __PYX_ERR(0, 793, __pyx_L1_error)
5965 __Pyx_DECREF(__pyx_cur_scope);
5966 __Pyx_RefNannyFinishContext();
5967 return (PyObject *) gen;
5972 __Pyx_AddTraceback(
"mprans.cMoveMeshMonitor.cCoefficients.cppPseudoTimeSteppingParallel.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
5974 __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
5975 __Pyx_XGIVEREF(__pyx_r);
5976 __Pyx_RefNannyFinishContext();
5980 static PyObject *__pyx_gb_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value)
5982 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_3_genexpr *__pyx_cur_scope = ((
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_3_genexpr *)__pyx_generator->closure);
5983 PyObject *__pyx_r = NULL;
5987 Py_ssize_t __pyx_t_4;
5988 PyObject *__pyx_t_5 = NULL;
5989 int __pyx_lineno = 0;
5990 const char *__pyx_filename = NULL;
5991 int __pyx_clineno = 0;
5992 __Pyx_RefNannyDeclarations
5993 __Pyx_RefNannySetupContext(
"genexpr", 0);
5994 switch (__pyx_generator->resume_label) {
5995 case 0:
goto __pyx_L3_first_run;
5996 case 1:
goto __pyx_L6_resume_from_yield;
5998 __Pyx_RefNannyFinishContext();
6001 __pyx_L3_first_run:;
6002 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 793, __pyx_L1_error)
6003 __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_comm_size;
6004 __pyx_t_2 = __pyx_t_1;
6005 for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
6006 __pyx_cur_scope->__pyx_v_i = __pyx_t_3;
6007 __pyx_t_4 = __pyx_cur_scope->__pyx_v_i;
6008 if (__pyx_t_4 < 0) __pyx_t_4 += __pyx_cur_scope->__pyx_outer_scope->__pyx_v_counts_in.shape[0];
6009 __pyx_t_5 = PyInt_FromSsize_t(((*((
int *) ( (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_counts_in.data + __pyx_t_4 * __pyx_cur_scope->__pyx_outer_scope->__pyx_v_counts_in.strides[0]) ))) * (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_coords_2doArray.shape[1])));
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 793, __pyx_L1_error)
6010 __Pyx_GOTREF(__pyx_t_5);
6011 __pyx_r = __pyx_t_5;
6013 __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
6014 __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
6015 __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
6016 __Pyx_XGIVEREF(__pyx_r);
6017 __Pyx_RefNannyFinishContext();
6018 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
6020 __pyx_generator->resume_label = 1;
6022 __pyx_L6_resume_from_yield:;
6023 __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
6024 __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
6025 __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
6026 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 793, __pyx_L1_error)
6028 CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
6031 PyErr_SetNone(PyExc_StopIteration);
6034 __Pyx_XDECREF(__pyx_t_5);
6035 __Pyx_AddTraceback(
"genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
6037 __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
6038 #if !CYTHON_USE_EXC_INFO_STACK
6039 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
6041 __pyx_generator->resume_label = -1;
6042 __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
6043 __Pyx_RefNannyFinishContext();
6046 static PyObject *__pyx_gb_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value);
6056 static PyObject *__pyx_pf_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_9genexpr(PyObject *__pyx_self) {
6057 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_4_genexpr *__pyx_cur_scope;
6058 PyObject *__pyx_r = NULL;
6059 __Pyx_RefNannyDeclarations
6060 int __pyx_lineno = 0;
6061 const char *__pyx_filename = NULL;
6062 int __pyx_clineno = 0;
6063 __Pyx_RefNannySetupContext(
"genexpr", 0);
6064 __pyx_cur_scope = (
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_4_genexpr *)__pyx_tp_new_6mprans_16cMoveMeshMonitor___pyx_scope_struct_4_genexpr(__pyx_ptype_6mprans_16cMoveMeshMonitor___pyx_scope_struct_4_genexpr, __pyx_empty_tuple, NULL);
6065 if (unlikely(!__pyx_cur_scope)) {
6066 __pyx_cur_scope = ((
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_4_genexpr *)Py_None);
6067 __Pyx_INCREF(Py_None);
6068 __PYX_ERR(0, 794, __pyx_L1_error)
6070 __Pyx_GOTREF(__pyx_cur_scope);
6072 __pyx_cur_scope->__pyx_outer_scope = (
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel *) __pyx_self;
6073 __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
6074 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
6076 __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_11generator3, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cCoefficients_cppPseudoTimeStepp, __pyx_n_s_mprans_cMoveMeshMonitor);
if (unlikely(!gen)) __PYX_ERR(0, 794, __pyx_L1_error)
6077 __Pyx_DECREF(__pyx_cur_scope);
6078 __Pyx_RefNannyFinishContext();
6079 return (PyObject *) gen;
6084 __Pyx_AddTraceback(
"mprans.cMoveMeshMonitor.cCoefficients.cppPseudoTimeSteppingParallel.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
6086 __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
6087 __Pyx_XGIVEREF(__pyx_r);
6088 __Pyx_RefNannyFinishContext();
6092 static PyObject *__pyx_gb_6mprans_16cMoveMeshMonitor_13cCoefficients_29cppPseudoTimeSteppingParallel_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value)
6094 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_4_genexpr *__pyx_cur_scope = ((
struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct_4_genexpr *)__pyx_generator->closure);
6095 PyObject *__pyx_r = NULL;
6099 Py_ssize_t __pyx_t_4;
6100 PyObject *__pyx_t_5 = NULL;
6101 int __pyx_lineno = 0;
6102 const char *__pyx_filename = NULL;
6103 int __pyx_clineno = 0;
6104 __Pyx_RefNannyDeclarations
6105 __Pyx_RefNannySetupContext(
"genexpr", 0);
6106 switch (__pyx_generator->resume_label) {
6107 case 0:
goto __pyx_L3_first_run;
6108 case 1:
goto __pyx_L6_resume_from_yield;
6110 __Pyx_RefNannyFinishContext();
6113 __pyx_L3_first_run:;
6114 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 794, __pyx_L1_error)
6115 __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_comm_size;
6116 __pyx_t_2 = __pyx_t_1;
6117 for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
6118 __pyx_cur_scope->__pyx_v_i = __pyx_t_3;
6119 __pyx_t_4 = __pyx_cur_scope->__pyx_v_i;
6120 if (__pyx_t_4 < 0) __pyx_t_4 += __pyx_cur_scope->__pyx_outer_scope->__pyx_v_displacements_in.shape[0];
6121 __pyx_t_5 = PyInt_FromSsize_t(((*((
int *) ( (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_displacements_in.data + __pyx_t_4 * __pyx_cur_scope->__pyx_outer_scope->__pyx_v_displacements_in.strides[0]) ))) * (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_coords_2doArray.shape[1])));
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 794, __pyx_L1_error)
6122 __Pyx_GOTREF(__pyx_t_5);
6123 __pyx_r = __pyx_t_5;
6125 __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
6126 __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
6127 __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
6128 __Pyx_XGIVEREF(__pyx_r);
6129 __Pyx_RefNannyFinishContext();
6130 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
6132 __pyx_generator->resume_label = 1;
6134 __pyx_L6_resume_from_yield:;
6135 __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
6136 __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
6137 __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
6138 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 794, __pyx_L1_error)
6140 CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
6143 PyErr_SetNone(PyExc_StopIteration);
6146 __Pyx_XDECREF(__pyx_t_5);
6147 __Pyx_AddTraceback(
"genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
6149 __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
6150 #if !CYTHON_USE_EXC_INFO_STACK
6151 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
6153 __pyx_generator->resume_label = -1;
6154 __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
6155 __Pyx_RefNannyFinishContext();
6167 static PyObject *__pyx_f_6mprans_16cMoveMeshMonitor_13cCoefficients_cppPseudoTimeSteppingParallel(
struct __pyx_obj_6mprans_16cMoveMeshMonitor_cCoefficients *__pyx_v_self, __Pyx_memviewslice __pyx_v_xx,
double __pyx_v_eps) {
6168 struct __pyx_obj_6mprans_16cMoveMeshMonitor___pyx_scope_struct__cppPseudoTimeSteppingParallel *__pyx_cur_scope;
6169 PyObject *__pyx_v_pc = NULL;
6170 int __pyx_v_ntimes_solved;
6171 int __pyx_v_ntimes_i;
6172 double __pyx_v_t_min;
6173 double __pyx_v_t_max;
6174 __Pyx_memviewslice __pyx_v_t_range = { 0, 0, { 0 }, { 0 }, { 0 } };
6175 int __pyx_v_ntimesteps;
6176 __Pyx_memviewslice __pyx_v_eN_phi = { 0, 0, { 0 }, { 0 }, { 0 } };
6177 __Pyx_memviewslice __pyx_v_normal = { 0, 0, { 0 }, { 0 }, { 0 } };
6178 double __pyx_v_t_last;
6182 double __pyx_v_area;
6184 double __pyx_v_ls_phi;
6186 double __pyx_v_Ccoeff;
6188 __Pyx_memviewslice __pyx_v_dphi = { 0, 0, { 0 }, { 0 }, { 0 } };
6189 __Pyx_memviewslice __pyx_v_grads = { 0, 0, { 0 }, { 0 }, { 0 } };
6190 __Pyx_memviewslice __pyx_v_v_grad = { 0, 0, { 0 }, { 0 }, { 0 } };
6191 __Pyx_memviewslice __pyx_v_areas_nodes = { 0, 0, { 0 }, { 0 }, { 0 } };
6192 CYTHON_UNUSED __Pyx_memviewslice __pyx_v_areas = { 0, 0, { 0 }, { 0 }, { 0 } };
6193 __Pyx_memviewslice __pyx_v_u_phi = { 0, 0, { 0 }, { 0 }, { 0 } };
6197 PyObject *__pyx_v_femSpace = 0;
6198 __Pyx_memviewslice __pyx_v_nodeArray = { 0, 0, { 0 }, { 0 }, { 0 } };
6199 __Pyx_memviewslice __pyx_v_nodeStarOffsets = { 0, 0, { 0 }, { 0 }, { 0 } };
6200 __Pyx_memviewslice __pyx_v_nodeStarArray = { 0, 0, { 0 }, { 0 }, { 0 } };
6201 __Pyx_memviewslice __pyx_v_nodeElementOffsets = { 0, 0, { 0 }, { 0 }, { 0 } };
6202 __Pyx_memviewslice __pyx_v_nodeElementsArray = { 0, 0, { 0 }, { 0 }, { 0 } };
6203 __Pyx_memviewslice __pyx_v_nodeMaterialTypes = { 0, 0, { 0 }, { 0 }, { 0 } };
6204 __Pyx_memviewslice __pyx_v_elementBarycentersArray = { 0, 0, { 0 }, { 0 }, { 0 } };
6205 __Pyx_memviewslice __pyx_v_elementBoundaryElementsArray = { 0, 0, { 0 }, { 0 }, { 0 } };
6206 __Pyx_memviewslice __pyx_v_elementBoundariesArray = { 0, 0, { 0 }, { 0 }, { 0 } };
6207 __Pyx_memviewslice __pyx_v_elementNodesArray = { 0, 0, { 0 }, { 0 }, { 0 } };
6208 __Pyx_memviewslice __pyx_v_elementBoundaryBarycentersArray = { 0, 0, { 0 }, { 0 }, { 0 } };
6209 __Pyx_memviewslice __pyx_v_exteriorElementBoundariesBoolArray = { 0, 0, { 0 }, { 0 }, { 0 } };
6211 __Pyx_memviewslice __pyx_v_elementBoundaryNormalsArray = { 0, 0, { 0 }, { 0 }, { 0 } };
6212 int __pyx_v_nNodes_owned;