MAST
Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
pynastran_io.cpp
Go to the documentation of this file.
1 /* Generated by Cython 0.29.13 */
2 
3 #define PY_SSIZE_T_CLEAN
4 #include "Python.h"
5 #ifndef Py_PYTHON_H
6  #error Python headers needed to compile C extensions, please install development version of Python.
7 #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
8  #error Cython requires Python 2.6+ or Python 3.3+.
9 #else
10 #define CYTHON_ABI "0_29_13"
11 #define CYTHON_HEX_VERSION 0x001D0DF0
12 #define CYTHON_FUTURE_DIVISION 1
13 #include <stddef.h>
14 #ifndef offsetof
15  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
16 #endif
17 #if !defined(WIN32) && !defined(MS_WINDOWS)
18  #ifndef __stdcall
19  #define __stdcall
20  #endif
21  #ifndef __cdecl
22  #define __cdecl
23  #endif
24  #ifndef __fastcall
25  #define __fastcall
26  #endif
27 #endif
28 #ifndef DL_IMPORT
29  #define DL_IMPORT(t) t
30 #endif
31 #ifndef DL_EXPORT
32  #define DL_EXPORT(t) t
33 #endif
34 #define __PYX_COMMA ,
35 #ifndef HAVE_LONG_LONG
36  #if PY_VERSION_HEX >= 0x02070000
37  #define HAVE_LONG_LONG
38  #endif
39 #endif
40 #ifndef PY_LONG_LONG
41  #define PY_LONG_LONG LONG_LONG
42 #endif
43 #ifndef Py_HUGE_VAL
44  #define Py_HUGE_VAL HUGE_VAL
45 #endif
46 #ifdef PYPY_VERSION
47  #define CYTHON_COMPILING_IN_PYPY 1
48  #define CYTHON_COMPILING_IN_PYSTON 0
49  #define CYTHON_COMPILING_IN_CPYTHON 0
50  #undef CYTHON_USE_TYPE_SLOTS
51  #define CYTHON_USE_TYPE_SLOTS 0
52  #undef CYTHON_USE_PYTYPE_LOOKUP
53  #define CYTHON_USE_PYTYPE_LOOKUP 0
54  #if PY_VERSION_HEX < 0x03050000
55  #undef CYTHON_USE_ASYNC_SLOTS
56  #define CYTHON_USE_ASYNC_SLOTS 0
57  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
58  #define CYTHON_USE_ASYNC_SLOTS 1
59  #endif
60  #undef CYTHON_USE_PYLIST_INTERNALS
61  #define CYTHON_USE_PYLIST_INTERNALS 0
62  #undef CYTHON_USE_UNICODE_INTERNALS
63  #define CYTHON_USE_UNICODE_INTERNALS 0
64  #undef CYTHON_USE_UNICODE_WRITER
65  #define CYTHON_USE_UNICODE_WRITER 0
66  #undef CYTHON_USE_PYLONG_INTERNALS
67  #define CYTHON_USE_PYLONG_INTERNALS 0
68  #undef CYTHON_AVOID_BORROWED_REFS
69  #define CYTHON_AVOID_BORROWED_REFS 1
70  #undef CYTHON_ASSUME_SAFE_MACROS
71  #define CYTHON_ASSUME_SAFE_MACROS 0
72  #undef CYTHON_UNPACK_METHODS
73  #define CYTHON_UNPACK_METHODS 0
74  #undef CYTHON_FAST_THREAD_STATE
75  #define CYTHON_FAST_THREAD_STATE 0
76  #undef CYTHON_FAST_PYCALL
77  #define CYTHON_FAST_PYCALL 0
78  #undef CYTHON_PEP489_MULTI_PHASE_INIT
79  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
80  #undef CYTHON_USE_TP_FINALIZE
81  #define CYTHON_USE_TP_FINALIZE 0
82  #undef CYTHON_USE_DICT_VERSIONS
83  #define CYTHON_USE_DICT_VERSIONS 0
84  #undef CYTHON_USE_EXC_INFO_STACK
85  #define CYTHON_USE_EXC_INFO_STACK 0
86 #elif defined(PYSTON_VERSION)
87  #define CYTHON_COMPILING_IN_PYPY 0
88  #define CYTHON_COMPILING_IN_PYSTON 1
89  #define CYTHON_COMPILING_IN_CPYTHON 0
90  #ifndef CYTHON_USE_TYPE_SLOTS
91  #define CYTHON_USE_TYPE_SLOTS 1
92  #endif
93  #undef CYTHON_USE_PYTYPE_LOOKUP
94  #define CYTHON_USE_PYTYPE_LOOKUP 0
95  #undef CYTHON_USE_ASYNC_SLOTS
96  #define CYTHON_USE_ASYNC_SLOTS 0
97  #undef CYTHON_USE_PYLIST_INTERNALS
98  #define CYTHON_USE_PYLIST_INTERNALS 0
99  #ifndef CYTHON_USE_UNICODE_INTERNALS
100  #define CYTHON_USE_UNICODE_INTERNALS 1
101  #endif
102  #undef CYTHON_USE_UNICODE_WRITER
103  #define CYTHON_USE_UNICODE_WRITER 0
104  #undef CYTHON_USE_PYLONG_INTERNALS
105  #define CYTHON_USE_PYLONG_INTERNALS 0
106  #ifndef CYTHON_AVOID_BORROWED_REFS
107  #define CYTHON_AVOID_BORROWED_REFS 0
108  #endif
109  #ifndef CYTHON_ASSUME_SAFE_MACROS
110  #define CYTHON_ASSUME_SAFE_MACROS 1
111  #endif
112  #ifndef CYTHON_UNPACK_METHODS
113  #define CYTHON_UNPACK_METHODS 1
114  #endif
115  #undef CYTHON_FAST_THREAD_STATE
116  #define CYTHON_FAST_THREAD_STATE 0
117  #undef CYTHON_FAST_PYCALL
118  #define CYTHON_FAST_PYCALL 0
119  #undef CYTHON_PEP489_MULTI_PHASE_INIT
120  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
121  #undef CYTHON_USE_TP_FINALIZE
122  #define CYTHON_USE_TP_FINALIZE 0
123  #undef CYTHON_USE_DICT_VERSIONS
124  #define CYTHON_USE_DICT_VERSIONS 0
125  #undef CYTHON_USE_EXC_INFO_STACK
126  #define CYTHON_USE_EXC_INFO_STACK 0
127 #else
128  #define CYTHON_COMPILING_IN_PYPY 0
129  #define CYTHON_COMPILING_IN_PYSTON 0
130  #define CYTHON_COMPILING_IN_CPYTHON 1
131  #ifndef CYTHON_USE_TYPE_SLOTS
132  #define CYTHON_USE_TYPE_SLOTS 1
133  #endif
134  #if PY_VERSION_HEX < 0x02070000
135  #undef CYTHON_USE_PYTYPE_LOOKUP
136  #define CYTHON_USE_PYTYPE_LOOKUP 0
137  #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
138  #define CYTHON_USE_PYTYPE_LOOKUP 1
139  #endif
140  #if PY_MAJOR_VERSION < 3
141  #undef CYTHON_USE_ASYNC_SLOTS
142  #define CYTHON_USE_ASYNC_SLOTS 0
143  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
144  #define CYTHON_USE_ASYNC_SLOTS 1
145  #endif
146  #if PY_VERSION_HEX < 0x02070000
147  #undef CYTHON_USE_PYLONG_INTERNALS
148  #define CYTHON_USE_PYLONG_INTERNALS 0
149  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
150  #define CYTHON_USE_PYLONG_INTERNALS 1
151  #endif
152  #ifndef CYTHON_USE_PYLIST_INTERNALS
153  #define CYTHON_USE_PYLIST_INTERNALS 1
154  #endif
155  #ifndef CYTHON_USE_UNICODE_INTERNALS
156  #define CYTHON_USE_UNICODE_INTERNALS 1
157  #endif
158  #if PY_VERSION_HEX < 0x030300F0
159  #undef CYTHON_USE_UNICODE_WRITER
160  #define CYTHON_USE_UNICODE_WRITER 0
161  #elif !defined(CYTHON_USE_UNICODE_WRITER)
162  #define CYTHON_USE_UNICODE_WRITER 1
163  #endif
164  #ifndef CYTHON_AVOID_BORROWED_REFS
165  #define CYTHON_AVOID_BORROWED_REFS 0
166  #endif
167  #ifndef CYTHON_ASSUME_SAFE_MACROS
168  #define CYTHON_ASSUME_SAFE_MACROS 1
169  #endif
170  #ifndef CYTHON_UNPACK_METHODS
171  #define CYTHON_UNPACK_METHODS 1
172  #endif
173  #ifndef CYTHON_FAST_THREAD_STATE
174  #define CYTHON_FAST_THREAD_STATE 1
175  #endif
176  #ifndef CYTHON_FAST_PYCALL
177  #define CYTHON_FAST_PYCALL 1
178  #endif
179  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
180  #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
181  #endif
182  #ifndef CYTHON_USE_TP_FINALIZE
183  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
184  #endif
185  #ifndef CYTHON_USE_DICT_VERSIONS
186  #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
187  #endif
188  #ifndef CYTHON_USE_EXC_INFO_STACK
189  #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
190  #endif
191 #endif
192 #if !defined(CYTHON_FAST_PYCCALL)
193 #define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
194 #endif
195 #if CYTHON_USE_PYLONG_INTERNALS
196  #include "longintrepr.h"
197  #undef SHIFT
198  #undef BASE
199  #undef MASK
200  #ifdef SIZEOF_VOID_P
201  enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
202  #endif
203 #endif
204 #ifndef __has_attribute
205  #define __has_attribute(x) 0
206 #endif
207 #ifndef __has_cpp_attribute
208  #define __has_cpp_attribute(x) 0
209 #endif
210 #ifndef CYTHON_RESTRICT
211  #if defined(__GNUC__)
212  #define CYTHON_RESTRICT __restrict__
213  #elif defined(_MSC_VER) && _MSC_VER >= 1400
214  #define CYTHON_RESTRICT __restrict
215  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
216  #define CYTHON_RESTRICT restrict
217  #else
218  #define CYTHON_RESTRICT
219  #endif
220 #endif
221 #ifndef CYTHON_UNUSED
222 # if defined(__GNUC__)
223 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
224 # define CYTHON_UNUSED __attribute__ ((__unused__))
225 # else
226 # define CYTHON_UNUSED
227 # endif
228 # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
229 # define CYTHON_UNUSED __attribute__ ((__unused__))
230 # else
231 # define CYTHON_UNUSED
232 # endif
233 #endif
234 #ifndef CYTHON_MAYBE_UNUSED_VAR
235 # if defined(__cplusplus)
236  template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
237 # else
238 # define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
239 # endif
240 #endif
241 #ifndef CYTHON_NCP_UNUSED
242 # if CYTHON_COMPILING_IN_CPYTHON
243 # define CYTHON_NCP_UNUSED
244 # else
245 # define CYTHON_NCP_UNUSED CYTHON_UNUSED
246 # endif
247 #endif
248 #define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
249 #ifdef _MSC_VER
250  #ifndef _MSC_STDINT_H_
251  #if _MSC_VER < 1300
252  typedef unsigned char uint8_t;
253  typedef unsigned int uint32_t;
254  #else
255  typedef unsigned __int8 uint8_t;
256  typedef unsigned __int32 uint32_t;
257  #endif
258  #endif
259 #else
260  #include <stdint.h>
261 #endif
262 #ifndef CYTHON_FALLTHROUGH
263  #if defined(__cplusplus) && __cplusplus >= 201103L
264  #if __has_cpp_attribute(fallthrough)
265  #define CYTHON_FALLTHROUGH [[fallthrough]]
266  #elif __has_cpp_attribute(clang::fallthrough)
267  #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
268  #elif __has_cpp_attribute(gnu::fallthrough)
269  #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
270  #endif
271  #endif
272  #ifndef CYTHON_FALLTHROUGH
273  #if __has_attribute(fallthrough)
274  #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
275  #else
276  #define CYTHON_FALLTHROUGH
277  #endif
278  #endif
279  #if defined(__clang__ ) && defined(__apple_build_version__)
280  #if __apple_build_version__ < 7000000
281  #undef CYTHON_FALLTHROUGH
282  #define CYTHON_FALLTHROUGH
283  #endif
284  #endif
285 #endif
286 
287 #ifndef __cplusplus
288  #error "Cython files generated with the C++ option must be compiled with a C++ compiler."
289 #endif
290 #ifndef CYTHON_INLINE
291  #if defined(__clang__)
292  #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
293  #else
294  #define CYTHON_INLINE inline
295  #endif
296 #endif
297 template<typename T>
298 void __Pyx_call_destructor(T& x) {
299  x.~T();
300 }
301 template<typename T>
302 class __Pyx_FakeReference {
303  public:
304  __Pyx_FakeReference() : ptr(NULL) { }
305  __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }
306  T *operator->() { return ptr; }
307  T *operator&() { return ptr; }
308  operator T&() { return *ptr; }
309  template<typename U> bool operator ==(U other) { return *ptr == other; }
310  template<typename U> bool operator !=(U other) { return *ptr != other; }
311  private:
312  T *ptr;
313 };
314 
315 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
316  #define Py_OptimizeFlag 0
317 #endif
318 #define __PYX_BUILD_PY_SSIZE_T "n"
319 #define CYTHON_FORMAT_SSIZE_T "z"
320 #if PY_MAJOR_VERSION < 3
321  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
322  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
323  PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
324  #define __Pyx_DefaultClassType PyClass_Type
325 #else
326  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
327 #if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2
328  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
329  PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
330 #else
331  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
332  PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
333 #endif
334  #define __Pyx_DefaultClassType PyType_Type
335 #endif
336 #ifndef Py_TPFLAGS_CHECKTYPES
337  #define Py_TPFLAGS_CHECKTYPES 0
338 #endif
339 #ifndef Py_TPFLAGS_HAVE_INDEX
340  #define Py_TPFLAGS_HAVE_INDEX 0
341 #endif
342 #ifndef Py_TPFLAGS_HAVE_NEWBUFFER
343  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
344 #endif
345 #ifndef Py_TPFLAGS_HAVE_FINALIZE
346  #define Py_TPFLAGS_HAVE_FINALIZE 0
347 #endif
348 #ifndef METH_STACKLESS
349  #define METH_STACKLESS 0
350 #endif
351 #if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
352  #ifndef METH_FASTCALL
353  #define METH_FASTCALL 0x80
354  #endif
355  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
356  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
357  Py_ssize_t nargs, PyObject *kwnames);
358 #else
359  #define __Pyx_PyCFunctionFast _PyCFunctionFast
360  #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
361 #endif
362 #if CYTHON_FAST_PYCCALL
363 #define __Pyx_PyFastCFunction_Check(func)\
364  ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
365 #else
366 #define __Pyx_PyFastCFunction_Check(func) 0
367 #endif
368 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
369  #define PyObject_Malloc(s) PyMem_Malloc(s)
370  #define PyObject_Free(p) PyMem_Free(p)
371  #define PyObject_Realloc(p) PyMem_Realloc(p)
372 #endif
373 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
374  #define PyMem_RawMalloc(n) PyMem_Malloc(n)
375  #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n)
376  #define PyMem_RawFree(p) PyMem_Free(p)
377 #endif
378 #if CYTHON_COMPILING_IN_PYSTON
379  #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co)
380  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
381 #else
382  #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
383  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno)
384 #endif
385 #if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
386  #define __Pyx_PyThreadState_Current PyThreadState_GET()
387 #elif PY_VERSION_HEX >= 0x03060000
388  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
389 #elif PY_VERSION_HEX >= 0x03000000
390  #define __Pyx_PyThreadState_Current PyThreadState_GET()
391 #else
392  #define __Pyx_PyThreadState_Current _PyThreadState_Current
393 #endif
394 #if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
395 #include "pythread.h"
396 #define Py_tss_NEEDS_INIT 0
397 typedef int Py_tss_t;
398 static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
399  *key = PyThread_create_key();
400  return 0;
401 }
402 static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
403  Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
404  *key = Py_tss_NEEDS_INIT;
405  return key;
406 }
407 static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
408  PyObject_Free(key);
409 }
410 static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
411  return *key != Py_tss_NEEDS_INIT;
412 }
413 static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
414  PyThread_delete_key(*key);
415  *key = Py_tss_NEEDS_INIT;
416 }
417 static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
418  return PyThread_set_key_value(*key, value);
419 }
420 static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
421  return PyThread_get_key_value(*key);
422 }
423 #endif
424 #if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
425 #define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
426 #else
427 #define __Pyx_PyDict_NewPresized(n) PyDict_New()
428 #endif
429 #if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
430  #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
431  #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
432 #else
433  #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
434  #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
435 #endif
436 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
437 #define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
438 #else
439 #define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name)
440 #endif
441 #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
442  #define CYTHON_PEP393_ENABLED 1
443  #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
444  0 : _PyUnicode_Ready((PyObject *)(op)))
445  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
446  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
447  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
448  #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u)
449  #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)
450  #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
451  #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch)
452  #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
453 #else
454  #define CYTHON_PEP393_ENABLED 0
455  #define PyUnicode_1BYTE_KIND 1
456  #define PyUnicode_2BYTE_KIND 2
457  #define PyUnicode_4BYTE_KIND 4
458  #define __Pyx_PyUnicode_READY(op) (0)
459  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
460  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
461  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
462  #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE))
463  #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u))
464  #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
465  #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
466  #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u))
467 #endif
468 #if CYTHON_COMPILING_IN_PYPY
469  #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)
470  #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)
471 #else
472  #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)
473  #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
474  PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
475 #endif
476 #if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
477  #define PyUnicode_Contains(u, s) PySequence_Contains(u, s)
478 #endif
479 #if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
480  #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type)
481 #endif
482 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
483  #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt)
484 #endif
485 #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))
486 #define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
487 #if PY_MAJOR_VERSION >= 3
488  #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b)
489 #else
490  #define __Pyx_PyString_Format(a, b) PyString_Format(a, b)
491 #endif
492 #if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
493  #define PyObject_ASCII(o) PyObject_Repr(o)
494 #endif
495 #if PY_MAJOR_VERSION >= 3
496  #define PyBaseString_Type PyUnicode_Type
497  #define PyStringObject PyUnicodeObject
498  #define PyString_Type PyUnicode_Type
499  #define PyString_Check PyUnicode_Check
500  #define PyString_CheckExact PyUnicode_CheckExact
501  #define PyObject_Unicode PyObject_Str
502 #endif
503 #if PY_MAJOR_VERSION >= 3
504  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
505  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
506 #else
507  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
508  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
509 #endif
510 #ifndef PySet_CheckExact
511  #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type)
512 #endif
513 #if CYTHON_ASSUME_SAFE_MACROS
514  #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
515 #else
516  #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
517 #endif
518 #if PY_MAJOR_VERSION >= 3
519  #define PyIntObject PyLongObject
520  #define PyInt_Type PyLong_Type
521  #define PyInt_Check(op) PyLong_Check(op)
522  #define PyInt_CheckExact(op) PyLong_CheckExact(op)
523  #define PyInt_FromString PyLong_FromString
524  #define PyInt_FromUnicode PyLong_FromUnicode
525  #define PyInt_FromLong PyLong_FromLong
526  #define PyInt_FromSize_t PyLong_FromSize_t
527  #define PyInt_FromSsize_t PyLong_FromSsize_t
528  #define PyInt_AsLong PyLong_AsLong
529  #define PyInt_AS_LONG PyLong_AS_LONG
530  #define PyInt_AsSsize_t PyLong_AsSsize_t
531  #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
532  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
533  #define PyNumber_Int PyNumber_Long
534 #endif
535 #if PY_MAJOR_VERSION >= 3
536  #define PyBoolObject PyLongObject
537 #endif
538 #if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
539  #ifndef PyUnicode_InternFromString
540  #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
541  #endif
542 #endif
543 #if PY_VERSION_HEX < 0x030200A4
544  typedef long Py_hash_t;
545  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
546  #define __Pyx_PyInt_AsHash_t PyInt_AsLong
547 #else
548  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
549  #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t
550 #endif
551 #if PY_MAJOR_VERSION >= 3
552  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func))
553 #else
554  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
555 #endif
556 #if CYTHON_USE_ASYNC_SLOTS
557  #if PY_VERSION_HEX >= 0x030500B1
558  #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
559  #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
560  #else
561  #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
562  #endif
563 #else
564  #define __Pyx_PyType_AsAsync(obj) NULL
565 #endif
566 #ifndef __Pyx_PyAsyncMethodsStruct
567  typedef struct {
568  unaryfunc am_await;
569  unaryfunc am_aiter;
570  unaryfunc am_anext;
571  } __Pyx_PyAsyncMethodsStruct;
572 #endif
573 
574 #if defined(WIN32) || defined(MS_WINDOWS)
575  #define _USE_MATH_DEFINES
576 #endif
577 #include <math.h>
578 #ifdef NAN
579 #define __PYX_NAN() ((float) NAN)
580 #else
581 static CYTHON_INLINE float __PYX_NAN() {
582  float value;
583  memset(&value, 0xFF, sizeof(value));
584  return value;
585 }
586 #endif
587 #if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
588 #define __Pyx_truncl trunc
589 #else
590 #define __Pyx_truncl truncl
591 #endif
592 
593 
594 #define __PYX_ERR(f_index, lineno, Ln_error) \
595 { \
596  __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \
597 }
598 
599 #ifndef __PYX_EXTERN_C
600  #ifdef __cplusplus
601  #define __PYX_EXTERN_C extern "C"
602  #else
603  #define __PYX_EXTERN_C extern
604  #endif
605 #endif
606 
607 #define __PYX_HAVE__pynastran_io
608 #define __PYX_HAVE_API__pynastran_io
609 /* Early includes */
610 #include <string.h>
611 #include "ios"
612 #include "new"
613 #include "stdexcept"
614 #include "typeinfo"
615 #include <string>
616 #include <vector>
617 #include <utility>
618 #include <map>
619 #include <list>
620 #include <set>
621 #include <stdio.h>
622 #include "numpy/arrayobject.h"
623 #include "numpy/ufuncobject.h"
624 #ifdef _OPENMP
625 #include <omp.h>
626 #endif /* _OPENMP */
627 
628 #if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
629 #define CYTHON_WITHOUT_ASSERTIONS
630 #endif
631 
632 typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
633  const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
634 
635 #define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
636 #define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
637 #define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
638 #define __PYX_DEFAULT_STRING_ENCODING ""
639 #define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
640 #define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
641 #define __Pyx_uchar_cast(c) ((unsigned char)c)
642 #define __Pyx_long_cast(x) ((long)x)
643 #define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\
644  (sizeof(type) < sizeof(Py_ssize_t)) ||\
645  (sizeof(type) > sizeof(Py_ssize_t) &&\
646  likely(v < (type)PY_SSIZE_T_MAX ||\
647  v == (type)PY_SSIZE_T_MAX) &&\
648  (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
649  v == (type)PY_SSIZE_T_MIN))) ||\
650  (sizeof(type) == sizeof(Py_ssize_t) &&\
651  (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
652  v == (type)PY_SSIZE_T_MAX))) )
653 static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
654  return (size_t) i < (size_t) limit;
655 }
656 #if defined (__cplusplus) && __cplusplus >= 201103L
657  #include <cstdlib>
658  #define __Pyx_sst_abs(value) std::abs(value)
659 #elif SIZEOF_INT >= SIZEOF_SIZE_T
660  #define __Pyx_sst_abs(value) abs(value)
661 #elif SIZEOF_LONG >= SIZEOF_SIZE_T
662  #define __Pyx_sst_abs(value) labs(value)
663 #elif defined (_MSC_VER)
664  #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
665 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
666  #define __Pyx_sst_abs(value) llabs(value)
667 #elif defined (__GNUC__)
668  #define __Pyx_sst_abs(value) __builtin_llabs(value)
669 #else
670  #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
671 #endif
672 static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
673 static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
674 #define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
675 #define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
676 #define __Pyx_PyBytes_FromString PyBytes_FromString
677 #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
678 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
679 #if PY_MAJOR_VERSION < 3
680  #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString
681  #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
682 #else
683  #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString
684  #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
685 #endif
686 #define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s))
687 #define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s))
688 #define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s))
689 #define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s))
690 #define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s))
691 #define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s))
692 #define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s))
693 #define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s))
694 #define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s))
695 #define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s))
696 #define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s))
697 #define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)
698 #define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)
699 #define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
700 #define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)
701 #define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
702 static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
703  const Py_UNICODE *u_end = u;
704  while (*u_end++) ;
705  return (size_t)(u_end - u - 1);
706 }
707 #define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
708 #define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
709 #define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode
710 #define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
711 #define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
712 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
713 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
714 static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
715 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
716 #define __Pyx_PySequence_Tuple(obj)\
717  (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
718 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
719 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
720 #if CYTHON_ASSUME_SAFE_MACROS
721 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
722 #else
723 #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
724 #endif
725 #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
726 #if PY_MAJOR_VERSION >= 3
727 #define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
728 #else
729 #define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
730 #endif
731 #define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
732 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
733 static int __Pyx_sys_getdefaultencoding_not_ascii;
734 static int __Pyx_init_sys_getdefaultencoding_params(void) {
735  PyObject* sys;
736  PyObject* default_encoding = NULL;
737  PyObject* ascii_chars_u = NULL;
738  PyObject* ascii_chars_b = NULL;
739  const char* default_encoding_c;
740  sys = PyImport_ImportModule("sys");
741  if (!sys) goto bad;
742  default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
743  Py_DECREF(sys);
744  if (!default_encoding) goto bad;
745  default_encoding_c = PyBytes_AsString(default_encoding);
746  if (!default_encoding_c) goto bad;
747  if (strcmp(default_encoding_c, "ascii") == 0) {
748  __Pyx_sys_getdefaultencoding_not_ascii = 0;
749  } else {
750  char ascii_chars[128];
751  int c;
752  for (c = 0; c < 128; c++) {
753  ascii_chars[c] = c;
754  }
755  __Pyx_sys_getdefaultencoding_not_ascii = 1;
756  ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
757  if (!ascii_chars_u) goto bad;
758  ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
759  if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
760  PyErr_Format(
761  PyExc_ValueError,
762  "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
763  default_encoding_c);
764  goto bad;
765  }
766  Py_DECREF(ascii_chars_u);
767  Py_DECREF(ascii_chars_b);
768  }
769  Py_DECREF(default_encoding);
770  return 0;
771 bad:
772  Py_XDECREF(default_encoding);
773  Py_XDECREF(ascii_chars_u);
774  Py_XDECREF(ascii_chars_b);
775  return -1;
776 }
777 #endif
778 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
779 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
780 #else
781 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
782 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
783 static char* __PYX_DEFAULT_STRING_ENCODING;
784 static int __Pyx_init_sys_getdefaultencoding_params(void) {
785  PyObject* sys;
786  PyObject* default_encoding = NULL;
787  char* default_encoding_c;
788  sys = PyImport_ImportModule("sys");
789  if (!sys) goto bad;
790  default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
791  Py_DECREF(sys);
792  if (!default_encoding) goto bad;
793  default_encoding_c = PyBytes_AsString(default_encoding);
794  if (!default_encoding_c) goto bad;
795  __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
796  if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
797  strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
798  Py_DECREF(default_encoding);
799  return 0;
800 bad:
801  Py_XDECREF(default_encoding);
802  return -1;
803 }
804 #endif
805 #endif
806 
807 
808 /* Test for GCC > 2.95 */
809 #if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
810  #define likely(x) __builtin_expect(!!(x), 1)
811  #define unlikely(x) __builtin_expect(!!(x), 0)
812 #else /* !__GNUC__ or GCC < 2.95 */
813  #define likely(x) (x)
814  #define unlikely(x) (x)
815 #endif /* __GNUC__ */
816 static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
817 
818 static PyObject *__pyx_m = NULL;
819 static PyObject *__pyx_d;
820 static PyObject *__pyx_b;
821 static PyObject *__pyx_cython_runtime = NULL;
822 static PyObject *__pyx_empty_tuple;
823 static PyObject *__pyx_empty_bytes;
824 static PyObject *__pyx_empty_unicode;
825 static int __pyx_lineno;
826 static int __pyx_clineno = 0;
827 static const char * __pyx_cfilenm= __FILE__;
828 static const char *__pyx_filename;
829 
830 /* Header.proto */
831 #if !defined(CYTHON_CCOMPLEX)
832  #if defined(__cplusplus)
833  #define CYTHON_CCOMPLEX 1
834  #elif defined(_Complex_I)
835  #define CYTHON_CCOMPLEX 1
836  #else
837  #define CYTHON_CCOMPLEX 0
838  #endif
839 #endif
840 #if CYTHON_CCOMPLEX
841  #ifdef __cplusplus
842  #include <complex>
843  #else
844  #include <complex.h>
845  #endif
846 #endif
847 #if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)
848  #undef _Complex_I
849  #define _Complex_I 1.0fj
850 #endif
851 
852 
853 static const char *__pyx_f[] = {
854  "stringsource",
855  "pynastran_io.pyx",
856  "__init__.pxd",
857  "type.pxd",
858 };
859 
860 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":776
861  * # in Cython to enable them only on the right systems.
862  *
863  * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<<
864  * ctypedef npy_int16 int16_t
865  * ctypedef npy_int32 int32_t
866  */
867 typedef npy_int8 __pyx_t_5numpy_int8_t;
868 
869 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
870  *
871  * ctypedef npy_int8 int8_t
872  * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<<
873  * ctypedef npy_int32 int32_t
874  * ctypedef npy_int64 int64_t
875  */
876 typedef npy_int16 __pyx_t_5numpy_int16_t;
877 
878 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":778
879  * ctypedef npy_int8 int8_t
880  * ctypedef npy_int16 int16_t
881  * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<<
882  * ctypedef npy_int64 int64_t
883  * #ctypedef npy_int96 int96_t
884  */
885 typedef npy_int32 __pyx_t_5numpy_int32_t;
886 
887 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":779
888  * ctypedef npy_int16 int16_t
889  * ctypedef npy_int32 int32_t
890  * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<<
891  * #ctypedef npy_int96 int96_t
892  * #ctypedef npy_int128 int128_t
893  */
894 typedef npy_int64 __pyx_t_5numpy_int64_t;
895 
896 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
897  * #ctypedef npy_int128 int128_t
898  *
899  * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<<
900  * ctypedef npy_uint16 uint16_t
901  * ctypedef npy_uint32 uint32_t
902  */
903 typedef npy_uint8 __pyx_t_5numpy_uint8_t;
904 
905 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":784
906  *
907  * ctypedef npy_uint8 uint8_t
908  * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<<
909  * ctypedef npy_uint32 uint32_t
910  * ctypedef npy_uint64 uint64_t
911  */
912 typedef npy_uint16 __pyx_t_5numpy_uint16_t;
913 
914 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":785
915  * ctypedef npy_uint8 uint8_t
916  * ctypedef npy_uint16 uint16_t
917  * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<<
918  * ctypedef npy_uint64 uint64_t
919  * #ctypedef npy_uint96 uint96_t
920  */
921 typedef npy_uint32 __pyx_t_5numpy_uint32_t;
922 
923 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":786
924  * ctypedef npy_uint16 uint16_t
925  * ctypedef npy_uint32 uint32_t
926  * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<<
927  * #ctypedef npy_uint96 uint96_t
928  * #ctypedef npy_uint128 uint128_t
929  */
930 typedef npy_uint64 __pyx_t_5numpy_uint64_t;
931 
932 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":790
933  * #ctypedef npy_uint128 uint128_t
934  *
935  * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<<
936  * ctypedef npy_float64 float64_t
937  * #ctypedef npy_float80 float80_t
938  */
939 typedef npy_float32 __pyx_t_5numpy_float32_t;
940 
941 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":791
942  *
943  * ctypedef npy_float32 float32_t
944  * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<<
945  * #ctypedef npy_float80 float80_t
946  * #ctypedef npy_float128 float128_t
947  */
948 typedef npy_float64 __pyx_t_5numpy_float64_t;
949 
950 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":800
951  * # The int types are mapped a bit surprising --
952  * # numpy.int corresponds to 'l' and numpy.long to 'q'
953  * ctypedef npy_long int_t # <<<<<<<<<<<<<<
954  * ctypedef npy_longlong long_t
955  * ctypedef npy_longlong longlong_t
956  */
957 typedef npy_long __pyx_t_5numpy_int_t;
958 
959 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
960  * # numpy.int corresponds to 'l' and numpy.long to 'q'
961  * ctypedef npy_long int_t
962  * ctypedef npy_longlong long_t # <<<<<<<<<<<<<<
963  * ctypedef npy_longlong longlong_t
964  *
965  */
966 typedef npy_longlong __pyx_t_5numpy_long_t;
967 
968 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
969  * ctypedef npy_long int_t
970  * ctypedef npy_longlong long_t
971  * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<<
972  *
973  * ctypedef npy_ulong uint_t
974  */
975 typedef npy_longlong __pyx_t_5numpy_longlong_t;
976 
977 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":804
978  * ctypedef npy_longlong longlong_t
979  *
980  * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<<
981  * ctypedef npy_ulonglong ulong_t
982  * ctypedef npy_ulonglong ulonglong_t
983  */
984 typedef npy_ulong __pyx_t_5numpy_uint_t;
985 
986 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":805
987  *
988  * ctypedef npy_ulong uint_t
989  * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<<
990  * ctypedef npy_ulonglong ulonglong_t
991  *
992  */
993 typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
994 
995 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":806
996  * ctypedef npy_ulong uint_t
997  * ctypedef npy_ulonglong ulong_t
998  * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<<
999  *
1000  * ctypedef npy_intp intp_t
1001  */
1002 typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
1003 
1004 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":808
1005  * ctypedef npy_ulonglong ulonglong_t
1006  *
1007  * ctypedef npy_intp intp_t # <<<<<<<<<<<<<<
1008  * ctypedef npy_uintp uintp_t
1009  *
1010  */
1011 typedef npy_intp __pyx_t_5numpy_intp_t;
1012 
1013 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":809
1014  *
1015  * ctypedef npy_intp intp_t
1016  * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<<
1017  *
1018  * ctypedef npy_double float_t
1019  */
1020 typedef npy_uintp __pyx_t_5numpy_uintp_t;
1021 
1022 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":811
1023  * ctypedef npy_uintp uintp_t
1024  *
1025  * ctypedef npy_double float_t # <<<<<<<<<<<<<<
1026  * ctypedef npy_double double_t
1027  * ctypedef npy_longdouble longdouble_t
1028  */
1029 typedef npy_double __pyx_t_5numpy_float_t;
1030 
1031 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":812
1032  *
1033  * ctypedef npy_double float_t
1034  * ctypedef npy_double double_t # <<<<<<<<<<<<<<
1035  * ctypedef npy_longdouble longdouble_t
1036  *
1037  */
1038 typedef npy_double __pyx_t_5numpy_double_t;
1039 
1040 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":813
1041  * ctypedef npy_double float_t
1042  * ctypedef npy_double double_t
1043  * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<<
1044  *
1045  * ctypedef npy_cfloat cfloat_t
1046  */
1047 typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
1048 
1049 /* "pynastran_io.pyx":30
1050  * cimport numpy as np
1051  * DTYPE = np.float
1052  * ctypedef np.float_t DTYPE_t # <<<<<<<<<<<<<<
1053  *
1054  *
1055  */
1056 typedef __pyx_t_5numpy_float_t __pyx_t_12pynastran_io_DTYPE_t;
1057 /* Declarations.proto */
1058 #if CYTHON_CCOMPLEX
1059  #ifdef __cplusplus
1060  typedef ::std::complex< float > __pyx_t_float_complex;
1061  #else
1062  typedef float _Complex __pyx_t_float_complex;
1063  #endif
1064 #else
1065  typedef struct { float real, imag; } __pyx_t_float_complex;
1066 #endif
1067 static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float);
1068 
1069 /* Declarations.proto */
1070 #if CYTHON_CCOMPLEX
1071  #ifdef __cplusplus
1072  typedef ::std::complex< double > __pyx_t_double_complex;
1073  #else
1074  typedef double _Complex __pyx_t_double_complex;
1075  #endif
1076 #else
1077  typedef struct { double real, imag; } __pyx_t_double_complex;
1078 #endif
1079 static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double);
1080 
1081 
1082 /*--- Type declarations ---*/
1083 struct BDFModel;
1084 
1085 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":815
1086  * ctypedef npy_longdouble longdouble_t
1087  *
1088  * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<<
1089  * ctypedef npy_cdouble cdouble_t
1090  * ctypedef npy_clongdouble clongdouble_t
1091  */
1092 typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
1093 
1094 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":816
1095  *
1096  * ctypedef npy_cfloat cfloat_t
1097  * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<<
1098  * ctypedef npy_clongdouble clongdouble_t
1099  *
1100  */
1101 typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
1102 
1103 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":817
1104  * ctypedef npy_cfloat cfloat_t
1105  * ctypedef npy_cdouble cdouble_t
1106  * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<<
1107  *
1108  * ctypedef npy_cdouble complex_t
1109  */
1110 typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
1111 
1112 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":819
1113  * ctypedef npy_clongdouble clongdouble_t
1114  *
1115  * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<<
1116  *
1117  * cdef inline object PyArray_MultiIterNew1(a):
1118  */
1119 typedef npy_cdouble __pyx_t_5numpy_complex_t;
1120 
1121 /* "pynastran_io.pyx":33
1122  *
1123  *
1124  * cdef public class BDFModel[object BDFModel, type BDFModelType]: # <<<<<<<<<<<<<<
1125  * cdef:
1126  * string bdfPath
1127  */
1128 struct BDFModel {
1129  PyObject_HEAD
1130  std::string bdfPath;
1131  int nDims;
1132  int nNodes;
1133  int nElems;
1134  int nMaterials;
1135  int nProperties;
1136  std::map<std::string,int> nElemTypes;
1137  PyObject *myBDF;
1138 };
1139 
1140 __PYX_EXTERN_C DL_EXPORT(PyTypeObject) BDFModelType;
1141 
1142 /* --- Runtime support code (head) --- */
1143 /* Refnanny.proto */
1144 #ifndef CYTHON_REFNANNY
1145  #define CYTHON_REFNANNY 0
1146 #endif
1147 #if CYTHON_REFNANNY
1148  typedef struct {
1149  void (*INCREF)(void*, PyObject*, int);
1150  void (*DECREF)(void*, PyObject*, int);
1151  void (*GOTREF)(void*, PyObject*, int);
1152  void (*GIVEREF)(void*, PyObject*, int);
1153  void* (*SetupContext)(const char*, int, const char*);
1154  void (*FinishContext)(void**);
1155  } __Pyx_RefNannyAPIStruct;
1156  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
1157  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
1158  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
1159 #ifdef WITH_THREAD
1160  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
1161  if (acquire_gil) {\
1162  PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
1163  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
1164  PyGILState_Release(__pyx_gilstate_save);\
1165  } else {\
1166  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
1167  }
1168 #else
1169  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
1170  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
1171 #endif
1172  #define __Pyx_RefNannyFinishContext()\
1173  __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
1174  #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1175  #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1176  #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1177  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
1178  #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
1179  #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
1180  #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
1181  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
1182 #else
1183  #define __Pyx_RefNannyDeclarations
1184  #define __Pyx_RefNannySetupContext(name, acquire_gil)
1185  #define __Pyx_RefNannyFinishContext()
1186  #define __Pyx_INCREF(r) Py_INCREF(r)
1187  #define __Pyx_DECREF(r) Py_DECREF(r)
1188  #define __Pyx_GOTREF(r)
1189  #define __Pyx_GIVEREF(r)
1190  #define __Pyx_XINCREF(r) Py_XINCREF(r)
1191  #define __Pyx_XDECREF(r) Py_XDECREF(r)
1192  #define __Pyx_XGOTREF(r)
1193  #define __Pyx_XGIVEREF(r)
1194 #endif
1195 #define __Pyx_XDECREF_SET(r, v) do {\
1196  PyObject *tmp = (PyObject *) r;\
1197  r = v; __Pyx_XDECREF(tmp);\
1198  } while (0)
1199 #define __Pyx_DECREF_SET(r, v) do {\
1200  PyObject *tmp = (PyObject *) r;\
1201  r = v; __Pyx_DECREF(tmp);\
1202  } while (0)
1203 #define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
1204 #define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
1205 
1206 /* PyObjectGetAttrStr.proto */
1207 #if CYTHON_USE_TYPE_SLOTS
1208 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
1209 #else
1210 #define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
1211 #endif
1212 
1213 /* GetBuiltinName.proto */
1214 static PyObject *__Pyx_GetBuiltinName(PyObject *name);
1215 
1216 /* RaiseDoubleKeywords.proto */
1217 static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
1218 
1219 /* ParseKeywords.proto */
1220 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
1221  PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
1222  const char* function_name);
1223 
1224 /* RaiseArgTupleInvalid.proto */
1225 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
1226  Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
1227 
1228 /* PyDictVersioning.proto */
1229 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
1230 #define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1)
1231 #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)
1232 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
1233  (version_var) = __PYX_GET_DICT_VERSION(dict);\
1234  (cache_var) = (value);
1235 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
1236  static PY_UINT64_T __pyx_dict_version = 0;\
1237  static PyObject *__pyx_dict_cached_value = NULL;\
1238  if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
1239  (VAR) = __pyx_dict_cached_value;\
1240  } else {\
1241  (VAR) = __pyx_dict_cached_value = (LOOKUP);\
1242  __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
1243  }\
1244 }
1245 static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
1246 static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
1247 static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
1248 #else
1249 #define __PYX_GET_DICT_VERSION(dict) (0)
1250 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
1251 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP);
1252 #endif
1253 
1254 /* GetModuleGlobalName.proto */
1255 #if CYTHON_USE_DICT_VERSIONS
1256 #define __Pyx_GetModuleGlobalName(var, name) {\
1257  static PY_UINT64_T __pyx_dict_version = 0;\
1258  static PyObject *__pyx_dict_cached_value = NULL;\
1259  (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
1260  (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
1261  __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
1262 }
1263 #define __Pyx_GetModuleGlobalNameUncached(var, name) {\
1264  PY_UINT64_T __pyx_dict_version;\
1265  PyObject *__pyx_dict_cached_value;\
1266  (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
1267 }
1268 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
1269 #else
1270 #define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name)
1271 #define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name)
1272 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
1273 #endif
1274 
1275 /* PyFunctionFastCall.proto */
1276 #if CYTHON_FAST_PYCALL
1277 #define __Pyx_PyFunction_FastCall(func, args, nargs)\
1278  __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
1279 #if 1 || PY_VERSION_HEX < 0x030600B1
1280 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
1281 #else
1282 #define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
1283 #endif
1284 #define __Pyx_BUILD_ASSERT_EXPR(cond)\
1285  (sizeof(char [1 - 2*!(cond)]) - 1)
1286 #ifndef Py_MEMBER_SIZE
1287 #define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
1288 #endif
1289  static size_t __pyx_pyframe_localsplus_offset = 0;
1290  #include "frameobject.h"
1291  #define __Pxy_PyFrame_Initialize_Offsets()\
1292  ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
1293  (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
1294  #define __Pyx_PyFrame_GetLocalsplus(frame)\
1295  (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
1296 #endif
1297 
1298 /* PyObjectCall.proto */
1299 #if CYTHON_COMPILING_IN_CPYTHON
1300 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
1301 #else
1302 #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
1303 #endif
1304 
1305 /* PyObjectCallMethO.proto */
1306 #if CYTHON_COMPILING_IN_CPYTHON
1307 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
1308 #endif
1309 
1310 /* PyObjectCallNoArg.proto */
1311 #if CYTHON_COMPILING_IN_CPYTHON
1312 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
1313 #else
1314 #define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
1315 #endif
1316 
1317 /* PyCFunctionFastCall.proto */
1318 #if CYTHON_FAST_PYCCALL
1319 static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
1320 #else
1321 #define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL)
1322 #endif
1323 
1324 /* PyObjectCallOneArg.proto */
1325 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
1326 
1327 /* IncludeCppStringH.proto */
1328 #include <string>
1329 
1330 /* decode_c_string_utf16.proto */
1331 static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16(const char *s, Py_ssize_t size, const char *errors) {
1332  int byteorder = 0;
1333  return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
1334 }
1335 static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16LE(const char *s, Py_ssize_t size, const char *errors) {
1336  int byteorder = -1;
1337  return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
1338 }
1339 static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16BE(const char *s, Py_ssize_t size, const char *errors) {
1340  int byteorder = 1;
1341  return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
1342 }
1343 
1344 /* decode_c_bytes.proto */
1345 static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(
1346  const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop,
1347  const char* encoding, const char* errors,
1348  PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors));
1349 
1350 /* decode_cpp_string.proto */
1351 static CYTHON_INLINE PyObject* __Pyx_decode_cpp_string(
1352  std::string cppstring, Py_ssize_t start, Py_ssize_t stop,
1353  const char* encoding, const char* errors,
1354  PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) {
1355  return __Pyx_decode_c_bytes(
1356  cppstring.data(), cppstring.size(), start, stop, encoding, errors, decode_func);
1357 }
1358 
1359 /* PyObjectCall2Args.proto */
1360 static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
1361 
1362 /* PyThreadStateGet.proto */
1363 #if CYTHON_FAST_THREAD_STATE
1364 #define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate;
1365 #define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current;
1366 #define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type
1367 #else
1368 #define __Pyx_PyThreadState_declare
1369 #define __Pyx_PyThreadState_assign
1370 #define __Pyx_PyErr_Occurred() PyErr_Occurred()
1371 #endif
1372 
1373 /* PyErrFetchRestore.proto */
1374 #if CYTHON_FAST_THREAD_STATE
1375 #define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
1376 #define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
1377 #define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
1378 #define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
1379 #define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
1380 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
1381 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
1382 #if CYTHON_COMPILING_IN_CPYTHON
1383 #define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
1384 #else
1385 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
1386 #endif
1387 #else
1388 #define __Pyx_PyErr_Clear() PyErr_Clear()
1389 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
1390 #define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb)
1391 #define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb)
1392 #define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb)
1393 #define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb)
1394 #define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb)
1395 #define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb)
1396 #endif
1397 
1398 /* RaiseException.proto */
1399 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
1400 
1401 /* WriteUnraisableException.proto */
1402 static void __Pyx_WriteUnraisable(const char *name, int clineno,
1403  int lineno, const char *filename,
1404  int full_traceback, int nogil);
1405 
1406 /* GetItemInt.proto */
1407 #define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
1408  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
1409  __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
1410  (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
1411  __Pyx_GetItemInt_Generic(o, to_py_func(i))))
1412 #define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
1413  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
1414  __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
1415  (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
1416 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
1417  int wraparound, int boundscheck);
1418 #define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
1419  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
1420  __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
1421  (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
1422 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
1423  int wraparound, int boundscheck);
1424 static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
1425 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
1426  int is_list, int wraparound, int boundscheck);
1427 
1428 /* ObjectGetItem.proto */
1429 #if CYTHON_USE_TYPE_SLOTS
1430 static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key);
1431 #else
1432 #define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key)
1433 #endif
1434 
1435 /* PyFloatBinop.proto */
1436 #if !CYTHON_COMPILING_IN_PYPY
1437 static PyObject* __Pyx_PyFloat_NeObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check);
1438 #else
1439 #define __Pyx_PyFloat_NeObjC(op1, op2, floatval, inplace, zerodivision_check)\
1440  (PyObject_RichCompare(op1, op2, Py_NE))
1441  #endif
1442 
1443 /* IterFinish.proto */
1444 static CYTHON_INLINE int __Pyx_IterFinish(void);
1445 
1446 /* PyObjectGetMethod.proto */
1447 static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
1448 
1449 /* PyObjectCallMethod0.proto */
1450 static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);
1451 
1452 /* RaiseNeedMoreValuesToUnpack.proto */
1453 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
1454 
1455 /* RaiseTooManyValuesToUnpack.proto */
1456 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
1457 
1458 /* UnpackItemEndCheck.proto */
1459 static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);
1460 
1461 /* RaiseNoneIterError.proto */
1462 static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
1463 
1464 /* UnpackTupleError.proto */
1465 static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index);
1466 
1467 /* UnpackTuple2.proto */
1468 #define __Pyx_unpack_tuple2(tuple, value1, value2, is_tuple, has_known_size, decref_tuple)\
1469  (likely(is_tuple || PyTuple_Check(tuple)) ?\
1470  (likely(has_known_size || PyTuple_GET_SIZE(tuple) == 2) ?\
1471  __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple) :\
1472  (__Pyx_UnpackTupleError(tuple, 2), -1)) :\
1473  __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple))
1474 static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
1475  PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple);
1476 static int __Pyx_unpack_tuple2_generic(
1477  PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple);
1478 
1479 /* dict_iter.proto */
1480 static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name,
1481  Py_ssize_t* p_orig_length, int* p_is_dict);
1482 static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
1483  PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);
1484 
1485 /* PySequenceContains.proto */
1486 static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {
1487  int result = PySequence_Contains(seq, item);
1488  return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
1489 }
1490 
1491 /* PyIntCompare.proto */
1492 static CYTHON_INLINE PyObject* __Pyx_PyInt_NeObjC(PyObject *op1, PyObject *op2, long intval, long inplace);
1493 
1494 /* ListAppend.proto */
1495 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
1496 static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
1497  PyListObject* L = (PyListObject*) list;
1498  Py_ssize_t len = Py_SIZE(list);
1499  if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
1500  Py_INCREF(x);
1501  PyList_SET_ITEM(list, len, x);
1502  Py_SIZE(list) = len+1;
1503  return 0;
1504  }
1505  return PyList_Append(list, x);
1506 }
1507 #else
1508 #define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
1509 #endif
1510 
1511 /* PyIntBinop.proto */
1512 #if !CYTHON_COMPILING_IN_PYPY
1513 static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
1514 #else
1515 #define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\
1516  (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
1517 #endif
1518 
1519 /* DictGetItem.proto */
1520 #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
1521 static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
1522 #define __Pyx_PyObject_Dict_GetItem(obj, name)\
1523  (likely(PyDict_CheckExact(obj)) ?\
1524  __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
1525 #else
1526 #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
1527 #define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name)
1528 #endif
1529 
1530 /* py_abs.proto */
1531 #if CYTHON_USE_PYLONG_INTERNALS
1532 static PyObject *__Pyx_PyLong_AbsNeg(PyObject *num);
1533 #define __Pyx_PyNumber_Absolute(x)\
1534  ((likely(PyLong_CheckExact(x))) ?\
1535  (likely(Py_SIZE(x) >= 0) ? (Py_INCREF(x), (x)) : __Pyx_PyLong_AbsNeg(x)) :\
1536  PyNumber_Absolute(x))
1537 #else
1538 #define __Pyx_PyNumber_Absolute(x) PyNumber_Absolute(x)
1539 #endif
1540 
1541 /* PyObjectSetAttrStr.proto */
1542 #if CYTHON_USE_TYPE_SLOTS
1543 #define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL)
1544 static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value);
1545 #else
1546 #define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n)
1547 #define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
1548 #endif
1549 
1550 /* ExtTypeTest.proto */
1551 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
1552 
1553 /* GetTopmostException.proto */
1554 #if CYTHON_USE_EXC_INFO_STACK
1555 static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
1556 #endif
1557 
1558 /* SaveResetException.proto */
1559 #if CYTHON_FAST_THREAD_STATE
1560 #define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
1561 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
1562 #define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
1563 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
1564 #else
1565 #define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb)
1566 #define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb)
1567 #endif
1568 
1569 /* PyErrExceptionMatches.proto */
1570 #if CYTHON_FAST_THREAD_STATE
1571 #define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
1572 static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
1573 #else
1574 #define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err)
1575 #endif
1576 
1577 /* GetException.proto */
1578 #if CYTHON_FAST_THREAD_STATE
1579 #define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)
1580 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
1581 #else
1582 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
1583 #endif
1584 
1585 /* PyObject_GenericGetAttrNoDict.proto */
1586 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
1587 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
1588 #else
1589 #define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
1590 #endif
1591 
1592 /* PyObject_GenericGetAttr.proto */
1593 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
1594 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
1595 #else
1596 #define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
1597 #endif
1598 
1599 /* SetupReduce.proto */
1600 static int __Pyx_setup_reduce(PyObject* type_obj);
1601 
1602 /* TypeImport.proto */
1603 #ifndef __PYX_HAVE_RT_ImportType_proto
1604 #define __PYX_HAVE_RT_ImportType_proto
1605 enum __Pyx_ImportType_CheckSize {
1606  __Pyx_ImportType_CheckSize_Error = 0,
1607  __Pyx_ImportType_CheckSize_Warn = 1,
1608  __Pyx_ImportType_CheckSize_Ignore = 2
1609 };
1610 static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size);
1611 #endif
1612 
1613 /* Import.proto */
1614 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
1615 
1616 /* ImportFrom.proto */
1617 static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
1618 
1619 /* CLineInTraceback.proto */
1620 #ifdef CYTHON_CLINE_IN_TRACEBACK
1621 #define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
1622 #else
1623 static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
1624 #endif
1625 
1626 /* CodeObjectCache.proto */
1627 typedef struct {
1628  PyCodeObject* code_object;
1629  int code_line;
1630 } __Pyx_CodeObjectCacheEntry;
1631 struct __Pyx_CodeObjectCache {
1632  int count;
1633  int max_count;
1634  __Pyx_CodeObjectCacheEntry* entries;
1635 };
1636 static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
1637 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
1638 static PyCodeObject *__pyx_find_code_object(int code_line);
1639 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
1640 
1641 /* AddTraceback.proto */
1642 static void __Pyx_AddTraceback(const char *funcname, int c_line,
1643  int py_line, const char *filename);
1644 
1645 /* None.proto */
1646 #include <new>
1647 
1648 /* CIntToPy.proto */
1649 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
1650 
1651 /* CppExceptionConversion.proto */
1652 #ifndef __Pyx_CppExn2PyErr
1653 #include <new>
1654 #include <typeinfo>
1655 #include <stdexcept>
1656 #include <ios>
1657 static void __Pyx_CppExn2PyErr() {
1658  try {
1659  if (PyErr_Occurred())
1660  ; // let the latest Python exn pass through and ignore the current one
1661  else
1662  throw;
1663  } catch (const std::bad_alloc& exn) {
1664  PyErr_SetString(PyExc_MemoryError, exn.what());
1665  } catch (const std::bad_cast& exn) {
1666  PyErr_SetString(PyExc_TypeError, exn.what());
1667  } catch (const std::bad_typeid& exn) {
1668  PyErr_SetString(PyExc_TypeError, exn.what());
1669  } catch (const std::domain_error& exn) {
1670  PyErr_SetString(PyExc_ValueError, exn.what());
1671  } catch (const std::invalid_argument& exn) {
1672  PyErr_SetString(PyExc_ValueError, exn.what());
1673  } catch (const std::ios_base::failure& exn) {
1674  PyErr_SetString(PyExc_IOError, exn.what());
1675  } catch (const std::out_of_range& exn) {
1676  PyErr_SetString(PyExc_IndexError, exn.what());
1677  } catch (const std::overflow_error& exn) {
1678  PyErr_SetString(PyExc_OverflowError, exn.what());
1679  } catch (const std::range_error& exn) {
1680  PyErr_SetString(PyExc_ArithmeticError, exn.what());
1681  } catch (const std::underflow_error& exn) {
1682  PyErr_SetString(PyExc_ArithmeticError, exn.what());
1683  } catch (const std::exception& exn) {
1684  PyErr_SetString(PyExc_RuntimeError, exn.what());
1685  }
1686  catch (...)
1687  {
1688  PyErr_SetString(PyExc_RuntimeError, "Unknown exception");
1689  }
1690 }
1691 #endif
1692 
1693 /* CIntToPy.proto */
1694 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
1695 
1696 /* RealImag.proto */
1697 #if CYTHON_CCOMPLEX
1698  #ifdef __cplusplus
1699  #define __Pyx_CREAL(z) ((z).real())
1700  #define __Pyx_CIMAG(z) ((z).imag())
1701  #else
1702  #define __Pyx_CREAL(z) (__real__(z))
1703  #define __Pyx_CIMAG(z) (__imag__(z))
1704  #endif
1705 #else
1706  #define __Pyx_CREAL(z) ((z).real)
1707  #define __Pyx_CIMAG(z) ((z).imag)
1708 #endif
1709 #if defined(__cplusplus) && CYTHON_CCOMPLEX\
1710  && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103)
1711  #define __Pyx_SET_CREAL(z,x) ((z).real(x))
1712  #define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
1713 #else
1714  #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
1715  #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
1716 #endif
1717 
1718 /* Arithmetic.proto */
1719 #if CYTHON_CCOMPLEX
1720  #define __Pyx_c_eq_float(a, b) ((a)==(b))
1721  #define __Pyx_c_sum_float(a, b) ((a)+(b))
1722  #define __Pyx_c_diff_float(a, b) ((a)-(b))
1723  #define __Pyx_c_prod_float(a, b) ((a)*(b))
1724  #define __Pyx_c_quot_float(a, b) ((a)/(b))
1725  #define __Pyx_c_neg_float(a) (-(a))
1726  #ifdef __cplusplus
1727  #define __Pyx_c_is_zero_float(z) ((z)==(float)0)
1728  #define __Pyx_c_conj_float(z) (::std::conj(z))
1729  #if 1
1730  #define __Pyx_c_abs_float(z) (::std::abs(z))
1731  #define __Pyx_c_pow_float(a, b) (::std::pow(a, b))
1732  #endif
1733  #else
1734  #define __Pyx_c_is_zero_float(z) ((z)==0)
1735  #define __Pyx_c_conj_float(z) (conjf(z))
1736  #if 1
1737  #define __Pyx_c_abs_float(z) (cabsf(z))
1738  #define __Pyx_c_pow_float(a, b) (cpowf(a, b))
1739  #endif
1740  #endif
1741 #else
1742  static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex);
1743  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex);
1744  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex);
1745  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex);
1746  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex);
1747  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex);
1748  static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex);
1749  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex);
1750  #if 1
1751  static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex);
1752  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex);
1753  #endif
1754 #endif
1755 
1756 /* Arithmetic.proto */
1757 #if CYTHON_CCOMPLEX
1758  #define __Pyx_c_eq_double(a, b) ((a)==(b))
1759  #define __Pyx_c_sum_double(a, b) ((a)+(b))
1760  #define __Pyx_c_diff_double(a, b) ((a)-(b))
1761  #define __Pyx_c_prod_double(a, b) ((a)*(b))
1762  #define __Pyx_c_quot_double(a, b) ((a)/(b))
1763  #define __Pyx_c_neg_double(a) (-(a))
1764  #ifdef __cplusplus
1765  #define __Pyx_c_is_zero_double(z) ((z)==(double)0)
1766  #define __Pyx_c_conj_double(z) (::std::conj(z))
1767  #if 1
1768  #define __Pyx_c_abs_double(z) (::std::abs(z))
1769  #define __Pyx_c_pow_double(a, b) (::std::pow(a, b))
1770  #endif
1771  #else
1772  #define __Pyx_c_is_zero_double(z) ((z)==0)
1773  #define __Pyx_c_conj_double(z) (conj(z))
1774  #if 1
1775  #define __Pyx_c_abs_double(z) (cabs(z))
1776  #define __Pyx_c_pow_double(a, b) (cpow(a, b))
1777  #endif
1778  #endif
1779 #else
1780  static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex);
1781  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex);
1782  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex);
1783  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex);
1784  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex);
1785  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex);
1786  static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex);
1787  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex);
1788  #if 1
1789  static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex);
1790  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex);
1791  #endif
1792 #endif
1793 
1794 /* CIntToPy.proto */
1795 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value);
1796 
1797 /* CIntFromPy.proto */
1798 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
1799 
1800 /* CIntFromPy.proto */
1801 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
1802 
1803 /* FastTypeChecks.proto */
1804 #if CYTHON_COMPILING_IN_CPYTHON
1805 #define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
1806 static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
1807 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
1808 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
1809 #else
1810 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
1811 #define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
1812 #define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
1813 #endif
1814 #define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
1815 
1816 /* CheckBinaryVersion.proto */
1817 static int __Pyx_check_binary_version(void);
1818 
1819 /* InitStrings.proto */
1820 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
1821 
1822 
1823 /* Module declarations from 'libc.string' */
1824 
1825 /* Module declarations from 'libcpp.string' */
1826 
1827 /* Module declarations from 'libcpp.vector' */
1828 
1829 /* Module declarations from 'libcpp.utility' */
1830 
1831 /* Module declarations from 'libcpp.map' */
1832 
1833 /* Module declarations from 'libcpp' */
1834 
1835 /* Module declarations from 'libcpp.list' */
1836 
1837 /* Module declarations from 'libcpp.set' */
1838 
1839 /* Module declarations from 'cpython.buffer' */
1840 
1841 /* Module declarations from 'libc.stdio' */
1842 
1843 /* Module declarations from '__builtin__' */
1844 
1845 /* Module declarations from 'cpython.type' */
1846 static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;
1847 
1848 /* Module declarations from 'cpython' */
1849 
1850 /* Module declarations from 'cpython.object' */
1851 
1852 /* Module declarations from 'cpython.ref' */
1853 
1854 /* Module declarations from 'cpython.mem' */
1855 
1856 /* Module declarations from 'numpy' */
1857 
1858 /* Module declarations from 'numpy' */
1859 static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;
1860 static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;
1861 static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;
1862 static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;
1863 static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;
1864 static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/
1865 
1866 /* Module declarations from 'pynastran_io' */
1867 static PyTypeObject *__pyx_ptype_12pynastran_io_BDFModel = 0;
1868 __PYX_EXTERN_C struct BDFModel *buildBDFModel(std::string); /*proto*/
1869 __PYX_EXTERN_C void printBDFStats(struct BDFModel *); /*proto*/
1870 __PYX_EXTERN_C std::vector<std::vector<double> > getNodes(struct BDFModel *); /*proto*/
1871 __PYX_EXTERN_C std::map<std::string,std::vector<std::vector<int> > > getElements(struct BDFModel *); /*proto*/
1872 __PYX_EXTERN_C std::map<std::string,int> getNumberOfElementTypes(struct BDFModel *); /*proto*/
1873 __PYX_EXTERN_C std::map<std::string,std::vector<int> > getSPCs(struct BDFModel *); /*proto*/
1874 static PyObject *__pyx_f_12pynastran_io_perturbZeroLengthBushings(struct BDFModel *); /*proto*/
1875 static std::string __pyx_convert_string_from_py_std__in_string(PyObject *); /*proto*/
1876 static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_string(std::string const &); /*proto*/
1877 static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_std__in_string(std::string const &); /*proto*/
1878 static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_std__in_string(std::string const &); /*proto*/
1879 static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_std__in_string(std::string const &); /*proto*/
1880 static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_std__in_string(std::string const &); /*proto*/
1881 static PyObject *__pyx_convert_map_to_py_std_3a__3a_string____int(std::map<std::string,int> const &); /*proto*/
1882 static std::vector<int> __pyx_convert_vector_from_py_int(PyObject *); /*proto*/
1883 #define __Pyx_MODULE_NAME "pynastran_io"
1884 extern int __pyx_module_is_main_pynastran_io;
1885 int __pyx_module_is_main_pynastran_io = 0;
1886 
1887 /* Implementation of 'pynastran_io' */
1888 static PyObject *__pyx_builtin_TypeError;
1889 static PyObject *__pyx_builtin_print;
1890 static PyObject *__pyx_builtin_NotImplementedError;
1891 static PyObject *__pyx_builtin_range;
1892 static PyObject *__pyx_builtin_ValueError;
1893 static PyObject *__pyx_builtin_RuntimeError;
1894 static PyObject *__pyx_builtin_ImportError;
1895 static const char __pyx_k_i[] = "_%i";
1896 static const char __pyx_k_j[] = "j";
1897 static const char __pyx_k_x[] = "x";
1898 static const char __pyx_k__3[] = "_";
1899 static const char __pyx_k__4[] = "'";
1900 static const char __pyx_k_np[] = "np";
1901 static const char __pyx_k_BDF[] = "BDF";
1902 static const char __pyx_k_eid[] = "eid";
1903 static const char __pyx_k_i_2[] = "i";
1904 static const char __pyx_k_min[] = "min";
1905 static const char __pyx_k_nid[] = "nid";
1906 static const char __pyx_k_pid[] = "pid";
1907 static const char __pyx_k_xyz[] = "xyz";
1908 static const char __pyx_k_keys[] = "keys";
1909 static const char __pyx_k_main[] = "__main__";
1910 static const char __pyx_k_name[] = "__name__";
1911 static const char __pyx_k_norm[] = "norm";
1912 static const char __pyx_k_spcs[] = "spcs";
1913 static const char __pyx_k_test[] = "__test__";
1914 static const char __pyx_k_type[] = "type";
1915 static const char __pyx_k_warn[] = "warn";
1916 static const char __pyx_k_CBUSH[] = "CBUSH";
1917 static const char __pyx_k_DTYPE[] = "DTYPE";
1918 static const char __pyx_k_float[] = "float";
1919 static const char __pyx_k_items[] = "items";
1920 static const char __pyx_k_nodes[] = "nodes";
1921 static const char __pyx_k_numpy[] = "numpy";
1922 static const char __pyx_k_print[] = "print";
1923 static const char __pyx_k_range[] = "range";
1924 static const char __pyx_k_strip[] = "strip";
1925 static const char __pyx_k_utf_8[] = "utf-8";
1926 static const char __pyx_k_encode[] = "encode";
1927 static const char __pyx_k_import[] = "__import__";
1928 static const char __pyx_k_linalg[] = "linalg";
1929 static const char __pyx_k_nnodes[] = "nnodes";
1930 static const char __pyx_k_offset[] = "offset";
1931 static const char __pyx_k_reduce[] = "__reduce__";
1932 static const char __pyx_k_tolist[] = "tolist";
1933 static const char __pyx_k_CBUSH1D[] = "CBUSH1D";
1934 static const char __pyx_k_CBUSH2D[] = "CBUSH2D";
1935 static const char __pyx_k_cid_ref[] = "cid_ref";
1936 static const char __pyx_k_zoffset[] = "zoffset";
1937 static const char __pyx_k_BDFModel[] = "BDFModel";
1938 static const char __pyx_k_bdf_path[] = "bdf_path";
1939 static const char __pyx_k_elements[] = "elements";
1940 static const char __pyx_k_getstate[] = "__getstate__";
1941 static const char __pyx_k_read_bdf[] = "read_bdf";
1942 static const char __pyx_k_setstate[] = "__setstate__";
1943 static const char __pyx_k_warnings[] = "warnings";
1944 static const char __pyx_k_TypeError[] = "TypeError";
1945 static const char __pyx_k_nelements[] = "nelements";
1946 static const char __pyx_k_nodes_ref[] = "nodes_ref";
1947 static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
1948 static const char __pyx_k_ValueError[] = "ValueError";
1949 static const char __pyx_k_card_count[] = "card_count";
1950 static const char __pyx_k_nmaterials[] = "nmaterials";
1951 static const char __pyx_k_ImportError[] = "ImportError";
1952 static const char __pyx_k_nproperties[] = "nproperties";
1953 static const char __pyx_k_RuntimeError[] = "RuntimeError";
1954 static const char __pyx_k_card_count_s[] = "card_count = %s\n";
1955 static const char __pyx_k_reject_count[] = "reject_count";
1956 static const char __pyx_k_get_bdf_stats[] = "get_bdf_stats";
1957 static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
1958 static const char __pyx_k_reject_count_s[] = "reject_count = %s\n";
1959 static const char __pyx_k_Subcase_i__s__i[] = "Subcase-%i_%s_%i";
1960 static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
1961 static const char __pyx_k_object_attributes[] = "object_attributes";
1962 static const char __pyx_k_pyNastran_bdf_bdf[] = "pyNastran.bdf.bdf";
1963 static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
1964 static const char __pyx_k_NotImplementedError[] = "NotImplementedError";
1965 static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous";
1966 static const char __pyx_k_Support_of_non_zero_offsets_not[] = "Support of non-zero offsets not yet implemented!";
1967 static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import";
1968 static const char __pyx_k_pyNASTRAN_Notes_Dependencies_cp[] = "\npyNASTRAN Notes\n---------------\nDependencies: cpylog, scipy, numpy\n";
1969 static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)";
1970 static const char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd";
1971 static const char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported";
1972 static const char __pyx_k_Perturbing_GRID_i_by_s_to_define[] = "Perturbing GRID %i by %s to define x-axis of zero-length element.";
1973 static const char __pyx_k_Support_of_non_zero_offets_not_y[] = "Support of non-zero offets not yet implemented!";
1974 static const char __pyx_k_get_elements_properties_nodes_by[] = "get_elements_properties_nodes_by_element_type";
1975 static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous";
1976 static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
1977 static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import";
1978 static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short.";
1979 static PyObject *__pyx_n_s_BDF;
1980 static PyObject *__pyx_n_s_BDFModel;
1981 static PyObject *__pyx_n_u_CBUSH;
1982 static PyObject *__pyx_n_u_CBUSH1D;
1983 static PyObject *__pyx_n_u_CBUSH2D;
1984 static PyObject *__pyx_n_s_DTYPE;
1985 static PyObject *__pyx_kp_u_Format_string_allocated_too_shor;
1986 static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2;
1987 static PyObject *__pyx_n_s_ImportError;
1988 static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor;
1989 static PyObject *__pyx_n_s_NotImplementedError;
1990 static PyObject *__pyx_kp_u_Perturbing_GRID_i_by_s_to_define;
1991 static PyObject *__pyx_n_s_RuntimeError;
1992 static PyObject *__pyx_kp_u_Subcase_i__s__i;
1993 static PyObject *__pyx_kp_u_Support_of_non_zero_offets_not_y;
1994 static PyObject *__pyx_kp_u_Support_of_non_zero_offsets_not;
1995 static PyObject *__pyx_n_s_TypeError;
1996 static PyObject *__pyx_n_s_ValueError;
1997 static PyObject *__pyx_n_u__3;
1998 static PyObject *__pyx_kp_u__4;
1999 static PyObject *__pyx_n_s_bdf_path;
2000 static PyObject *__pyx_n_s_card_count;
2001 static PyObject *__pyx_kp_u_card_count_s;
2002 static PyObject *__pyx_n_s_cid_ref;
2003 static PyObject *__pyx_n_s_cline_in_traceback;
2004 static PyObject *__pyx_n_s_eid;
2005 static PyObject *__pyx_n_s_elements;
2006 static PyObject *__pyx_n_s_encode;
2007 static PyObject *__pyx_n_s_float;
2008 static PyObject *__pyx_n_s_get_bdf_stats;
2009 static PyObject *__pyx_n_s_get_elements_properties_nodes_by;
2010 static PyObject *__pyx_n_s_getstate;
2011 static PyObject *__pyx_kp_u_i;
2012 static PyObject *__pyx_n_s_i_2;
2013 static PyObject *__pyx_n_s_import;
2014 static PyObject *__pyx_n_s_items;
2015 static PyObject *__pyx_n_s_j;
2016 static PyObject *__pyx_n_s_keys;
2017 static PyObject *__pyx_n_s_linalg;
2018 static PyObject *__pyx_n_s_main;
2019 static PyObject *__pyx_n_s_min;
2020 static PyObject *__pyx_n_s_name;
2021 static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous;
2022 static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou;
2023 static PyObject *__pyx_n_s_nelements;
2024 static PyObject *__pyx_n_s_nid;
2025 static PyObject *__pyx_n_s_nmaterials;
2026 static PyObject *__pyx_n_s_nnodes;
2027 static PyObject *__pyx_kp_s_no_default___reduce___due_to_non;
2028 static PyObject *__pyx_n_s_nodes;
2029 static PyObject *__pyx_n_s_nodes_ref;
2030 static PyObject *__pyx_n_s_norm;
2031 static PyObject *__pyx_n_s_np;
2032 static PyObject *__pyx_n_s_nproperties;
2033 static PyObject *__pyx_n_s_numpy;
2034 static PyObject *__pyx_kp_u_numpy_core_multiarray_failed_to;
2035 static PyObject *__pyx_kp_u_numpy_core_umath_failed_to_impor;
2036 static PyObject *__pyx_n_s_object_attributes;
2037 static PyObject *__pyx_n_s_offset;
2038 static PyObject *__pyx_n_u_offset;
2039 static PyObject *__pyx_n_s_pid;
2040 static PyObject *__pyx_n_s_print;
2041 static PyObject *__pyx_n_s_pyNastran_bdf_bdf;
2042 static PyObject *__pyx_n_s_range;
2043 static PyObject *__pyx_n_s_read_bdf;
2044 static PyObject *__pyx_n_s_reduce;
2045 static PyObject *__pyx_n_s_reduce_cython;
2046 static PyObject *__pyx_n_s_reduce_ex;
2047 static PyObject *__pyx_n_s_reject_count;
2048 static PyObject *__pyx_kp_u_reject_count_s;
2049 static PyObject *__pyx_n_s_setstate;
2050 static PyObject *__pyx_n_s_setstate_cython;
2051 static PyObject *__pyx_n_s_spcs;
2052 static PyObject *__pyx_n_s_strip;
2053 static PyObject *__pyx_n_s_test;
2054 static PyObject *__pyx_n_s_tolist;
2055 static PyObject *__pyx_n_s_type;
2056 static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd;
2057 static PyObject *__pyx_kp_u_utf_8;
2058 static PyObject *__pyx_n_s_warn;
2059 static PyObject *__pyx_n_s_warnings;
2060 static PyObject *__pyx_n_s_x;
2061 static PyObject *__pyx_n_s_xyz;
2062 static PyObject *__pyx_n_s_zoffset;
2063 static PyObject *__pyx_n_u_zoffset;
2064 static int __pyx_pf_12pynastran_io_8BDFModel___cinit__(struct BDFModel *__pyx_v_self, std::string __pyx_v_bdf_path); /* proto */
2065 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_5nDims___get__(struct BDFModel *__pyx_v_self); /* proto */
2066 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_6nNodes___get__(struct BDFModel *__pyx_v_self); /* proto */
2067 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_6nElems___get__(struct BDFModel *__pyx_v_self); /* proto */
2068 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_10nMaterials___get__(struct BDFModel *__pyx_v_self); /* proto */
2069 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_11nProperties___get__(struct BDFModel *__pyx_v_self); /* proto */
2070 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_10nElemTypes___get__(struct BDFModel *__pyx_v_self); /* proto */
2071 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_2__reduce_cython__(CYTHON_UNUSED struct BDFModel *__pyx_v_self); /* proto */
2072 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_4__setstate_cython__(CYTHON_UNUSED struct BDFModel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
2073 static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
2074 static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */
2075 static PyObject *__pyx_tp_new_12pynastran_io_BDFModel(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
2076 static PyObject *__pyx_float_0_0;
2077 static PyObject *__pyx_int_0;
2078 static PyObject *__pyx_int_1;
2079 static PyObject *__pyx_tuple_;
2080 static PyObject *__pyx_tuple__2;
2081 static PyObject *__pyx_tuple__5;
2082 static PyObject *__pyx_tuple__6;
2083 static PyObject *__pyx_tuple__7;
2084 static PyObject *__pyx_tuple__8;
2085 static PyObject *__pyx_tuple__9;
2086 static PyObject *__pyx_tuple__10;
2087 static PyObject *__pyx_tuple__11;
2088 static PyObject *__pyx_tuple__12;
2089 static PyObject *__pyx_tuple__13;
2090 /* Late includes */
2091 
2092 /* "pynastran_io.pyx":50
2093  * cdef myBDF
2094  *
2095  * def __cinit__(self, string bdf_path): # <<<<<<<<<<<<<<
2096  * self.bdfPath = bdf_path
2097  * self.myBDF = BDF()
2098  */
2099 
2100 /* Python wrapper */
2101 static int __pyx_pw_12pynastran_io_8BDFModel_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2102 static int __pyx_pw_12pynastran_io_8BDFModel_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
2103  std::string __pyx_v_bdf_path;
2104  int __pyx_r;
2105  __Pyx_RefNannyDeclarations
2106  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
2107  {
2108  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_bdf_path,0};
2109  PyObject* values[1] = {0};
2110  if (unlikely(__pyx_kwds)) {
2111  Py_ssize_t kw_args;
2112  const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
2113  switch (pos_args) {
2114  case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
2115  CYTHON_FALLTHROUGH;
2116  case 0: break;
2117  default: goto __pyx_L5_argtuple_error;
2118  }
2119  kw_args = PyDict_Size(__pyx_kwds);
2120  switch (pos_args) {
2121  case 0:
2122  if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_bdf_path)) != 0)) kw_args--;
2123  else goto __pyx_L5_argtuple_error;
2124  }
2125  if (unlikely(kw_args > 0)) {
2126  if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(1, 50, __pyx_L3_error)
2127  }
2128  } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
2129  goto __pyx_L5_argtuple_error;
2130  } else {
2131  values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
2132  }
2133  __pyx_v_bdf_path = __pyx_convert_string_from_py_std__in_string(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 50, __pyx_L3_error)
2134  }
2135  goto __pyx_L4_argument_unpacking_done;
2136  __pyx_L5_argtuple_error:;
2137  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 50, __pyx_L3_error)
2138  __pyx_L3_error:;
2139  __Pyx_AddTraceback("pynastran_io.BDFModel.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
2140  __Pyx_RefNannyFinishContext();
2141  return -1;
2142  __pyx_L4_argument_unpacking_done:;
2143  __pyx_r = __pyx_pf_12pynastran_io_8BDFModel___cinit__(((struct BDFModel *)__pyx_v_self), __pyx_v_bdf_path);
2144 
2145  /* function exit code */
2146  __Pyx_RefNannyFinishContext();
2147  return __pyx_r;
2148 }
2149 
2150 static int __pyx_pf_12pynastran_io_8BDFModel___cinit__(struct BDFModel *__pyx_v_self, std::string __pyx_v_bdf_path) {
2151  PyObject *__pyx_v_nm = NULL;
2152  int __pyx_r;
2153  __Pyx_RefNannyDeclarations
2154  PyObject *__pyx_t_1 = NULL;
2155  PyObject *__pyx_t_2 = NULL;
2156  PyObject *__pyx_t_3 = NULL;
2157  int __pyx_t_4;
2158  __Pyx_RefNannySetupContext("__cinit__", 0);
2159 
2160  /* "pynastran_io.pyx":51
2161  *
2162  * def __cinit__(self, string bdf_path):
2163  * self.bdfPath = bdf_path # <<<<<<<<<<<<<<
2164  * self.myBDF = BDF()
2165  * nm = bdf_path.decode("UTF-8")
2166  */
2167  __pyx_v_self->bdfPath = __pyx_v_bdf_path;
2168 
2169  /* "pynastran_io.pyx":52
2170  * def __cinit__(self, string bdf_path):
2171  * self.bdfPath = bdf_path
2172  * self.myBDF = BDF() # <<<<<<<<<<<<<<
2173  * nm = bdf_path.decode("UTF-8")
2174  * self.myBDF.read_bdf(nm)
2175  */
2176  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BDF); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 52, __pyx_L1_error)
2177  __Pyx_GOTREF(__pyx_t_2);
2178  __pyx_t_3 = NULL;
2179  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
2180  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
2181  if (likely(__pyx_t_3)) {
2182  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
2183  __Pyx_INCREF(__pyx_t_3);
2184  __Pyx_INCREF(function);
2185  __Pyx_DECREF_SET(__pyx_t_2, function);
2186  }
2187  }
2188  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
2189  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
2190  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 52, __pyx_L1_error)
2191  __Pyx_GOTREF(__pyx_t_1);
2192  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2193  __Pyx_GIVEREF(__pyx_t_1);
2194  __Pyx_GOTREF(__pyx_v_self->myBDF);
2195  __Pyx_DECREF(__pyx_v_self->myBDF);
2196  __pyx_v_self->myBDF = __pyx_t_1;
2197  __pyx_t_1 = 0;
2198 
2199  /* "pynastran_io.pyx":53
2200  * self.bdfPath = bdf_path
2201  * self.myBDF = BDF()
2202  * nm = bdf_path.decode("UTF-8") # <<<<<<<<<<<<<<
2203  * self.myBDF.read_bdf(nm)
2204  * self.nNodes = self.myBDF.nnodes
2205  */
2206  __pyx_t_1 = __Pyx_decode_cpp_string(__pyx_v_bdf_path, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 53, __pyx_L1_error)
2207  __Pyx_GOTREF(__pyx_t_1);
2208  __pyx_v_nm = __pyx_t_1;
2209  __pyx_t_1 = 0;
2210 
2211  /* "pynastran_io.pyx":54
2212  * self.myBDF = BDF()
2213  * nm = bdf_path.decode("UTF-8")
2214  * self.myBDF.read_bdf(nm) # <<<<<<<<<<<<<<
2215  * self.nNodes = self.myBDF.nnodes
2216  * self.nElems = self.myBDF.nelements
2217  */
2218  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->myBDF, __pyx_n_s_read_bdf); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 54, __pyx_L1_error)
2219  __Pyx_GOTREF(__pyx_t_2);
2220  __pyx_t_3 = NULL;
2221  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
2222  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
2223  if (likely(__pyx_t_3)) {
2224  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
2225  __Pyx_INCREF(__pyx_t_3);
2226  __Pyx_INCREF(function);
2227  __Pyx_DECREF_SET(__pyx_t_2, function);
2228  }
2229  }
2230  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_nm) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_nm);
2231  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
2232  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 54, __pyx_L1_error)
2233  __Pyx_GOTREF(__pyx_t_1);
2234  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2235  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2236 
2237  /* "pynastran_io.pyx":55
2238  * nm = bdf_path.decode("UTF-8")
2239  * self.myBDF.read_bdf(nm)
2240  * self.nNodes = self.myBDF.nnodes # <<<<<<<<<<<<<<
2241  * self.nElems = self.myBDF.nelements
2242  * self.nMaterials = self.myBDF.nmaterials
2243  */
2244  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->myBDF, __pyx_n_s_nnodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 55, __pyx_L1_error)
2245  __Pyx_GOTREF(__pyx_t_1);
2246  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 55, __pyx_L1_error)
2247  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2248  __pyx_v_self->nNodes = __pyx_t_4;
2249 
2250  /* "pynastran_io.pyx":56
2251  * self.myBDF.read_bdf(nm)
2252  * self.nNodes = self.myBDF.nnodes
2253  * self.nElems = self.myBDF.nelements # <<<<<<<<<<<<<<
2254  * self.nMaterials = self.myBDF.nmaterials
2255  * self.nProperties = self.myBDF.nproperties
2256  */
2257  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->myBDF, __pyx_n_s_nelements); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 56, __pyx_L1_error)
2258  __Pyx_GOTREF(__pyx_t_1);
2259  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 56, __pyx_L1_error)
2260  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2261  __pyx_v_self->nElems = __pyx_t_4;
2262 
2263  /* "pynastran_io.pyx":57
2264  * self.nNodes = self.myBDF.nnodes
2265  * self.nElems = self.myBDF.nelements
2266  * self.nMaterials = self.myBDF.nmaterials # <<<<<<<<<<<<<<
2267  * self.nProperties = self.myBDF.nproperties
2268  * # self.temperatures = None
2269  */
2270  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->myBDF, __pyx_n_s_nmaterials); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 57, __pyx_L1_error)
2271  __Pyx_GOTREF(__pyx_t_1);
2272  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 57, __pyx_L1_error)
2273  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2274  __pyx_v_self->nMaterials = __pyx_t_4;
2275 
2276  /* "pynastran_io.pyx":58
2277  * self.nElems = self.myBDF.nelements
2278  * self.nMaterials = self.myBDF.nmaterials
2279  * self.nProperties = self.myBDF.nproperties # <<<<<<<<<<<<<<
2280  * # self.temperatures = None
2281  *
2282  */
2283  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->myBDF, __pyx_n_s_nproperties); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 58, __pyx_L1_error)
2284  __Pyx_GOTREF(__pyx_t_1);
2285  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 58, __pyx_L1_error)
2286  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2287  __pyx_v_self->nProperties = __pyx_t_4;
2288 
2289  /* "pynastran_io.pyx":63
2290  * # Perturb the nodes of zero-length vectors, this is a hack to make zero-length
2291  * # elements work in MAST.
2292  * perturbZeroLengthBushings(self) # <<<<<<<<<<<<<<
2293  *
2294  *
2295  */
2296  __pyx_t_1 = __pyx_f_12pynastran_io_perturbZeroLengthBushings(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 63, __pyx_L1_error)
2297  __Pyx_GOTREF(__pyx_t_1);
2298  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2299 
2300  /* "pynastran_io.pyx":50
2301  * cdef myBDF
2302  *
2303  * def __cinit__(self, string bdf_path): # <<<<<<<<<<<<<<
2304  * self.bdfPath = bdf_path
2305  * self.myBDF = BDF()
2306  */
2307 
2308  /* function exit code */
2309  __pyx_r = 0;
2310  goto __pyx_L0;
2311  __pyx_L1_error:;
2312  __Pyx_XDECREF(__pyx_t_1);
2313  __Pyx_XDECREF(__pyx_t_2);
2314  __Pyx_XDECREF(__pyx_t_3);
2315  __Pyx_AddTraceback("pynastran_io.BDFModel.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
2316  __pyx_r = -1;
2317  __pyx_L0:;
2318  __Pyx_XDECREF(__pyx_v_nm);
2319  __Pyx_RefNannyFinishContext();
2320  return __pyx_r;
2321 }
2322 
2323 /* "pynastran_io.pyx":39
2324  * # The readonly specifier allows C/C++ code to still access these variables, but prevents them from changing it.
2325  * cdef readonly :
2326  * int nDims # <<<<<<<<<<<<<<
2327  * int nNodes
2328  * int nElems
2329  */
2330 
2331 /* Python wrapper */
2332 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_5nDims_1__get__(PyObject *__pyx_v_self); /*proto*/
2333 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_5nDims_1__get__(PyObject *__pyx_v_self) {
2334  PyObject *__pyx_r = 0;
2335  __Pyx_RefNannyDeclarations
2336  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
2337  __pyx_r = __pyx_pf_12pynastran_io_8BDFModel_5nDims___get__(((struct BDFModel *)__pyx_v_self));
2338 
2339  /* function exit code */
2340  __Pyx_RefNannyFinishContext();
2341  return __pyx_r;
2342 }
2343 
2344 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_5nDims___get__(struct BDFModel *__pyx_v_self) {
2345  PyObject *__pyx_r = NULL;
2346  __Pyx_RefNannyDeclarations
2347  PyObject *__pyx_t_1 = NULL;
2348  __Pyx_RefNannySetupContext("__get__", 0);
2349  __Pyx_XDECREF(__pyx_r);
2350  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nDims); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39, __pyx_L1_error)
2351  __Pyx_GOTREF(__pyx_t_1);
2352  __pyx_r = __pyx_t_1;
2353  __pyx_t_1 = 0;
2354  goto __pyx_L0;
2355 
2356  /* function exit code */
2357  __pyx_L1_error:;
2358  __Pyx_XDECREF(__pyx_t_1);
2359  __Pyx_AddTraceback("pynastran_io.BDFModel.nDims.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
2360  __pyx_r = NULL;
2361  __pyx_L0:;
2362  __Pyx_XGIVEREF(__pyx_r);
2363  __Pyx_RefNannyFinishContext();
2364  return __pyx_r;
2365 }
2366 
2367 /* "pynastran_io.pyx":40
2368  * cdef readonly :
2369  * int nDims
2370  * int nNodes # <<<<<<<<<<<<<<
2371  * int nElems
2372  * int nMaterials
2373  */
2374 
2375 /* Python wrapper */
2376 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_6nNodes_1__get__(PyObject *__pyx_v_self); /*proto*/
2377 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_6nNodes_1__get__(PyObject *__pyx_v_self) {
2378  PyObject *__pyx_r = 0;
2379  __Pyx_RefNannyDeclarations
2380  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
2381  __pyx_r = __pyx_pf_12pynastran_io_8BDFModel_6nNodes___get__(((struct BDFModel *)__pyx_v_self));
2382 
2383  /* function exit code */
2384  __Pyx_RefNannyFinishContext();
2385  return __pyx_r;
2386 }
2387 
2388 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_6nNodes___get__(struct BDFModel *__pyx_v_self) {
2389  PyObject *__pyx_r = NULL;
2390  __Pyx_RefNannyDeclarations
2391  PyObject *__pyx_t_1 = NULL;
2392  __Pyx_RefNannySetupContext("__get__", 0);
2393  __Pyx_XDECREF(__pyx_r);
2394  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nNodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40, __pyx_L1_error)
2395  __Pyx_GOTREF(__pyx_t_1);
2396  __pyx_r = __pyx_t_1;
2397  __pyx_t_1 = 0;
2398  goto __pyx_L0;
2399 
2400  /* function exit code */
2401  __pyx_L1_error:;
2402  __Pyx_XDECREF(__pyx_t_1);
2403  __Pyx_AddTraceback("pynastran_io.BDFModel.nNodes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
2404  __pyx_r = NULL;
2405  __pyx_L0:;
2406  __Pyx_XGIVEREF(__pyx_r);
2407  __Pyx_RefNannyFinishContext();
2408  return __pyx_r;
2409 }
2410 
2411 /* "pynastran_io.pyx":41
2412  * int nDims
2413  * int nNodes
2414  * int nElems # <<<<<<<<<<<<<<
2415  * int nMaterials
2416  * int nProperties
2417  */
2418 
2419 /* Python wrapper */
2420 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_6nElems_1__get__(PyObject *__pyx_v_self); /*proto*/
2421 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_6nElems_1__get__(PyObject *__pyx_v_self) {
2422  PyObject *__pyx_r = 0;
2423  __Pyx_RefNannyDeclarations
2424  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
2425  __pyx_r = __pyx_pf_12pynastran_io_8BDFModel_6nElems___get__(((struct BDFModel *)__pyx_v_self));
2426 
2427  /* function exit code */
2428  __Pyx_RefNannyFinishContext();
2429  return __pyx_r;
2430 }
2431 
2432 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_6nElems___get__(struct BDFModel *__pyx_v_self) {
2433  PyObject *__pyx_r = NULL;
2434  __Pyx_RefNannyDeclarations
2435  PyObject *__pyx_t_1 = NULL;
2436  __Pyx_RefNannySetupContext("__get__", 0);
2437  __Pyx_XDECREF(__pyx_r);
2438  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nElems); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41, __pyx_L1_error)
2439  __Pyx_GOTREF(__pyx_t_1);
2440  __pyx_r = __pyx_t_1;
2441  __pyx_t_1 = 0;
2442  goto __pyx_L0;
2443 
2444  /* function exit code */
2445  __pyx_L1_error:;
2446  __Pyx_XDECREF(__pyx_t_1);
2447  __Pyx_AddTraceback("pynastran_io.BDFModel.nElems.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
2448  __pyx_r = NULL;
2449  __pyx_L0:;
2450  __Pyx_XGIVEREF(__pyx_r);
2451  __Pyx_RefNannyFinishContext();
2452  return __pyx_r;
2453 }
2454 
2455 /* "pynastran_io.pyx":42
2456  * int nNodes
2457  * int nElems
2458  * int nMaterials # <<<<<<<<<<<<<<
2459  * int nProperties
2460  * map[string, int] nElemTypes
2461  */
2462 
2463 /* Python wrapper */
2464 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_10nMaterials_1__get__(PyObject *__pyx_v_self); /*proto*/
2465 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_10nMaterials_1__get__(PyObject *__pyx_v_self) {
2466  PyObject *__pyx_r = 0;
2467  __Pyx_RefNannyDeclarations
2468  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
2469  __pyx_r = __pyx_pf_12pynastran_io_8BDFModel_10nMaterials___get__(((struct BDFModel *)__pyx_v_self));
2470 
2471  /* function exit code */
2472  __Pyx_RefNannyFinishContext();
2473  return __pyx_r;
2474 }
2475 
2476 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_10nMaterials___get__(struct BDFModel *__pyx_v_self) {
2477  PyObject *__pyx_r = NULL;
2478  __Pyx_RefNannyDeclarations
2479  PyObject *__pyx_t_1 = NULL;
2480  __Pyx_RefNannySetupContext("__get__", 0);
2481  __Pyx_XDECREF(__pyx_r);
2482  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nMaterials); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42, __pyx_L1_error)
2483  __Pyx_GOTREF(__pyx_t_1);
2484  __pyx_r = __pyx_t_1;
2485  __pyx_t_1 = 0;
2486  goto __pyx_L0;
2487 
2488  /* function exit code */
2489  __pyx_L1_error:;
2490  __Pyx_XDECREF(__pyx_t_1);
2491  __Pyx_AddTraceback("pynastran_io.BDFModel.nMaterials.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
2492  __pyx_r = NULL;
2493  __pyx_L0:;
2494  __Pyx_XGIVEREF(__pyx_r);
2495  __Pyx_RefNannyFinishContext();
2496  return __pyx_r;
2497 }
2498 
2499 /* "pynastran_io.pyx":43
2500  * int nElems
2501  * int nMaterials
2502  * int nProperties # <<<<<<<<<<<<<<
2503  * map[string, int] nElemTypes
2504  *
2505  */
2506 
2507 /* Python wrapper */
2508 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_11nProperties_1__get__(PyObject *__pyx_v_self); /*proto*/
2509 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_11nProperties_1__get__(PyObject *__pyx_v_self) {
2510  PyObject *__pyx_r = 0;
2511  __Pyx_RefNannyDeclarations
2512  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
2513  __pyx_r = __pyx_pf_12pynastran_io_8BDFModel_11nProperties___get__(((struct BDFModel *)__pyx_v_self));
2514 
2515  /* function exit code */
2516  __Pyx_RefNannyFinishContext();
2517  return __pyx_r;
2518 }
2519 
2520 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_11nProperties___get__(struct BDFModel *__pyx_v_self) {
2521  PyObject *__pyx_r = NULL;
2522  __Pyx_RefNannyDeclarations
2523  PyObject *__pyx_t_1 = NULL;
2524  __Pyx_RefNannySetupContext("__get__", 0);
2525  __Pyx_XDECREF(__pyx_r);
2526  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->nProperties); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 43, __pyx_L1_error)
2527  __Pyx_GOTREF(__pyx_t_1);
2528  __pyx_r = __pyx_t_1;
2529  __pyx_t_1 = 0;
2530  goto __pyx_L0;
2531 
2532  /* function exit code */
2533  __pyx_L1_error:;
2534  __Pyx_XDECREF(__pyx_t_1);
2535  __Pyx_AddTraceback("pynastran_io.BDFModel.nProperties.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
2536  __pyx_r = NULL;
2537  __pyx_L0:;
2538  __Pyx_XGIVEREF(__pyx_r);
2539  __Pyx_RefNannyFinishContext();
2540  return __pyx_r;
2541 }
2542 
2543 /* "pynastran_io.pyx":44
2544  * int nMaterials
2545  * int nProperties
2546  * map[string, int] nElemTypes # <<<<<<<<<<<<<<
2547  *
2548  * # Need to declare this here, even without a type specifier. Otherwise,
2549  */
2550 
2551 /* Python wrapper */
2552 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_10nElemTypes_1__get__(PyObject *__pyx_v_self); /*proto*/
2553 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_10nElemTypes_1__get__(PyObject *__pyx_v_self) {
2554  PyObject *__pyx_r = 0;
2555  __Pyx_RefNannyDeclarations
2556  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
2557  __pyx_r = __pyx_pf_12pynastran_io_8BDFModel_10nElemTypes___get__(((struct BDFModel *)__pyx_v_self));
2558 
2559  /* function exit code */
2560  __Pyx_RefNannyFinishContext();
2561  return __pyx_r;
2562 }
2563 
2564 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_10nElemTypes___get__(struct BDFModel *__pyx_v_self) {
2565  PyObject *__pyx_r = NULL;
2566  __Pyx_RefNannyDeclarations
2567  PyObject *__pyx_t_1 = NULL;
2568  __Pyx_RefNannySetupContext("__get__", 0);
2569  __Pyx_XDECREF(__pyx_r);
2570  __pyx_t_1 = __pyx_convert_map_to_py_std_3a__3a_string____int(__pyx_v_self->nElemTypes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 44, __pyx_L1_error)
2571  __Pyx_GOTREF(__pyx_t_1);
2572  __pyx_r = __pyx_t_1;
2573  __pyx_t_1 = 0;
2574  goto __pyx_L0;
2575 
2576  /* function exit code */
2577  __pyx_L1_error:;
2578  __Pyx_XDECREF(__pyx_t_1);
2579  __Pyx_AddTraceback("pynastran_io.BDFModel.nElemTypes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
2580  __pyx_r = NULL;
2581  __pyx_L0:;
2582  __Pyx_XGIVEREF(__pyx_r);
2583  __Pyx_RefNannyFinishContext();
2584  return __pyx_r;
2585 }
2586 
2587 /* "(tree fragment)":1
2588  * def __reduce_cython__(self): # <<<<<<<<<<<<<<
2589  * raise TypeError("no default __reduce__ due to non-trivial __cinit__")
2590  * def __setstate_cython__(self, __pyx_state):
2591  */
2592 
2593 /* Python wrapper */
2594 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
2595 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
2596  PyObject *__pyx_r = 0;
2597  __Pyx_RefNannyDeclarations
2598  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
2599  __pyx_r = __pyx_pf_12pynastran_io_8BDFModel_2__reduce_cython__(((struct BDFModel *)__pyx_v_self));
2600 
2601  /* function exit code */
2602  __Pyx_RefNannyFinishContext();
2603  return __pyx_r;
2604 }
2605 
2606 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_2__reduce_cython__(CYTHON_UNUSED struct BDFModel *__pyx_v_self) {
2607  PyObject *__pyx_r = NULL;
2608  __Pyx_RefNannyDeclarations
2609  PyObject *__pyx_t_1 = NULL;
2610  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
2611 
2612  /* "(tree fragment)":2
2613  * def __reduce_cython__(self):
2614  * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<<
2615  * def __setstate_cython__(self, __pyx_state):
2616  * raise TypeError("no default __reduce__ due to non-trivial __cinit__")
2617  */
2618  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error)
2619  __Pyx_GOTREF(__pyx_t_1);
2620  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
2621  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2622  __PYX_ERR(0, 2, __pyx_L1_error)
2623 
2624  /* "(tree fragment)":1
2625  * def __reduce_cython__(self): # <<<<<<<<<<<<<<
2626  * raise TypeError("no default __reduce__ due to non-trivial __cinit__")
2627  * def __setstate_cython__(self, __pyx_state):
2628  */
2629 
2630  /* function exit code */
2631  __pyx_L1_error:;
2632  __Pyx_XDECREF(__pyx_t_1);
2633  __Pyx_AddTraceback("pynastran_io.BDFModel.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
2634  __pyx_r = NULL;
2635  __Pyx_XGIVEREF(__pyx_r);
2636  __Pyx_RefNannyFinishContext();
2637  return __pyx_r;
2638 }
2639 
2640 /* "(tree fragment)":3
2641  * def __reduce_cython__(self):
2642  * raise TypeError("no default __reduce__ due to non-trivial __cinit__")
2643  * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
2644  * raise TypeError("no default __reduce__ due to non-trivial __cinit__")
2645  */
2646 
2647 /* Python wrapper */
2648 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
2649 static PyObject *__pyx_pw_12pynastran_io_8BDFModel_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
2650  PyObject *__pyx_r = 0;
2651  __Pyx_RefNannyDeclarations
2652  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
2653  __pyx_r = __pyx_pf_12pynastran_io_8BDFModel_4__setstate_cython__(((struct BDFModel *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
2654 
2655  /* function exit code */
2656  __Pyx_RefNannyFinishContext();
2657  return __pyx_r;
2658 }
2659 
2660 static PyObject *__pyx_pf_12pynastran_io_8BDFModel_4__setstate_cython__(CYTHON_UNUSED struct BDFModel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
2661  PyObject *__pyx_r = NULL;
2662  __Pyx_RefNannyDeclarations
2663  PyObject *__pyx_t_1 = NULL;
2664  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
2665 
2666  /* "(tree fragment)":4
2667  * raise TypeError("no default __reduce__ due to non-trivial __cinit__")
2668  * def __setstate_cython__(self, __pyx_state):
2669  * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<<
2670  */
2671  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error)
2672  __Pyx_GOTREF(__pyx_t_1);
2673  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
2674  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2675  __PYX_ERR(0, 4, __pyx_L1_error)
2676 
2677  /* "(tree fragment)":3
2678  * def __reduce_cython__(self):
2679  * raise TypeError("no default __reduce__ due to non-trivial __cinit__")
2680  * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
2681  * raise TypeError("no default __reduce__ due to non-trivial __cinit__")
2682  */
2683 
2684  /* function exit code */
2685  __pyx_L1_error:;
2686  __Pyx_XDECREF(__pyx_t_1);
2687  __Pyx_AddTraceback("pynastran_io.BDFModel.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
2688  __pyx_r = NULL;
2689  __Pyx_XGIVEREF(__pyx_r);
2690  __Pyx_RefNannyFinishContext();
2691  return __pyx_r;
2692 }
2693 
2694 /* "pynastran_io.pyx":66
2695  *
2696  *
2697  * cdef public BDFModel buildBDFModel(string bdf_path): # <<<<<<<<<<<<<<
2698  * """
2699  * Acts as the constructor for the BDFModel class.
2700  */
2701 
2702 struct BDFModel *buildBDFModel(std::string __pyx_v_bdf_path) {
2703  struct BDFModel *__pyx_r = NULL;
2704  __Pyx_RefNannyDeclarations
2705  PyObject *__pyx_t_1 = NULL;
2706  PyObject *__pyx_t_2 = NULL;
2707  __Pyx_RefNannySetupContext("buildBDFModel", 0);
2708 
2709  /* "pynastran_io.pyx":70
2710  * Acts as the constructor for the BDFModel class.
2711  * """
2712  * return BDFModel(bdf_path) # <<<<<<<<<<<<<<
2713  *
2714  *
2715  */
2716  __Pyx_XDECREF(((PyObject *)__pyx_r));
2717  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_bdf_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 70, __pyx_L1_error)
2718  __Pyx_GOTREF(__pyx_t_1);
2719  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_12pynastran_io_BDFModel), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 70, __pyx_L1_error)
2720  __Pyx_GOTREF(__pyx_t_2);
2721  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2722  __pyx_r = ((struct BDFModel *)__pyx_t_2);
2723  __pyx_t_2 = 0;
2724  goto __pyx_L0;
2725 
2726  /* "pynastran_io.pyx":66
2727  *
2728  *
2729  * cdef public BDFModel buildBDFModel(string bdf_path): # <<<<<<<<<<<<<<
2730  * """
2731  * Acts as the constructor for the BDFModel class.
2732  */
2733 
2734  /* function exit code */
2735  __pyx_L1_error:;
2736  __Pyx_XDECREF(__pyx_t_1);
2737  __Pyx_XDECREF(__pyx_t_2);
2738  __Pyx_AddTraceback("pynastran_io.buildBDFModel", __pyx_clineno, __pyx_lineno, __pyx_filename);
2739  __pyx_r = 0;
2740  __pyx_L0:;
2741  __Pyx_XGIVEREF((PyObject *)__pyx_r);
2742  __Pyx_RefNannyFinishContext();
2743  return __pyx_r;
2744 }
2745 
2746 /* "pynastran_io.pyx":73
2747  *
2748  *
2749  * cdef public void printBDFStats(BDFModel model): # <<<<<<<<<<<<<<
2750  * print(model.myBDF.get_bdf_stats())
2751  * print("card_count = %s\n"%model.myBDF.card_count)
2752  */
2753 
2754 void printBDFStats(struct BDFModel *__pyx_v_model) {
2755  __Pyx_RefNannyDeclarations
2756  PyObject *__pyx_t_1 = NULL;
2757  PyObject *__pyx_t_2 = NULL;
2758  PyObject *__pyx_t_3 = NULL;
2759  __Pyx_RefNannySetupContext("printBDFStats", 0);
2760 
2761  /* "pynastran_io.pyx":74
2762  *
2763  * cdef public void printBDFStats(BDFModel model):
2764  * print(model.myBDF.get_bdf_stats()) # <<<<<<<<<<<<<<
2765  * print("card_count = %s\n"%model.myBDF.card_count)
2766  * print("reject_count = %s\n"%model.myBDF.reject_count)
2767  */
2768  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_model->myBDF, __pyx_n_s_get_bdf_stats); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 74, __pyx_L1_error)
2769  __Pyx_GOTREF(__pyx_t_2);
2770  __pyx_t_3 = NULL;
2771  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
2772  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
2773  if (likely(__pyx_t_3)) {
2774  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
2775  __Pyx_INCREF(__pyx_t_3);
2776  __Pyx_INCREF(function);
2777  __Pyx_DECREF_SET(__pyx_t_2, function);
2778  }
2779  }
2780  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
2781  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
2782  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 74, __pyx_L1_error)
2783  __Pyx_GOTREF(__pyx_t_1);
2784  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2785  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 74, __pyx_L1_error)
2786  __Pyx_GOTREF(__pyx_t_2);
2787  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2788  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2789 
2790  /* "pynastran_io.pyx":75
2791  * cdef public void printBDFStats(BDFModel model):
2792  * print(model.myBDF.get_bdf_stats())
2793  * print("card_count = %s\n"%model.myBDF.card_count) # <<<<<<<<<<<<<<
2794  * print("reject_count = %s\n"%model.myBDF.reject_count)
2795  *
2796  */
2797  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_model->myBDF, __pyx_n_s_card_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 75, __pyx_L1_error)
2798  __Pyx_GOTREF(__pyx_t_2);
2799  __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_card_count_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 75, __pyx_L1_error)
2800  __Pyx_GOTREF(__pyx_t_1);
2801  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2802  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 75, __pyx_L1_error)
2803  __Pyx_GOTREF(__pyx_t_2);
2804  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2805  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2806 
2807  /* "pynastran_io.pyx":76
2808  * print(model.myBDF.get_bdf_stats())
2809  * print("card_count = %s\n"%model.myBDF.card_count)
2810  * print("reject_count = %s\n"%model.myBDF.reject_count) # <<<<<<<<<<<<<<
2811  *
2812  *
2813  */
2814  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_model->myBDF, __pyx_n_s_reject_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 76, __pyx_L1_error)
2815  __Pyx_GOTREF(__pyx_t_2);
2816  __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_reject_count_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 76, __pyx_L1_error)
2817  __Pyx_GOTREF(__pyx_t_1);
2818  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2819  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 76, __pyx_L1_error)
2820  __Pyx_GOTREF(__pyx_t_2);
2821  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2822  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2823 
2824  /* "pynastran_io.pyx":73
2825  *
2826  *
2827  * cdef public void printBDFStats(BDFModel model): # <<<<<<<<<<<<<<
2828  * print(model.myBDF.get_bdf_stats())
2829  * print("card_count = %s\n"%model.myBDF.card_count)
2830  */
2831 
2832  /* function exit code */
2833  goto __pyx_L0;
2834  __pyx_L1_error:;
2835  __Pyx_XDECREF(__pyx_t_1);
2836  __Pyx_XDECREF(__pyx_t_2);
2837  __Pyx_XDECREF(__pyx_t_3);
2838  __Pyx_WriteUnraisable("pynastran_io.printBDFStats", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
2839  __pyx_L0:;
2840  __Pyx_RefNannyFinishContext();
2841 }
2842 
2843 /* "pynastran_io.pyx":79
2844  *
2845  *
2846  * cdef public vector[vector[double]] getNodes(BDFModel model): # <<<<<<<<<<<<<<
2847  * """
2848  * Creates a vector of vectors where each row is the node id and coordinates of
2849  */
2850 
2851 std::vector<std::vector<double> > getNodes(struct BDFModel *__pyx_v_model) {
2852  int __pyx_v_n;
2853  int __pyx_v_m;
2854  std::vector<double> __pyx_v_node_vec;
2855  std::vector<std::vector<double> > __pyx_v_nodes;
2856  bool __pyx_v_anyZ;
2857  bool __pyx_v_anyY;
2858  bool __pyx_v_anyX;
2859  int __pyx_v_i;
2860  PyObject *__pyx_v_key = NULL;
2861  PyObject *__pyx_v_node = NULL;
2862  std::vector<std::vector<double> > __pyx_r;
2863  __Pyx_RefNannyDeclarations
2864  int __pyx_t_1;
2865  std::vector<double> __pyx_t_2;
2866  std::vector<std::vector<double> > __pyx_t_3;
2867  PyObject *__pyx_t_4 = NULL;
2868  PyObject *__pyx_t_5 = NULL;
2869  Py_ssize_t __pyx_t_6;
2870  PyObject *(*__pyx_t_7)(PyObject *);
2871  PyObject *__pyx_t_8 = NULL;
2872  double __pyx_t_9;
2873  int __pyx_t_10;
2874  __Pyx_RefNannySetupContext("getNodes", 0);
2875 
2876  /* "pynastran_io.pyx":95
2877  * """
2878  * # Get the number of rows and columns
2879  * cdef int n = model.nNodes # Number of Nodes # <<<<<<<<<<<<<<
2880  * cdef int m = 4 # node number + 3 dimensions = 4
2881  *
2882  */
2883  __pyx_t_1 = __pyx_v_model->nNodes;
2884  __pyx_v_n = __pyx_t_1;
2885 
2886  /* "pynastran_io.pyx":96
2887  * # Get the number of rows and columns
2888  * cdef int n = model.nNodes # Number of Nodes
2889  * cdef int m = 4 # node number + 3 dimensions = 4 # <<<<<<<<<<<<<<
2890  *
2891  * # Create a 2D vector (vector of vectors) to store node numbers and coords
2892  */
2893  __pyx_v_m = 4;
2894 
2895  /* "pynastran_io.pyx":101
2896  * cdef vector[double] node_vec
2897  * cdef vector[vector[double]] nodes
2898  * node_vec = vector[double](m) # <<<<<<<<<<<<<<
2899  * nodes = vector[vector[double]](n, node_vec)
2900  *
2901  */
2902  try {
2903  __pyx_t_2 = std::vector<double> (__pyx_v_m);
2904  } catch(...) {
2905  __Pyx_CppExn2PyErr();
2906  __PYX_ERR(1, 101, __pyx_L1_error)
2907  }
2908  __pyx_v_node_vec = __pyx_t_2;
2909 
2910  /* "pynastran_io.pyx":102
2911  * cdef vector[vector[double]] nodes
2912  * node_vec = vector[double](m)
2913  * nodes = vector[vector[double]](n, node_vec) # <<<<<<<<<<<<<<
2914  *
2915  * # Iterate over all nodes and all them to the 2D vector
2916  */
2917  try {
2918  __pyx_t_3 = std::vector<std::vector<double> > (__pyx_v_n, __pyx_v_node_vec);
2919  } catch(...) {
2920  __Pyx_CppExn2PyErr();
2921  __PYX_ERR(1, 102, __pyx_L1_error)
2922  }
2923  __pyx_v_nodes = __pyx_t_3;
2924 
2925  /* "pynastran_io.pyx":105
2926  *
2927  * # Iterate over all nodes and all them to the 2D vector
2928  * cdef bool anyZ = False # <<<<<<<<<<<<<<
2929  * cdef bool anyY = False
2930  * cdef bool anyX = False
2931  */
2932  __pyx_v_anyZ = 0;
2933 
2934  /* "pynastran_io.pyx":106
2935  * # Iterate over all nodes and all them to the 2D vector
2936  * cdef bool anyZ = False
2937  * cdef bool anyY = False # <<<<<<<<<<<<<<
2938  * cdef bool anyX = False
2939  * cdef int i = 0
2940  */
2941  __pyx_v_anyY = 0;
2942 
2943  /* "pynastran_io.pyx":107
2944  * cdef bool anyZ = False
2945  * cdef bool anyY = False
2946  * cdef bool anyX = False # <<<<<<<<<<<<<<
2947  * cdef int i = 0
2948  * for key in model.myBDF.nodes:
2949  */
2950  __pyx_v_anyX = 0;
2951 
2952  /* "pynastran_io.pyx":108
2953  * cdef bool anyY = False
2954  * cdef bool anyX = False
2955  * cdef int i = 0 # <<<<<<<<<<<<<<
2956  * for key in model.myBDF.nodes:
2957  * node = model.myBDF.nodes[key]
2958  */
2959  __pyx_v_i = 0;
2960 
2961  /* "pynastran_io.pyx":109
2962  * cdef bool anyX = False
2963  * cdef int i = 0
2964  * for key in model.myBDF.nodes: # <<<<<<<<<<<<<<
2965  * node = model.myBDF.nodes[key]
2966  * nodes[i][0] = node.nid
2967  */
2968  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_model->myBDF, __pyx_n_s_nodes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 109, __pyx_L1_error)
2969  __Pyx_GOTREF(__pyx_t_4);
2970  if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
2971  __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
2972  __pyx_t_7 = NULL;
2973  } else {
2974  __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 109, __pyx_L1_error)
2975  __Pyx_GOTREF(__pyx_t_5);
2976  __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 109, __pyx_L1_error)
2977  }
2978  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2979  for (;;) {
2980  if (likely(!__pyx_t_7)) {
2981  if (likely(PyList_CheckExact(__pyx_t_5))) {
2982  if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
2983  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
2984  __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(1, 109, __pyx_L1_error)
2985  #else
2986  __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 109, __pyx_L1_error)
2987  __Pyx_GOTREF(__pyx_t_4);
2988  #endif
2989  } else {
2990  if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
2991  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
2992  __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(1, 109, __pyx_L1_error)
2993  #else
2994  __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 109, __pyx_L1_error)
2995  __Pyx_GOTREF(__pyx_t_4);
2996  #endif
2997  }
2998  } else {
2999  __pyx_t_4 = __pyx_t_7(__pyx_t_5);
3000  if (unlikely(!__pyx_t_4)) {
3001  PyObject* exc_type = PyErr_Occurred();
3002  if (exc_type) {
3003  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
3004  else __PYX_ERR(1, 109, __pyx_L1_error)
3005  }
3006  break;
3007  }
3008  __Pyx_GOTREF(__pyx_t_4);
3009  }
3010  __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_4);
3011  __pyx_t_4 = 0;
3012 
3013  /* "pynastran_io.pyx":110
3014  * cdef int i = 0
3015  * for key in model.myBDF.nodes:
3016  * node = model.myBDF.nodes[key] # <<<<<<<<<<<<<<
3017  * nodes[i][0] = node.nid
3018  * nodes[i][1] = node.xyz[0]
3019  */
3020  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_model->myBDF, __pyx_n_s_nodes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 110, __pyx_L1_error)
3021  __Pyx_GOTREF(__pyx_t_4);
3022  __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_key); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 110, __pyx_L1_error)
3023  __Pyx_GOTREF(__pyx_t_8);
3024  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3025  __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_8);
3026  __pyx_t_8 = 0;
3027 
3028  /* "pynastran_io.pyx":111
3029  * for key in model.myBDF.nodes:
3030  * node = model.myBDF.nodes[key]
3031  * nodes[i][0] = node.nid # <<<<<<<<<<<<<<
3032  * nodes[i][1] = node.xyz[0]
3033  * nodes[i][2] = node.xyz[1]
3034  */
3035  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_nid); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 111, __pyx_L1_error)
3036  __Pyx_GOTREF(__pyx_t_8);
3037  __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 111, __pyx_L1_error)
3038  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
3039  ((__pyx_v_nodes[__pyx_v_i])[0]) = __pyx_t_9;
3040 
3041  /* "pynastran_io.pyx":112
3042  * node = model.myBDF.nodes[key]
3043  * nodes[i][0] = node.nid
3044  * nodes[i][1] = node.xyz[0] # <<<<<<<<<<<<<<
3045  * nodes[i][2] = node.xyz[1]
3046  * nodes[i][3] = node.xyz[2]
3047  */
3048  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_xyz); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 112, __pyx_L1_error)
3049  __Pyx_GOTREF(__pyx_t_8);
3050  __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_8, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 112, __pyx_L1_error)
3051  __Pyx_GOTREF(__pyx_t_4);
3052  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
3053  __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 112, __pyx_L1_error)
3054  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3055  ((__pyx_v_nodes[__pyx_v_i])[1]) = __pyx_t_9;
3056 
3057  /* "pynastran_io.pyx":113
3058  * nodes[i][0] = node.nid
3059  * nodes[i][1] = node.xyz[0]
3060  * nodes[i][2] = node.xyz[1] # <<<<<<<<<<<<<<
3061  * nodes[i][3] = node.xyz[2]
3062  * if node.xyz[0]!=0.0:
3063  */
3064  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_xyz); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 113, __pyx_L1_error)
3065  __Pyx_GOTREF(__pyx_t_4);
3066  __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 113, __pyx_L1_error)
3067  __Pyx_GOTREF(__pyx_t_8);
3068  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3069  __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 113, __pyx_L1_error)
3070  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
3071  ((__pyx_v_nodes[__pyx_v_i])[2]) = __pyx_t_9;
3072 
3073  /* "pynastran_io.pyx":114
3074  * nodes[i][1] = node.xyz[0]
3075  * nodes[i][2] = node.xyz[1]
3076  * nodes[i][3] = node.xyz[2] # <<<<<<<<<<<<<<
3077  * if node.xyz[0]!=0.0:
3078  * anyX = True
3079  */
3080  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_xyz); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 114, __pyx_L1_error)
3081  __Pyx_GOTREF(__pyx_t_8);
3082  __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_8, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 114, __pyx_L1_error)
3083  __Pyx_GOTREF(__pyx_t_4);
3084  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
3085  __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 114, __pyx_L1_error)
3086  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3087  ((__pyx_v_nodes[__pyx_v_i])[3]) = __pyx_t_9;
3088 
3089  /* "pynastran_io.pyx":115
3090  * nodes[i][2] = node.xyz[1]
3091  * nodes[i][3] = node.xyz[2]
3092  * if node.xyz[0]!=0.0: # <<<<<<<<<<<<<<
3093  * anyX = True
3094  * if node.xyz[1]!=0.0:
3095  */
3096  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_xyz); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 115, __pyx_L1_error)
3097  __Pyx_GOTREF(__pyx_t_4);
3098  __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 115, __pyx_L1_error)
3099  __Pyx_GOTREF(__pyx_t_8);
3100  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3101  __pyx_t_4 = __Pyx_PyFloat_NeObjC(__pyx_t_8, __pyx_float_0_0, 0.0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 115, __pyx_L1_error)
3102  __Pyx_GOTREF(__pyx_t_4);
3103  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
3104  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(1, 115, __pyx_L1_error)
3105  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3106  if (__pyx_t_10) {
3107 
3108  /* "pynastran_io.pyx":116
3109  * nodes[i][3] = node.xyz[2]
3110  * if node.xyz[0]!=0.0:
3111  * anyX = True # <<<<<<<<<<<<<<
3112  * if node.xyz[1]!=0.0:
3113  * anyY = True
3114  */
3115  __pyx_v_anyX = 1;
3116 
3117  /* "pynastran_io.pyx":115
3118  * nodes[i][2] = node.xyz[1]
3119  * nodes[i][3] = node.xyz[2]
3120  * if node.xyz[0]!=0.0: # <<<<<<<<<<<<<<
3121  * anyX = True
3122  * if node.xyz[1]!=0.0:
3123  */
3124  }
3125 
3126  /* "pynastran_io.pyx":117
3127  * if node.xyz[0]!=0.0:
3128  * anyX = True
3129  * if node.xyz[1]!=0.0: # <<<<<<<<<<<<<<
3130  * anyY = True
3131  * if node.xyz[2]!=0.0:
3132  */
3133  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_xyz); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 117, __pyx_L1_error)
3134  __Pyx_GOTREF(__pyx_t_4);
3135  __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 117, __pyx_L1_error)
3136  __Pyx_GOTREF(__pyx_t_8);
3137  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3138  __pyx_t_4 = __Pyx_PyFloat_NeObjC(__pyx_t_8, __pyx_float_0_0, 0.0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 117, __pyx_L1_error)
3139  __Pyx_GOTREF(__pyx_t_4);
3140  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
3141  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(1, 117, __pyx_L1_error)
3142  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3143  if (__pyx_t_10) {
3144 
3145  /* "pynastran_io.pyx":118
3146  * anyX = True
3147  * if node.xyz[1]!=0.0:
3148  * anyY = True # <<<<<<<<<<<<<<
3149  * if node.xyz[2]!=0.0:
3150  * anyZ = True
3151  */
3152  __pyx_v_anyY = 1;
3153 
3154  /* "pynastran_io.pyx":117
3155  * if node.xyz[0]!=0.0:
3156  * anyX = True
3157  * if node.xyz[1]!=0.0: # <<<<<<<<<<<<<<
3158  * anyY = True
3159  * if node.xyz[2]!=0.0:
3160  */
3161  }
3162 
3163  /* "pynastran_io.pyx":119
3164  * if node.xyz[1]!=0.0:
3165  * anyY = True
3166  * if node.xyz[2]!=0.0: # <<<<<<<<<<<<<<
3167  * anyZ = True
3168  * i += 1
3169  */
3170  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_xyz); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 119, __pyx_L1_error)
3171  __Pyx_GOTREF(__pyx_t_4);
3172  __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_4, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 119, __pyx_L1_error)
3173  __Pyx_GOTREF(__pyx_t_8);
3174  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3175  __pyx_t_4 = __Pyx_PyFloat_NeObjC(__pyx_t_8, __pyx_float_0_0, 0.0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 119, __pyx_L1_error)
3176  __Pyx_GOTREF(__pyx_t_4);
3177  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
3178  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(1, 119, __pyx_L1_error)
3179  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3180  if (__pyx_t_10) {
3181 
3182  /* "pynastran_io.pyx":120
3183  * anyY = True
3184  * if node.xyz[2]!=0.0:
3185  * anyZ = True # <<<<<<<<<<<<<<
3186  * i += 1
3187  *
3188  */
3189  __pyx_v_anyZ = 1;
3190 
3191  /* "pynastran_io.pyx":119
3192  * if node.xyz[1]!=0.0:
3193  * anyY = True
3194  * if node.xyz[2]!=0.0: # <<<<<<<<<<<<<<
3195  * anyZ = True
3196  * i += 1
3197  */
3198  }
3199 
3200  /* "pynastran_io.pyx":121
3201  * if node.xyz[2]!=0.0:
3202  * anyZ = True
3203  * i += 1 # <<<<<<<<<<<<<<
3204  *
3205  * if anyZ:
3206  */
3207  __pyx_v_i = (__pyx_v_i + 1);
3208 
3209  /* "pynastran_io.pyx":109
3210  * cdef bool anyX = False
3211  * cdef int i = 0
3212  * for key in model.myBDF.nodes: # <<<<<<<<<<<<<<
3213  * node = model.myBDF.nodes[key]
3214  * nodes[i][0] = node.nid
3215  */
3216  }
3217  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3218 
3219  /* "pynastran_io.pyx":123
3220  * i += 1
3221  *
3222  * if anyZ: # <<<<<<<<<<<<<<
3223  * model.nDims = 3
3224  * elif anyY:
3225  */
3226  __pyx_t_10 = (__pyx_v_anyZ != 0);
3227  if (__pyx_t_10) {
3228 
3229  /* "pynastran_io.pyx":124
3230  *
3231  * if anyZ:
3232  * model.nDims = 3 # <<<<<<<<<<<<<<
3233  * elif anyY:
3234  * model.nDims = 2
3235  */
3236  __pyx_v_model->nDims = 3;
3237 
3238  /* "pynastran_io.pyx":123
3239  * i += 1
3240  *
3241  * if anyZ: # <<<<<<<<<<<<<<
3242  * model.nDims = 3
3243  * elif anyY:
3244  */
3245  goto __pyx_L8;
3246  }
3247 
3248  /* "pynastran_io.pyx":125
3249  * if anyZ:
3250  * model.nDims = 3
3251  * elif anyY: # <<<<<<<<<<<<<<
3252  * model.nDims = 2
3253  * elif anyX:
3254  */
3255  __pyx_t_10 = (__pyx_v_anyY != 0);
3256  if (__pyx_t_10) {
3257 
3258  /* "pynastran_io.pyx":126
3259  * model.nDims = 3
3260  * elif anyY:
3261  * model.nDims = 2 # <<<<<<<<<<<<<<
3262  * elif anyX:
3263  * model.nDims = 1
3264  */
3265  __pyx_v_model->nDims = 2;
3266 
3267  /* "pynastran_io.pyx":125
3268  * if anyZ:
3269  * model.nDims = 3
3270  * elif anyY: # <<<<<<<<<<<<<<
3271  * model.nDims = 2
3272  * elif anyX:
3273  */
3274  goto __pyx_L8;
3275  }
3276 
3277  /* "pynastran_io.pyx":127
3278  * elif anyY:
3279  * model.nDims = 2
3280  * elif anyX: # <<<<<<<<<<<<<<
3281  * model.nDims = 1
3282  * else:
3283  */
3284  __pyx_t_10 = (__pyx_v_anyX != 0);
3285  if (__pyx_t_10) {
3286 
3287  /* "pynastran_io.pyx":128
3288  * model.nDims = 2
3289  * elif anyX:
3290  * model.nDims = 1 # <<<<<<<<<<<<<<
3291  * else:
3292  * model.nDims = 0
3293  */
3294  __pyx_v_model->nDims = 1;
3295 
3296  /* "pynastran_io.pyx":127
3297  * elif anyY:
3298  * model.nDims = 2
3299  * elif anyX: # <<<<<<<<<<<<<<
3300  * model.nDims = 1
3301  * else:
3302  */
3303  goto __pyx_L8;
3304  }
3305 
3306  /* "pynastran_io.pyx":130
3307  * model.nDims = 1
3308  * else:
3309  * model.nDims = 0 # <<<<<<<<<<<<<<
3310  *
3311  * return nodes
3312  */
3313  /*else*/ {
3314  __pyx_v_model->nDims = 0;
3315  }
3316  __pyx_L8:;
3317 
3318  /* "pynastran_io.pyx":132
3319  * model.nDims = 0
3320  *
3321  * return nodes # <<<<<<<<<<<<<<
3322  *
3323  *
3324  */
3325  __pyx_r = __pyx_v_nodes;
3326  goto __pyx_L0;
3327 
3328  /* "pynastran_io.pyx":79
3329  *
3330  *
3331  * cdef public vector[vector[double]] getNodes(BDFModel model): # <<<<<<<<<<<<<<
3332  * """
3333  * Creates a vector of vectors where each row is the node id and coordinates of
3334  */
3335 
3336  /* function exit code */
3337  __pyx_L1_error:;
3338  __Pyx_XDECREF(__pyx_t_4);
3339  __Pyx_XDECREF(__pyx_t_5);
3340  __Pyx_XDECREF(__pyx_t_8);
3341  __Pyx_WriteUnraisable("pynastran_io.getNodes", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
3342  __Pyx_pretend_to_initialize(&__pyx_r);
3343  __pyx_L0:;
3344  __Pyx_XDECREF(__pyx_v_key);
3345  __Pyx_XDECREF(__pyx_v_node);
3346  __Pyx_RefNannyFinishContext();
3347  return __pyx_r;
3348 }
3349 
3350 /* "pynastran_io.pyx":135
3351  *
3352  *
3353  * cdef public map[string, vector[vector[int]]] getElements(BDFModel model): # <<<<<<<<<<<<<<
3354  * """
3355  * Creates a map of the elements contained in the model. The keys of the map are the element type and the values
3356  */
3357 
3358 std::map<std::string,std::vector<std::vector<int> > > getElements(struct BDFModel *__pyx_v_model) {
3359  CYTHON_UNUSED int __pyx_v_n;
3360  std::map<std::string,std::vector<std::vector<int> > > __pyx_v_elementMap;
3361  std::map<std::string,int> __pyx_v_elemTypes;
3362  std::map<std::string,int> __pyx_v_i_counter;
3363  std::map<std::string,int> ::iterator __pyx_v_it;
3364  std::vector<int> __pyx_v_elem_vec;
3365  int __pyx_v_m;
3366  int __pyx_v_nElemNodes;
3367  PyObject *__pyx_v_elemType = NULL;
3368  int __pyx_v_nElemTypes;
3369  CYTHON_UNUSED PyObject *__pyx_v_mapKeys = NULL;
3370  int __pyx_v_i;
3371  int __pyx_v_j;
3372  CYTHON_UNUSED PyObject *__pyx_v_key = NULL;
3373  PyObject *__pyx_v_element = NULL;
3374  std::map<std::string,std::vector<std::vector<int> > > __pyx_r;
3375  __Pyx_RefNannyDeclarations
3376  int __pyx_t_1;
3377  int __pyx_t_2;
3378  PyObject *__pyx_t_3 = NULL;
3379  PyObject *__pyx_t_4 = NULL;
3380  PyObject *__pyx_t_5 = NULL;
3381  std::vector<int> __pyx_t_6;
3382  std::vector<std::vector<int> > __pyx_t_7;
3383  std::string __pyx_t_8;
3384  Py_ssize_t __pyx_t_9;
3385  Py_ssize_t __pyx_t_10;
3386  int __pyx_t_11;
3387  PyObject *__pyx_t_12 = NULL;
3388  int __pyx_t_13;
3389  Py_ssize_t __pyx_t_14;
3390  PyObject *__pyx_t_15 = NULL;
3391  int __pyx_t_16;
3392  int __pyx_t_17;
3393  int __pyx_t_18;
3394  std::string __pyx_t_19;
3395  __Pyx_RefNannySetupContext("getElements", 0);
3396 
3397  /* "pynastran_io.pyx":140
3398  * of the map is a 2D vector (vector of vector<int>) which stores element ID, property ID, and node numbers.
3399  * """
3400  * cdef int n = model.nElems # Number of elements # <<<<<<<<<<<<<<
3401  *
3402  * cdef map[string, vector[vector[int]]] elementMap;
3403  */
3404  __pyx_t_1 = __pyx_v_model->nElems;
3405  __pyx_v_n = __pyx_t_1;
3406 
3407  /* "pynastran_io.pyx":145
3408  *
3409  * # Pre-allocate space to store the element information
3410  * cdef map[string, int] elemTypes = getNumberOfElementTypes(model) # <<<<<<<<<<<<<<
3411  * cdef map[string, int] i_counter
3412  * cdef map[string, int].iterator it = elemTypes.begin()
3413  */
3414  __pyx_v_elemTypes = getNumberOfElementTypes(__pyx_v_model);
3415 
3416  /* "pynastran_io.pyx":147
3417  * cdef map[string, int] elemTypes = getNumberOfElementTypes(model)
3418  * cdef map[string, int] i_counter
3419  * cdef map[string, int].iterator it = elemTypes.begin() # <<<<<<<<<<<<<<
3420  * cdef vector[int] elem_vec
3421  * cdef vector[vector[int]] elements
3422  */
3423  __pyx_v_it = __pyx_v_elemTypes.begin();
3424 
3425  /* "pynastran_io.pyx":151
3426  * cdef vector[vector[int]] elements
3427  * cdef int m, nElemNodes
3428  * while(it != elemTypes.end()): # <<<<<<<<<<<<<<
3429  * # print(dereference(it).first) # print the key
3430  * # print(dereference(it).second) # print the associated value
3431  */
3432  while (1) {
3433  __pyx_t_2 = ((__pyx_v_it != __pyx_v_elemTypes.end()) != 0);
3434  if (!__pyx_t_2) break;
3435 
3436  /* "pynastran_io.pyx":154
3437  * # print(dereference(it).first) # print the key
3438  * # print(dereference(it).second) # print the associated value
3439  * elemType = dereference(it).first # <<<<<<<<<<<<<<
3440  * nElemTypes = dereference(it).second
3441  * nElemNodes = int(str(elemType).split("_")[-1].strip("'"))
3442  */
3443  __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string((*__pyx_v_it).first); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 154, __pyx_L1_error)
3444  __Pyx_GOTREF(__pyx_t_3);
3445  __Pyx_XDECREF_SET(__pyx_v_elemType, __pyx_t_3);
3446  __pyx_t_3 = 0;
3447 
3448  /* "pynastran_io.pyx":155
3449  * # print(dereference(it).second) # print the associated value
3450  * elemType = dereference(it).first
3451  * nElemTypes = dereference(it).second # <<<<<<<<<<<<<<
3452  * nElemNodes = int(str(elemType).split("_")[-1].strip("'"))
3453  * m = nElemNodes+2
3454  */
3455  __pyx_t_1 = (*__pyx_v_it).second;
3456  __pyx_v_nElemTypes = __pyx_t_1;
3457 
3458  /* "pynastran_io.pyx":156
3459  * elemType = dereference(it).first
3460  * nElemTypes = dereference(it).second
3461  * nElemNodes = int(str(elemType).split("_")[-1].strip("'")) # <<<<<<<<<<<<<<
3462  * m = nElemNodes+2
3463  *
3464  */
3465  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_elemType); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 156, __pyx_L1_error)
3466  __Pyx_GOTREF(__pyx_t_4);
3467  __pyx_t_5 = PyUnicode_Split(((PyObject*)__pyx_t_4), __pyx_n_u__3, -1L); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 156, __pyx_L1_error)
3468  __Pyx_GOTREF(__pyx_t_5);
3469  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3470  __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_t_5, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 156, __pyx_L1_error)
3471  __Pyx_GOTREF(__pyx_t_4);
3472  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3473  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 156, __pyx_L1_error)
3474  __Pyx_GOTREF(__pyx_t_5);
3475  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3476  __pyx_t_4 = NULL;
3477  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
3478  __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
3479  if (likely(__pyx_t_4)) {
3480  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
3481  __Pyx_INCREF(__pyx_t_4);
3482  __Pyx_INCREF(function);
3483  __Pyx_DECREF_SET(__pyx_t_5, function);
3484  }
3485  }
3486  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_u__4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_u__4);
3487  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
3488  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 156, __pyx_L1_error)
3489  __Pyx_GOTREF(__pyx_t_3);
3490  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3491  __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 156, __pyx_L1_error)
3492  __Pyx_GOTREF(__pyx_t_5);
3493  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3494  __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 156, __pyx_L1_error)
3495  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3496  __pyx_v_nElemNodes = __pyx_t_1;
3497 
3498  /* "pynastran_io.pyx":157
3499  * nElemTypes = dereference(it).second
3500  * nElemNodes = int(str(elemType).split("_")[-1].strip("'"))
3501  * m = nElemNodes+2 # <<<<<<<<<<<<<<
3502  *
3503  * elem_vec = vector[int](m)
3504  */
3505  __pyx_v_m = (__pyx_v_nElemNodes + 2);
3506 
3507  /* "pynastran_io.pyx":159
3508  * m = nElemNodes+2
3509  *
3510  * elem_vec = vector[int](m) # <<<<<<<<<<<<<<
3511  * elementMap[elemType] = vector[vector[int]](nElemTypes, elem_vec)
3512  *
3513  */
3514  try {
3515  __pyx_t_6 = std::vector<int> (__pyx_v_m);
3516  } catch(...) {
3517  __Pyx_CppExn2PyErr();
3518  __PYX_ERR(1, 159, __pyx_L1_error)
3519  }
3520  __pyx_v_elem_vec = __pyx_t_6;
3521 
3522  /* "pynastran_io.pyx":160
3523  *
3524  * elem_vec = vector[int](m)
3525  * elementMap[elemType] = vector[vector[int]](nElemTypes, elem_vec) # <<<<<<<<<<<<<<
3526  *
3527  * i_counter[elemType] = 0
3528  */
3529  try {
3530  __pyx_t_7 = std::vector<std::vector<int> > (__pyx_v_nElemTypes, __pyx_v_elem_vec);
3531  } catch(...) {
3532  __Pyx_CppExn2PyErr();
3533  __PYX_ERR(1, 160, __pyx_L1_error)
3534  }
3535  __pyx_t_8 = __pyx_convert_string_from_py_std__in_string(__pyx_v_elemType); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 160, __pyx_L1_error)
3536  (__pyx_v_elementMap[__pyx_t_8]) = __pyx_t_7;
3537 
3538  /* "pynastran_io.pyx":162
3539  * elementMap[elemType] = vector[vector[int]](nElemTypes, elem_vec)
3540  *
3541  * i_counter[elemType] = 0 # <<<<<<<<<<<<<<
3542  *
3543  * postincrement(it) # Increment the iterator to the net element
3544  */
3545  __pyx_t_8 = __pyx_convert_string_from_py_std__in_string(__pyx_v_elemType); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 162, __pyx_L1_error)
3546  (__pyx_v_i_counter[__pyx_t_8]) = 0;
3547 
3548  /* "pynastran_io.pyx":164
3549  * i_counter[elemType] = 0
3550  *
3551  * postincrement(it) # Increment the iterator to the net element # <<<<<<<<<<<<<<
3552  * mapKeys = []
3553  *
3554  */
3555  (void)((__pyx_v_it++));
3556  }
3557 
3558  /* "pynastran_io.pyx":165
3559  *
3560  * postincrement(it) # Increment the iterator to the net element
3561  * mapKeys = [] # <<<<<<<<<<<<<<
3562  *
3563  * # Loop through the elements in the BDF and all the to element map
3564  */
3565  __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 165, __pyx_L1_error)
3566  __Pyx_GOTREF(__pyx_t_5);
3567  __pyx_v_mapKeys = ((PyObject*)__pyx_t_5);
3568  __pyx_t_5 = 0;
3569 
3570  /* "pynastran_io.pyx":170
3571  * cdef int i
3572  * cdef int j
3573  * for key,element in model.myBDF.elements.items(): # <<<<<<<<<<<<<<
3574  * if "offset" in element.object_attributes():
3575  * if element.offset!=0:
3576  */
3577  __pyx_t_9 = 0;
3578  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_model->myBDF, __pyx_n_s_elements); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 170, __pyx_L1_error)
3579  __Pyx_GOTREF(__pyx_t_3);
3580  if (unlikely(__pyx_t_3 == Py_None)) {
3581  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
3582  __PYX_ERR(1, 170, __pyx_L1_error)
3583  }
3584  __pyx_t_4 = __Pyx_dict_iterator(__pyx_t_3, 0, __pyx_n_s_items, (&__pyx_t_10), (&__pyx_t_1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 170, __pyx_L1_error)
3585  __Pyx_GOTREF(__pyx_t_4);
3586  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3587  __Pyx_XDECREF(__pyx_t_5);
3588  __pyx_t_5 = __pyx_t_4;
3589  __pyx_t_4 = 0;
3590  while (1) {
3591  __pyx_t_11 = __Pyx_dict_iter_next(__pyx_t_5, __pyx_t_10, &__pyx_t_9, &__pyx_t_4, &__pyx_t_3, NULL, __pyx_t_1);
3592  if (unlikely(__pyx_t_11 == 0)) break;
3593  if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(1, 170, __pyx_L1_error)
3594  __Pyx_GOTREF(__pyx_t_4);
3595  __Pyx_GOTREF(__pyx_t_3);
3596  __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_4);
3597  __pyx_t_4 = 0;
3598  __Pyx_XDECREF_SET(__pyx_v_element, __pyx_t_3);
3599  __pyx_t_3 = 0;
3600 
3601  /* "pynastran_io.pyx":171
3602  * cdef int j
3603  * for key,element in model.myBDF.elements.items():
3604  * if "offset" in element.object_attributes(): # <<<<<<<<<<<<<<
3605  * if element.offset!=0:
3606  * raise NotImplementedError("Support of non-zero offsets not yet implemented!")
3607  */
3608  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_element, __pyx_n_s_object_attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 171, __pyx_L1_error)
3609  __Pyx_GOTREF(__pyx_t_4);
3610  __pyx_t_12 = NULL;
3611  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
3612  __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_4);
3613  if (likely(__pyx_t_12)) {
3614  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
3615  __Pyx_INCREF(__pyx_t_12);
3616  __Pyx_INCREF(function);
3617  __Pyx_DECREF_SET(__pyx_t_4, function);
3618  }
3619  }
3620  __pyx_t_3 = (__pyx_t_12) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_12) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
3621  __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
3622  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 171, __pyx_L1_error)
3623  __Pyx_GOTREF(__pyx_t_3);
3624  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3625  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_offset, __pyx_t_3, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 171, __pyx_L1_error)
3626  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3627  __pyx_t_13 = (__pyx_t_2 != 0);
3628  if (__pyx_t_13) {
3629 
3630  /* "pynastran_io.pyx":172
3631  * for key,element in model.myBDF.elements.items():
3632  * if "offset" in element.object_attributes():
3633  * if element.offset!=0: # <<<<<<<<<<<<<<
3634  * raise NotImplementedError("Support of non-zero offsets not yet implemented!")
3635  * if "zoffset" in element.object_attributes():
3636  */
3637  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_element, __pyx_n_s_offset); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 172, __pyx_L1_error)
3638  __Pyx_GOTREF(__pyx_t_3);
3639  __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_3, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 172, __pyx_L1_error)
3640  __Pyx_GOTREF(__pyx_t_4);
3641  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3642  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(1, 172, __pyx_L1_error)
3643  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3644  if (unlikely(__pyx_t_13)) {
3645 
3646  /* "pynastran_io.pyx":173
3647  * if "offset" in element.object_attributes():
3648  * if element.offset!=0:
3649  * raise NotImplementedError("Support of non-zero offsets not yet implemented!") # <<<<<<<<<<<<<<
3650  * if "zoffset" in element.object_attributes():
3651  * if element.zoffset!=0:
3652  */
3653  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 173, __pyx_L1_error)
3654  __Pyx_GOTREF(__pyx_t_4);
3655  __Pyx_Raise(__pyx_t_4, 0, 0, 0);
3656  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3657  __PYX_ERR(1, 173, __pyx_L1_error)
3658 
3659  /* "pynastran_io.pyx":172
3660  * for key,element in model.myBDF.elements.items():
3661  * if "offset" in element.object_attributes():
3662  * if element.offset!=0: # <<<<<<<<<<<<<<
3663  * raise NotImplementedError("Support of non-zero offsets not yet implemented!")
3664  * if "zoffset" in element.object_attributes():
3665  */
3666  }
3667 
3668  /* "pynastran_io.pyx":171
3669  * cdef int j
3670  * for key,element in model.myBDF.elements.items():
3671  * if "offset" in element.object_attributes(): # <<<<<<<<<<<<<<
3672  * if element.offset!=0:
3673  * raise NotImplementedError("Support of non-zero offsets not yet implemented!")
3674  */
3675  }
3676 
3677  /* "pynastran_io.pyx":174
3678  * if element.offset!=0:
3679  * raise NotImplementedError("Support of non-zero offsets not yet implemented!")
3680  * if "zoffset" in element.object_attributes(): # <<<<<<<<<<<<<<
3681  * if element.zoffset!=0:
3682  * raise NotImplementedError("Support of non-zero offets not yet implemented!")
3683  */
3684  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_element, __pyx_n_s_object_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 174, __pyx_L1_error)
3685  __Pyx_GOTREF(__pyx_t_3);
3686  __pyx_t_12 = NULL;
3687  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
3688  __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3);
3689  if (likely(__pyx_t_12)) {
3690  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
3691  __Pyx_INCREF(__pyx_t_12);
3692  __Pyx_INCREF(function);
3693  __Pyx_DECREF_SET(__pyx_t_3, function);
3694  }
3695  }
3696  __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_12) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
3697  __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
3698  if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 174, __pyx_L1_error)
3699  __Pyx_GOTREF(__pyx_t_4);
3700  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3701  __pyx_t_13 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_zoffset, __pyx_t_4, Py_EQ)); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(1, 174, __pyx_L1_error)
3702  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3703  __pyx_t_2 = (__pyx_t_13 != 0);
3704  if (__pyx_t_2) {
3705 
3706  /* "pynastran_io.pyx":175
3707  * raise NotImplementedError("Support of non-zero offsets not yet implemented!")
3708  * if "zoffset" in element.object_attributes():
3709  * if element.zoffset!=0: # <<<<<<<<<<<<<<
3710  * raise NotImplementedError("Support of non-zero offets not yet implemented!")
3711  * nElemNodes = len(element.nodes)
3712  */
3713  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_element, __pyx_n_s_zoffset); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 175, __pyx_L1_error)
3714  __Pyx_GOTREF(__pyx_t_4);
3715  __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_4, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 175, __pyx_L1_error)
3716  __Pyx_GOTREF(__pyx_t_3);
3717  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3718  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 175, __pyx_L1_error)
3719  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3720  if (unlikely(__pyx_t_2)) {
3721 
3722  /* "pynastran_io.pyx":176
3723  * if "zoffset" in element.object_attributes():
3724  * if element.zoffset!=0:
3725  * raise NotImplementedError("Support of non-zero offets not yet implemented!") # <<<<<<<<<<<<<<
3726  * nElemNodes = len(element.nodes)
3727  * elemType = (element.type + "_%i"%(nElemNodes)).encode('utf-8')
3728  */
3729  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 176, __pyx_L1_error)
3730  __Pyx_GOTREF(__pyx_t_3);
3731  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
3732  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3733  __PYX_ERR(1, 176, __pyx_L1_error)
3734 
3735  /* "pynastran_io.pyx":175
3736  * raise NotImplementedError("Support of non-zero offsets not yet implemented!")
3737  * if "zoffset" in element.object_attributes():
3738  * if element.zoffset!=0: # <<<<<<<<<<<<<<
3739  * raise NotImplementedError("Support of non-zero offets not yet implemented!")
3740  * nElemNodes = len(element.nodes)
3741  */
3742  }
3743 
3744  /* "pynastran_io.pyx":174
3745  * if element.offset!=0:
3746  * raise NotImplementedError("Support of non-zero offsets not yet implemented!")
3747  * if "zoffset" in element.object_attributes(): # <<<<<<<<<<<<<<
3748  * if element.zoffset!=0:
3749  * raise NotImplementedError("Support of non-zero offets not yet implemented!")
3750  */
3751  }
3752 
3753  /* "pynastran_io.pyx":177
3754  * if element.zoffset!=0:
3755  * raise NotImplementedError("Support of non-zero offets not yet implemented!")
3756  * nElemNodes = len(element.nodes) # <<<<<<<<<<<<<<
3757  * elemType = (element.type + "_%i"%(nElemNodes)).encode('utf-8')
3758  * i = i_counter[elemType]
3759  */
3760  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_element, __pyx_n_s_nodes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 177, __pyx_L1_error)
3761  __Pyx_GOTREF(__pyx_t_3);
3762  __pyx_t_14 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(1, 177, __pyx_L1_error)
3763  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3764  __pyx_v_nElemNodes = __pyx_t_14;
3765 
3766  /* "pynastran_io.pyx":178
3767  * raise NotImplementedError("Support of non-zero offets not yet implemented!")
3768  * nElemNodes = len(element.nodes)
3769  * elemType = (element.type + "_%i"%(nElemNodes)).encode('utf-8') # <<<<<<<<<<<<<<
3770  * i = i_counter[elemType]
3771  * elementMap[elemType][i][0] = element.eid
3772  */
3773  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_element, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 178, __pyx_L1_error)
3774  __Pyx_GOTREF(__pyx_t_4);
3775  __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_nElemNodes); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 178, __pyx_L1_error)
3776  __Pyx_GOTREF(__pyx_t_12);
3777  __pyx_t_15 = PyUnicode_Format(__pyx_kp_u_i, __pyx_t_12); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 178, __pyx_L1_error)
3778  __Pyx_GOTREF(__pyx_t_15);
3779  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
3780  __pyx_t_12 = PyNumber_Add(__pyx_t_4, __pyx_t_15); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 178, __pyx_L1_error)
3781  __Pyx_GOTREF(__pyx_t_12);
3782  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3783  __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
3784  __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_encode); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 178, __pyx_L1_error)
3785  __Pyx_GOTREF(__pyx_t_15);
3786  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
3787  __pyx_t_12 = NULL;
3788  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_15))) {
3789  __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_15);
3790  if (likely(__pyx_t_12)) {
3791  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15);
3792  __Pyx_INCREF(__pyx_t_12);
3793  __Pyx_INCREF(function);
3794  __Pyx_DECREF_SET(__pyx_t_15, function);
3795  }
3796  }
3797  __pyx_t_3 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_12, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_kp_u_utf_8);
3798  __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
3799  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 178, __pyx_L1_error)
3800  __Pyx_GOTREF(__pyx_t_3);
3801  __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
3802  __Pyx_XDECREF_SET(__pyx_v_elemType, __pyx_t_3);
3803  __pyx_t_3 = 0;
3804 
3805  /* "pynastran_io.pyx":179
3806  * nElemNodes = len(element.nodes)
3807  * elemType = (element.type + "_%i"%(nElemNodes)).encode('utf-8')
3808  * i = i_counter[elemType] # <<<<<<<<<<<<<<
3809  * elementMap[elemType][i][0] = element.eid
3810  * elementMap[elemType][i][1] = element.pid
3811  */
3812  __pyx_t_8 = __pyx_convert_string_from_py_std__in_string(__pyx_v_elemType); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 179, __pyx_L1_error)
3813  __pyx_v_i = (__pyx_v_i_counter[__pyx_t_8]);
3814 
3815  /* "pynastran_io.pyx":180
3816  * elemType = (element.type + "_%i"%(nElemNodes)).encode('utf-8')
3817  * i = i_counter[elemType]
3818  * elementMap[elemType][i][0] = element.eid # <<<<<<<<<<<<<<
3819  * elementMap[elemType][i][1] = element.pid
3820  * for j in range(nElemNodes):
3821  */
3822  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_element, __pyx_n_s_eid); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 180, __pyx_L1_error)
3823  __Pyx_GOTREF(__pyx_t_3);
3824  __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 180, __pyx_L1_error)
3825  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3826  __pyx_t_8 = __pyx_convert_string_from_py_std__in_string(__pyx_v_elemType); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 180, __pyx_L1_error)
3827  (((__pyx_v_elementMap[__pyx_t_8])[__pyx_v_i])[0]) = __pyx_t_11;
3828 
3829  /* "pynastran_io.pyx":181
3830  * i = i_counter[elemType]
3831  * elementMap[elemType][i][0] = element.eid
3832  * elementMap[elemType][i][1] = element.pid # <<<<<<<<<<<<<<
3833  * for j in range(nElemNodes):
3834  * elementMap[elemType][i][j+2] = element.nodes[j]
3835  */
3836  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_element, __pyx_n_s_pid); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 181, __pyx_L1_error)
3837  __Pyx_GOTREF(__pyx_t_3);
3838  __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 181, __pyx_L1_error)
3839  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3840  __pyx_t_8 = __pyx_convert_string_from_py_std__in_string(__pyx_v_elemType); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 181, __pyx_L1_error)
3841  (((__pyx_v_elementMap[__pyx_t_8])[__pyx_v_i])[1]) = __pyx_t_11;
3842 
3843  /* "pynastran_io.pyx":182
3844  * elementMap[elemType][i][0] = element.eid
3845  * elementMap[elemType][i][1] = element.pid
3846  * for j in range(nElemNodes): # <<<<<<<<<<<<<<
3847  * elementMap[elemType][i][j+2] = element.nodes[j]
3848  * i_counter[elemType] = i_counter[elemType]+1
3849  */
3850  __pyx_t_11 = __pyx_v_nElemNodes;
3851  __pyx_t_16 = __pyx_t_11;
3852  for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) {
3853  __pyx_v_j = __pyx_t_17;
3854 
3855  /* "pynastran_io.pyx":183
3856  * elementMap[elemType][i][1] = element.pid
3857  * for j in range(nElemNodes):
3858  * elementMap[elemType][i][j+2] = element.nodes[j] # <<<<<<<<<<<<<<
3859  * i_counter[elemType] = i_counter[elemType]+1
3860  *
3861  */
3862  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_element, __pyx_n_s_nodes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 183, __pyx_L1_error)
3863  __Pyx_GOTREF(__pyx_t_3);
3864  __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_3, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 183, __pyx_L1_error)
3865  __Pyx_GOTREF(__pyx_t_15);
3866  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3867  __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_15); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 183, __pyx_L1_error)
3868  __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
3869  __pyx_t_8 = __pyx_convert_string_from_py_std__in_string(__pyx_v_elemType); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 183, __pyx_L1_error)
3870  (((__pyx_v_elementMap[__pyx_t_8])[__pyx_v_i])[(__pyx_v_j + 2)]) = __pyx_t_18;
3871  }
3872 
3873  /* "pynastran_io.pyx":184
3874  * for j in range(nElemNodes):
3875  * elementMap[elemType][i][j+2] = element.nodes[j]
3876  * i_counter[elemType] = i_counter[elemType]+1 # <<<<<<<<<<<<<<
3877  *
3878  * return elementMap
3879  */
3880  __pyx_t_8 = __pyx_convert_string_from_py_std__in_string(__pyx_v_elemType); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 184, __pyx_L1_error)
3881  __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_v_elemType); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 184, __pyx_L1_error)
3882  (__pyx_v_i_counter[__pyx_t_19]) = ((__pyx_v_i_counter[__pyx_t_8]) + 1);
3883  }
3884  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3885 
3886  /* "pynastran_io.pyx":186
3887  * i_counter[elemType] = i_counter[elemType]+1
3888  *
3889  * return elementMap # <<<<<<<<<<<<<<
3890  *
3891  *
3892  */
3893  __pyx_r = __pyx_v_elementMap;
3894  goto __pyx_L0;
3895 
3896  /* "pynastran_io.pyx":135
3897  *
3898  *
3899  * cdef public map[string, vector[vector[int]]] getElements(BDFModel model): # <<<<<<<<<<<<<<
3900  * """
3901  * Creates a map of the elements contained in the model. The keys of the map are the element type and the values
3902  */
3903 
3904  /* function exit code */
3905  __pyx_L1_error:;
3906  __Pyx_XDECREF(__pyx_t_3);
3907  __Pyx_XDECREF(__pyx_t_4);
3908  __Pyx_XDECREF(__pyx_t_5);
3909  __Pyx_XDECREF(__pyx_t_12);
3910  __Pyx_XDECREF(__pyx_t_15);
3911  __Pyx_WriteUnraisable("pynastran_io.getElements", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
3912  __Pyx_pretend_to_initialize(&__pyx_r);
3913  __pyx_L0:;
3914  __Pyx_XDECREF(__pyx_v_elemType);
3915  __Pyx_XDECREF(__pyx_v_mapKeys);
3916  __Pyx_XDECREF(__pyx_v_key);
3917  __Pyx_XDECREF(__pyx_v_element);
3918  __Pyx_RefNannyFinishContext();
3919  return __pyx_r;
3920 }
3921 
3922 /* "pynastran_io.pyx":189
3923  *
3924  *
3925  * cdef public map[string, int] getNumberOfElementTypes(BDFModel model): # <<<<<<<<<<<<<<
3926  * """
3927  * Gets a map of the different element types and the number of each element type in the model. Useful for
3928  */
3929 
3930 std::map<std::string,int> getNumberOfElementTypes(struct BDFModel *__pyx_v_model) {
3931  std::map<std::string,int> __pyx_v_elementTypes;
3932  PyObject *__pyx_v_elemTypeList = NULL;
3933  CYTHON_UNUSED PyObject *__pyx_v_key = NULL;
3934  PyObject *__pyx_v_element = NULL;
3935  PyObject *__pyx_v_elemType = NULL;
3936  std::map<std::string,int> __pyx_r;
3937  __Pyx_RefNannyDeclarations
3938  PyObject *__pyx_t_1 = NULL;
3939  Py_ssize_t __pyx_t_2;
3940  Py_ssize_t __pyx_t_3;
3941  int __pyx_t_4;
3942  PyObject *__pyx_t_5 = NULL;
3943  PyObject *__pyx_t_6 = NULL;
3944  int __pyx_t_7;
3945  PyObject *__pyx_t_8 = NULL;
3946  Py_ssize_t __pyx_t_9;
3947  PyObject *__pyx_t_10 = NULL;
3948  int __pyx_t_11;
3949  int __pyx_t_12;
3950  int __pyx_t_13;
3951  std::string __pyx_t_14;
3952  __Pyx_RefNannySetupContext("getNumberOfElementTypes", 0);
3953 
3954  /* "pynastran_io.pyx":195
3955  * """
3956  * cdef map[string, int] elementTypes
3957  * elemTypeList = [] # <<<<<<<<<<<<<<
3958  * for key, element in model.myBDF.elements.items():
3959  * elemType = (element.type + "_%i"%(len(element.nodes))).encode("utf-8")
3960  */
3961  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 195, __pyx_L1_error)
3962  __Pyx_GOTREF(__pyx_t_1);
3963  __pyx_v_elemTypeList = ((PyObject*)__pyx_t_1);
3964  __pyx_t_1 = 0;
3965 
3966  /* "pynastran_io.pyx":196
3967  * cdef map[string, int] elementTypes
3968  * elemTypeList = []
3969  * for key, element in model.myBDF.elements.items(): # <<<<<<<<<<<<<<
3970  * elemType = (element.type + "_%i"%(len(element.nodes))).encode("utf-8")
3971  * if elemType not in elemTypeList:
3972  */
3973  __pyx_t_2 = 0;
3974  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_model->myBDF, __pyx_n_s_elements); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 196, __pyx_L1_error)
3975  __Pyx_GOTREF(__pyx_t_5);
3976  if (unlikely(__pyx_t_5 == Py_None)) {
3977  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
3978  __PYX_ERR(1, 196, __pyx_L1_error)
3979  }
3980  __pyx_t_6 = __Pyx_dict_iterator(__pyx_t_5, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 196, __pyx_L1_error)
3981  __Pyx_GOTREF(__pyx_t_6);
3982  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3983  __Pyx_XDECREF(__pyx_t_1);
3984  __pyx_t_1 = __pyx_t_6;
3985  __pyx_t_6 = 0;
3986  while (1) {
3987  __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_6, &__pyx_t_5, NULL, __pyx_t_4);
3988  if (unlikely(__pyx_t_7 == 0)) break;
3989  if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(1, 196, __pyx_L1_error)
3990  __Pyx_GOTREF(__pyx_t_6);
3991  __Pyx_GOTREF(__pyx_t_5);
3992  __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_6);
3993  __pyx_t_6 = 0;
3994  __Pyx_XDECREF_SET(__pyx_v_element, __pyx_t_5);
3995  __pyx_t_5 = 0;
3996 
3997  /* "pynastran_io.pyx":197
3998  * elemTypeList = []
3999  * for key, element in model.myBDF.elements.items():
4000  * elemType = (element.type + "_%i"%(len(element.nodes))).encode("utf-8") # <<<<<<<<<<<<<<
4001  * if elemType not in elemTypeList:
4002  * elemTypeList.append(elemType)
4003  */
4004  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_element, __pyx_n_s_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 197, __pyx_L1_error)
4005  __Pyx_GOTREF(__pyx_t_6);
4006  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_element, __pyx_n_s_nodes); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 197, __pyx_L1_error)
4007  __Pyx_GOTREF(__pyx_t_8);
4008  __pyx_t_9 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(1, 197, __pyx_L1_error)
4009  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
4010  __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 197, __pyx_L1_error)
4011  __Pyx_GOTREF(__pyx_t_8);
4012  __pyx_t_10 = PyUnicode_Format(__pyx_kp_u_i, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 197, __pyx_L1_error)
4013  __Pyx_GOTREF(__pyx_t_10);
4014  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
4015  __pyx_t_8 = PyNumber_Add(__pyx_t_6, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 197, __pyx_L1_error)
4016  __Pyx_GOTREF(__pyx_t_8);
4017  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4018  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4019  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_encode); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 197, __pyx_L1_error)
4020  __Pyx_GOTREF(__pyx_t_10);
4021  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
4022  __pyx_t_8 = NULL;
4023  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
4024  __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_10);
4025  if (likely(__pyx_t_8)) {
4026  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
4027  __Pyx_INCREF(__pyx_t_8);
4028  __Pyx_INCREF(function);
4029  __Pyx_DECREF_SET(__pyx_t_10, function);
4030  }
4031  }
4032  __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_8, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_kp_u_utf_8);
4033  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
4034  if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 197, __pyx_L1_error)
4035  __Pyx_GOTREF(__pyx_t_5);
4036  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4037  __Pyx_XDECREF_SET(__pyx_v_elemType, __pyx_t_5);
4038  __pyx_t_5 = 0;
4039 
4040  /* "pynastran_io.pyx":198
4041  * for key, element in model.myBDF.elements.items():
4042  * elemType = (element.type + "_%i"%(len(element.nodes))).encode("utf-8")
4043  * if elemType not in elemTypeList: # <<<<<<<<<<<<<<
4044  * elemTypeList.append(elemType)
4045  * elementTypes[elemType] = 1
4046  */
4047  __pyx_t_11 = (__Pyx_PySequence_ContainsTF(__pyx_v_elemType, __pyx_v_elemTypeList, Py_NE)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(1, 198, __pyx_L1_error)
4048  __pyx_t_12 = (__pyx_t_11 != 0);
4049  if (__pyx_t_12) {
4050 
4051  /* "pynastran_io.pyx":199
4052  * elemType = (element.type + "_%i"%(len(element.nodes))).encode("utf-8")
4053  * if elemType not in elemTypeList:
4054  * elemTypeList.append(elemType) # <<<<<<<<<<<<<<
4055  * elementTypes[elemType] = 1
4056  * else:
4057  */
4058  __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_elemTypeList, __pyx_v_elemType); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(1, 199, __pyx_L1_error)
4059 
4060  /* "pynastran_io.pyx":200
4061  * if elemType not in elemTypeList:
4062  * elemTypeList.append(elemType)
4063  * elementTypes[elemType] = 1 # <<<<<<<<<<<<<<
4064  * else:
4065  * elementTypes[elemType] += 1
4066  */
4067  __pyx_t_14 = __pyx_convert_string_from_py_std__in_string(__pyx_v_elemType); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 200, __pyx_L1_error)
4068  (__pyx_v_elementTypes[__pyx_t_14]) = 1;
4069 
4070  /* "pynastran_io.pyx":198
4071  * for key, element in model.myBDF.elements.items():
4072  * elemType = (element.type + "_%i"%(len(element.nodes))).encode("utf-8")
4073  * if elemType not in elemTypeList: # <<<<<<<<<<<<<<
4074  * elemTypeList.append(elemType)
4075  * elementTypes[elemType] = 1
4076  */
4077  goto __pyx_L5;
4078  }
4079 
4080  /* "pynastran_io.pyx":202
4081  * elementTypes[elemType] = 1
4082  * else:
4083  * elementTypes[elemType] += 1 # <<<<<<<<<<<<<<
4084  *
4085  * model.nElemTypes = elementTypes
4086  */
4087  /*else*/ {
4088  __pyx_t_14 = __pyx_convert_string_from_py_std__in_string(__pyx_v_elemType); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 202, __pyx_L1_error)
4089  (__pyx_v_elementTypes[__pyx_t_14]) = ((__pyx_v_elementTypes[__pyx_t_14]) + 1);
4090  }
4091  __pyx_L5:;
4092  }
4093  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4094 
4095  /* "pynastran_io.pyx":204
4096  * elementTypes[elemType] += 1
4097  *
4098  * model.nElemTypes = elementTypes # <<<<<<<<<<<<<<
4099  * return elementTypes
4100  *
4101  */
4102  __pyx_v_model->nElemTypes = __pyx_v_elementTypes;
4103 
4104  /* "pynastran_io.pyx":205
4105  *
4106  * model.nElemTypes = elementTypes
4107  * return elementTypes # <<<<<<<<<<<<<<
4108  *
4109  *
4110  */
4111  __pyx_r = __pyx_v_elementTypes;
4112  goto __pyx_L0;
4113 
4114  /* "pynastran_io.pyx":189
4115  *
4116  *
4117  * cdef public map[string, int] getNumberOfElementTypes(BDFModel model): # <<<<<<<<<<<<<<
4118  * """
4119  * Gets a map of the different element types and the number of each element type in the model. Useful for
4120  */
4121 
4122  /* function exit code */
4123  __pyx_L1_error:;
4124  __Pyx_XDECREF(__pyx_t_1);
4125  __Pyx_XDECREF(__pyx_t_5);
4126  __Pyx_XDECREF(__pyx_t_6);
4127  __Pyx_XDECREF(__pyx_t_8);
4128  __Pyx_XDECREF(__pyx_t_10);
4129  __Pyx_WriteUnraisable("pynastran_io.getNumberOfElementTypes", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
4130  __Pyx_pretend_to_initialize(&__pyx_r);
4131  __pyx_L0:;
4132  __Pyx_XDECREF(__pyx_v_elemTypeList);
4133  __Pyx_XDECREF(__pyx_v_key);
4134  __Pyx_XDECREF(__pyx_v_element);
4135  __Pyx_XDECREF(__pyx_v_elemType);
4136  __Pyx_RefNannyFinishContext();
4137  return __pyx_r;
4138 }
4139 
4140 /* "pynastran_io.pyx":208
4141  *
4142  *
4143  * cdef public map[string, vector[int]] getSPCs(BDFModel model): # <<<<<<<<<<<<<<
4144  * """
4145  * Create a map of subcase SPCs and the nodes that belong to that SPC. Useful for creating boundaries in libMesh.
4146  */
4147 
4148 std::map<std::string,std::vector<int> > getSPCs(struct BDFModel *__pyx_v_model) {
4149  std::map<std::string,std::vector<int> > __pyx_v_SPCs;
4150  PyObject *__pyx_v_subcase_num = NULL;
4151  PyObject *__pyx_v_spcs = NULL;
4152  PyObject *__pyx_v_i = NULL;
4153  PyObject *__pyx_v_spc = NULL;
4154  PyObject *__pyx_v_name = NULL;
4155  std::map<std::string,std::vector<int> > __pyx_r;
4156  __Pyx_RefNannyDeclarations
4157  PyObject *__pyx_t_1 = NULL;
4158  Py_ssize_t __pyx_t_2;
4159  Py_ssize_t __pyx_t_3;
4160  int __pyx_t_4;
4161  PyObject *__pyx_t_5 = NULL;
4162  PyObject *__pyx_t_6 = NULL;
4163  int __pyx_t_7;
4164  Py_ssize_t __pyx_t_8;
4165  PyObject *(*__pyx_t_9)(PyObject *);
4166  PyObject *__pyx_t_10 = NULL;
4167  std::vector<int> __pyx_t_11;
4168  std::string __pyx_t_12;
4169  __Pyx_RefNannySetupContext("getSPCs", 0);
4170 
4171  /* "pynastran_io.pyx":214
4172  * cdef map[string, vector[int]] SPCs
4173  *
4174  * for subcase_num, spcs in model.myBDF.spcs.items(): # <<<<<<<<<<<<<<
4175  * i = 1
4176  * for spc in spcs:
4177  */
4178  __pyx_t_2 = 0;
4179  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_model->myBDF, __pyx_n_s_spcs); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 214, __pyx_L1_error)
4180  __Pyx_GOTREF(__pyx_t_5);
4181  if (unlikely(__pyx_t_5 == Py_None)) {
4182  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
4183  __PYX_ERR(1, 214, __pyx_L1_error)
4184  }
4185  __pyx_t_6 = __Pyx_dict_iterator(__pyx_t_5, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 214, __pyx_L1_error)
4186  __Pyx_GOTREF(__pyx_t_6);
4187  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4188  __Pyx_XDECREF(__pyx_t_1);
4189  __pyx_t_1 = __pyx_t_6;
4190  __pyx_t_6 = 0;
4191  while (1) {
4192  __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_6, &__pyx_t_5, NULL, __pyx_t_4);
4193  if (unlikely(__pyx_t_7 == 0)) break;
4194  if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(1, 214, __pyx_L1_error)
4195  __Pyx_GOTREF(__pyx_t_6);
4196  __Pyx_GOTREF(__pyx_t_5);
4197  __Pyx_XDECREF_SET(__pyx_v_subcase_num, __pyx_t_6);
4198  __pyx_t_6 = 0;
4199  __Pyx_XDECREF_SET(__pyx_v_spcs, __pyx_t_5);
4200  __pyx_t_5 = 0;
4201 
4202  /* "pynastran_io.pyx":215
4203  *
4204  * for subcase_num, spcs in model.myBDF.spcs.items():
4205  * i = 1 # <<<<<<<<<<<<<<
4206  * for spc in spcs:
4207  * name = "Subcase-%i_%s_%i"%(subcase_num, spc.type, i)
4208  */
4209  __Pyx_INCREF(__pyx_int_1);
4210  __Pyx_XDECREF_SET(__pyx_v_i, __pyx_int_1);
4211 
4212  /* "pynastran_io.pyx":216
4213  * for subcase_num, spcs in model.myBDF.spcs.items():
4214  * i = 1
4215  * for spc in spcs: # <<<<<<<<<<<<<<
4216  * name = "Subcase-%i_%s_%i"%(subcase_num, spc.type, i)
4217  * SPCs[name.encode("utf-8")] = spc.nodes
4218  */
4219  if (likely(PyList_CheckExact(__pyx_v_spcs)) || PyTuple_CheckExact(__pyx_v_spcs)) {
4220  __pyx_t_5 = __pyx_v_spcs; __Pyx_INCREF(__pyx_t_5); __pyx_t_8 = 0;
4221  __pyx_t_9 = NULL;
4222  } else {
4223  __pyx_t_8 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_spcs); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 216, __pyx_L1_error)
4224  __Pyx_GOTREF(__pyx_t_5);
4225  __pyx_t_9 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 216, __pyx_L1_error)
4226  }
4227  for (;;) {
4228  if (likely(!__pyx_t_9)) {
4229  if (likely(PyList_CheckExact(__pyx_t_5))) {
4230  if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_5)) break;
4231  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
4232  __pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_8); __Pyx_INCREF(__pyx_t_6); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(1, 216, __pyx_L1_error)
4233  #else
4234  __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 216, __pyx_L1_error)
4235  __Pyx_GOTREF(__pyx_t_6);
4236  #endif
4237  } else {
4238  if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
4239  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
4240  __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_8); __Pyx_INCREF(__pyx_t_6); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(1, 216, __pyx_L1_error)
4241  #else
4242  __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 216, __pyx_L1_error)
4243  __Pyx_GOTREF(__pyx_t_6);
4244  #endif
4245  }
4246  } else {
4247  __pyx_t_6 = __pyx_t_9(__pyx_t_5);
4248  if (unlikely(!__pyx_t_6)) {
4249  PyObject* exc_type = PyErr_Occurred();
4250  if (exc_type) {
4251  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
4252  else __PYX_ERR(1, 216, __pyx_L1_error)
4253  }
4254  break;
4255  }
4256  __Pyx_GOTREF(__pyx_t_6);
4257  }
4258  __Pyx_XDECREF_SET(__pyx_v_spc, __pyx_t_6);
4259  __pyx_t_6 = 0;
4260 
4261  /* "pynastran_io.pyx":217
4262  * i = 1
4263  * for spc in spcs:
4264  * name = "Subcase-%i_%s_%i"%(subcase_num, spc.type, i) # <<<<<<<<<<<<<<
4265  * SPCs[name.encode("utf-8")] = spc.nodes
4266  * i+=1
4267  */
4268  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_spc, __pyx_n_s_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 217, __pyx_L1_error)
4269  __Pyx_GOTREF(__pyx_t_6);
4270  __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 217, __pyx_L1_error)
4271  __Pyx_GOTREF(__pyx_t_10);
4272  __Pyx_INCREF(__pyx_v_subcase_num);
4273  __Pyx_GIVEREF(__pyx_v_subcase_num);
4274  PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_subcase_num);
4275  __Pyx_GIVEREF(__pyx_t_6);
4276  PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_6);
4277  __Pyx_INCREF(__pyx_v_i);
4278  __Pyx_GIVEREF(__pyx_v_i);
4279  PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_v_i);
4280  __pyx_t_6 = 0;
4281  __pyx_t_6 = PyUnicode_Format(__pyx_kp_u_Subcase_i__s__i, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 217, __pyx_L1_error)
4282  __Pyx_GOTREF(__pyx_t_6);
4283  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4284  __Pyx_XDECREF_SET(__pyx_v_name, ((PyObject*)__pyx_t_6));
4285  __pyx_t_6 = 0;
4286 
4287  /* "pynastran_io.pyx":218
4288  * for spc in spcs:
4289  * name = "Subcase-%i_%s_%i"%(subcase_num, spc.type, i)
4290  * SPCs[name.encode("utf-8")] = spc.nodes # <<<<<<<<<<<<<<
4291  * i+=1
4292  *
4293  */
4294  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_spc, __pyx_n_s_nodes); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 218, __pyx_L1_error)
4295  __Pyx_GOTREF(__pyx_t_6);
4296  __pyx_t_11 = __pyx_convert_vector_from_py_int(__pyx_t_6); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 218, __pyx_L1_error)
4297  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4298  __pyx_t_6 = PyUnicode_AsUTF8String(__pyx_v_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 218, __pyx_L1_error)
4299  __Pyx_GOTREF(__pyx_t_6);
4300  __pyx_t_12 = __pyx_convert_string_from_py_std__in_string(__pyx_t_6); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 218, __pyx_L1_error)
4301  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4302  (__pyx_v_SPCs[__pyx_t_12]) = __pyx_t_11;
4303 
4304  /* "pynastran_io.pyx":219
4305  * name = "Subcase-%i_%s_%i"%(subcase_num, spc.type, i)
4306  * SPCs[name.encode("utf-8")] = spc.nodes
4307  * i+=1 # <<<<<<<<<<<<<<
4308  *
4309  * return SPCs
4310  */
4311  __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 219, __pyx_L1_error)
4312  __Pyx_GOTREF(__pyx_t_6);
4313  __Pyx_DECREF_SET(__pyx_v_i, __pyx_t_6);
4314  __pyx_t_6 = 0;
4315 
4316  /* "pynastran_io.pyx":216
4317  * for subcase_num, spcs in model.myBDF.spcs.items():
4318  * i = 1
4319  * for spc in spcs: # <<<<<<<<<<<<<<
4320  * name = "Subcase-%i_%s_%i"%(subcase_num, spc.type, i)
4321  * SPCs[name.encode("utf-8")] = spc.nodes
4322  */
4323  }
4324  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4325  }
4326  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4327 
4328  /* "pynastran_io.pyx":221
4329  * i+=1
4330  *
4331  * return SPCs # <<<<<<<<<<<<<<
4332  *
4333  *
4334  */
4335  __pyx_r = __pyx_v_SPCs;
4336  goto __pyx_L0;
4337 
4338  /* "pynastran_io.pyx":208
4339  *
4340  *
4341  * cdef public map[string, vector[int]] getSPCs(BDFModel model): # <<<<<<<<<<<<<<
4342  * """
4343  * Create a map of subcase SPCs and the nodes that belong to that SPC. Useful for creating boundaries in libMesh.
4344  */
4345 
4346  /* function exit code */
4347  __pyx_L1_error:;
4348  __Pyx_XDECREF(__pyx_t_1);
4349  __Pyx_XDECREF(__pyx_t_5);
4350  __Pyx_XDECREF(__pyx_t_6);
4351  __Pyx_XDECREF(__pyx_t_10);
4352  __Pyx_WriteUnraisable("pynastran_io.getSPCs", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
4353  __Pyx_pretend_to_initialize(&__pyx_r);
4354  __pyx_L0:;
4355  __Pyx_XDECREF(__pyx_v_subcase_num);
4356  __Pyx_XDECREF(__pyx_v_spcs);
4357  __Pyx_XDECREF(__pyx_v_i);
4358  __Pyx_XDECREF(__pyx_v_spc);
4359  __Pyx_XDECREF(__pyx_v_name);
4360  __Pyx_RefNannyFinishContext();
4361  return __pyx_r;
4362 }
4363 
4364 /* "pynastran_io.pyx":224
4365  *
4366  *
4367  * cdef perturbZeroLengthBushings(BDFModel model): # <<<<<<<<<<<<<<
4368  * """
4369  * As of November 18, 2019, MAST does not support the specification of the elemental x-axis which is required when
4370  */
4371 
4372 static PyObject *__pyx_f_12pynastran_io_perturbZeroLengthBushings(struct BDFModel *__pyx_v_model) {
4373  int __pyx_v_k;
4374  double __pyx_v_eps;
4375  double __pyx_v_nzero;
4376  double __pyx_v_L;
4377  PyObject *__pyx_v_data = NULL;
4378  PyObject *__pyx_v_eids = NULL;
4379  PyObject *__pyx_v_eid = NULL;
4380  PyObject *__pyx_v_bushing = NULL;
4381  PyObject *__pyx_v_i = NULL;
4382  PyObject *__pyx_v_di = NULL;
4383  PyObject *__pyx_v_absmindi = NULL;
4384  PyObject *__pyx_r = NULL;
4385  __Pyx_RefNannyDeclarations
4386  PyObject *__pyx_t_1 = NULL;
4387  PyObject *__pyx_t_2 = NULL;
4388  PyObject *__pyx_t_3 = NULL;
4389  int __pyx_t_4;
4390  int __pyx_t_5;
4391  Py_ssize_t __pyx_t_6;
4392  Py_ssize_t __pyx_t_7;
4393  int __pyx_t_8;
4394  PyObject *__pyx_t_9 = NULL;
4395  PyObject *__pyx_t_10 = NULL;
4396  double __pyx_t_11;
4397  __Pyx_RefNannySetupContext("perturbZeroLengthBushings", 0);
4398 
4399  /* "pynastran_io.pyx":235
4400  * cdef int k
4401  * cdef double eps, nzero, L
4402  * eps=1.4901161193847656e-08 # <<<<<<<<<<<<<<
4403  * nzero=1e-08
4404  *
4405  */
4406  __pyx_v_eps = 1.4901161193847656e-08;
4407 
4408  /* "pynastran_io.pyx":236
4409  * cdef double eps, nzero, L
4410  * eps=1.4901161193847656e-08
4411  * nzero=1e-08 # <<<<<<<<<<<<<<
4412  *
4413  * # Get element IDs of bushing elements
4414  */
4415  __pyx_v_nzero = 1e-08;
4416 
4417  /* "pynastran_io.pyx":239
4418  *
4419  * # Get element IDs of bushing elements
4420  * data = model.myBDF.get_elements_properties_nodes_by_element_type() # <<<<<<<<<<<<<<
4421  * eids = []
4422  * if "CBUSH" in data.keys():
4423  */
4424  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_model->myBDF, __pyx_n_s_get_elements_properties_nodes_by); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 239, __pyx_L1_error)
4425  __Pyx_GOTREF(__pyx_t_2);
4426  __pyx_t_3 = NULL;
4427  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
4428  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
4429  if (likely(__pyx_t_3)) {
4430  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
4431  __Pyx_INCREF(__pyx_t_3);
4432  __Pyx_INCREF(function);
4433  __Pyx_DECREF_SET(__pyx_t_2, function);
4434  }
4435  }
4436  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
4437  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4438  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 239, __pyx_L1_error)
4439  __Pyx_GOTREF(__pyx_t_1);
4440  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4441  __pyx_v_data = __pyx_t_1;
4442  __pyx_t_1 = 0;
4443 
4444  /* "pynastran_io.pyx":240
4445  * # Get element IDs of bushing elements
4446  * data = model.myBDF.get_elements_properties_nodes_by_element_type()
4447  * eids = [] # <<<<<<<<<<<<<<
4448  * if "CBUSH" in data.keys():
4449  * eids += (data["CBUSH"][0]).tolist()
4450  */
4451  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 240, __pyx_L1_error)
4452  __Pyx_GOTREF(__pyx_t_1);
4453  __pyx_v_eids = __pyx_t_1;
4454  __pyx_t_1 = 0;
4455 
4456  /* "pynastran_io.pyx":241
4457  * data = model.myBDF.get_elements_properties_nodes_by_element_type()
4458  * eids = []
4459  * if "CBUSH" in data.keys(): # <<<<<<<<<<<<<<
4460  * eids += (data["CBUSH"][0]).tolist()
4461  * if "CBUSH1D" in data.keys():
4462  */
4463  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 241, __pyx_L1_error)
4464  __Pyx_GOTREF(__pyx_t_2);
4465  __pyx_t_3 = NULL;
4466  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
4467  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
4468  if (likely(__pyx_t_3)) {
4469  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
4470  __Pyx_INCREF(__pyx_t_3);
4471  __Pyx_INCREF(function);
4472  __Pyx_DECREF_SET(__pyx_t_2, function);
4473  }
4474  }
4475  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
4476  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4477  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 241, __pyx_L1_error)
4478  __Pyx_GOTREF(__pyx_t_1);
4479  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4480  __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_CBUSH, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 241, __pyx_L1_error)
4481  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4482  __pyx_t_5 = (__pyx_t_4 != 0);
4483  if (__pyx_t_5) {
4484 
4485  /* "pynastran_io.pyx":242
4486  * eids = []
4487  * if "CBUSH" in data.keys():
4488  * eids += (data["CBUSH"][0]).tolist() # <<<<<<<<<<<<<<
4489  * if "CBUSH1D" in data.keys():
4490  * eids += (data["CBUSH1D"][0]).tolist()
4491  */
4492  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_data, __pyx_n_u_CBUSH); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 242, __pyx_L1_error)
4493  __Pyx_GOTREF(__pyx_t_2);
4494  __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 242, __pyx_L1_error)
4495  __Pyx_GOTREF(__pyx_t_3);
4496  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4497  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_tolist); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 242, __pyx_L1_error)
4498  __Pyx_GOTREF(__pyx_t_2);
4499  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4500  __pyx_t_3 = NULL;
4501  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
4502  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
4503  if (likely(__pyx_t_3)) {
4504  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
4505  __Pyx_INCREF(__pyx_t_3);
4506  __Pyx_INCREF(function);
4507  __Pyx_DECREF_SET(__pyx_t_2, function);
4508  }
4509  }
4510  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
4511  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4512  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 242, __pyx_L1_error)
4513  __Pyx_GOTREF(__pyx_t_1);
4514  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4515  __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_eids, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 242, __pyx_L1_error)
4516  __Pyx_GOTREF(__pyx_t_2);
4517  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4518  __Pyx_DECREF_SET(__pyx_v_eids, __pyx_t_2);
4519  __pyx_t_2 = 0;
4520 
4521  /* "pynastran_io.pyx":241
4522  * data = model.myBDF.get_elements_properties_nodes_by_element_type()
4523  * eids = []
4524  * if "CBUSH" in data.keys(): # <<<<<<<<<<<<<<
4525  * eids += (data["CBUSH"][0]).tolist()
4526  * if "CBUSH1D" in data.keys():
4527  */
4528  }
4529 
4530  /* "pynastran_io.pyx":243
4531  * if "CBUSH" in data.keys():
4532  * eids += (data["CBUSH"][0]).tolist()
4533  * if "CBUSH1D" in data.keys(): # <<<<<<<<<<<<<<
4534  * eids += (data["CBUSH1D"][0]).tolist()
4535  * if "CBUSH2D" in data.keys():
4536  */
4537  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 243, __pyx_L1_error)
4538  __Pyx_GOTREF(__pyx_t_1);
4539  __pyx_t_3 = NULL;
4540  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
4541  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
4542  if (likely(__pyx_t_3)) {
4543  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
4544  __Pyx_INCREF(__pyx_t_3);
4545  __Pyx_INCREF(function);
4546  __Pyx_DECREF_SET(__pyx_t_1, function);
4547  }
4548  }
4549  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
4550  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4551  if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 243, __pyx_L1_error)
4552  __Pyx_GOTREF(__pyx_t_2);
4553  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4554  __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_CBUSH1D, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 243, __pyx_L1_error)
4555  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4556  __pyx_t_4 = (__pyx_t_5 != 0);
4557  if (__pyx_t_4) {
4558 
4559  /* "pynastran_io.pyx":244
4560  * eids += (data["CBUSH"][0]).tolist()
4561  * if "CBUSH1D" in data.keys():
4562  * eids += (data["CBUSH1D"][0]).tolist() # <<<<<<<<<<<<<<
4563  * if "CBUSH2D" in data.keys():
4564  * eids += (data["CBUSH2D"][0]).tolist()
4565  */
4566  __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_data, __pyx_n_u_CBUSH1D); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 244, __pyx_L1_error)
4567  __Pyx_GOTREF(__pyx_t_1);
4568  __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 244, __pyx_L1_error)
4569  __Pyx_GOTREF(__pyx_t_3);
4570  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4571  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_tolist); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 244, __pyx_L1_error)
4572  __Pyx_GOTREF(__pyx_t_1);
4573  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4574  __pyx_t_3 = NULL;
4575  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
4576  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
4577  if (likely(__pyx_t_3)) {
4578  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
4579  __Pyx_INCREF(__pyx_t_3);
4580  __Pyx_INCREF(function);
4581  __Pyx_DECREF_SET(__pyx_t_1, function);
4582  }
4583  }
4584  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
4585  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4586  if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 244, __pyx_L1_error)
4587  __Pyx_GOTREF(__pyx_t_2);
4588  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4589  __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_eids, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 244, __pyx_L1_error)
4590  __Pyx_GOTREF(__pyx_t_1);
4591  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4592  __Pyx_DECREF_SET(__pyx_v_eids, __pyx_t_1);
4593  __pyx_t_1 = 0;
4594 
4595  /* "pynastran_io.pyx":243
4596  * if "CBUSH" in data.keys():
4597  * eids += (data["CBUSH"][0]).tolist()
4598  * if "CBUSH1D" in data.keys(): # <<<<<<<<<<<<<<
4599  * eids += (data["CBUSH1D"][0]).tolist()
4600  * if "CBUSH2D" in data.keys():
4601  */
4602  }
4603 
4604  /* "pynastran_io.pyx":245
4605  * if "CBUSH1D" in data.keys():
4606  * eids += (data["CBUSH1D"][0]).tolist()
4607  * if "CBUSH2D" in data.keys(): # <<<<<<<<<<<<<<
4608  * eids += (data["CBUSH2D"][0]).tolist()
4609  *
4610  */
4611  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 245, __pyx_L1_error)
4612  __Pyx_GOTREF(__pyx_t_2);
4613  __pyx_t_3 = NULL;
4614  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
4615  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
4616  if (likely(__pyx_t_3)) {
4617  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
4618  __Pyx_INCREF(__pyx_t_3);
4619  __Pyx_INCREF(function);
4620  __Pyx_DECREF_SET(__pyx_t_2, function);
4621  }
4622  }
4623  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
4624  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4625  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 245, __pyx_L1_error)
4626  __Pyx_GOTREF(__pyx_t_1);
4627  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4628  __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_CBUSH2D, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 245, __pyx_L1_error)
4629  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4630  __pyx_t_5 = (__pyx_t_4 != 0);
4631  if (__pyx_t_5) {
4632 
4633  /* "pynastran_io.pyx":246
4634  * eids += (data["CBUSH1D"][0]).tolist()
4635  * if "CBUSH2D" in data.keys():
4636  * eids += (data["CBUSH2D"][0]).tolist() # <<<<<<<<<<<<<<
4637  *
4638  * # Loop through all bushing elements
4639  */
4640  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_data, __pyx_n_u_CBUSH2D); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 246, __pyx_L1_error)
4641  __Pyx_GOTREF(__pyx_t_2);
4642  __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 246, __pyx_L1_error)
4643  __Pyx_GOTREF(__pyx_t_3);
4644  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4645  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_tolist); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 246, __pyx_L1_error)
4646  __Pyx_GOTREF(__pyx_t_2);
4647  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4648  __pyx_t_3 = NULL;
4649  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
4650  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
4651  if (likely(__pyx_t_3)) {
4652  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
4653  __Pyx_INCREF(__pyx_t_3);
4654  __Pyx_INCREF(function);
4655  __Pyx_DECREF_SET(__pyx_t_2, function);
4656  }
4657  }
4658  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
4659  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
4660  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 246, __pyx_L1_error)
4661  __Pyx_GOTREF(__pyx_t_1);
4662  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4663  __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_eids, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 246, __pyx_L1_error)
4664  __Pyx_GOTREF(__pyx_t_2);
4665  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4666  __Pyx_DECREF_SET(__pyx_v_eids, __pyx_t_2);
4667  __pyx_t_2 = 0;
4668 
4669  /* "pynastran_io.pyx":245
4670  * if "CBUSH1D" in data.keys():
4671  * eids += (data["CBUSH1D"][0]).tolist()
4672  * if "CBUSH2D" in data.keys(): # <<<<<<<<<<<<<<
4673  * eids += (data["CBUSH2D"][0]).tolist()
4674  *
4675  */
4676  }
4677 
4678  /* "pynastran_io.pyx":249
4679  *
4680  * # Loop through all bushing elements
4681  * for k in range(len(eids)): # <<<<<<<<<<<<<<
4682  * eid = eids[k]
4683  * bushing = model.myBDF.elements[eid]
4684  */
4685  __pyx_t_6 = PyObject_Length(__pyx_v_eids); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 249, __pyx_L1_error)
4686  __pyx_t_7 = __pyx_t_6;
4687  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
4688  __pyx_v_k = __pyx_t_8;
4689 
4690  /* "pynastran_io.pyx":250
4691  * # Loop through all bushing elements
4692  * for k in range(len(eids)):
4693  * eid = eids[k] # <<<<<<<<<<<<<<
4694  * bushing = model.myBDF.elements[eid]
4695  * L = np.linalg.norm(bushing.nodes_ref[1].xyz - bushing.nodes_ref[0].xyz)
4696  */
4697  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_eids, __pyx_v_k, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 250, __pyx_L1_error)
4698  __Pyx_GOTREF(__pyx_t_2);
4699  __Pyx_XDECREF_SET(__pyx_v_eid, __pyx_t_2);
4700  __pyx_t_2 = 0;
4701 
4702  /* "pynastran_io.pyx":251
4703  * for k in range(len(eids)):
4704  * eid = eids[k]
4705  * bushing = model.myBDF.elements[eid] # <<<<<<<<<<<<<<
4706  * L = np.linalg.norm(bushing.nodes_ref[1].xyz - bushing.nodes_ref[0].xyz)
4707  * if abs(L)<nzero:
4708  */
4709  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_model->myBDF, __pyx_n_s_elements); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 251, __pyx_L1_error)
4710  __Pyx_GOTREF(__pyx_t_2);
4711  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_eid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 251, __pyx_L1_error)
4712  __Pyx_GOTREF(__pyx_t_1);
4713  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4714  __Pyx_XDECREF_SET(__pyx_v_bushing, __pyx_t_1);
4715  __pyx_t_1 = 0;
4716 
4717  /* "pynastran_io.pyx":252
4718  * eid = eids[k]
4719  * bushing = model.myBDF.elements[eid]
4720  * L = np.linalg.norm(bushing.nodes_ref[1].xyz - bushing.nodes_ref[0].xyz) # <<<<<<<<<<<<<<
4721  * if abs(L)<nzero:
4722  * # Slightly perturb the second node so that L>0 and an x-axis can be defined by the geometry
4723  */
4724  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 252, __pyx_L1_error)
4725  __Pyx_GOTREF(__pyx_t_2);
4726  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_linalg); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 252, __pyx_L1_error)
4727  __Pyx_GOTREF(__pyx_t_3);
4728  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4729  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_norm); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 252, __pyx_L1_error)
4730  __Pyx_GOTREF(__pyx_t_2);
4731  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4732  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_bushing, __pyx_n_s_nodes_ref); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 252, __pyx_L1_error)
4733  __Pyx_GOTREF(__pyx_t_3);
4734  __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 252, __pyx_L1_error)
4735  __Pyx_GOTREF(__pyx_t_9);
4736  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4737  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_xyz); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 252, __pyx_L1_error)
4738  __Pyx_GOTREF(__pyx_t_3);
4739  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
4740  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_bushing, __pyx_n_s_nodes_ref); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 252, __pyx_L1_error)
4741  __Pyx_GOTREF(__pyx_t_9);
4742  __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 252, __pyx_L1_error)
4743  __Pyx_GOTREF(__pyx_t_10);
4744  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
4745  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_xyz); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 252, __pyx_L1_error)
4746  __Pyx_GOTREF(__pyx_t_9);
4747  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4748  __pyx_t_10 = PyNumber_Subtract(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 252, __pyx_L1_error)
4749  __Pyx_GOTREF(__pyx_t_10);
4750  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4751  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
4752  __pyx_t_9 = NULL;
4753  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
4754  __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
4755  if (likely(__pyx_t_9)) {
4756  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
4757  __Pyx_INCREF(__pyx_t_9);
4758  __Pyx_INCREF(function);
4759  __Pyx_DECREF_SET(__pyx_t_2, function);
4760  }
4761  }
4762  __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_10);
4763  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
4764  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4765  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 252, __pyx_L1_error)
4766  __Pyx_GOTREF(__pyx_t_1);
4767  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4768  __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 252, __pyx_L1_error)
4769  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4770  __pyx_v_L = __pyx_t_11;
4771 
4772  /* "pynastran_io.pyx":253
4773  * bushing = model.myBDF.elements[eid]
4774  * L = np.linalg.norm(bushing.nodes_ref[1].xyz - bushing.nodes_ref[0].xyz)
4775  * if abs(L)<nzero: # <<<<<<<<<<<<<<
4776  * # Slightly perturb the second node so that L>0 and an x-axis can be defined by the geometry
4777  * i = bushing.cid_ref.i
4778  */
4779  __pyx_t_5 = ((fabs(__pyx_v_L) < __pyx_v_nzero) != 0);
4780  if (__pyx_t_5) {
4781 
4782  /* "pynastran_io.pyx":255
4783  * if abs(L)<nzero:
4784  * # Slightly perturb the second node so that L>0 and an x-axis can be defined by the geometry
4785  * i = bushing.cid_ref.i # <<<<<<<<<<<<<<
4786  * di = eps*i
4787  * absmindi = abs(di).min()
4788  */
4789  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_bushing, __pyx_n_s_cid_ref); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 255, __pyx_L1_error)
4790  __Pyx_GOTREF(__pyx_t_1);
4791  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_i_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 255, __pyx_L1_error)
4792  __Pyx_GOTREF(__pyx_t_2);
4793  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4794  __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_2);
4795  __pyx_t_2 = 0;
4796 
4797  /* "pynastran_io.pyx":256
4798  * # Slightly perturb the second node so that L>0 and an x-axis can be defined by the geometry
4799  * i = bushing.cid_ref.i
4800  * di = eps*i # <<<<<<<<<<<<<<
4801  * absmindi = abs(di).min()
4802  * if absmindi<eps: # Imposing a minimum perurbation size to coordinates
4803  */
4804  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_eps); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 256, __pyx_L1_error)
4805  __Pyx_GOTREF(__pyx_t_2);
4806  __pyx_t_1 = PyNumber_Multiply(__pyx_t_2, __pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 256, __pyx_L1_error)
4807  __Pyx_GOTREF(__pyx_t_1);
4808  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4809  __Pyx_XDECREF_SET(__pyx_v_di, __pyx_t_1);
4810  __pyx_t_1 = 0;
4811 
4812  /* "pynastran_io.pyx":257
4813  * i = bushing.cid_ref.i
4814  * di = eps*i
4815  * absmindi = abs(di).min() # <<<<<<<<<<<<<<
4816  * if absmindi<eps: # Imposing a minimum perurbation size to coordinates
4817  * di *= (eps/absmindi)
4818  */
4819  __pyx_t_2 = __Pyx_PyNumber_Absolute(__pyx_v_di); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 257, __pyx_L1_error)
4820  __Pyx_GOTREF(__pyx_t_2);
4821  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_min); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 257, __pyx_L1_error)
4822  __Pyx_GOTREF(__pyx_t_10);
4823  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4824  __pyx_t_2 = NULL;
4825  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
4826  __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10);
4827  if (likely(__pyx_t_2)) {
4828  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
4829  __Pyx_INCREF(__pyx_t_2);
4830  __Pyx_INCREF(function);
4831  __Pyx_DECREF_SET(__pyx_t_10, function);
4832  }
4833  }
4834  __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_10);
4835  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
4836  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 257, __pyx_L1_error)
4837  __Pyx_GOTREF(__pyx_t_1);
4838  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4839  __Pyx_XDECREF_SET(__pyx_v_absmindi, __pyx_t_1);
4840  __pyx_t_1 = 0;
4841 
4842  /* "pynastran_io.pyx":258
4843  * di = eps*i
4844  * absmindi = abs(di).min()
4845  * if absmindi<eps: # Imposing a minimum perurbation size to coordinates # <<<<<<<<<<<<<<
4846  * di *= (eps/absmindi)
4847  * model.myBDF.nodes[bushing.nodes[1]].xyz += di
4848  */
4849  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_eps); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 258, __pyx_L1_error)
4850  __Pyx_GOTREF(__pyx_t_1);
4851  __pyx_t_10 = PyObject_RichCompare(__pyx_v_absmindi, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 258, __pyx_L1_error)
4852  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4853  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(1, 258, __pyx_L1_error)
4854  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4855  if (__pyx_t_5) {
4856 
4857  /* "pynastran_io.pyx":259
4858  * absmindi = abs(di).min()
4859  * if absmindi<eps: # Imposing a minimum perurbation size to coordinates
4860  * di *= (eps/absmindi) # <<<<<<<<<<<<<<
4861  * model.myBDF.nodes[bushing.nodes[1]].xyz += di
4862  * print("Perturbing GRID %i by %s to define x-axis of zero-length element."%(bushing.nodes[1], di))
4863  */
4864  __pyx_t_10 = PyFloat_FromDouble(__pyx_v_eps); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 259, __pyx_L1_error)
4865  __Pyx_GOTREF(__pyx_t_10);
4866  __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_10, __pyx_v_absmindi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 259, __pyx_L1_error)
4867  __Pyx_GOTREF(__pyx_t_1);
4868  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4869  __pyx_t_10 = PyNumber_InPlaceMultiply(__pyx_v_di, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 259, __pyx_L1_error)
4870  __Pyx_GOTREF(__pyx_t_10);
4871  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4872  __Pyx_DECREF_SET(__pyx_v_di, __pyx_t_10);
4873  __pyx_t_10 = 0;
4874 
4875  /* "pynastran_io.pyx":258
4876  * di = eps*i
4877  * absmindi = abs(di).min()
4878  * if absmindi<eps: # Imposing a minimum perurbation size to coordinates # <<<<<<<<<<<<<<
4879  * di *= (eps/absmindi)
4880  * model.myBDF.nodes[bushing.nodes[1]].xyz += di
4881  */
4882  }
4883 
4884  /* "pynastran_io.pyx":260
4885  * if absmindi<eps: # Imposing a minimum perurbation size to coordinates
4886  * di *= (eps/absmindi)
4887  * model.myBDF.nodes[bushing.nodes[1]].xyz += di # <<<<<<<<<<<<<<
4888  * print("Perturbing GRID %i by %s to define x-axis of zero-length element."%(bushing.nodes[1], di))
4889  *
4890  */
4891  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_model->myBDF, __pyx_n_s_nodes); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 260, __pyx_L1_error)
4892  __Pyx_GOTREF(__pyx_t_10);
4893  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_bushing, __pyx_n_s_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 260, __pyx_L1_error)
4894  __Pyx_GOTREF(__pyx_t_1);
4895  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 260, __pyx_L1_error)
4896  __Pyx_GOTREF(__pyx_t_2);
4897  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4898  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 260, __pyx_L1_error)
4899  __Pyx_GOTREF(__pyx_t_1);
4900  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4901  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4902  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_xyz); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 260, __pyx_L1_error)
4903  __Pyx_GOTREF(__pyx_t_2);
4904  __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_v_di); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 260, __pyx_L1_error)
4905  __Pyx_GOTREF(__pyx_t_10);
4906  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4907  if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_xyz, __pyx_t_10) < 0) __PYX_ERR(1, 260, __pyx_L1_error)
4908  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4909  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4910 
4911  /* "pynastran_io.pyx":261
4912  * di *= (eps/absmindi)
4913  * model.myBDF.nodes[bushing.nodes[1]].xyz += di
4914  * print("Perturbing GRID %i by %s to define x-axis of zero-length element."%(bushing.nodes[1], di)) # <<<<<<<<<<<<<<
4915  *
4916  * # Define the orientation of the bushing
4917  */
4918  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_bushing, __pyx_n_s_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 261, __pyx_L1_error)
4919  __Pyx_GOTREF(__pyx_t_1);
4920  __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 261, __pyx_L1_error)
4921  __Pyx_GOTREF(__pyx_t_10);
4922  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4923  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 261, __pyx_L1_error)
4924  __Pyx_GOTREF(__pyx_t_1);
4925  __Pyx_GIVEREF(__pyx_t_10);
4926  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_10);
4927  __Pyx_INCREF(__pyx_v_di);
4928  __Pyx_GIVEREF(__pyx_v_di);
4929  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_di);
4930  __pyx_t_10 = 0;
4931  __pyx_t_10 = PyUnicode_Format(__pyx_kp_u_Perturbing_GRID_i_by_s_to_define, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 261, __pyx_L1_error)
4932  __Pyx_GOTREF(__pyx_t_10);
4933  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4934  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 261, __pyx_L1_error)
4935  __Pyx_GOTREF(__pyx_t_1);
4936  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4937  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4938 
4939  /* "pynastran_io.pyx":264
4940  *
4941  * # Define the orientation of the bushing
4942  * bushing.x = bushing.cid_ref.j.tolist() # <<<<<<<<<<<<<<
4943  */
4944  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_bushing, __pyx_n_s_cid_ref); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 264, __pyx_L1_error)
4945  __Pyx_GOTREF(__pyx_t_10);
4946  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 264, __pyx_L1_error)
4947  __Pyx_GOTREF(__pyx_t_2);
4948  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4949  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_tolist); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 264, __pyx_L1_error)
4950  __Pyx_GOTREF(__pyx_t_10);
4951  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4952  __pyx_t_2 = NULL;
4953  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
4954  __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10);
4955  if (likely(__pyx_t_2)) {
4956  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
4957  __Pyx_INCREF(__pyx_t_2);
4958  __Pyx_INCREF(function);
4959  __Pyx_DECREF_SET(__pyx_t_10, function);
4960  }
4961  }
4962  __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_10);
4963  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
4964  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 264, __pyx_L1_error)
4965  __Pyx_GOTREF(__pyx_t_1);
4966  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4967  if (__Pyx_PyObject_SetAttrStr(__pyx_v_bushing, __pyx_n_s_x, __pyx_t_1) < 0) __PYX_ERR(1, 264, __pyx_L1_error)
4968  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4969 
4970  /* "pynastran_io.pyx":253
4971  * bushing = model.myBDF.elements[eid]
4972  * L = np.linalg.norm(bushing.nodes_ref[1].xyz - bushing.nodes_ref[0].xyz)
4973  * if abs(L)<nzero: # <<<<<<<<<<<<<<
4974  * # Slightly perturb the second node so that L>0 and an x-axis can be defined by the geometry
4975  * i = bushing.cid_ref.i
4976  */
4977  }
4978  }
4979 
4980  /* "pynastran_io.pyx":224
4981  *
4982  *
4983  * cdef perturbZeroLengthBushings(BDFModel model): # <<<<<<<<<<<<<<
4984  * """
4985  * As of November 18, 2019, MAST does not support the specification of the elemental x-axis which is required when
4986  */
4987 
4988  /* function exit code */
4989  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4990  goto __pyx_L0;
4991  __pyx_L1_error:;
4992  __Pyx_XDECREF(__pyx_t_1);
4993  __Pyx_XDECREF(__pyx_t_2);
4994  __Pyx_XDECREF(__pyx_t_3);
4995  __Pyx_XDECREF(__pyx_t_9);
4996  __Pyx_XDECREF(__pyx_t_10);
4997  __Pyx_AddTraceback("pynastran_io.perturbZeroLengthBushings", __pyx_clineno, __pyx_lineno, __pyx_filename);
4998  __pyx_r = 0;
4999  __pyx_L0:;
5000  __Pyx_XDECREF(__pyx_v_data);
5001  __Pyx_XDECREF(__pyx_v_eids);
5002  __Pyx_XDECREF(__pyx_v_eid);
5003  __Pyx_XDECREF(__pyx_v_bushing);
5004  __Pyx_XDECREF(__pyx_v_i);
5005  __Pyx_XDECREF(__pyx_v_di);
5006  __Pyx_XDECREF(__pyx_v_absmindi);
5007  __Pyx_XGIVEREF(__pyx_r);
5008  __Pyx_RefNannyFinishContext();
5009  return __pyx_r;
5010 }
5011 
5012 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":258
5013  * # experimental exception made for __getbuffer__ and __releasebuffer__
5014  * # -- the details of this may change.
5015  * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
5016  * # This implementation of getbuffer is geared towards Cython
5017  * # requirements, and does not yet fulfill the PEP.
5018  */
5019 
5020 /* Python wrapper */
5021 static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
5022 static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
5023  int __pyx_r;
5024  __Pyx_RefNannyDeclarations
5025  __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
5026  __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
5027 
5028  /* function exit code */
5029  __Pyx_RefNannyFinishContext();
5030  return __pyx_r;
5031 }
5032 
5033 static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
5034  int __pyx_v_i;
5035  int __pyx_v_ndim;
5036  int __pyx_v_endian_detector;
5037  int __pyx_v_little_endian;
5038  int __pyx_v_t;
5039  char *__pyx_v_f;
5040  PyArray_Descr *__pyx_v_descr = 0;
5041  int __pyx_v_offset;
5042  int __pyx_r;
5043  __Pyx_RefNannyDeclarations
5044  int __pyx_t_1;
5045  int __pyx_t_2;
5046  PyObject *__pyx_t_3 = NULL;
5047  int __pyx_t_4;
5048  int __pyx_t_5;
5049  int __pyx_t_6;
5050  PyArray_Descr *__pyx_t_7;
5051  PyObject *__pyx_t_8 = NULL;
5052  char *__pyx_t_9;
5053  if (__pyx_v_info == NULL) {
5054  PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete");
5055  return -1;
5056  }
5057  __Pyx_RefNannySetupContext("__getbuffer__", 0);
5058  __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
5059  __Pyx_GIVEREF(__pyx_v_info->obj);
5060 
5061  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":265
5062  *
5063  * cdef int i, ndim
5064  * cdef int endian_detector = 1 # <<<<<<<<<<<<<<
5065  * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
5066  *
5067  */
5068  __pyx_v_endian_detector = 1;
5069 
5070  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":266
5071  * cdef int i, ndim
5072  * cdef int endian_detector = 1
5073  * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<
5074  *
5075  * ndim = PyArray_NDIM(self)
5076  */
5077  __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
5078 
5079  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":268
5080  * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
5081  *
5082  * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<<
5083  *
5084  * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
5085  */
5086  __pyx_v_ndim = PyArray_NDIM(__pyx_v_self);
5087 
5088  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
5089  * ndim = PyArray_NDIM(self)
5090  *
5091  * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<<
5092  * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
5093  * raise ValueError(u"ndarray is not C contiguous")
5094  */
5095  __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0);
5096  if (__pyx_t_2) {
5097  } else {
5098  __pyx_t_1 = __pyx_t_2;
5099  goto __pyx_L4_bool_binop_done;
5100  }
5101 
5102  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":271
5103  *
5104  * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
5105  * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): # <<<<<<<<<<<<<<
5106  * raise ValueError(u"ndarray is not C contiguous")
5107  *
5108  */
5109  __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_C_CONTIGUOUS) != 0)) != 0);
5110  __pyx_t_1 = __pyx_t_2;
5111  __pyx_L4_bool_binop_done:;
5112 
5113  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
5114  * ndim = PyArray_NDIM(self)
5115  *
5116  * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<<
5117  * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
5118  * raise ValueError(u"ndarray is not C contiguous")
5119  */
5120  if (unlikely(__pyx_t_1)) {
5121 
5122  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
5123  * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
5124  * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
5125  * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<<
5126  *
5127  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
5128  */
5129  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 272, __pyx_L1_error)
5130  __Pyx_GOTREF(__pyx_t_3);
5131  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
5132  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5133  __PYX_ERR(2, 272, __pyx_L1_error)
5134 
5135  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
5136  * ndim = PyArray_NDIM(self)
5137  *
5138  * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<<
5139  * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
5140  * raise ValueError(u"ndarray is not C contiguous")
5141  */
5142  }
5143 
5144  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
5145  * raise ValueError(u"ndarray is not C contiguous")
5146  *
5147  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<<
5148  * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
5149  * raise ValueError(u"ndarray is not Fortran contiguous")
5150  */
5151  __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0);
5152  if (__pyx_t_2) {
5153  } else {
5154  __pyx_t_1 = __pyx_t_2;
5155  goto __pyx_L7_bool_binop_done;
5156  }
5157 
5158  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":275
5159  *
5160  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
5161  * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): # <<<<<<<<<<<<<<
5162  * raise ValueError(u"ndarray is not Fortran contiguous")
5163  *
5164  */
5165  __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_F_CONTIGUOUS) != 0)) != 0);
5166  __pyx_t_1 = __pyx_t_2;
5167  __pyx_L7_bool_binop_done:;
5168 
5169  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
5170  * raise ValueError(u"ndarray is not C contiguous")
5171  *
5172  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<<
5173  * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
5174  * raise ValueError(u"ndarray is not Fortran contiguous")
5175  */
5176  if (unlikely(__pyx_t_1)) {
5177 
5178  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
5179  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
5180  * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
5181  * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<<
5182  *
5183  * info.buf = PyArray_DATA(self)
5184  */
5185  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 276, __pyx_L1_error)
5186  __Pyx_GOTREF(__pyx_t_3);
5187  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
5188  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5189  __PYX_ERR(2, 276, __pyx_L1_error)
5190 
5191  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
5192  * raise ValueError(u"ndarray is not C contiguous")
5193  *
5194  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<<
5195  * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
5196  * raise ValueError(u"ndarray is not Fortran contiguous")
5197  */
5198  }
5199 
5200  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":278
5201  * raise ValueError(u"ndarray is not Fortran contiguous")
5202  *
5203  * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<<
5204  * info.ndim = ndim
5205  * if sizeof(npy_intp) != sizeof(Py_ssize_t):
5206  */
5207  __pyx_v_info->buf = PyArray_DATA(__pyx_v_self);
5208 
5209  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":279
5210  *
5211  * info.buf = PyArray_DATA(self)
5212  * info.ndim = ndim # <<<<<<<<<<<<<<
5213  * if sizeof(npy_intp) != sizeof(Py_ssize_t):
5214  * # Allocate new buffer for strides and shape info.
5215  */
5216  __pyx_v_info->ndim = __pyx_v_ndim;
5217 
5218  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
5219  * info.buf = PyArray_DATA(self)
5220  * info.ndim = ndim
5221  * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
5222  * # Allocate new buffer for strides and shape info.
5223  * # This is allocated as one block, strides first.
5224  */
5225  __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
5226  if (__pyx_t_1) {
5227 
5228  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":283
5229  * # Allocate new buffer for strides and shape info.
5230  * # This is allocated as one block, strides first.
5231  * info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim) # <<<<<<<<<<<<<<
5232  * info.shape = info.strides + ndim
5233  * for i in range(ndim):
5234  */
5235  __pyx_v_info->strides = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * 2) * ((size_t)__pyx_v_ndim))));
5236 
5237  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":284
5238  * # This is allocated as one block, strides first.
5239  * info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)
5240  * info.shape = info.strides + ndim # <<<<<<<<<<<<<<
5241  * for i in range(ndim):
5242  * info.strides[i] = PyArray_STRIDES(self)[i]
5243  */
5244  __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
5245 
5246  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":285
5247  * info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)
5248  * info.shape = info.strides + ndim
5249  * for i in range(ndim): # <<<<<<<<<<<<<<
5250  * info.strides[i] = PyArray_STRIDES(self)[i]
5251  * info.shape[i] = PyArray_DIMS(self)[i]
5252  */
5253  __pyx_t_4 = __pyx_v_ndim;
5254  __pyx_t_5 = __pyx_t_4;
5255  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
5256  __pyx_v_i = __pyx_t_6;
5257 
5258  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":286
5259  * info.shape = info.strides + ndim
5260  * for i in range(ndim):
5261  * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<<
5262  * info.shape[i] = PyArray_DIMS(self)[i]
5263  * else:
5264  */
5265  (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);
5266 
5267  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":287
5268  * for i in range(ndim):
5269  * info.strides[i] = PyArray_STRIDES(self)[i]
5270  * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<<
5271  * else:
5272  * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
5273  */
5274  (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);
5275  }
5276 
5277  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
5278  * info.buf = PyArray_DATA(self)
5279  * info.ndim = ndim
5280  * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
5281  * # Allocate new buffer for strides and shape info.
5282  * # This is allocated as one block, strides first.
5283  */
5284  goto __pyx_L9;
5285  }
5286 
5287  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":289
5288  * info.shape[i] = PyArray_DIMS(self)[i]
5289  * else:
5290  * info.strides = <Py_ssize_t*>PyArray_STRIDES(self) # <<<<<<<<<<<<<<
5291  * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
5292  * info.suboffsets = NULL
5293  */
5294  /*else*/ {
5295  __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));
5296 
5297  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":290
5298  * else:
5299  * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
5300  * info.shape = <Py_ssize_t*>PyArray_DIMS(self) # <<<<<<<<<<<<<<
5301  * info.suboffsets = NULL
5302  * info.itemsize = PyArray_ITEMSIZE(self)
5303  */
5304  __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self));
5305  }
5306  __pyx_L9:;
5307 
5308  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
5309  * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
5310  * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
5311  * info.suboffsets = NULL # <<<<<<<<<<<<<<
5312  * info.itemsize = PyArray_ITEMSIZE(self)
5313  * info.readonly = not PyArray_ISWRITEABLE(self)
5314  */
5315  __pyx_v_info->suboffsets = NULL;
5316 
5317  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":292
5318  * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
5319  * info.suboffsets = NULL
5320  * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<<
5321  * info.readonly = not PyArray_ISWRITEABLE(self)
5322  *
5323  */
5324  __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);
5325 
5326  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":293
5327  * info.suboffsets = NULL
5328  * info.itemsize = PyArray_ITEMSIZE(self)
5329  * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<<
5330  *
5331  * cdef int t
5332  */
5333  __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0));
5334 
5335  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":296
5336  *
5337  * cdef int t
5338  * cdef char* f = NULL # <<<<<<<<<<<<<<
5339  * cdef dtype descr = <dtype>PyArray_DESCR(self)
5340  * cdef int offset
5341  */
5342  __pyx_v_f = NULL;
5343 
5344  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":297
5345  * cdef int t
5346  * cdef char* f = NULL
5347  * cdef dtype descr = <dtype>PyArray_DESCR(self) # <<<<<<<<<<<<<<
5348  * cdef int offset
5349  *
5350  */
5351  __pyx_t_7 = PyArray_DESCR(__pyx_v_self);
5352  __pyx_t_3 = ((PyObject *)__pyx_t_7);
5353  __Pyx_INCREF(__pyx_t_3);
5354  __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3);
5355  __pyx_t_3 = 0;
5356 
5357  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":300
5358  * cdef int offset
5359  *
5360  * info.obj = self # <<<<<<<<<<<<<<
5361  *
5362  * if not PyDataType_HASFIELDS(descr):
5363  */
5364  __Pyx_INCREF(((PyObject *)__pyx_v_self));
5365  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
5366  __Pyx_GOTREF(__pyx_v_info->obj);
5367  __Pyx_DECREF(__pyx_v_info->obj);
5368  __pyx_v_info->obj = ((PyObject *)__pyx_v_self);
5369 
5370  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":302
5371  * info.obj = self
5372  *
5373  * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<<
5374  * t = descr.type_num
5375  * if ((descr.byteorder == c'>' and little_endian) or
5376  */
5377  __pyx_t_1 = ((!(PyDataType_HASFIELDS(__pyx_v_descr) != 0)) != 0);
5378  if (__pyx_t_1) {
5379 
5380  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":303
5381  *
5382  * if not PyDataType_HASFIELDS(descr):
5383  * t = descr.type_num # <<<<<<<<<<<<<<
5384  * if ((descr.byteorder == c'>' and little_endian) or
5385  * (descr.byteorder == c'<' and not little_endian)):
5386  */
5387  __pyx_t_4 = __pyx_v_descr->type_num;
5388  __pyx_v_t = __pyx_t_4;
5389 
5390  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":304
5391  * if not PyDataType_HASFIELDS(descr):
5392  * t = descr.type_num
5393  * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
5394  * (descr.byteorder == c'<' and not little_endian)):
5395  * raise ValueError(u"Non-native byte order not supported")
5396  */
5397  __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0);
5398  if (!__pyx_t_2) {
5399  goto __pyx_L15_next_or;
5400  } else {
5401  }
5402  __pyx_t_2 = (__pyx_v_little_endian != 0);
5403  if (!__pyx_t_2) {
5404  } else {
5405  __pyx_t_1 = __pyx_t_2;
5406  goto __pyx_L14_bool_binop_done;
5407  }
5408  __pyx_L15_next_or:;
5409 
5410  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":305
5411  * t = descr.type_num
5412  * if ((descr.byteorder == c'>' and little_endian) or
5413  * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<
5414  * raise ValueError(u"Non-native byte order not supported")
5415  * if t == NPY_BYTE: f = "b"
5416  */
5417  __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0);
5418  if (__pyx_t_2) {
5419  } else {
5420  __pyx_t_1 = __pyx_t_2;
5421  goto __pyx_L14_bool_binop_done;
5422  }
5423  __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0);
5424  __pyx_t_1 = __pyx_t_2;
5425  __pyx_L14_bool_binop_done:;
5426 
5427  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":304
5428  * if not PyDataType_HASFIELDS(descr):
5429  * t = descr.type_num
5430  * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
5431  * (descr.byteorder == c'<' and not little_endian)):
5432  * raise ValueError(u"Non-native byte order not supported")
5433  */
5434  if (unlikely(__pyx_t_1)) {
5435 
5436  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":306
5437  * if ((descr.byteorder == c'>' and little_endian) or
5438  * (descr.byteorder == c'<' and not little_endian)):
5439  * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
5440  * if t == NPY_BYTE: f = "b"
5441  * elif t == NPY_UBYTE: f = "B"
5442  */
5443  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 306, __pyx_L1_error)
5444  __Pyx_GOTREF(__pyx_t_3);
5445  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
5446  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5447  __PYX_ERR(2, 306, __pyx_L1_error)
5448 
5449  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":304
5450  * if not PyDataType_HASFIELDS(descr):
5451  * t = descr.type_num
5452  * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
5453  * (descr.byteorder == c'<' and not little_endian)):
5454  * raise ValueError(u"Non-native byte order not supported")
5455  */
5456  }
5457 
5458  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":307
5459  * (descr.byteorder == c'<' and not little_endian)):
5460  * raise ValueError(u"Non-native byte order not supported")
5461  * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<<
5462  * elif t == NPY_UBYTE: f = "B"
5463  * elif t == NPY_SHORT: f = "h"
5464  */
5465  switch (__pyx_v_t) {
5466  case NPY_BYTE:
5467  __pyx_v_f = ((char *)"b");
5468  break;
5469  case NPY_UBYTE:
5470 
5471  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":308
5472  * raise ValueError(u"Non-native byte order not supported")
5473  * if t == NPY_BYTE: f = "b"
5474  * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<<
5475  * elif t == NPY_SHORT: f = "h"
5476  * elif t == NPY_USHORT: f = "H"
5477  */
5478  __pyx_v_f = ((char *)"B");
5479  break;
5480  case NPY_SHORT:
5481 
5482  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":309
5483  * if t == NPY_BYTE: f = "b"
5484  * elif t == NPY_UBYTE: f = "B"
5485  * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<<
5486  * elif t == NPY_USHORT: f = "H"
5487  * elif t == NPY_INT: f = "i"
5488  */
5489  __pyx_v_f = ((char *)"h");
5490  break;
5491  case NPY_USHORT:
5492 
5493  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":310
5494  * elif t == NPY_UBYTE: f = "B"
5495  * elif t == NPY_SHORT: f = "h"
5496  * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<<
5497  * elif t == NPY_INT: f = "i"
5498  * elif t == NPY_UINT: f = "I"
5499  */
5500  __pyx_v_f = ((char *)"H");
5501  break;
5502  case NPY_INT:
5503 
5504  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":311
5505  * elif t == NPY_SHORT: f = "h"
5506  * elif t == NPY_USHORT: f = "H"
5507  * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<<
5508  * elif t == NPY_UINT: f = "I"
5509  * elif t == NPY_LONG: f = "l"
5510  */
5511  __pyx_v_f = ((char *)"i");
5512  break;
5513  case NPY_UINT:
5514 
5515  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":312
5516  * elif t == NPY_USHORT: f = "H"
5517  * elif t == NPY_INT: f = "i"
5518  * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<<
5519  * elif t == NPY_LONG: f = "l"
5520  * elif t == NPY_ULONG: f = "L"
5521  */
5522  __pyx_v_f = ((char *)"I");
5523  break;
5524  case NPY_LONG:
5525 
5526  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":313
5527  * elif t == NPY_INT: f = "i"
5528  * elif t == NPY_UINT: f = "I"
5529  * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<<
5530  * elif t == NPY_ULONG: f = "L"
5531  * elif t == NPY_LONGLONG: f = "q"
5532  */
5533  __pyx_v_f = ((char *)"l");
5534  break;
5535  case NPY_ULONG:
5536 
5537  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":314
5538  * elif t == NPY_UINT: f = "I"
5539  * elif t == NPY_LONG: f = "l"
5540  * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<<
5541  * elif t == NPY_LONGLONG: f = "q"
5542  * elif t == NPY_ULONGLONG: f = "Q"
5543  */
5544  __pyx_v_f = ((char *)"L");
5545  break;
5546  case NPY_LONGLONG:
5547 
5548  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":315
5549  * elif t == NPY_LONG: f = "l"
5550  * elif t == NPY_ULONG: f = "L"
5551  * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<<
5552  * elif t == NPY_ULONGLONG: f = "Q"
5553  * elif t == NPY_FLOAT: f = "f"
5554  */
5555  __pyx_v_f = ((char *)"q");
5556  break;
5557  case NPY_ULONGLONG:
5558 
5559  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":316
5560  * elif t == NPY_ULONG: f = "L"
5561  * elif t == NPY_LONGLONG: f = "q"
5562  * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<<
5563  * elif t == NPY_FLOAT: f = "f"
5564  * elif t == NPY_DOUBLE: f = "d"
5565  */
5566  __pyx_v_f = ((char *)"Q");
5567  break;
5568  case NPY_FLOAT:
5569 
5570  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":317
5571  * elif t == NPY_LONGLONG: f = "q"
5572  * elif t == NPY_ULONGLONG: f = "Q"
5573  * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<<
5574  * elif t == NPY_DOUBLE: f = "d"
5575  * elif t == NPY_LONGDOUBLE: f = "g"
5576  */
5577  __pyx_v_f = ((char *)"f");
5578  break;
5579  case NPY_DOUBLE:
5580 
5581  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":318
5582  * elif t == NPY_ULONGLONG: f = "Q"
5583  * elif t == NPY_FLOAT: f = "f"
5584  * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<<
5585  * elif t == NPY_LONGDOUBLE: f = "g"
5586  * elif t == NPY_CFLOAT: f = "Zf"
5587  */
5588  __pyx_v_f = ((char *)"d");
5589  break;
5590  case NPY_LONGDOUBLE:
5591 
5592  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":319
5593  * elif t == NPY_FLOAT: f = "f"
5594  * elif t == NPY_DOUBLE: f = "d"
5595  * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<<
5596  * elif t == NPY_CFLOAT: f = "Zf"
5597  * elif t == NPY_CDOUBLE: f = "Zd"
5598  */
5599  __pyx_v_f = ((char *)"g");
5600  break;
5601  case NPY_CFLOAT:
5602 
5603  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":320
5604  * elif t == NPY_DOUBLE: f = "d"
5605  * elif t == NPY_LONGDOUBLE: f = "g"
5606  * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<<
5607  * elif t == NPY_CDOUBLE: f = "Zd"
5608  * elif t == NPY_CLONGDOUBLE: f = "Zg"
5609  */
5610  __pyx_v_f = ((char *)"Zf");
5611  break;
5612  case NPY_CDOUBLE:
5613 
5614  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":321
5615  * elif t == NPY_LONGDOUBLE: f = "g"
5616  * elif t == NPY_CFLOAT: f = "Zf"
5617  * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<<
5618  * elif t == NPY_CLONGDOUBLE: f = "Zg"
5619  * elif t == NPY_OBJECT: f = "O"
5620  */
5621  __pyx_v_f = ((char *)"Zd");
5622  break;
5623  case NPY_CLONGDOUBLE:
5624 
5625  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":322
5626  * elif t == NPY_CFLOAT: f = "Zf"
5627  * elif t == NPY_CDOUBLE: f = "Zd"
5628  * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<<
5629  * elif t == NPY_OBJECT: f = "O"
5630  * else:
5631  */
5632  __pyx_v_f = ((char *)"Zg");
5633  break;
5634  case NPY_OBJECT:
5635 
5636  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":323
5637  * elif t == NPY_CDOUBLE: f = "Zd"
5638  * elif t == NPY_CLONGDOUBLE: f = "Zg"
5639  * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<<
5640  * else:
5641  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
5642  */
5643  __pyx_v_f = ((char *)"O");
5644  break;
5645  default:
5646 
5647  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":325
5648  * elif t == NPY_OBJECT: f = "O"
5649  * else:
5650  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<
5651  * info.format = f
5652  * return
5653  */
5654  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 325, __pyx_L1_error)
5655  __Pyx_GOTREF(__pyx_t_3);
5656  __pyx_t_8 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 325, __pyx_L1_error)
5657  __Pyx_GOTREF(__pyx_t_8);
5658  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5659  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 325, __pyx_L1_error)
5660  __Pyx_GOTREF(__pyx_t_3);
5661  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
5662  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
5663  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5664  __PYX_ERR(2, 325, __pyx_L1_error)
5665  break;
5666  }
5667 
5668  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":326
5669  * else:
5670  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
5671  * info.format = f # <<<<<<<<<<<<<<
5672  * return
5673  * else:
5674  */
5675  __pyx_v_info->format = __pyx_v_f;
5676 
5677  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":327
5678  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
5679  * info.format = f
5680  * return # <<<<<<<<<<<<<<
5681  * else:
5682  * info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
5683  */
5684  __pyx_r = 0;
5685  goto __pyx_L0;
5686 
5687  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":302
5688  * info.obj = self
5689  *
5690  * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<<
5691  * t = descr.type_num
5692  * if ((descr.byteorder == c'>' and little_endian) or
5693  */
5694  }
5695 
5696  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":329
5697  * return
5698  * else:
5699  * info.format = <char*>PyObject_Malloc(_buffer_format_string_len) # <<<<<<<<<<<<<<
5700  * info.format[0] = c'^' # Native data types, manual alignment
5701  * offset = 0
5702  */
5703  /*else*/ {
5704  __pyx_v_info->format = ((char *)PyObject_Malloc(0xFF));
5705 
5706  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":330
5707  * else:
5708  * info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
5709  * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<<
5710  * offset = 0
5711  * f = _util_dtypestring(descr, info.format + 1,
5712  */
5713  (__pyx_v_info->format[0]) = '^';
5714 
5715  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":331
5716  * info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
5717  * info.format[0] = c'^' # Native data types, manual alignment
5718  * offset = 0 # <<<<<<<<<<<<<<
5719  * f = _util_dtypestring(descr, info.format + 1,
5720  * info.format + _buffer_format_string_len,
5721  */
5722  __pyx_v_offset = 0;
5723 
5724  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":332
5725  * info.format[0] = c'^' # Native data types, manual alignment
5726  * offset = 0
5727  * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<<
5728  * info.format + _buffer_format_string_len,
5729  * &offset)
5730  */
5731  __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(2, 332, __pyx_L1_error)
5732  __pyx_v_f = __pyx_t_9;
5733 
5734  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":335
5735  * info.format + _buffer_format_string_len,
5736  * &offset)
5737  * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<<
5738  *
5739  * def __releasebuffer__(ndarray self, Py_buffer* info):
5740  */
5741  (__pyx_v_f[0]) = '\x00';
5742  }
5743 
5744  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":258
5745  * # experimental exception made for __getbuffer__ and __releasebuffer__
5746  * # -- the details of this may change.
5747  * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
5748  * # This implementation of getbuffer is geared towards Cython
5749  * # requirements, and does not yet fulfill the PEP.
5750  */
5751 
5752  /* function exit code */
5753  __pyx_r = 0;
5754  goto __pyx_L0;
5755  __pyx_L1_error:;
5756  __Pyx_XDECREF(__pyx_t_3);
5757  __Pyx_XDECREF(__pyx_t_8);
5758  __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5759  __pyx_r = -1;
5760  if (__pyx_v_info->obj != NULL) {
5761  __Pyx_GOTREF(__pyx_v_info->obj);
5762  __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
5763  }
5764  goto __pyx_L2;
5765  __pyx_L0:;
5766  if (__pyx_v_info->obj == Py_None) {
5767  __Pyx_GOTREF(__pyx_v_info->obj);
5768  __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
5769  }
5770  __pyx_L2:;
5771  __Pyx_XDECREF((PyObject *)__pyx_v_descr);
5772  __Pyx_RefNannyFinishContext();
5773  return __pyx_r;
5774 }
5775 
5776 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":337
5777  * f[0] = c'\0' # Terminate format string
5778  *
5779  * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<
5780  * if PyArray_HASFIELDS(self):
5781  * PyObject_Free(info.format)
5782  */
5783 
5784 /* Python wrapper */
5785 static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/
5786 static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
5787  __Pyx_RefNannyDeclarations
5788  __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0);
5789  __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info));
5790 
5791  /* function exit code */
5792  __Pyx_RefNannyFinishContext();
5793 }
5794 
5795 static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
5796  __Pyx_RefNannyDeclarations
5797  int __pyx_t_1;
5798  __Pyx_RefNannySetupContext("__releasebuffer__", 0);
5799 
5800  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":338
5801  *
5802  * def __releasebuffer__(ndarray self, Py_buffer* info):
5803  * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<<
5804  * PyObject_Free(info.format)
5805  * if sizeof(npy_intp) != sizeof(Py_ssize_t):
5806  */
5807  __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0);
5808  if (__pyx_t_1) {
5809 
5810  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":339
5811  * def __releasebuffer__(ndarray self, Py_buffer* info):
5812  * if PyArray_HASFIELDS(self):
5813  * PyObject_Free(info.format) # <<<<<<<<<<<<<<
5814  * if sizeof(npy_intp) != sizeof(Py_ssize_t):
5815  * PyObject_Free(info.strides)
5816  */
5817  PyObject_Free(__pyx_v_info->format);
5818 
5819  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":338
5820  *
5821  * def __releasebuffer__(ndarray self, Py_buffer* info):
5822  * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<<
5823  * PyObject_Free(info.format)
5824  * if sizeof(npy_intp) != sizeof(Py_ssize_t):
5825  */
5826  }
5827 
5828  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":340
5829  * if PyArray_HASFIELDS(self):
5830  * PyObject_Free(info.format)
5831  * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
5832  * PyObject_Free(info.strides)
5833  * # info.shape was stored after info.strides in the same block
5834  */
5835  __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
5836  if (__pyx_t_1) {
5837 
5838  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":341
5839  * PyObject_Free(info.format)
5840  * if sizeof(npy_intp) != sizeof(Py_ssize_t):
5841  * PyObject_Free(info.strides) # <<<<<<<<<<<<<<
5842  * # info.shape was stored after info.strides in the same block
5843  *
5844  */
5845  PyObject_Free(__pyx_v_info->strides);
5846 
5847  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":340
5848  * if PyArray_HASFIELDS(self):
5849  * PyObject_Free(info.format)
5850  * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
5851  * PyObject_Free(info.strides)
5852  * # info.shape was stored after info.strides in the same block
5853  */
5854  }
5855 
5856  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":337
5857  * f[0] = c'\0' # Terminate format string
5858  *
5859  * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<
5860  * if PyArray_HASFIELDS(self):
5861  * PyObject_Free(info.format)
5862  */
5863 
5864  /* function exit code */
5865  __Pyx_RefNannyFinishContext();
5866 }
5867 
5868 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":821
5869  * ctypedef npy_cdouble complex_t
5870  *
5871  * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
5872  * return PyArray_MultiIterNew(1, <void*>a)
5873  *
5874  */
5875 
5876 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
5877  PyObject *__pyx_r = NULL;
5878  __Pyx_RefNannyDeclarations
5879  PyObject *__pyx_t_1 = NULL;
5880  __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
5881 
5882  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":822
5883  *
5884  * cdef inline object PyArray_MultiIterNew1(a):
5885  * return PyArray_MultiIterNew(1, <void*>a) # <<<<<<<<<<<<<<
5886  *
5887  * cdef inline object PyArray_MultiIterNew2(a, b):
5888  */
5889  __Pyx_XDECREF(__pyx_r);
5890  __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 822, __pyx_L1_error)
5891  __Pyx_GOTREF(__pyx_t_1);
5892  __pyx_r = __pyx_t_1;
5893  __pyx_t_1 = 0;
5894  goto __pyx_L0;
5895 
5896  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":821
5897  * ctypedef npy_cdouble complex_t
5898  *
5899  * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
5900  * return PyArray_MultiIterNew(1, <void*>a)
5901  *
5902  */
5903 
5904  /* function exit code */
5905  __pyx_L1_error:;
5906  __Pyx_XDECREF(__pyx_t_1);
5907  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
5908  __pyx_r = 0;
5909  __pyx_L0:;
5910  __Pyx_XGIVEREF(__pyx_r);
5911  __Pyx_RefNannyFinishContext();
5912  return __pyx_r;
5913 }
5914 
5915 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":824
5916  * return PyArray_MultiIterNew(1, <void*>a)
5917  *
5918  * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
5919  * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
5920  *
5921  */
5922 
5923 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
5924  PyObject *__pyx_r = NULL;
5925  __Pyx_RefNannyDeclarations
5926  PyObject *__pyx_t_1 = NULL;
5927  __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
5928 
5929  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":825
5930  *
5931  * cdef inline object PyArray_MultiIterNew2(a, b):
5932  * return PyArray_MultiIterNew(2, <void*>a, <void*>b) # <<<<<<<<<<<<<<
5933  *
5934  * cdef inline object PyArray_MultiIterNew3(a, b, c):
5935  */
5936  __Pyx_XDECREF(__pyx_r);
5937  __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 825, __pyx_L1_error)
5938  __Pyx_GOTREF(__pyx_t_1);
5939  __pyx_r = __pyx_t_1;
5940  __pyx_t_1 = 0;
5941  goto __pyx_L0;
5942 
5943  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":824
5944  * return PyArray_MultiIterNew(1, <void*>a)
5945  *
5946  * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
5947  * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
5948  *
5949  */
5950 
5951  /* function exit code */
5952  __pyx_L1_error:;
5953  __Pyx_XDECREF(__pyx_t_1);
5954  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
5955  __pyx_r = 0;
5956  __pyx_L0:;
5957  __Pyx_XGIVEREF(__pyx_r);
5958  __Pyx_RefNannyFinishContext();
5959  return __pyx_r;
5960 }
5961 
5962 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":827
5963  * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
5964  *
5965  * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
5966  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
5967  *
5968  */
5969 
5970 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
5971  PyObject *__pyx_r = NULL;
5972  __Pyx_RefNannyDeclarations
5973  PyObject *__pyx_t_1 = NULL;
5974  __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
5975 
5976  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":828
5977  *
5978  * cdef inline object PyArray_MultiIterNew3(a, b, c):
5979  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c) # <<<<<<<<<<<<<<
5980  *
5981  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
5982  */
5983  __Pyx_XDECREF(__pyx_r);
5984  __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 828, __pyx_L1_error)
5985  __Pyx_GOTREF(__pyx_t_1);
5986  __pyx_r = __pyx_t_1;
5987  __pyx_t_1 = 0;
5988  goto __pyx_L0;
5989 
5990  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":827
5991  * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
5992  *
5993  * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
5994  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
5995  *
5996  */
5997 
5998  /* function exit code */
5999  __pyx_L1_error:;
6000  __Pyx_XDECREF(__pyx_t_1);
6001  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
6002  __pyx_r = 0;
6003  __pyx_L0:;
6004  __Pyx_XGIVEREF(__pyx_r);
6005  __Pyx_RefNannyFinishContext();
6006  return __pyx_r;
6007 }
6008 
6009 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":830
6010  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
6011  *
6012  * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
6013  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
6014  *
6015  */
6016 
6017 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
6018  PyObject *__pyx_r = NULL;
6019  __Pyx_RefNannyDeclarations
6020  PyObject *__pyx_t_1 = NULL;
6021  __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
6022 
6023  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":831
6024  *
6025  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
6026  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d) # <<<<<<<<<<<<<<
6027  *
6028  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
6029  */
6030  __Pyx_XDECREF(__pyx_r);
6031  __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 831, __pyx_L1_error)
6032  __Pyx_GOTREF(__pyx_t_1);
6033  __pyx_r = __pyx_t_1;
6034  __pyx_t_1 = 0;
6035  goto __pyx_L0;
6036 
6037  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":830
6038  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
6039  *
6040  * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
6041  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
6042  *
6043  */
6044 
6045  /* function exit code */
6046  __pyx_L1_error:;
6047  __Pyx_XDECREF(__pyx_t_1);
6048  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
6049  __pyx_r = 0;
6050  __pyx_L0:;
6051  __Pyx_XGIVEREF(__pyx_r);
6052  __Pyx_RefNannyFinishContext();
6053  return __pyx_r;
6054 }
6055 
6056 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
6057  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
6058  *
6059  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
6060  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
6061  *
6062  */
6063 
6064 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
6065  PyObject *__pyx_r = NULL;
6066  __Pyx_RefNannyDeclarations
6067  PyObject *__pyx_t_1 = NULL;
6068  __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
6069 
6070  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":834
6071  *
6072  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
6073  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e) # <<<<<<<<<<<<<<
6074  *
6075  * cdef inline tuple PyDataType_SHAPE(dtype d):
6076  */
6077  __Pyx_XDECREF(__pyx_r);
6078  __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 834, __pyx_L1_error)
6079  __Pyx_GOTREF(__pyx_t_1);
6080  __pyx_r = __pyx_t_1;
6081  __pyx_t_1 = 0;
6082  goto __pyx_L0;
6083 
6084  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
6085  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
6086  *
6087  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
6088  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
6089  *
6090  */
6091 
6092  /* function exit code */
6093  __pyx_L1_error:;
6094  __Pyx_XDECREF(__pyx_t_1);
6095  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
6096  __pyx_r = 0;
6097  __pyx_L0:;
6098  __Pyx_XGIVEREF(__pyx_r);
6099  __Pyx_RefNannyFinishContext();
6100  return __pyx_r;
6101 }
6102 
6103 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":836
6104  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
6105  *
6106  * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<<
6107  * if PyDataType_HASSUBARRAY(d):
6108  * return <tuple>d.subarray.shape
6109  */
6110 
6111 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) {
6112  PyObject *__pyx_r = NULL;
6113  __Pyx_RefNannyDeclarations
6114  int __pyx_t_1;
6115  __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0);
6116 
6117  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
6118  *
6119  * cdef inline tuple PyDataType_SHAPE(dtype d):
6120  * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<<
6121  * return <tuple>d.subarray.shape
6122  * else:
6123  */
6124  __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0);
6125  if (__pyx_t_1) {
6126 
6127  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":838
6128  * cdef inline tuple PyDataType_SHAPE(dtype d):
6129  * if PyDataType_HASSUBARRAY(d):
6130  * return <tuple>d.subarray.shape # <<<<<<<<<<<<<<
6131  * else:
6132  * return ()
6133  */
6134  __Pyx_XDECREF(__pyx_r);
6135  __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape));
6136  __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape);
6137  goto __pyx_L0;
6138 
6139  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
6140  *
6141  * cdef inline tuple PyDataType_SHAPE(dtype d):
6142  * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<<
6143  * return <tuple>d.subarray.shape
6144  * else:
6145  */
6146  }
6147 
6148  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":840
6149  * return <tuple>d.subarray.shape
6150  * else:
6151  * return () # <<<<<<<<<<<<<<
6152  *
6153  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
6154  */
6155  /*else*/ {
6156  __Pyx_XDECREF(__pyx_r);
6157  __Pyx_INCREF(__pyx_empty_tuple);
6158  __pyx_r = __pyx_empty_tuple;
6159  goto __pyx_L0;
6160  }
6161 
6162  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":836
6163  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
6164  *
6165  * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<<
6166  * if PyDataType_HASSUBARRAY(d):
6167  * return <tuple>d.subarray.shape
6168  */
6169 
6170  /* function exit code */
6171  __pyx_L0:;
6172  __Pyx_XGIVEREF(__pyx_r);
6173  __Pyx_RefNannyFinishContext();
6174  return __pyx_r;
6175 }
6176 
6177 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
6178  * return ()
6179  *
6180  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<
6181  * # Recursive utility function used in __getbuffer__ to get format
6182  * # string. The new location in the format string is returned.
6183  */
6184 
6185 static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {
6186  PyArray_Descr *__pyx_v_child = 0;
6187  int __pyx_v_endian_detector;
6188  int __pyx_v_little_endian;
6189  PyObject *__pyx_v_fields = 0;
6190  PyObject *__pyx_v_childname = NULL;
6191  PyObject *__pyx_v_new_offset = NULL;
6192  PyObject *__pyx_v_t = NULL;
6193  char *__pyx_r;
6194  __Pyx_RefNannyDeclarations
6195  PyObject *__pyx_t_1 = NULL;
6196  Py_ssize_t __pyx_t_2;
6197  PyObject *__pyx_t_3 = NULL;
6198  PyObject *__pyx_t_4 = NULL;
6199  int __pyx_t_5;
6200  int __pyx_t_6;
6201  int __pyx_t_7;
6202  long __pyx_t_8;
6203  char *__pyx_t_9;
6204  __Pyx_RefNannySetupContext("_util_dtypestring", 0);
6205 
6206  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":847
6207  *
6208  * cdef dtype child
6209  * cdef int endian_detector = 1 # <<<<<<<<<<<<<<
6210  * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
6211  * cdef tuple fields
6212  */
6213  __pyx_v_endian_detector = 1;
6214 
6215  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":848
6216  * cdef dtype child
6217  * cdef int endian_detector = 1
6218  * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<
6219  * cdef tuple fields
6220  *
6221  */
6222  __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
6223 
6224  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":851
6225  * cdef tuple fields
6226  *
6227  * for childname in descr.names: # <<<<<<<<<<<<<<
6228  * fields = descr.fields[childname]
6229  * child, new_offset = fields
6230  */
6231  if (unlikely(__pyx_v_descr->names == Py_None)) {
6232  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
6233  __PYX_ERR(2, 851, __pyx_L1_error)
6234  }
6235  __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
6236  for (;;) {
6237  if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
6238  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
6239  __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(2, 851, __pyx_L1_error)
6240  #else
6241  __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 851, __pyx_L1_error)
6242  __Pyx_GOTREF(__pyx_t_3);
6243  #endif
6244  __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3);
6245  __pyx_t_3 = 0;
6246 
6247  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":852
6248  *
6249  * for childname in descr.names:
6250  * fields = descr.fields[childname] # <<<<<<<<<<<<<<
6251  * child, new_offset = fields
6252  *
6253  */
6254  if (unlikely(__pyx_v_descr->fields == Py_None)) {
6255  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
6256  __PYX_ERR(2, 852, __pyx_L1_error)
6257  }
6258  __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 852, __pyx_L1_error)
6259  __Pyx_GOTREF(__pyx_t_3);
6260  if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(2, 852, __pyx_L1_error)
6261  __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3));
6262  __pyx_t_3 = 0;
6263 
6264  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":853
6265  * for childname in descr.names:
6266  * fields = descr.fields[childname]
6267  * child, new_offset = fields # <<<<<<<<<<<<<<
6268  *
6269  * if (end - f) - <int>(new_offset - offset[0]) < 15:
6270  */
6271  if (likely(__pyx_v_fields != Py_None)) {
6272  PyObject* sequence = __pyx_v_fields;
6273  Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
6274  if (unlikely(size != 2)) {
6275  if (size > 2) __Pyx_RaiseTooManyValuesError(2);
6276  else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
6277  __PYX_ERR(2, 853, __pyx_L1_error)
6278  }
6279  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
6280  __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
6281  __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
6282  __Pyx_INCREF(__pyx_t_3);
6283  __Pyx_INCREF(__pyx_t_4);
6284  #else
6285  __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 853, __pyx_L1_error)
6286  __Pyx_GOTREF(__pyx_t_3);
6287  __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 853, __pyx_L1_error)
6288  __Pyx_GOTREF(__pyx_t_4);
6289  #endif
6290  } else {
6291  __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(2, 853, __pyx_L1_error)
6292  }
6293  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(2, 853, __pyx_L1_error)
6294  __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3));
6295  __pyx_t_3 = 0;
6296  __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4);
6297  __pyx_t_4 = 0;
6298 
6299  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":855
6300  * child, new_offset = fields
6301  *
6302  * if (end - f) - <int>(new_offset - offset[0]) < 15: # <<<<<<<<<<<<<<
6303  * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
6304  *
6305  */
6306  __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 855, __pyx_L1_error)
6307  __Pyx_GOTREF(__pyx_t_4);
6308  __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 855, __pyx_L1_error)
6309  __Pyx_GOTREF(__pyx_t_3);
6310  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6311  __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 855, __pyx_L1_error)
6312  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6313  __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0);
6314  if (unlikely(__pyx_t_6)) {
6315 
6316  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":856
6317  *
6318  * if (end - f) - <int>(new_offset - offset[0]) < 15:
6319  * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<<
6320  *
6321  * if ((child.byteorder == c'>' and little_endian) or
6322  */
6323  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 856, __pyx_L1_error)
6324  __Pyx_GOTREF(__pyx_t_3);
6325  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
6326  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6327  __PYX_ERR(2, 856, __pyx_L1_error)
6328 
6329  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":855
6330  * child, new_offset = fields
6331  *
6332  * if (end - f) - <int>(new_offset - offset[0]) < 15: # <<<<<<<<<<<<<<
6333  * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
6334  *
6335  */
6336  }
6337 
6338  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":858
6339  * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
6340  *
6341  * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
6342  * (child.byteorder == c'<' and not little_endian)):
6343  * raise ValueError(u"Non-native byte order not supported")
6344  */
6345  __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0);
6346  if (!__pyx_t_7) {
6347  goto __pyx_L8_next_or;
6348  } else {
6349  }
6350  __pyx_t_7 = (__pyx_v_little_endian != 0);
6351  if (!__pyx_t_7) {
6352  } else {
6353  __pyx_t_6 = __pyx_t_7;
6354  goto __pyx_L7_bool_binop_done;
6355  }
6356  __pyx_L8_next_or:;
6357 
6358  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":859
6359  *
6360  * if ((child.byteorder == c'>' and little_endian) or
6361  * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<
6362  * raise ValueError(u"Non-native byte order not supported")
6363  * # One could encode it in the format string and have Cython
6364  */
6365  __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0);
6366  if (__pyx_t_7) {
6367  } else {
6368  __pyx_t_6 = __pyx_t_7;
6369  goto __pyx_L7_bool_binop_done;
6370  }
6371  __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0);
6372  __pyx_t_6 = __pyx_t_7;
6373  __pyx_L7_bool_binop_done:;
6374 
6375  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":858
6376  * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
6377  *
6378  * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
6379  * (child.byteorder == c'<' and not little_endian)):
6380  * raise ValueError(u"Non-native byte order not supported")
6381  */
6382  if (unlikely(__pyx_t_6)) {
6383 
6384  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":860
6385  * if ((child.byteorder == c'>' and little_endian) or
6386  * (child.byteorder == c'<' and not little_endian)):
6387  * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
6388  * # One could encode it in the format string and have Cython
6389  * # complain instead, BUT: < and > in format strings also imply
6390  */
6391  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 860, __pyx_L1_error)
6392  __Pyx_GOTREF(__pyx_t_3);
6393  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
6394  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6395  __PYX_ERR(2, 860, __pyx_L1_error)
6396 
6397  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":858
6398  * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
6399  *
6400  * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
6401  * (child.byteorder == c'<' and not little_endian)):
6402  * raise ValueError(u"Non-native byte order not supported")
6403  */
6404  }
6405 
6406  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":870
6407  *
6408  * # Output padding bytes
6409  * while offset[0] < new_offset: # <<<<<<<<<<<<<<
6410  * f[0] = 120 # "x"; pad byte
6411  * f += 1
6412  */
6413  while (1) {
6414  __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 870, __pyx_L1_error)
6415  __Pyx_GOTREF(__pyx_t_3);
6416  __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 870, __pyx_L1_error)
6417  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6418  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 870, __pyx_L1_error)
6419  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6420  if (!__pyx_t_6) break;
6421 
6422  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":871
6423  * # Output padding bytes
6424  * while offset[0] < new_offset:
6425  * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<<
6426  * f += 1
6427  * offset[0] += 1
6428  */
6429  (__pyx_v_f[0]) = 0x78;
6430 
6431  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":872
6432  * while offset[0] < new_offset:
6433  * f[0] = 120 # "x"; pad byte
6434  * f += 1 # <<<<<<<<<<<<<<
6435  * offset[0] += 1
6436  *
6437  */
6438  __pyx_v_f = (__pyx_v_f + 1);
6439 
6440  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":873
6441  * f[0] = 120 # "x"; pad byte
6442  * f += 1
6443  * offset[0] += 1 # <<<<<<<<<<<<<<
6444  *
6445  * offset[0] += child.itemsize
6446  */
6447  __pyx_t_8 = 0;
6448  (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1);
6449  }
6450 
6451  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":875
6452  * offset[0] += 1
6453  *
6454  * offset[0] += child.itemsize # <<<<<<<<<<<<<<
6455  *
6456  * if not PyDataType_HASFIELDS(child):
6457  */
6458  __pyx_t_8 = 0;
6459  (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize);
6460 
6461  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":877
6462  * offset[0] += child.itemsize
6463  *
6464  * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<<
6465  * t = child.type_num
6466  * if end - f < 5:
6467  */
6468  __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0);
6469  if (__pyx_t_6) {
6470 
6471  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":878
6472  *
6473  * if not PyDataType_HASFIELDS(child):
6474  * t = child.type_num # <<<<<<<<<<<<<<
6475  * if end - f < 5:
6476  * raise RuntimeError(u"Format string allocated too short.")
6477  */
6478  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 878, __pyx_L1_error)
6479  __Pyx_GOTREF(__pyx_t_4);
6480  __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4);
6481  __pyx_t_4 = 0;
6482 
6483  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":879
6484  * if not PyDataType_HASFIELDS(child):
6485  * t = child.type_num
6486  * if end - f < 5: # <<<<<<<<<<<<<<
6487  * raise RuntimeError(u"Format string allocated too short.")
6488  *
6489  */
6490  __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0);
6491  if (unlikely(__pyx_t_6)) {
6492 
6493  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":880
6494  * t = child.type_num
6495  * if end - f < 5:
6496  * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<<
6497  *
6498  * # Until ticket #99 is fixed, use integers to avoid warnings
6499  */
6500  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 880, __pyx_L1_error)
6501  __Pyx_GOTREF(__pyx_t_4);
6502  __Pyx_Raise(__pyx_t_4, 0, 0, 0);
6503  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6504  __PYX_ERR(2, 880, __pyx_L1_error)
6505 
6506  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":879
6507  * if not PyDataType_HASFIELDS(child):
6508  * t = child.type_num
6509  * if end - f < 5: # <<<<<<<<<<<<<<
6510  * raise RuntimeError(u"Format string allocated too short.")
6511  *
6512  */
6513  }
6514 
6515  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":883
6516  *
6517  * # Until ticket #99 is fixed, use integers to avoid warnings
6518  * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<<
6519  * elif t == NPY_UBYTE: f[0] = 66 #"B"
6520  * elif t == NPY_SHORT: f[0] = 104 #"h"
6521  */
6522  __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_BYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 883, __pyx_L1_error)
6523  __Pyx_GOTREF(__pyx_t_4);
6524  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 883, __pyx_L1_error)
6525  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6526  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 883, __pyx_L1_error)
6527  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6528  if (__pyx_t_6) {
6529  (__pyx_v_f[0]) = 98;
6530  goto __pyx_L15;
6531  }
6532 
6533  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":884
6534  * # Until ticket #99 is fixed, use integers to avoid warnings
6535  * if t == NPY_BYTE: f[0] = 98 #"b"
6536  * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<<
6537  * elif t == NPY_SHORT: f[0] = 104 #"h"
6538  * elif t == NPY_USHORT: f[0] = 72 #"H"
6539  */
6540  __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UBYTE); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 884, __pyx_L1_error)
6541  __Pyx_GOTREF(__pyx_t_3);
6542  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 884, __pyx_L1_error)
6543  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6544  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 884, __pyx_L1_error)
6545  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6546  if (__pyx_t_6) {
6547  (__pyx_v_f[0]) = 66;
6548  goto __pyx_L15;
6549  }
6550 
6551  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":885
6552  * if t == NPY_BYTE: f[0] = 98 #"b"
6553  * elif t == NPY_UBYTE: f[0] = 66 #"B"
6554  * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<<
6555  * elif t == NPY_USHORT: f[0] = 72 #"H"
6556  * elif t == NPY_INT: f[0] = 105 #"i"
6557  */
6558  __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_SHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 885, __pyx_L1_error)
6559  __Pyx_GOTREF(__pyx_t_4);
6560  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 885, __pyx_L1_error)
6561  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6562  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 885, __pyx_L1_error)
6563  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6564  if (__pyx_t_6) {
6565  (__pyx_v_f[0]) = 0x68;
6566  goto __pyx_L15;
6567  }
6568 
6569  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":886
6570  * elif t == NPY_UBYTE: f[0] = 66 #"B"
6571  * elif t == NPY_SHORT: f[0] = 104 #"h"
6572  * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<<
6573  * elif t == NPY_INT: f[0] = 105 #"i"
6574  * elif t == NPY_UINT: f[0] = 73 #"I"
6575  */
6576  __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_USHORT); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 886, __pyx_L1_error)
6577  __Pyx_GOTREF(__pyx_t_3);
6578  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 886, __pyx_L1_error)
6579  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6580  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 886, __pyx_L1_error)
6581  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6582  if (__pyx_t_6) {
6583  (__pyx_v_f[0]) = 72;
6584  goto __pyx_L15;
6585  }
6586 
6587  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":887
6588  * elif t == NPY_SHORT: f[0] = 104 #"h"
6589  * elif t == NPY_USHORT: f[0] = 72 #"H"
6590  * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<<
6591  * elif t == NPY_UINT: f[0] = 73 #"I"
6592  * elif t == NPY_LONG: f[0] = 108 #"l"
6593  */
6594  __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_INT); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 887, __pyx_L1_error)
6595  __Pyx_GOTREF(__pyx_t_4);
6596  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 887, __pyx_L1_error)
6597  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6598  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 887, __pyx_L1_error)
6599  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6600  if (__pyx_t_6) {
6601  (__pyx_v_f[0]) = 0x69;
6602  goto __pyx_L15;
6603  }
6604 
6605  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":888
6606  * elif t == NPY_USHORT: f[0] = 72 #"H"
6607  * elif t == NPY_INT: f[0] = 105 #"i"
6608  * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<<
6609  * elif t == NPY_LONG: f[0] = 108 #"l"
6610  * elif t == NPY_ULONG: f[0] = 76 #"L"
6611  */
6612  __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UINT); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 888, __pyx_L1_error)
6613  __Pyx_GOTREF(__pyx_t_3);
6614  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 888, __pyx_L1_error)
6615  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6616  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 888, __pyx_L1_error)
6617  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6618  if (__pyx_t_6) {
6619  (__pyx_v_f[0]) = 73;
6620  goto __pyx_L15;
6621  }
6622 
6623  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":889
6624  * elif t == NPY_INT: f[0] = 105 #"i"
6625  * elif t == NPY_UINT: f[0] = 73 #"I"
6626  * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<<
6627  * elif t == NPY_ULONG: f[0] = 76 #"L"
6628  * elif t == NPY_LONGLONG: f[0] = 113 #"q"
6629  */
6630  __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 889, __pyx_L1_error)
6631  __Pyx_GOTREF(__pyx_t_4);
6632  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 889, __pyx_L1_error)
6633  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6634  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 889, __pyx_L1_error)
6635  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6636  if (__pyx_t_6) {
6637  (__pyx_v_f[0]) = 0x6C;
6638  goto __pyx_L15;
6639  }
6640 
6641  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":890
6642  * elif t == NPY_UINT: f[0] = 73 #"I"
6643  * elif t == NPY_LONG: f[0] = 108 #"l"
6644  * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<<
6645  * elif t == NPY_LONGLONG: f[0] = 113 #"q"
6646  * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
6647  */
6648  __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 890, __pyx_L1_error)
6649  __Pyx_GOTREF(__pyx_t_3);
6650  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 890, __pyx_L1_error)
6651  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6652  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 890, __pyx_L1_error)
6653  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6654  if (__pyx_t_6) {
6655  (__pyx_v_f[0]) = 76;
6656  goto __pyx_L15;
6657  }
6658 
6659  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":891
6660  * elif t == NPY_LONG: f[0] = 108 #"l"
6661  * elif t == NPY_ULONG: f[0] = 76 #"L"
6662  * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<<
6663  * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
6664  * elif t == NPY_FLOAT: f[0] = 102 #"f"
6665  */
6666  __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 891, __pyx_L1_error)
6667  __Pyx_GOTREF(__pyx_t_4);
6668  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 891, __pyx_L1_error)
6669  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6670  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 891, __pyx_L1_error)
6671  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6672  if (__pyx_t_6) {
6673  (__pyx_v_f[0]) = 0x71;
6674  goto __pyx_L15;
6675  }
6676 
6677  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":892
6678  * elif t == NPY_ULONG: f[0] = 76 #"L"
6679  * elif t == NPY_LONGLONG: f[0] = 113 #"q"
6680  * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<<
6681  * elif t == NPY_FLOAT: f[0] = 102 #"f"
6682  * elif t == NPY_DOUBLE: f[0] = 100 #"d"
6683  */
6684  __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 892, __pyx_L1_error)
6685  __Pyx_GOTREF(__pyx_t_3);
6686  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 892, __pyx_L1_error)
6687  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6688  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 892, __pyx_L1_error)
6689  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6690  if (__pyx_t_6) {
6691  (__pyx_v_f[0]) = 81;
6692  goto __pyx_L15;
6693  }
6694 
6695  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":893
6696  * elif t == NPY_LONGLONG: f[0] = 113 #"q"
6697  * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
6698  * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<<
6699  * elif t == NPY_DOUBLE: f[0] = 100 #"d"
6700  * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
6701  */
6702  __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_FLOAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 893, __pyx_L1_error)
6703  __Pyx_GOTREF(__pyx_t_4);
6704  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 893, __pyx_L1_error)
6705  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6706  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 893, __pyx_L1_error)
6707  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6708  if (__pyx_t_6) {
6709  (__pyx_v_f[0]) = 0x66;
6710  goto __pyx_L15;
6711  }
6712 
6713  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":894
6714  * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
6715  * elif t == NPY_FLOAT: f[0] = 102 #"f"
6716  * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<<
6717  * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
6718  * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
6719  */
6720  __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 894, __pyx_L1_error)
6721  __Pyx_GOTREF(__pyx_t_3);
6722  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 894, __pyx_L1_error)
6723  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6724  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 894, __pyx_L1_error)
6725  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6726  if (__pyx_t_6) {
6727  (__pyx_v_f[0]) = 0x64;
6728  goto __pyx_L15;
6729  }
6730 
6731  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":895
6732  * elif t == NPY_FLOAT: f[0] = 102 #"f"
6733  * elif t == NPY_DOUBLE: f[0] = 100 #"d"
6734  * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<<
6735  * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
6736  * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
6737  */
6738  __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 895, __pyx_L1_error)
6739  __Pyx_GOTREF(__pyx_t_4);
6740  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 895, __pyx_L1_error)
6741  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6742  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 895, __pyx_L1_error)
6743  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6744  if (__pyx_t_6) {
6745  (__pyx_v_f[0]) = 0x67;
6746  goto __pyx_L15;
6747  }
6748 
6749  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":896
6750  * elif t == NPY_DOUBLE: f[0] = 100 #"d"
6751  * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
6752  * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<<
6753  * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
6754  * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
6755  */
6756  __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 896, __pyx_L1_error)
6757  __Pyx_GOTREF(__pyx_t_3);
6758  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 896, __pyx_L1_error)
6759  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6760  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 896, __pyx_L1_error)
6761  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6762  if (__pyx_t_6) {
6763  (__pyx_v_f[0]) = 90;
6764  (__pyx_v_f[1]) = 0x66;
6765  __pyx_v_f = (__pyx_v_f + 1);
6766  goto __pyx_L15;
6767  }
6768 
6769  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":897
6770  * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
6771  * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
6772  * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<<
6773  * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
6774  * elif t == NPY_OBJECT: f[0] = 79 #"O"
6775  */
6776  __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 897, __pyx_L1_error)
6777  __Pyx_GOTREF(__pyx_t_4);
6778  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 897, __pyx_L1_error)
6779  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6780  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 897, __pyx_L1_error)
6781  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6782  if (__pyx_t_6) {
6783  (__pyx_v_f[0]) = 90;
6784  (__pyx_v_f[1]) = 0x64;
6785  __pyx_v_f = (__pyx_v_f + 1);
6786  goto __pyx_L15;
6787  }
6788 
6789  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":898
6790  * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
6791  * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
6792  * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<<
6793  * elif t == NPY_OBJECT: f[0] = 79 #"O"
6794  * else:
6795  */
6796  __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 898, __pyx_L1_error)
6797  __Pyx_GOTREF(__pyx_t_3);
6798  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 898, __pyx_L1_error)
6799  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6800  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 898, __pyx_L1_error)
6801  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6802  if (__pyx_t_6) {
6803  (__pyx_v_f[0]) = 90;
6804  (__pyx_v_f[1]) = 0x67;
6805  __pyx_v_f = (__pyx_v_f + 1);
6806  goto __pyx_L15;
6807  }
6808 
6809  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":899
6810  * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
6811  * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
6812  * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<<
6813  * else:
6814  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
6815  */
6816  __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_OBJECT); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 899, __pyx_L1_error)
6817  __Pyx_GOTREF(__pyx_t_4);
6818  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 899, __pyx_L1_error)
6819  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6820  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(2, 899, __pyx_L1_error)
6821  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6822  if (likely(__pyx_t_6)) {
6823  (__pyx_v_f[0]) = 79;
6824  goto __pyx_L15;
6825  }
6826 
6827  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":901
6828  * elif t == NPY_OBJECT: f[0] = 79 #"O"
6829  * else:
6830  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<
6831  * f += 1
6832  * else:
6833  */
6834  /*else*/ {
6835  __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 901, __pyx_L1_error)
6836  __Pyx_GOTREF(__pyx_t_3);
6837  __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 901, __pyx_L1_error)
6838  __Pyx_GOTREF(__pyx_t_4);
6839  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6840  __Pyx_Raise(__pyx_t_4, 0, 0, 0);
6841  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6842  __PYX_ERR(2, 901, __pyx_L1_error)
6843  }
6844  __pyx_L15:;
6845 
6846  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":902
6847  * else:
6848  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
6849  * f += 1 # <<<<<<<<<<<<<<
6850  * else:
6851  * # Cython ignores struct boundary information ("T{...}"),
6852  */
6853  __pyx_v_f = (__pyx_v_f + 1);
6854 
6855  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":877
6856  * offset[0] += child.itemsize
6857  *
6858  * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<<
6859  * t = child.type_num
6860  * if end - f < 5:
6861  */
6862  goto __pyx_L13;
6863  }
6864 
6865  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":906
6866  * # Cython ignores struct boundary information ("T{...}"),
6867  * # so don't output it
6868  * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<<
6869  * return f
6870  *
6871  */
6872  /*else*/ {
6873  __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(2, 906, __pyx_L1_error)
6874  __pyx_v_f = __pyx_t_9;
6875  }
6876  __pyx_L13:;
6877 
6878  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":851
6879  * cdef tuple fields
6880  *
6881  * for childname in descr.names: # <<<<<<<<<<<<<<
6882  * fields = descr.fields[childname]
6883  * child, new_offset = fields
6884  */
6885  }
6886  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6887 
6888  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":907
6889  * # so don't output it
6890  * f = _util_dtypestring(child, f, end, offset)
6891  * return f # <<<<<<<<<<<<<<
6892  *
6893  *
6894  */
6895  __pyx_r = __pyx_v_f;
6896  goto __pyx_L0;
6897 
6898  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
6899  * return ()
6900  *
6901  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<
6902  * # Recursive utility function used in __getbuffer__ to get format
6903  * # string. The new location in the format string is returned.
6904  */
6905 
6906  /* function exit code */
6907  __pyx_L1_error:;
6908  __Pyx_XDECREF(__pyx_t_1);
6909  __Pyx_XDECREF(__pyx_t_3);
6910  __Pyx_XDECREF(__pyx_t_4);
6911  __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename);
6912  __pyx_r = NULL;
6913  __pyx_L0:;
6914  __Pyx_XDECREF((PyObject *)__pyx_v_child);
6915  __Pyx_XDECREF(__pyx_v_fields);
6916  __Pyx_XDECREF(__pyx_v_childname);
6917  __Pyx_XDECREF(__pyx_v_new_offset);
6918  __Pyx_XDECREF(__pyx_v_t);
6919  __Pyx_RefNannyFinishContext();
6920  return __pyx_r;
6921 }
6922 
6923 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1022
6924  * int _import_umath() except -1
6925  *
6926  * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
6927  * Py_INCREF(base) # important to do this before stealing the reference below!
6928  * PyArray_SetBaseObject(arr, base)
6929  */
6930 
6931 static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
6932  __Pyx_RefNannyDeclarations
6933  __Pyx_RefNannySetupContext("set_array_base", 0);
6934 
6935  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1023
6936  *
6937  * cdef inline void set_array_base(ndarray arr, object base):
6938  * Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<<
6939  * PyArray_SetBaseObject(arr, base)
6940  *
6941  */
6942  Py_INCREF(__pyx_v_base);
6943 
6944  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1024
6945  * cdef inline void set_array_base(ndarray arr, object base):
6946  * Py_INCREF(base) # important to do this before stealing the reference below!
6947  * PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<<
6948  *
6949  * cdef inline object get_array_base(ndarray arr):
6950  */
6951  (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base));
6952 
6953  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1022
6954  * int _import_umath() except -1
6955  *
6956  * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
6957  * Py_INCREF(base) # important to do this before stealing the reference below!
6958  * PyArray_SetBaseObject(arr, base)
6959  */
6960 
6961  /* function exit code */
6962  __Pyx_RefNannyFinishContext();
6963 }
6964 
6965 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1026
6966  * PyArray_SetBaseObject(arr, base)
6967  *
6968  * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
6969  * base = PyArray_BASE(arr)
6970  * if base is NULL:
6971  */
6972 
6973 static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
6974  PyObject *__pyx_v_base;
6975  PyObject *__pyx_r = NULL;
6976  __Pyx_RefNannyDeclarations
6977  int __pyx_t_1;
6978  __Pyx_RefNannySetupContext("get_array_base", 0);
6979 
6980  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1027
6981  *
6982  * cdef inline object get_array_base(ndarray arr):
6983  * base = PyArray_BASE(arr) # <<<<<<<<<<<<<<
6984  * if base is NULL:
6985  * return None
6986  */
6987  __pyx_v_base = PyArray_BASE(__pyx_v_arr);
6988 
6989  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1028
6990  * cdef inline object get_array_base(ndarray arr):
6991  * base = PyArray_BASE(arr)
6992  * if base is NULL: # <<<<<<<<<<<<<<
6993  * return None
6994  * return <object>base
6995  */
6996  __pyx_t_1 = ((__pyx_v_base == NULL) != 0);
6997  if (__pyx_t_1) {
6998 
6999  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1029
7000  * base = PyArray_BASE(arr)
7001  * if base is NULL:
7002  * return None # <<<<<<<<<<<<<<
7003  * return <object>base
7004  *
7005  */
7006  __Pyx_XDECREF(__pyx_r);
7007  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
7008  goto __pyx_L0;
7009 
7010  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1028
7011  * cdef inline object get_array_base(ndarray arr):
7012  * base = PyArray_BASE(arr)
7013  * if base is NULL: # <<<<<<<<<<<<<<
7014  * return None
7015  * return <object>base
7016  */
7017  }
7018 
7019  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1030
7020  * if base is NULL:
7021  * return None
7022  * return <object>base # <<<<<<<<<<<<<<
7023  *
7024  * # Versions of the import_* functions which are more suitable for
7025  */
7026  __Pyx_XDECREF(__pyx_r);
7027  __Pyx_INCREF(((PyObject *)__pyx_v_base));
7028  __pyx_r = ((PyObject *)__pyx_v_base);
7029  goto __pyx_L0;
7030 
7031  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1026
7032  * PyArray_SetBaseObject(arr, base)
7033  *
7034  * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
7035  * base = PyArray_BASE(arr)
7036  * if base is NULL:
7037  */
7038 
7039  /* function exit code */
7040  __pyx_L0:;
7041  __Pyx_XGIVEREF(__pyx_r);
7042  __Pyx_RefNannyFinishContext();
7043  return __pyx_r;
7044 }
7045 
7046 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1034
7047  * # Versions of the import_* functions which are more suitable for
7048  * # Cython code.
7049  * cdef inline int import_array() except -1: # <<<<<<<<<<<<<<
7050  * try:
7051  * _import_array()
7052  */
7053 
7054 static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
7055  int __pyx_r;
7056  __Pyx_RefNannyDeclarations
7057  PyObject *__pyx_t_1 = NULL;
7058  PyObject *__pyx_t_2 = NULL;
7059  PyObject *__pyx_t_3 = NULL;
7060  int __pyx_t_4;
7061  PyObject *__pyx_t_5 = NULL;
7062  PyObject *__pyx_t_6 = NULL;
7063  PyObject *__pyx_t_7 = NULL;
7064  PyObject *__pyx_t_8 = NULL;
7065  __Pyx_RefNannySetupContext("import_array", 0);
7066 
7067  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1035
7068  * # Cython code.
7069  * cdef inline int import_array() except -1:
7070  * try: # <<<<<<<<<<<<<<
7071  * _import_array()
7072  * except Exception:
7073  */
7074  {
7075  __Pyx_PyThreadState_declare
7076  __Pyx_PyThreadState_assign
7077  __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
7078  __Pyx_XGOTREF(__pyx_t_1);
7079  __Pyx_XGOTREF(__pyx_t_2);
7080  __Pyx_XGOTREF(__pyx_t_3);
7081  /*try:*/ {
7082 
7083  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1036
7084  * cdef inline int import_array() except -1:
7085  * try:
7086  * _import_array() # <<<<<<<<<<<<<<
7087  * except Exception:
7088  * raise ImportError("numpy.core.multiarray failed to import")
7089  */
7090  __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 1036, __pyx_L3_error)
7091 
7092  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1035
7093  * # Cython code.
7094  * cdef inline int import_array() except -1:
7095  * try: # <<<<<<<<<<<<<<
7096  * _import_array()
7097  * except Exception:
7098  */
7099  }
7100  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
7101  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
7102  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
7103  goto __pyx_L8_try_end;
7104  __pyx_L3_error:;
7105 
7106  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1037
7107  * try:
7108  * _import_array()
7109  * except Exception: # <<<<<<<<<<<<<<
7110  * raise ImportError("numpy.core.multiarray failed to import")
7111  *
7112  */
7113  __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
7114  if (__pyx_t_4) {
7115  __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
7116  if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 1037, __pyx_L5_except_error)
7117  __Pyx_GOTREF(__pyx_t_5);
7118  __Pyx_GOTREF(__pyx_t_6);
7119  __Pyx_GOTREF(__pyx_t_7);
7120 
7121  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1038
7122  * _import_array()
7123  * except Exception:
7124  * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<<
7125  *
7126  * cdef inline int import_umath() except -1:
7127  */
7128  __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1038, __pyx_L5_except_error)
7129  __Pyx_GOTREF(__pyx_t_8);
7130  __Pyx_Raise(__pyx_t_8, 0, 0, 0);
7131  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
7132  __PYX_ERR(2, 1038, __pyx_L5_except_error)
7133  }
7134  goto __pyx_L5_except_error;
7135  __pyx_L5_except_error:;
7136 
7137  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1035
7138  * # Cython code.
7139  * cdef inline int import_array() except -1:
7140  * try: # <<<<<<<<<<<<<<
7141  * _import_array()
7142  * except Exception:
7143  */
7144  __Pyx_XGIVEREF(__pyx_t_1);
7145  __Pyx_XGIVEREF(__pyx_t_2);
7146  __Pyx_XGIVEREF(__pyx_t_3);
7147  __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
7148  goto __pyx_L1_error;
7149  __pyx_L8_try_end:;
7150  }
7151 
7152  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1034
7153  * # Versions of the import_* functions which are more suitable for
7154  * # Cython code.
7155  * cdef inline int import_array() except -1: # <<<<<<<<<<<<<<
7156  * try:
7157  * _import_array()
7158  */
7159 
7160  /* function exit code */
7161  __pyx_r = 0;
7162  goto __pyx_L0;
7163  __pyx_L1_error:;
7164  __Pyx_XDECREF(__pyx_t_5);
7165  __Pyx_XDECREF(__pyx_t_6);
7166  __Pyx_XDECREF(__pyx_t_7);
7167  __Pyx_XDECREF(__pyx_t_8);
7168  __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
7169  __pyx_r = -1;
7170  __pyx_L0:;
7171  __Pyx_RefNannyFinishContext();
7172  return __pyx_r;
7173 }
7174 
7175 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1040
7176  * raise ImportError("numpy.core.multiarray failed to import")
7177  *
7178  * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<<
7179  * try:
7180  * _import_umath()
7181  */
7182 
7183 static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
7184  int __pyx_r;
7185  __Pyx_RefNannyDeclarations
7186  PyObject *__pyx_t_1 = NULL;
7187  PyObject *__pyx_t_2 = NULL;
7188  PyObject *__pyx_t_3 = NULL;
7189  int __pyx_t_4;
7190  PyObject *__pyx_t_5 = NULL;
7191  PyObject *__pyx_t_6 = NULL;
7192  PyObject *__pyx_t_7 = NULL;
7193  PyObject *__pyx_t_8 = NULL;
7194  __Pyx_RefNannySetupContext("import_umath", 0);
7195 
7196  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1041
7197  *
7198  * cdef inline int import_umath() except -1:
7199  * try: # <<<<<<<<<<<<<<
7200  * _import_umath()
7201  * except Exception:
7202  */
7203  {
7204  __Pyx_PyThreadState_declare
7205  __Pyx_PyThreadState_assign
7206  __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
7207  __Pyx_XGOTREF(__pyx_t_1);
7208  __Pyx_XGOTREF(__pyx_t_2);
7209  __Pyx_XGOTREF(__pyx_t_3);
7210  /*try:*/ {
7211 
7212  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1042
7213  * cdef inline int import_umath() except -1:
7214  * try:
7215  * _import_umath() # <<<<<<<<<<<<<<
7216  * except Exception:
7217  * raise ImportError("numpy.core.umath failed to import")
7218  */
7219  __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 1042, __pyx_L3_error)
7220 
7221  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1041
7222  *
7223  * cdef inline int import_umath() except -1:
7224  * try: # <<<<<<<<<<<<<<
7225  * _import_umath()
7226  * except Exception:
7227  */
7228  }
7229  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
7230  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
7231  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
7232  goto __pyx_L8_try_end;
7233  __pyx_L3_error:;
7234 
7235  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1043
7236  * try:
7237  * _import_umath()
7238  * except Exception: # <<<<<<<<<<<<<<
7239  * raise ImportError("numpy.core.umath failed to import")
7240  *
7241  */
7242  __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
7243  if (__pyx_t_4) {
7244  __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
7245  if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 1043, __pyx_L5_except_error)
7246  __Pyx_GOTREF(__pyx_t_5);
7247  __Pyx_GOTREF(__pyx_t_6);
7248  __Pyx_GOTREF(__pyx_t_7);
7249 
7250  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1044
7251  * _import_umath()
7252  * except Exception:
7253  * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<<
7254  *
7255  * cdef inline int import_ufunc() except -1:
7256  */
7257  __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1044, __pyx_L5_except_error)
7258  __Pyx_GOTREF(__pyx_t_8);
7259  __Pyx_Raise(__pyx_t_8, 0, 0, 0);
7260  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
7261  __PYX_ERR(2, 1044, __pyx_L5_except_error)
7262  }
7263  goto __pyx_L5_except_error;
7264  __pyx_L5_except_error:;
7265 
7266  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1041
7267  *
7268  * cdef inline int import_umath() except -1:
7269  * try: # <<<<<<<<<<<<<<
7270  * _import_umath()
7271  * except Exception:
7272  */
7273  __Pyx_XGIVEREF(__pyx_t_1);
7274  __Pyx_XGIVEREF(__pyx_t_2);
7275  __Pyx_XGIVEREF(__pyx_t_3);
7276  __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
7277  goto __pyx_L1_error;
7278  __pyx_L8_try_end:;
7279  }
7280 
7281  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1040
7282  * raise ImportError("numpy.core.multiarray failed to import")
7283  *
7284  * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<<
7285  * try:
7286  * _import_umath()
7287  */
7288 
7289  /* function exit code */
7290  __pyx_r = 0;
7291  goto __pyx_L0;
7292  __pyx_L1_error:;
7293  __Pyx_XDECREF(__pyx_t_5);
7294  __Pyx_XDECREF(__pyx_t_6);
7295  __Pyx_XDECREF(__pyx_t_7);
7296  __Pyx_XDECREF(__pyx_t_8);
7297  __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
7298  __pyx_r = -1;
7299  __pyx_L0:;
7300  __Pyx_RefNannyFinishContext();
7301  return __pyx_r;
7302 }
7303 
7304 /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1046
7305  * raise ImportError("numpy.core.umath failed to import")
7306  *
7307  * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<<
7308  * try:
7309  * _import_umath()
7310  */
7311 
7312 static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
7313  int __pyx_r;
7314  __Pyx_RefNannyDeclarations
7315  PyObject *__pyx_t_1 = NULL;
7316  PyObject *__pyx_t_2 = NULL;
7317  PyObject *__pyx_t_3 = NULL;
7318  int __pyx_t_4;
7319  PyObject *__pyx_t_5 = NULL;
7320  PyObject *__pyx_t_6 = NULL;
7321  PyObject *__pyx_t_7 = NULL;
7322  PyObject *__pyx_t_8 = NULL;
7323  __Pyx_RefNannySetupContext("import_ufunc", 0);
7324 
7325  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1047
7326  *
7327  * cdef inline int import_ufunc() except -1:
7328  * try: # <<<<<<<<<<<<<<
7329  * _import_umath()
7330  * except Exception:
7331  */
7332  {
7333  __Pyx_PyThreadState_declare
7334  __Pyx_PyThreadState_assign
7335  __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
7336  __Pyx_XGOTREF(__pyx_t_1);
7337  __Pyx_XGOTREF(__pyx_t_2);
7338  __Pyx_XGOTREF(__pyx_t_3);
7339  /*try:*/ {
7340 
7341  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1048
7342  * cdef inline int import_ufunc() except -1:
7343  * try:
7344  * _import_umath() # <<<<<<<<<<<<<<
7345  * except Exception:
7346  * raise ImportError("numpy.core.umath failed to import")
7347  */
7348  __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 1048, __pyx_L3_error)
7349 
7350  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1047
7351  *
7352  * cdef inline int import_ufunc() except -1:
7353  * try: # <<<<<<<<<<<<<<
7354  * _import_umath()
7355  * except Exception:
7356  */
7357  }
7358  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
7359  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
7360  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
7361  goto __pyx_L8_try_end;
7362  __pyx_L3_error:;
7363 
7364  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1049
7365  * try:
7366  * _import_umath()
7367  * except Exception: # <<<<<<<<<<<<<<
7368  * raise ImportError("numpy.core.umath failed to import")
7369  */
7370  __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
7371  if (__pyx_t_4) {
7372  __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
7373  if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 1049, __pyx_L5_except_error)
7374  __Pyx_GOTREF(__pyx_t_5);
7375  __Pyx_GOTREF(__pyx_t_6);
7376  __Pyx_GOTREF(__pyx_t_7);
7377 
7378  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1050
7379  * _import_umath()
7380  * except Exception:
7381  * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<<
7382  */
7383  __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1050, __pyx_L5_except_error)
7384  __Pyx_GOTREF(__pyx_t_8);
7385  __Pyx_Raise(__pyx_t_8, 0, 0, 0);
7386  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
7387  __PYX_ERR(2, 1050, __pyx_L5_except_error)
7388  }
7389  goto __pyx_L5_except_error;
7390  __pyx_L5_except_error:;
7391 
7392  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1047
7393  *
7394  * cdef inline int import_ufunc() except -1:
7395  * try: # <<<<<<<<<<<<<<
7396  * _import_umath()
7397  * except Exception:
7398  */
7399  __Pyx_XGIVEREF(__pyx_t_1);
7400  __Pyx_XGIVEREF(__pyx_t_2);
7401  __Pyx_XGIVEREF(__pyx_t_3);
7402  __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
7403  goto __pyx_L1_error;
7404  __pyx_L8_try_end:;
7405  }
7406 
7407  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1046
7408  * raise ImportError("numpy.core.umath failed to import")
7409  *
7410  * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<<
7411  * try:
7412  * _import_umath()
7413  */
7414 
7415  /* function exit code */
7416  __pyx_r = 0;
7417  goto __pyx_L0;
7418  __pyx_L1_error:;
7419  __Pyx_XDECREF(__pyx_t_5);
7420  __Pyx_XDECREF(__pyx_t_6);
7421  __Pyx_XDECREF(__pyx_t_7);
7422  __Pyx_XDECREF(__pyx_t_8);
7423  __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
7424  __pyx_r = -1;
7425  __pyx_L0:;
7426  __Pyx_RefNannyFinishContext();
7427  return __pyx_r;
7428 }
7429 
7430 /* "string.from_py":13
7431  *
7432  * @cname("__pyx_convert_string_from_py_std__in_string")
7433  * cdef string __pyx_convert_string_from_py_std__in_string(object o) except *: # <<<<<<<<<<<<<<
7434  * cdef Py_ssize_t length
7435  * cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
7436  */
7437 
7438 static std::string __pyx_convert_string_from_py_std__in_string(PyObject *__pyx_v_o) {
7439  Py_ssize_t __pyx_v_length;
7440  char const *__pyx_v_data;
7441  std::string __pyx_r;
7442  __Pyx_RefNannyDeclarations
7443  char const *__pyx_t_1;
7444  __Pyx_RefNannySetupContext("__pyx_convert_string_from_py_std__in_string", 0);
7445 
7446  /* "string.from_py":15
7447  * cdef string __pyx_convert_string_from_py_std__in_string(object o) except *:
7448  * cdef Py_ssize_t length
7449  * cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length) # <<<<<<<<<<<<<<
7450  * return string(data, length)
7451  *
7452  */
7453  __pyx_t_1 = __Pyx_PyObject_AsStringAndSize(__pyx_v_o, (&__pyx_v_length)); if (unlikely(__pyx_t_1 == ((char const *)NULL))) __PYX_ERR(0, 15, __pyx_L1_error)
7454  __pyx_v_data = __pyx_t_1;
7455 
7456  /* "string.from_py":16
7457  * cdef Py_ssize_t length
7458  * cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
7459  * return string(data, length) # <<<<<<<<<<<<<<
7460  *
7461  *
7462  */
7463  __pyx_r = std::string(__pyx_v_data, __pyx_v_length);
7464  goto __pyx_L0;
7465 
7466  /* "string.from_py":13
7467  *
7468  * @cname("__pyx_convert_string_from_py_std__in_string")
7469  * cdef string __pyx_convert_string_from_py_std__in_string(object o) except *: # <<<<<<<<<<<<<<
7470  * cdef Py_ssize_t length
7471  * cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
7472  */
7473 
7474  /* function exit code */
7475  __pyx_L1_error:;
7476  __Pyx_AddTraceback("string.from_py.__pyx_convert_string_from_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
7477  __Pyx_pretend_to_initialize(&__pyx_r);
7478  __pyx_L0:;
7479  __Pyx_RefNannyFinishContext();
7480  return __pyx_r;
7481 }
7482 
7483 /* "string.to_py":31
7484  *
7485  * @cname("__pyx_convert_PyObject_string_to_py_std__in_string")
7486  * cdef inline object __pyx_convert_PyObject_string_to_py_std__in_string(const string& s): # <<<<<<<<<<<<<<
7487  * return __Pyx_PyObject_FromStringAndSize(s.data(), s.size())
7488  * cdef extern from *:
7489  */
7490 
7491 static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_string(std::string const &__pyx_v_s) {
7492  PyObject *__pyx_r = NULL;
7493  __Pyx_RefNannyDeclarations
7494  PyObject *__pyx_t_1 = NULL;
7495  __Pyx_RefNannySetupContext("__pyx_convert_PyObject_string_to_py_std__in_string", 0);
7496 
7497  /* "string.to_py":32
7498  * @cname("__pyx_convert_PyObject_string_to_py_std__in_string")
7499  * cdef inline object __pyx_convert_PyObject_string_to_py_std__in_string(const string& s):
7500  * return __Pyx_PyObject_FromStringAndSize(s.data(), s.size()) # <<<<<<<<<<<<<<
7501  * cdef extern from *:
7502  * cdef object __Pyx_PyUnicode_FromStringAndSize(const char*, size_t)
7503  */
7504  __Pyx_XDECREF(__pyx_r);
7505  __pyx_t_1 = __Pyx_PyObject_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
7506  __Pyx_GOTREF(__pyx_t_1);
7507  __pyx_r = __pyx_t_1;
7508  __pyx_t_1 = 0;
7509  goto __pyx_L0;
7510 
7511  /* "string.to_py":31
7512  *
7513  * @cname("__pyx_convert_PyObject_string_to_py_std__in_string")
7514  * cdef inline object __pyx_convert_PyObject_string_to_py_std__in_string(const string& s): # <<<<<<<<<<<<<<
7515  * return __Pyx_PyObject_FromStringAndSize(s.data(), s.size())
7516  * cdef extern from *:
7517  */
7518 
7519  /* function exit code */
7520  __pyx_L1_error:;
7521  __Pyx_XDECREF(__pyx_t_1);
7522  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyObject_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
7523  __pyx_r = 0;
7524  __pyx_L0:;
7525  __Pyx_XGIVEREF(__pyx_r);
7526  __Pyx_RefNannyFinishContext();
7527  return __pyx_r;
7528 }
7529 
7530 /* "string.to_py":37
7531  *
7532  * @cname("__pyx_convert_PyUnicode_string_to_py_std__in_string")
7533  * cdef inline object __pyx_convert_PyUnicode_string_to_py_std__in_string(const string& s): # <<<<<<<<<<<<<<
7534  * return __Pyx_PyUnicode_FromStringAndSize(s.data(), s.size())
7535  * cdef extern from *:
7536  */
7537 
7538 static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_std__in_string(std::string const &__pyx_v_s) {
7539  PyObject *__pyx_r = NULL;
7540  __Pyx_RefNannyDeclarations
7541  PyObject *__pyx_t_1 = NULL;
7542  __Pyx_RefNannySetupContext("__pyx_convert_PyUnicode_string_to_py_std__in_string", 0);
7543 
7544  /* "string.to_py":38
7545  * @cname("__pyx_convert_PyUnicode_string_to_py_std__in_string")
7546  * cdef inline object __pyx_convert_PyUnicode_string_to_py_std__in_string(const string& s):
7547  * return __Pyx_PyUnicode_FromStringAndSize(s.data(), s.size()) # <<<<<<<<<<<<<<
7548  * cdef extern from *:
7549  * cdef object __Pyx_PyStr_FromStringAndSize(const char*, size_t)
7550  */
7551  __Pyx_XDECREF(__pyx_r);
7552  __pyx_t_1 = __Pyx_PyUnicode_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38, __pyx_L1_error)
7553  __Pyx_GOTREF(__pyx_t_1);
7554  __pyx_r = __pyx_t_1;
7555  __pyx_t_1 = 0;
7556  goto __pyx_L0;
7557 
7558  /* "string.to_py":37
7559  *
7560  * @cname("__pyx_convert_PyUnicode_string_to_py_std__in_string")
7561  * cdef inline object __pyx_convert_PyUnicode_string_to_py_std__in_string(const string& s): # <<<<<<<<<<<<<<
7562  * return __Pyx_PyUnicode_FromStringAndSize(s.data(), s.size())
7563  * cdef extern from *:
7564  */
7565 
7566  /* function exit code */
7567  __pyx_L1_error:;
7568  __Pyx_XDECREF(__pyx_t_1);
7569  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyUnicode_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
7570  __pyx_r = 0;
7571  __pyx_L0:;
7572  __Pyx_XGIVEREF(__pyx_r);
7573  __Pyx_RefNannyFinishContext();
7574  return __pyx_r;
7575 }
7576 
7577 /* "string.to_py":43
7578  *
7579  * @cname("__pyx_convert_PyStr_string_to_py_std__in_string")
7580  * cdef inline object __pyx_convert_PyStr_string_to_py_std__in_string(const string& s): # <<<<<<<<<<<<<<
7581  * return __Pyx_PyStr_FromStringAndSize(s.data(), s.size())
7582  * cdef extern from *:
7583  */
7584 
7585 static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_std__in_string(std::string const &__pyx_v_s) {
7586  PyObject *__pyx_r = NULL;
7587  __Pyx_RefNannyDeclarations
7588  PyObject *__pyx_t_1 = NULL;
7589  __Pyx_RefNannySetupContext("__pyx_convert_PyStr_string_to_py_std__in_string", 0);
7590 
7591  /* "string.to_py":44
7592  * @cname("__pyx_convert_PyStr_string_to_py_std__in_string")
7593  * cdef inline object __pyx_convert_PyStr_string_to_py_std__in_string(const string& s):
7594  * return __Pyx_PyStr_FromStringAndSize(s.data(), s.size()) # <<<<<<<<<<<<<<
7595  * cdef extern from *:
7596  * cdef object __Pyx_PyBytes_FromStringAndSize(const char*, size_t)
7597  */
7598  __Pyx_XDECREF(__pyx_r);
7599  __pyx_t_1 = __Pyx_PyStr_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
7600  __Pyx_GOTREF(__pyx_t_1);
7601  __pyx_r = __pyx_t_1;
7602  __pyx_t_1 = 0;
7603  goto __pyx_L0;
7604 
7605  /* "string.to_py":43
7606  *
7607  * @cname("__pyx_convert_PyStr_string_to_py_std__in_string")
7608  * cdef inline object __pyx_convert_PyStr_string_to_py_std__in_string(const string& s): # <<<<<<<<<<<<<<
7609  * return __Pyx_PyStr_FromStringAndSize(s.data(), s.size())
7610  * cdef extern from *:
7611  */
7612 
7613  /* function exit code */
7614  __pyx_L1_error:;
7615  __Pyx_XDECREF(__pyx_t_1);
7616  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyStr_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
7617  __pyx_r = 0;
7618  __pyx_L0:;
7619  __Pyx_XGIVEREF(__pyx_r);
7620  __Pyx_RefNannyFinishContext();
7621  return __pyx_r;
7622 }
7623 
7624 /* "string.to_py":49
7625  *
7626  * @cname("__pyx_convert_PyBytes_string_to_py_std__in_string")
7627  * cdef inline object __pyx_convert_PyBytes_string_to_py_std__in_string(const string& s): # <<<<<<<<<<<<<<
7628  * return __Pyx_PyBytes_FromStringAndSize(s.data(), s.size())
7629  * cdef extern from *:
7630  */
7631 
7632 static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_std__in_string(std::string const &__pyx_v_s) {
7633  PyObject *__pyx_r = NULL;
7634  __Pyx_RefNannyDeclarations
7635  PyObject *__pyx_t_1 = NULL;
7636  __Pyx_RefNannySetupContext("__pyx_convert_PyBytes_string_to_py_std__in_string", 0);
7637 
7638  /* "string.to_py":50
7639  * @cname("__pyx_convert_PyBytes_string_to_py_std__in_string")
7640  * cdef inline object __pyx_convert_PyBytes_string_to_py_std__in_string(const string& s):
7641  * return __Pyx_PyBytes_FromStringAndSize(s.data(), s.size()) # <<<<<<<<<<<<<<
7642  * cdef extern from *:
7643  * cdef object __Pyx_PyByteArray_FromStringAndSize(const char*, size_t)
7644  */
7645  __Pyx_XDECREF(__pyx_r);
7646  __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error)
7647  __Pyx_GOTREF(__pyx_t_1);
7648  __pyx_r = __pyx_t_1;
7649  __pyx_t_1 = 0;
7650  goto __pyx_L0;
7651 
7652  /* "string.to_py":49
7653  *
7654  * @cname("__pyx_convert_PyBytes_string_to_py_std__in_string")
7655  * cdef inline object __pyx_convert_PyBytes_string_to_py_std__in_string(const string& s): # <<<<<<<<<<<<<<
7656  * return __Pyx_PyBytes_FromStringAndSize(s.data(), s.size())
7657  * cdef extern from *:
7658  */
7659 
7660  /* function exit code */
7661  __pyx_L1_error:;
7662  __Pyx_XDECREF(__pyx_t_1);
7663  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyBytes_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
7664  __pyx_r = 0;
7665  __pyx_L0:;
7666  __Pyx_XGIVEREF(__pyx_r);
7667  __Pyx_RefNannyFinishContext();
7668  return __pyx_r;
7669 }
7670 
7671 /* "string.to_py":55
7672  *
7673  * @cname("__pyx_convert_PyByteArray_string_to_py_std__in_string")
7674  * cdef inline object __pyx_convert_PyByteArray_string_to_py_std__in_string(const string& s): # <<<<<<<<<<<<<<
7675  * return __Pyx_PyByteArray_FromStringAndSize(s.data(), s.size())
7676  *
7677  */
7678 
7679 static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_std__in_string(std::string const &__pyx_v_s) {
7680  PyObject *__pyx_r = NULL;
7681  __Pyx_RefNannyDeclarations
7682  PyObject *__pyx_t_1 = NULL;
7683  __Pyx_RefNannySetupContext("__pyx_convert_PyByteArray_string_to_py_std__in_string", 0);
7684 
7685  /* "string.to_py":56
7686  * @cname("__pyx_convert_PyByteArray_string_to_py_std__in_string")
7687  * cdef inline object __pyx_convert_PyByteArray_string_to_py_std__in_string(const string& s):
7688  * return __Pyx_PyByteArray_FromStringAndSize(s.data(), s.size()) # <<<<<<<<<<<<<<
7689  *
7690  */
7691  __Pyx_XDECREF(__pyx_r);
7692  __pyx_t_1 = __Pyx_PyByteArray_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error)
7693  __Pyx_GOTREF(__pyx_t_1);
7694  __pyx_r = __pyx_t_1;
7695  __pyx_t_1 = 0;
7696  goto __pyx_L0;
7697 
7698  /* "string.to_py":55
7699  *
7700  * @cname("__pyx_convert_PyByteArray_string_to_py_std__in_string")
7701  * cdef inline object __pyx_convert_PyByteArray_string_to_py_std__in_string(const string& s): # <<<<<<<<<<<<<<
7702  * return __Pyx_PyByteArray_FromStringAndSize(s.data(), s.size())
7703  *
7704  */
7705 
7706  /* function exit code */
7707  __pyx_L1_error:;
7708  __Pyx_XDECREF(__pyx_t_1);
7709  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyByteArray_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
7710  __pyx_r = 0;
7711  __pyx_L0:;
7712  __Pyx_XGIVEREF(__pyx_r);
7713  __Pyx_RefNannyFinishContext();
7714  return __pyx_r;
7715 }
7716 
7717 /* "map.to_py":201
7718  *
7719  * @cname("__pyx_convert_map_to_py_std_3a__3a_string____int")
7720  * cdef object __pyx_convert_map_to_py_std_3a__3a_string____int(const map[X,Y]& s): # <<<<<<<<<<<<<<
7721  * o = {}
7722  * cdef const map[X,Y].value_type *key_value
7723  */
7724 
7725 static PyObject *__pyx_convert_map_to_py_std_3a__3a_string____int(std::map<std::string,int> const &__pyx_v_s) {
7726  PyObject *__pyx_v_o = NULL;
7727  std::map<std::string,int> ::value_type const *__pyx_v_key_value;
7728  std::map<std::string,int> ::const_iterator __pyx_v_iter;
7729  PyObject *__pyx_r = NULL;
7730  __Pyx_RefNannyDeclarations
7731  PyObject *__pyx_t_1 = NULL;
7732  int __pyx_t_2;
7733  PyObject *__pyx_t_3 = NULL;
7734  __Pyx_RefNannySetupContext("__pyx_convert_map_to_py_std_3a__3a_string____int", 0);
7735 
7736  /* "map.to_py":202
7737  * @cname("__pyx_convert_map_to_py_std_3a__3a_string____int")
7738  * cdef object __pyx_convert_map_to_py_std_3a__3a_string____int(const map[X,Y]& s):
7739  * o = {} # <<<<<<<<<<<<<<
7740  * cdef const map[X,Y].value_type *key_value
7741  * cdef map[X,Y].const_iterator iter = s.begin()
7742  */
7743  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error)
7744  __Pyx_GOTREF(__pyx_t_1);
7745  __pyx_v_o = ((PyObject*)__pyx_t_1);
7746  __pyx_t_1 = 0;
7747 
7748  /* "map.to_py":204
7749  * o = {}
7750  * cdef const map[X,Y].value_type *key_value
7751  * cdef map[X,Y].const_iterator iter = s.begin() # <<<<<<<<<<<<<<
7752  * while iter != s.end():
7753  * key_value = &cython.operator.dereference(iter)
7754  */
7755  __pyx_v_iter = __pyx_v_s.begin();
7756 
7757  /* "map.to_py":205
7758  * cdef const map[X,Y].value_type *key_value
7759  * cdef map[X,Y].const_iterator iter = s.begin()
7760  * while iter != s.end(): # <<<<<<<<<<<<<<
7761  * key_value = &cython.operator.dereference(iter)
7762  * o[key_value.first] = key_value.second
7763  */
7764  while (1) {
7765  __pyx_t_2 = ((__pyx_v_iter != __pyx_v_s.end()) != 0);
7766  if (!__pyx_t_2) break;
7767 
7768  /* "map.to_py":206
7769  * cdef map[X,Y].const_iterator iter = s.begin()
7770  * while iter != s.end():
7771  * key_value = &cython.operator.dereference(iter) # <<<<<<<<<<<<<<
7772  * o[key_value.first] = key_value.second
7773  * cython.operator.preincrement(iter)
7774  */
7775  __pyx_v_key_value = (&(*__pyx_v_iter));
7776 
7777  /* "map.to_py":207
7778  * while iter != s.end():
7779  * key_value = &cython.operator.dereference(iter)
7780  * o[key_value.first] = key_value.second # <<<<<<<<<<<<<<
7781  * cython.operator.preincrement(iter)
7782  * return o
7783  */
7784  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_key_value->second); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error)
7785  __Pyx_GOTREF(__pyx_t_1);
7786  __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_key_value->first); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 207, __pyx_L1_error)
7787  __Pyx_GOTREF(__pyx_t_3);
7788  if (unlikely(PyDict_SetItem(__pyx_v_o, __pyx_t_3, __pyx_t_1) < 0)) __PYX_ERR(0, 207, __pyx_L1_error)
7789  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7790  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7791 
7792  /* "map.to_py":208
7793  * key_value = &cython.operator.dereference(iter)
7794  * o[key_value.first] = key_value.second
7795  * cython.operator.preincrement(iter) # <<<<<<<<<<<<<<
7796  * return o
7797  *
7798  */
7799  (void)((++__pyx_v_iter));
7800  }
7801 
7802  /* "map.to_py":209
7803  * o[key_value.first] = key_value.second
7804  * cython.operator.preincrement(iter)
7805  * return o # <<<<<<<<<<<<<<
7806  *
7807  *
7808  */
7809  __Pyx_XDECREF(__pyx_r);
7810  __Pyx_INCREF(__pyx_v_o);
7811  __pyx_r = __pyx_v_o;
7812  goto __pyx_L0;
7813 
7814  /* "map.to_py":201
7815  *
7816  * @cname("__pyx_convert_map_to_py_std_3a__3a_string____int")
7817  * cdef object __pyx_convert_map_to_py_std_3a__3a_string____int(const map[X,Y]& s): # <<<<<<<<<<<<<<
7818  * o = {}
7819  * cdef const map[X,Y].value_type *key_value
7820  */
7821 
7822  /* function exit code */
7823  __pyx_L1_error:;
7824  __Pyx_XDECREF(__pyx_t_1);
7825  __Pyx_XDECREF(__pyx_t_3);
7826  __Pyx_AddTraceback("map.to_py.__pyx_convert_map_to_py_std_3a__3a_string____int", __pyx_clineno, __pyx_lineno, __pyx_filename);
7827  __pyx_r = 0;
7828  __pyx_L0:;
7829  __Pyx_XDECREF(__pyx_v_o);
7830  __Pyx_XGIVEREF(__pyx_r);
7831  __Pyx_RefNannyFinishContext();
7832  return __pyx_r;
7833 }
7834 
7835 /* "vector.from_py":45
7836  *
7837  * @cname("__pyx_convert_vector_from_py_int")
7838  * cdef vector[X] __pyx_convert_vector_from_py_int(object o) except *: # <<<<<<<<<<<<<<
7839  * cdef vector[X] v
7840  * for item in o:
7841  */
7842 
7843 static std::vector<int> __pyx_convert_vector_from_py_int(PyObject *__pyx_v_o) {
7844  std::vector<int> __pyx_v_v;
7845  PyObject *__pyx_v_item = NULL;
7846  std::vector<int> __pyx_r;
7847  __Pyx_RefNannyDeclarations
7848  PyObject *__pyx_t_1 = NULL;
7849  Py_ssize_t __pyx_t_2;
7850  PyObject *(*__pyx_t_3)(PyObject *);
7851  PyObject *__pyx_t_4 = NULL;
7852  int __pyx_t_5;
7853  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_int", 0);
7854 
7855  /* "vector.from_py":47
7856  * cdef vector[X] __pyx_convert_vector_from_py_int(object o) except *:
7857  * cdef vector[X] v
7858  * for item in o: # <<<<<<<<<<<<<<
7859  * v.push_back(<X>item)
7860  * return v
7861  */
7862  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
7863  __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
7864  __pyx_t_3 = NULL;
7865  } else {
7866  __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
7867  __Pyx_GOTREF(__pyx_t_1);
7868  __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error)
7869  }
7870  for (;;) {
7871  if (likely(!__pyx_t_3)) {
7872  if (likely(PyList_CheckExact(__pyx_t_1))) {
7873  if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
7874  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
7875  __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 47, __pyx_L1_error)
7876  #else
7877  __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
7878  __Pyx_GOTREF(__pyx_t_4);
7879  #endif
7880  } else {
7881  if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
7882  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
7883  __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 47, __pyx_L1_error)
7884  #else
7885  __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
7886  __Pyx_GOTREF(__pyx_t_4);
7887  #endif
7888  }
7889  } else {
7890  __pyx_t_4 = __pyx_t_3(__pyx_t_1);
7891  if (unlikely(!__pyx_t_4)) {
7892  PyObject* exc_type = PyErr_Occurred();
7893  if (exc_type) {
7894  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
7895  else __PYX_ERR(0, 47, __pyx_L1_error)
7896  }
7897  break;
7898  }
7899  __Pyx_GOTREF(__pyx_t_4);
7900  }
7901  __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
7902  __pyx_t_4 = 0;
7903 
7904  /* "vector.from_py":48
7905  * cdef vector[X] v
7906  * for item in o:
7907  * v.push_back(<X>item) # <<<<<<<<<<<<<<
7908  * return v
7909  *
7910  */
7911  __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_v_item); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L1_error)
7912  __pyx_v_v.push_back(((int)__pyx_t_5));
7913 
7914  /* "vector.from_py":47
7915  * cdef vector[X] __pyx_convert_vector_from_py_int(object o) except *:
7916  * cdef vector[X] v
7917  * for item in o: # <<<<<<<<<<<<<<
7918  * v.push_back(<X>item)
7919  * return v
7920  */
7921  }
7922  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7923 
7924  /* "vector.from_py":49
7925  * for item in o:
7926  * v.push_back(<X>item)
7927  * return v # <<<<<<<<<<<<<<
7928  *
7929  *
7930  */
7931  __pyx_r = __pyx_v_v;
7932  goto __pyx_L0;
7933 
7934  /* "vector.from_py":45
7935  *
7936  * @cname("__pyx_convert_vector_from_py_int")
7937  * cdef vector[X] __pyx_convert_vector_from_py_int(object o) except *: # <<<<<<<<<<<<<<
7938  * cdef vector[X] v
7939  * for item in o:
7940  */
7941 
7942  /* function exit code */
7943  __pyx_L1_error:;
7944  __Pyx_XDECREF(__pyx_t_1);
7945  __Pyx_XDECREF(__pyx_t_4);
7946  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
7947  __Pyx_pretend_to_initialize(&__pyx_r);
7948  __pyx_L0:;
7949  __Pyx_XDECREF(__pyx_v_item);
7950  __Pyx_RefNannyFinishContext();
7951  return __pyx_r;
7952 }
7953 
7954 static PyObject *__pyx_tp_new_12pynastran_io_BDFModel(PyTypeObject *t, PyObject *a, PyObject *k) {
7955  struct BDFModel *p;
7956  PyObject *o;
7957  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
7958  o = (*t->tp_alloc)(t, 0);
7959  } else {
7960  o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
7961  }
7962  if (unlikely(!o)) return 0;
7963  p = ((struct BDFModel *)o);
7964  new((void*)&(p->bdfPath)) std::string();
7965  new((void*)&(p->nElemTypes)) std::map<std::string,int> ();
7966  p->myBDF = Py_None; Py_INCREF(Py_None);
7967  if (unlikely(__pyx_pw_12pynastran_io_8BDFModel_1__cinit__(o, a, k) < 0)) goto bad;
7968  return o;
7969  bad:
7970  Py_DECREF(o); o = 0;
7971  return NULL;
7972 }
7973 
7974 static void __pyx_tp_dealloc_12pynastran_io_BDFModel(PyObject *o) {
7975  struct BDFModel *p = (struct BDFModel *)o;
7976  #if CYTHON_USE_TP_FINALIZE
7977  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
7978  if (PyObject_CallFinalizerFromDealloc(o)) return;
7979  }
7980  #endif
7981  PyObject_GC_UnTrack(o);
7982  __Pyx_call_destructor(p->bdfPath);
7983  __Pyx_call_destructor(p->nElemTypes);
7984  Py_CLEAR(p->myBDF);
7985  (*Py_TYPE(o)->tp_free)(o);
7986 }
7987 
7988 static int __pyx_tp_traverse_12pynastran_io_BDFModel(PyObject *o, visitproc v, void *a) {
7989  int e;
7990  struct BDFModel *p = (struct BDFModel *)o;
7991  if (p->myBDF) {
7992  e = (*v)(p->myBDF, a); if (e) return e;
7993  }
7994  return 0;
7995 }
7996 
7997 static int __pyx_tp_clear_12pynastran_io_BDFModel(PyObject *o) {
7998  PyObject* tmp;
7999  struct BDFModel *p = (struct BDFModel *)o;
8000  tmp = ((PyObject*)p->myBDF);
8001  p->myBDF = Py_None; Py_INCREF(Py_None);
8002  Py_XDECREF(tmp);
8003  return 0;
8004 }
8005 
8006 static PyObject *__pyx_getprop_12pynastran_io_8BDFModel_nDims(PyObject *o, CYTHON_UNUSED void *x) {
8007  return __pyx_pw_12pynastran_io_8BDFModel_5nDims_1__get__(o);
8008 }
8009 
8010 static PyObject *__pyx_getprop_12pynastran_io_8BDFModel_nNodes(PyObject *o, CYTHON_UNUSED void *x) {
8011  return __pyx_pw_12pynastran_io_8BDFModel_6nNodes_1__get__(o);
8012 }
8013 
8014 static PyObject *__pyx_getprop_12pynastran_io_8BDFModel_nElems(PyObject *o, CYTHON_UNUSED void *x) {
8015  return __pyx_pw_12pynastran_io_8BDFModel_6nElems_1__get__(o);
8016 }
8017 
8018 static PyObject *__pyx_getprop_12pynastran_io_8BDFModel_nMaterials(PyObject *o, CYTHON_UNUSED void *x) {
8019  return __pyx_pw_12pynastran_io_8BDFModel_10nMaterials_1__get__(o);
8020 }
8021 
8022 static PyObject *__pyx_getprop_12pynastran_io_8BDFModel_nProperties(PyObject *o, CYTHON_UNUSED void *x) {
8023  return __pyx_pw_12pynastran_io_8BDFModel_11nProperties_1__get__(o);
8024 }
8025 
8026 static PyObject *__pyx_getprop_12pynastran_io_8BDFModel_nElemTypes(PyObject *o, CYTHON_UNUSED void *x) {
8027  return __pyx_pw_12pynastran_io_8BDFModel_10nElemTypes_1__get__(o);
8028 }
8029 
8030 static PyMethodDef __pyx_methods_12pynastran_io_BDFModel[] = {
8031  {"__reduce_cython__", (PyCFunction)__pyx_pw_12pynastran_io_8BDFModel_3__reduce_cython__, METH_NOARGS, 0},
8032  {"__setstate_cython__", (PyCFunction)__pyx_pw_12pynastran_io_8BDFModel_5__setstate_cython__, METH_O, 0},
8033  {0, 0, 0, 0}
8034 };
8035 
8036 static struct PyGetSetDef __pyx_getsets_12pynastran_io_BDFModel[] = {
8037  {(char *)"nDims", __pyx_getprop_12pynastran_io_8BDFModel_nDims, 0, (char *)0, 0},
8038  {(char *)"nNodes", __pyx_getprop_12pynastran_io_8BDFModel_nNodes, 0, (char *)0, 0},
8039  {(char *)"nElems", __pyx_getprop_12pynastran_io_8BDFModel_nElems, 0, (char *)0, 0},
8040  {(char *)"nMaterials", __pyx_getprop_12pynastran_io_8BDFModel_nMaterials, 0, (char *)0, 0},
8041  {(char *)"nProperties", __pyx_getprop_12pynastran_io_8BDFModel_nProperties, 0, (char *)0, 0},
8042  {(char *)"nElemTypes", __pyx_getprop_12pynastran_io_8BDFModel_nElemTypes, 0, (char *)0, 0},
8043  {0, 0, 0, 0, 0}
8044 };
8045 
8046 DL_EXPORT(PyTypeObject) BDFModelType = {
8047  PyVarObject_HEAD_INIT(0, 0)
8048  "pynastran_io.BDFModel", /*tp_name*/
8049  sizeof(struct BDFModel), /*tp_basicsize*/
8050  0, /*tp_itemsize*/
8051  __pyx_tp_dealloc_12pynastran_io_BDFModel, /*tp_dealloc*/
8052  0, /*tp_print*/
8053  0, /*tp_getattr*/
8054  0, /*tp_setattr*/
8055  #if PY_MAJOR_VERSION < 3
8056  0, /*tp_compare*/
8057  #endif
8058  #if PY_MAJOR_VERSION >= 3
8059  0, /*tp_as_async*/
8060  #endif
8061  0, /*tp_repr*/
8062  0, /*tp_as_number*/
8063  0, /*tp_as_sequence*/
8064  0, /*tp_as_mapping*/
8065  0, /*tp_hash*/
8066  0, /*tp_call*/
8067  0, /*tp_str*/
8068  0, /*tp_getattro*/
8069  0, /*tp_setattro*/
8070  0, /*tp_as_buffer*/
8071  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
8072  0, /*tp_doc*/
8073  __pyx_tp_traverse_12pynastran_io_BDFModel, /*tp_traverse*/
8074  __pyx_tp_clear_12pynastran_io_BDFModel, /*tp_clear*/
8075  0, /*tp_richcompare*/
8076  0, /*tp_weaklistoffset*/
8077  0, /*tp_iter*/
8078  0, /*tp_iternext*/
8079  __pyx_methods_12pynastran_io_BDFModel, /*tp_methods*/
8080  0, /*tp_members*/
8081  __pyx_getsets_12pynastran_io_BDFModel, /*tp_getset*/
8082  0, /*tp_base*/
8083  0, /*tp_dict*/
8084  0, /*tp_descr_get*/
8085  0, /*tp_descr_set*/
8086  0, /*tp_dictoffset*/
8087  0, /*tp_init*/
8088  0, /*tp_alloc*/
8089  __pyx_tp_new_12pynastran_io_BDFModel, /*tp_new*/
8090  0, /*tp_free*/
8091  0, /*tp_is_gc*/
8092  0, /*tp_bases*/
8093  0, /*tp_mro*/
8094  0, /*tp_cache*/
8095  0, /*tp_subclasses*/
8096  0, /*tp_weaklist*/
8097  0, /*tp_del*/
8098  0, /*tp_version_tag*/
8099  #if PY_VERSION_HEX >= 0x030400a1
8100  0, /*tp_finalize*/
8101  #endif
8102  #if PY_VERSION_HEX >= 0x030800b1
8103  0, /*tp_vectorcall*/
8104  #endif
8105 };
8106 
8107 static PyMethodDef __pyx_methods[] = {
8108  {0, 0, 0, 0}
8109 };
8110 
8111 #if PY_MAJOR_VERSION >= 3
8112 #if CYTHON_PEP489_MULTI_PHASE_INIT
8113 static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
8114 static int __pyx_pymod_exec_pynastran_io(PyObject* module); /*proto*/
8115 static PyModuleDef_Slot __pyx_moduledef_slots[] = {
8116  {Py_mod_create, (void*)__pyx_pymod_create},
8117  {Py_mod_exec, (void*)__pyx_pymod_exec_pynastran_io},
8118  {0, NULL}
8119 };
8120 #endif
8121 
8122 static struct PyModuleDef __pyx_moduledef = {
8123  PyModuleDef_HEAD_INIT,
8124  "pynastran_io",
8125  __pyx_k_pyNASTRAN_Notes_Dependencies_cp, /* m_doc */
8126  #if CYTHON_PEP489_MULTI_PHASE_INIT
8127  0, /* m_size */
8128  #else
8129  -1, /* m_size */
8130  #endif
8131  __pyx_methods /* m_methods */,
8132  #if CYTHON_PEP489_MULTI_PHASE_INIT
8133  __pyx_moduledef_slots, /* m_slots */
8134  #else
8135  NULL, /* m_reload */
8136  #endif
8137  NULL, /* m_traverse */
8138  NULL, /* m_clear */
8139  NULL /* m_free */
8140 };
8141 #endif
8142 #ifndef CYTHON_SMALL_CODE
8143 #if defined(__clang__)
8144  #define CYTHON_SMALL_CODE
8145 #elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
8146  #define CYTHON_SMALL_CODE __attribute__((cold))
8147 #else
8148  #define CYTHON_SMALL_CODE
8149 #endif
8150 #endif
8151 
8152 static __Pyx_StringTabEntry __pyx_string_tab[] = {
8153  {&__pyx_n_s_BDF, __pyx_k_BDF, sizeof(__pyx_k_BDF), 0, 0, 1, 1},
8154  {&__pyx_n_s_BDFModel, __pyx_k_BDFModel, sizeof(__pyx_k_BDFModel), 0, 0, 1, 1},
8155  {&__pyx_n_u_CBUSH, __pyx_k_CBUSH, sizeof(__pyx_k_CBUSH), 0, 1, 0, 1},
8156  {&__pyx_n_u_CBUSH1D, __pyx_k_CBUSH1D, sizeof(__pyx_k_CBUSH1D), 0, 1, 0, 1},
8157  {&__pyx_n_u_CBUSH2D, __pyx_k_CBUSH2D, sizeof(__pyx_k_CBUSH2D), 0, 1, 0, 1},
8158  {&__pyx_n_s_DTYPE, __pyx_k_DTYPE, sizeof(__pyx_k_DTYPE), 0, 0, 1, 1},
8159  {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0},
8160  {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0},
8161  {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1},
8162  {&__pyx_kp_u_Non_native_byte_order_not_suppor, __pyx_k_Non_native_byte_order_not_suppor, sizeof(__pyx_k_Non_native_byte_order_not_suppor), 0, 1, 0, 0},
8163  {&__pyx_n_s_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1},
8164  {&__pyx_kp_u_Perturbing_GRID_i_by_s_to_define, __pyx_k_Perturbing_GRID_i_by_s_to_define, sizeof(__pyx_k_Perturbing_GRID_i_by_s_to_define), 0, 1, 0, 0},
8165  {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
8166  {&__pyx_kp_u_Subcase_i__s__i, __pyx_k_Subcase_i__s__i, sizeof(__pyx_k_Subcase_i__s__i), 0, 1, 0, 0},
8167  {&__pyx_kp_u_Support_of_non_zero_offets_not_y, __pyx_k_Support_of_non_zero_offets_not_y, sizeof(__pyx_k_Support_of_non_zero_offets_not_y), 0, 1, 0, 0},
8168  {&__pyx_kp_u_Support_of_non_zero_offsets_not, __pyx_k_Support_of_non_zero_offsets_not, sizeof(__pyx_k_Support_of_non_zero_offsets_not), 0, 1, 0, 0},
8169  {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
8170  {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
8171  {&__pyx_n_u__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 1, 0, 1},
8172  {&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0},
8173  {&__pyx_n_s_bdf_path, __pyx_k_bdf_path, sizeof(__pyx_k_bdf_path), 0, 0, 1, 1},
8174  {&__pyx_n_s_card_count, __pyx_k_card_count, sizeof(__pyx_k_card_count), 0, 0, 1, 1},
8175  {&__pyx_kp_u_card_count_s, __pyx_k_card_count_s, sizeof(__pyx_k_card_count_s), 0, 1, 0, 0},
8176  {&__pyx_n_s_cid_ref, __pyx_k_cid_ref, sizeof(__pyx_k_cid_ref), 0, 0, 1, 1},
8177  {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
8178  {&__pyx_n_s_eid, __pyx_k_eid, sizeof(__pyx_k_eid), 0, 0, 1, 1},
8179  {&__pyx_n_s_elements, __pyx_k_elements, sizeof(__pyx_k_elements), 0, 0, 1, 1},
8180  {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1},
8181  {&__pyx_n_s_float, __pyx_k_float, sizeof(__pyx_k_float), 0, 0, 1, 1},
8182  {&__pyx_n_s_get_bdf_stats, __pyx_k_get_bdf_stats, sizeof(__pyx_k_get_bdf_stats), 0, 0, 1, 1},
8183  {&__pyx_n_s_get_elements_properties_nodes_by, __pyx_k_get_elements_properties_nodes_by, sizeof(__pyx_k_get_elements_properties_nodes_by), 0, 0, 1, 1},
8184  {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},
8185  {&__pyx_kp_u_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 1, 0, 0},
8186  {&__pyx_n_s_i_2, __pyx_k_i_2, sizeof(__pyx_k_i_2), 0, 0, 1, 1},
8187  {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
8188  {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1},
8189  {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1},
8190  {&__pyx_n_s_keys, __pyx_k_keys, sizeof(__pyx_k_keys), 0, 0, 1, 1},
8191  {&__pyx_n_s_linalg, __pyx_k_linalg, sizeof(__pyx_k_linalg), 0, 0, 1, 1},
8192  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
8193  {&__pyx_n_s_min, __pyx_k_min, sizeof(__pyx_k_min), 0, 0, 1, 1},
8194  {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
8195  {&__pyx_kp_u_ndarray_is_not_C_contiguous, __pyx_k_ndarray_is_not_C_contiguous, sizeof(__pyx_k_ndarray_is_not_C_contiguous), 0, 1, 0, 0},
8196  {&__pyx_kp_u_ndarray_is_not_Fortran_contiguou, __pyx_k_ndarray_is_not_Fortran_contiguou, sizeof(__pyx_k_ndarray_is_not_Fortran_contiguou), 0, 1, 0, 0},
8197  {&__pyx_n_s_nelements, __pyx_k_nelements, sizeof(__pyx_k_nelements), 0, 0, 1, 1},
8198  {&__pyx_n_s_nid, __pyx_k_nid, sizeof(__pyx_k_nid), 0, 0, 1, 1},
8199  {&__pyx_n_s_nmaterials, __pyx_k_nmaterials, sizeof(__pyx_k_nmaterials), 0, 0, 1, 1},
8200  {&__pyx_n_s_nnodes, __pyx_k_nnodes, sizeof(__pyx_k_nnodes), 0, 0, 1, 1},
8201  {&__pyx_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0},
8202  {&__pyx_n_s_nodes, __pyx_k_nodes, sizeof(__pyx_k_nodes), 0, 0, 1, 1},
8203  {&__pyx_n_s_nodes_ref, __pyx_k_nodes_ref, sizeof(__pyx_k_nodes_ref), 0, 0, 1, 1},
8204  {&__pyx_n_s_norm, __pyx_k_norm, sizeof(__pyx_k_norm), 0, 0, 1, 1},
8205  {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1},
8206  {&__pyx_n_s_nproperties, __pyx_k_nproperties, sizeof(__pyx_k_nproperties), 0, 0, 1, 1},
8207  {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1},
8208  {&__pyx_kp_u_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 1, 0, 0},
8209  {&__pyx_kp_u_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 1, 0, 0},
8210  {&__pyx_n_s_object_attributes, __pyx_k_object_attributes, sizeof(__pyx_k_object_attributes), 0, 0, 1, 1},
8211  {&__pyx_n_s_offset, __pyx_k_offset, sizeof(__pyx_k_offset), 0, 0, 1, 1},
8212  {&__pyx_n_u_offset, __pyx_k_offset, sizeof(__pyx_k_offset), 0, 1, 0, 1},
8213  {&__pyx_n_s_pid, __pyx_k_pid, sizeof(__pyx_k_pid), 0, 0, 1, 1},
8214  {&__pyx_n_s_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 0, 1, 1},
8215  {&__pyx_n_s_pyNastran_bdf_bdf, __pyx_k_pyNastran_bdf_bdf, sizeof(__pyx_k_pyNastran_bdf_bdf), 0, 0, 1, 1},
8216  {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
8217  {&__pyx_n_s_read_bdf, __pyx_k_read_bdf, sizeof(__pyx_k_read_bdf), 0, 0, 1, 1},
8218  {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1},
8219  {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1},
8220  {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1},
8221  {&__pyx_n_s_reject_count, __pyx_k_reject_count, sizeof(__pyx_k_reject_count), 0, 0, 1, 1},
8222  {&__pyx_kp_u_reject_count_s, __pyx_k_reject_count_s, sizeof(__pyx_k_reject_count_s), 0, 1, 0, 0},
8223  {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},
8224  {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},
8225  {&__pyx_n_s_spcs, __pyx_k_spcs, sizeof(__pyx_k_spcs), 0, 0, 1, 1},
8226  {&__pyx_n_s_strip, __pyx_k_strip, sizeof(__pyx_k_strip), 0, 0, 1, 1},
8227  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
8228  {&__pyx_n_s_tolist, __pyx_k_tolist, sizeof(__pyx_k_tolist), 0, 0, 1, 1},
8229  {&__pyx_n_s_type, __pyx_k_type, sizeof(__pyx_k_type), 0, 0, 1, 1},
8230  {&__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_k_unknown_dtype_code_in_numpy_pxd, sizeof(__pyx_k_unknown_dtype_code_in_numpy_pxd), 0, 1, 0, 0},
8231  {&__pyx_kp_u_utf_8, __pyx_k_utf_8, sizeof(__pyx_k_utf_8), 0, 1, 0, 0},
8232  {&__pyx_n_s_warn, __pyx_k_warn, sizeof(__pyx_k_warn), 0, 0, 1, 1},
8233  {&__pyx_n_s_warnings, __pyx_k_warnings, sizeof(__pyx_k_warnings), 0, 0, 1, 1},
8234  {&__pyx_n_s_x, __pyx_k_x, sizeof(__pyx_k_x), 0, 0, 1, 1},
8235  {&__pyx_n_s_xyz, __pyx_k_xyz, sizeof(__pyx_k_xyz), 0, 0, 1, 1},
8236  {&__pyx_n_s_zoffset, __pyx_k_zoffset, sizeof(__pyx_k_zoffset), 0, 0, 1, 1},
8237  {&__pyx_n_u_zoffset, __pyx_k_zoffset, sizeof(__pyx_k_zoffset), 0, 1, 0, 1},
8238  {0, 0, 0, 0, 0, 0, 0}
8239 };
8240 static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
8241  __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 2, __pyx_L1_error)
8242  __pyx_builtin_print = __Pyx_GetBuiltinName(__pyx_n_s_print); if (!__pyx_builtin_print) __PYX_ERR(1, 74, __pyx_L1_error)
8243  __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(1, 173, __pyx_L1_error)
8244  __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(1, 182, __pyx_L1_error)
8245  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(2, 272, __pyx_L1_error)
8246  __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(2, 856, __pyx_L1_error)
8247  __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(2, 1038, __pyx_L1_error)
8248  return 0;
8249  __pyx_L1_error:;
8250  return -1;
8251 }
8252 
8253 static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
8254  __Pyx_RefNannyDeclarations
8255  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
8256 
8257  /* "(tree fragment)":2
8258  * def __reduce_cython__(self):
8259  * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<<
8260  * def __setstate_cython__(self, __pyx_state):
8261  * raise TypeError("no default __reduce__ due to non-trivial __cinit__")
8262  */
8263  __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 2, __pyx_L1_error)
8264  __Pyx_GOTREF(__pyx_tuple_);
8265  __Pyx_GIVEREF(__pyx_tuple_);
8266 
8267  /* "(tree fragment)":4
8268  * raise TypeError("no default __reduce__ due to non-trivial __cinit__")
8269  * def __setstate_cython__(self, __pyx_state):
8270  * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<<
8271  */
8272  __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 4, __pyx_L1_error)
8273  __Pyx_GOTREF(__pyx_tuple__2);
8274  __Pyx_GIVEREF(__pyx_tuple__2);
8275 
8276  /* "pynastran_io.pyx":173
8277  * if "offset" in element.object_attributes():
8278  * if element.offset!=0:
8279  * raise NotImplementedError("Support of non-zero offsets not yet implemented!") # <<<<<<<<<<<<<<
8280  * if "zoffset" in element.object_attributes():
8281  * if element.zoffset!=0:
8282  */
8283  __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_Support_of_non_zero_offsets_not); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 173, __pyx_L1_error)
8284  __Pyx_GOTREF(__pyx_tuple__5);
8285  __Pyx_GIVEREF(__pyx_tuple__5);
8286 
8287  /* "pynastran_io.pyx":176
8288  * if "zoffset" in element.object_attributes():
8289  * if element.zoffset!=0:
8290  * raise NotImplementedError("Support of non-zero offets not yet implemented!") # <<<<<<<<<<<<<<
8291  * nElemNodes = len(element.nodes)
8292  * elemType = (element.type + "_%i"%(nElemNodes)).encode('utf-8')
8293  */
8294  __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_u_Support_of_non_zero_offets_not_y); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 176, __pyx_L1_error)
8295  __Pyx_GOTREF(__pyx_tuple__6);
8296  __Pyx_GIVEREF(__pyx_tuple__6);
8297 
8298  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
8299  * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
8300  * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
8301  * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<<
8302  *
8303  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
8304  */
8305  __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(2, 272, __pyx_L1_error)
8306  __Pyx_GOTREF(__pyx_tuple__7);
8307  __Pyx_GIVEREF(__pyx_tuple__7);
8308 
8309  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
8310  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
8311  * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
8312  * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<<
8313  *
8314  * info.buf = PyArray_DATA(self)
8315  */
8316  __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(2, 276, __pyx_L1_error)
8317  __Pyx_GOTREF(__pyx_tuple__8);
8318  __Pyx_GIVEREF(__pyx_tuple__8);
8319 
8320  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":306
8321  * if ((descr.byteorder == c'>' and little_endian) or
8322  * (descr.byteorder == c'<' and not little_endian)):
8323  * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
8324  * if t == NPY_BYTE: f = "b"
8325  * elif t == NPY_UBYTE: f = "B"
8326  */
8327  __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(2, 306, __pyx_L1_error)
8328  __Pyx_GOTREF(__pyx_tuple__9);
8329  __Pyx_GIVEREF(__pyx_tuple__9);
8330 
8331  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":856
8332  *
8333  * if (end - f) - <int>(new_offset - offset[0]) < 15:
8334  * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<<
8335  *
8336  * if ((child.byteorder == c'>' and little_endian) or
8337  */
8338  __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(2, 856, __pyx_L1_error)
8339  __Pyx_GOTREF(__pyx_tuple__10);
8340  __Pyx_GIVEREF(__pyx_tuple__10);
8341 
8342  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":880
8343  * t = child.type_num
8344  * if end - f < 5:
8345  * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<<
8346  *
8347  * # Until ticket #99 is fixed, use integers to avoid warnings
8348  */
8349  __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(2, 880, __pyx_L1_error)
8350  __Pyx_GOTREF(__pyx_tuple__11);
8351  __Pyx_GIVEREF(__pyx_tuple__11);
8352 
8353  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1038
8354  * _import_array()
8355  * except Exception:
8356  * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<<
8357  *
8358  * cdef inline int import_umath() except -1:
8359  */
8360  __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_u_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(2, 1038, __pyx_L1_error)
8361  __Pyx_GOTREF(__pyx_tuple__12);
8362  __Pyx_GIVEREF(__pyx_tuple__12);
8363 
8364  /* "../../../spack-mstc/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.4-hh7odiqwzpw2nnfdcfzjxvb3ggyzwvfk/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1044
8365  * _import_umath()
8366  * except Exception:
8367  * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<<
8368  *
8369  * cdef inline int import_ufunc() except -1:
8370  */
8371  __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_u_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(2, 1044, __pyx_L1_error)
8372  __Pyx_GOTREF(__pyx_tuple__13);
8373  __Pyx_GIVEREF(__pyx_tuple__13);
8374  __Pyx_RefNannyFinishContext();
8375  return 0;
8376  __pyx_L1_error:;
8377  __Pyx_RefNannyFinishContext();
8378  return -1;
8379 }
8380 
8381 static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
8382  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(1, 1, __pyx_L1_error);
8383  __pyx_float_0_0 = PyFloat_FromDouble(0.0); if (unlikely(!__pyx_float_0_0)) __PYX_ERR(1, 1, __pyx_L1_error)
8384  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(1, 1, __pyx_L1_error)
8385  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(1, 1, __pyx_L1_error)
8386  return 0;
8387  __pyx_L1_error:;
8388  return -1;
8389 }
8390 
8391 static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
8392 static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
8393 static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
8394 static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
8395 static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
8396 static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
8397 static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/
8398 
8399 static int __Pyx_modinit_global_init_code(void) {
8400  __Pyx_RefNannyDeclarations
8401  __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
8402  /*--- Global init code ---*/
8403  __Pyx_RefNannyFinishContext();
8404  return 0;
8405 }
8406 
8407 static int __Pyx_modinit_variable_export_code(void) {
8408  __Pyx_RefNannyDeclarations
8409  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
8410  /*--- Variable export code ---*/
8411  __Pyx_RefNannyFinishContext();
8412  return 0;
8413 }
8414 
8415 static int __Pyx_modinit_function_export_code(void) {
8416  __Pyx_RefNannyDeclarations
8417  __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
8418  /*--- Function export code ---*/
8419  __Pyx_RefNannyFinishContext();
8420  return 0;
8421 }
8422 
8423 static int __Pyx_modinit_type_init_code(void) {
8424  __Pyx_RefNannyDeclarations
8425  __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
8426  /*--- Type init code ---*/
8427  if (PyType_Ready(&BDFModelType) < 0) __PYX_ERR(1, 33, __pyx_L1_error)
8428  #if PY_VERSION_HEX < 0x030800B1
8429  BDFModelType.tp_print = 0;
8430  #endif
8431  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!BDFModelType.tp_dictoffset && BDFModelType.tp_getattro == PyObject_GenericGetAttr)) {
8432  BDFModelType.tp_getattro = __Pyx_PyObject_GenericGetAttr;
8433  }
8434  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BDFModel, (PyObject *)&BDFModelType) < 0) __PYX_ERR(1, 33, __pyx_L1_error)
8435  if (__Pyx_setup_reduce((PyObject*)&BDFModelType) < 0) __PYX_ERR(1, 33, __pyx_L1_error)
8436  __pyx_ptype_12pynastran_io_BDFModel = &BDFModelType;
8437  __Pyx_RefNannyFinishContext();
8438  return 0;
8439  __pyx_L1_error:;
8440  __Pyx_RefNannyFinishContext();
8441  return -1;
8442 }
8443 
8444 static int __Pyx_modinit_type_import_code(void) {
8445  __Pyx_RefNannyDeclarations
8446  PyObject *__pyx_t_1 = NULL;
8447  __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
8448  /*--- Type import code ---*/
8449  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9, __pyx_L1_error)
8450  __Pyx_GOTREF(__pyx_t_1);
8451  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
8452  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
8453  sizeof(PyTypeObject),
8454  #else
8455  sizeof(PyHeapTypeObject),
8456  #endif
8457  __Pyx_ImportType_CheckSize_Warn);
8458  if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(3, 9, __pyx_L1_error)
8459  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8460  __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 206, __pyx_L1_error)
8461  __Pyx_GOTREF(__pyx_t_1);
8462  __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore);
8463  if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(2, 206, __pyx_L1_error)
8464  __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Warn);
8465  if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(2, 229, __pyx_L1_error)
8466  __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Warn);
8467  if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(2, 233, __pyx_L1_error)
8468  __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore);
8469  if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(2, 242, __pyx_L1_error)
8470  __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Warn);
8471  if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(2, 918, __pyx_L1_error)
8472  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8473  __Pyx_RefNannyFinishContext();
8474  return 0;
8475  __pyx_L1_error:;
8476  __Pyx_XDECREF(__pyx_t_1);
8477  __Pyx_RefNannyFinishContext();
8478  return -1;
8479 }
8480 
8481 static int __Pyx_modinit_variable_import_code(void) {
8482  __Pyx_RefNannyDeclarations
8483  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
8484  /*--- Variable import code ---*/
8485  __Pyx_RefNannyFinishContext();
8486  return 0;
8487 }
8488 
8489 static int __Pyx_modinit_function_import_code(void) {
8490  __Pyx_RefNannyDeclarations
8491  __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
8492  /*--- Function import code ---*/
8493  __Pyx_RefNannyFinishContext();
8494  return 0;
8495 }
8496 
8497 
8498 #if PY_MAJOR_VERSION < 3
8499 #ifdef CYTHON_NO_PYINIT_EXPORT
8500 #define __Pyx_PyMODINIT_FUNC void
8501 #else
8502 #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
8503 #endif
8504 #else
8505 #ifdef CYTHON_NO_PYINIT_EXPORT
8506 #define __Pyx_PyMODINIT_FUNC PyObject *
8507 #else
8508 #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
8509 #endif
8510 #endif
8511 
8512 
8513 #if PY_MAJOR_VERSION < 3
8514 __Pyx_PyMODINIT_FUNC initpynastran_io(void) CYTHON_SMALL_CODE; /*proto*/
8515 __Pyx_PyMODINIT_FUNC initpynastran_io(void)
8516 #else
8517 __Pyx_PyMODINIT_FUNC PyInit_pynastran_io(void) CYTHON_SMALL_CODE; /*proto*/
8518 __Pyx_PyMODINIT_FUNC PyInit_pynastran_io(void)
8519 #if CYTHON_PEP489_MULTI_PHASE_INIT
8520 {
8521  return PyModuleDef_Init(&__pyx_moduledef);
8522 }
8523 static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
8524  #if PY_VERSION_HEX >= 0x030700A1
8525  static PY_INT64_T main_interpreter_id = -1;
8526  PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
8527  if (main_interpreter_id == -1) {
8528  main_interpreter_id = current_id;
8529  return (unlikely(current_id == -1)) ? -1 : 0;
8530  } else if (unlikely(main_interpreter_id != current_id))
8531  #else
8532  static PyInterpreterState *main_interpreter = NULL;
8533  PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
8534  if (!main_interpreter) {
8535  main_interpreter = current_interpreter;
8536  } else if (unlikely(main_interpreter != current_interpreter))
8537  #endif
8538  {
8539  PyErr_SetString(
8540  PyExc_ImportError,
8541  "Interpreter change detected - this module can only be loaded into one interpreter per process.");
8542  return -1;
8543  }
8544  return 0;
8545 }
8546 static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) {
8547  PyObject *value = PyObject_GetAttrString(spec, from_name);
8548  int result = 0;
8549  if (likely(value)) {
8550  if (allow_none || value != Py_None) {
8551  result = PyDict_SetItemString(moddict, to_name, value);
8552  }
8553  Py_DECREF(value);
8554  } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
8555  PyErr_Clear();
8556  } else {
8557  result = -1;
8558  }
8559  return result;
8560 }
8561 static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {
8562  PyObject *module = NULL, *moddict, *modname;
8563  if (__Pyx_check_single_interpreter())
8564  return NULL;
8565  if (__pyx_m)
8566  return __Pyx_NewRef(__pyx_m);
8567  modname = PyObject_GetAttrString(spec, "name");
8568  if (unlikely(!modname)) goto bad;
8569  module = PyModule_NewObject(modname);
8570  Py_DECREF(modname);
8571  if (unlikely(!module)) goto bad;
8572  moddict = PyModule_GetDict(module);
8573  if (unlikely(!moddict)) goto bad;
8574  if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
8575  if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
8576  if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
8577  if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
8578  return module;
8579 bad:
8580  Py_XDECREF(module);
8581  return NULL;
8582 }
8583 
8584 
8585 static CYTHON_SMALL_CODE int __pyx_pymod_exec_pynastran_io(PyObject *__pyx_pyinit_module)
8586 #endif
8587 #endif
8588 {
8589  PyObject *__pyx_t_1 = NULL;
8590  PyObject *__pyx_t_2 = NULL;
8591  __Pyx_RefNannyDeclarations
8592  #if CYTHON_PEP489_MULTI_PHASE_INIT
8593  if (__pyx_m) {
8594  if (__pyx_m == __pyx_pyinit_module) return 0;
8595  PyErr_SetString(PyExc_RuntimeError, "Module 'pynastran_io' has already been imported. Re-initialisation is not supported.");
8596  return -1;
8597  }
8598  #elif PY_MAJOR_VERSION >= 3
8599  if (__pyx_m) return __Pyx_NewRef(__pyx_m);
8600  #endif
8601  #if CYTHON_REFNANNY
8602 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
8603 if (!__Pyx_RefNanny) {
8604  PyErr_Clear();
8605  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
8606  if (!__Pyx_RefNanny)
8607  Py_FatalError("failed to import 'refnanny' module");
8608 }
8609 #endif
8610  __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_pynastran_io(void)", 0);
8611  if (__Pyx_check_binary_version() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
8612  #ifdef __Pxy_PyFrame_Initialize_Offsets
8613  __Pxy_PyFrame_Initialize_Offsets();
8614  #endif
8615  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(1, 1, __pyx_L1_error)
8616  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(1, 1, __pyx_L1_error)
8617  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(1, 1, __pyx_L1_error)
8618  #ifdef __Pyx_CyFunction_USED
8619  if (__pyx_CyFunction_init() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
8620  #endif
8621  #ifdef __Pyx_FusedFunction_USED
8622  if (__pyx_FusedFunction_init() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
8623  #endif
8624  #ifdef __Pyx_Coroutine_USED
8625  if (__pyx_Coroutine_init() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
8626  #endif
8627  #ifdef __Pyx_Generator_USED
8628  if (__pyx_Generator_init() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
8629  #endif
8630  #ifdef __Pyx_AsyncGen_USED
8631  if (__pyx_AsyncGen_init() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
8632  #endif
8633  #ifdef __Pyx_StopAsyncIteration_USED
8634  if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
8635  #endif
8636  /*--- Library function declarations ---*/
8637  /*--- Threads initialization code ---*/
8638  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
8639  #ifdef WITH_THREAD /* Python build with threading support? */
8640  PyEval_InitThreads();
8641  #endif
8642  #endif
8643  /*--- Module creation code ---*/
8644  #if CYTHON_PEP489_MULTI_PHASE_INIT
8645  __pyx_m = __pyx_pyinit_module;
8646  Py_INCREF(__pyx_m);
8647  #else
8648  #if PY_MAJOR_VERSION < 3
8649  __pyx_m = Py_InitModule4("pynastran_io", __pyx_methods, __pyx_k_pyNASTRAN_Notes_Dependencies_cp, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
8650  #else
8651  __pyx_m = PyModule_Create(&__pyx_moduledef);
8652  #endif
8653  if (unlikely(!__pyx_m)) __PYX_ERR(1, 1, __pyx_L1_error)
8654  #endif
8655  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(1, 1, __pyx_L1_error)
8656  Py_INCREF(__pyx_d);
8657  __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(1, 1, __pyx_L1_error)
8658  Py_INCREF(__pyx_b);
8659  __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(1, 1, __pyx_L1_error)
8660  Py_INCREF(__pyx_cython_runtime);
8661  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(1, 1, __pyx_L1_error);
8662  /*--- Initialize various global constants etc. ---*/
8663  if (__Pyx_InitGlobals() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
8664  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
8665  if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
8666  #endif
8667  if (__pyx_module_is_main_pynastran_io) {
8668  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
8669  }
8670  #if PY_MAJOR_VERSION >= 3
8671  {
8672  PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(1, 1, __pyx_L1_error)
8673  if (!PyDict_GetItemString(modules, "pynastran_io")) {
8674  if (unlikely(PyDict_SetItemString(modules, "pynastran_io", __pyx_m) < 0)) __PYX_ERR(1, 1, __pyx_L1_error)
8675  }
8676  }
8677  #endif
8678  /*--- Builtin init code ---*/
8679  if (__Pyx_InitCachedBuiltins() < 0) goto __pyx_L1_error;
8680  /*--- Constants init code ---*/
8681  if (__Pyx_InitCachedConstants() < 0) goto __pyx_L1_error;
8682  /*--- Global type/function init code ---*/
8683  (void)__Pyx_modinit_global_init_code();
8684  (void)__Pyx_modinit_variable_export_code();
8685  (void)__Pyx_modinit_function_export_code();
8686  if (unlikely(__Pyx_modinit_type_init_code() != 0)) goto __pyx_L1_error;
8687  if (unlikely(__Pyx_modinit_type_import_code() != 0)) goto __pyx_L1_error;
8688  (void)__Pyx_modinit_variable_import_code();
8689  (void)__Pyx_modinit_function_import_code();
8690  /*--- Execution code ---*/
8691  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
8692  if (__Pyx_patch_abc() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
8693  #endif
8694 
8695  /* "pynastran_io.pyx":12
8696  *
8697  * # pyNastran Imports
8698  * from pyNastran.bdf.bdf import BDF # <<<<<<<<<<<<<<
8699  *
8700  * # Standard C++ Imports
8701  */
8702  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
8703  __Pyx_GOTREF(__pyx_t_1);
8704  __Pyx_INCREF(__pyx_n_s_BDF);
8705  __Pyx_GIVEREF(__pyx_n_s_BDF);
8706  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_BDF);
8707  __pyx_t_2 = __Pyx_Import(__pyx_n_s_pyNastran_bdf_bdf, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12, __pyx_L1_error)
8708  __Pyx_GOTREF(__pyx_t_2);
8709  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8710  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_BDF); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
8711  __Pyx_GOTREF(__pyx_t_1);
8712  if (PyDict_SetItem(__pyx_d, __pyx_n_s_BDF, __pyx_t_1) < 0) __PYX_ERR(1, 12, __pyx_L1_error)
8713  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8714  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8715 
8716  /* "pynastran_io.pyx":24
8717  * # Cython Imports
8718  * from cython.operator import dereference, postincrement
8719  * from warnings import warn # <<<<<<<<<<<<<<
8720  *
8721  * # Setup Numpy Usage
8722  */
8723  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24, __pyx_L1_error)
8724  __Pyx_GOTREF(__pyx_t_2);
8725  __Pyx_INCREF(__pyx_n_s_warn);
8726  __Pyx_GIVEREF(__pyx_n_s_warn);
8727  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_warn);
8728  __pyx_t_1 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24, __pyx_L1_error)
8729  __Pyx_GOTREF(__pyx_t_1);
8730  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8731  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_warn); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24, __pyx_L1_error)
8732  __Pyx_GOTREF(__pyx_t_2);
8733  if (PyDict_SetItem(__pyx_d, __pyx_n_s_warn, __pyx_t_2) < 0) __PYX_ERR(1, 24, __pyx_L1_error)
8734  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8735  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8736 
8737  /* "pynastran_io.pyx":27
8738  *
8739  * # Setup Numpy Usage
8740  * import numpy as np # <<<<<<<<<<<<<<
8741  * cimport numpy as np
8742  * DTYPE = np.float
8743  */
8744  __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27, __pyx_L1_error)
8745  __Pyx_GOTREF(__pyx_t_1);
8746  if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(1, 27, __pyx_L1_error)
8747  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8748 
8749  /* "pynastran_io.pyx":29
8750  * import numpy as np
8751  * cimport numpy as np
8752  * DTYPE = np.float # <<<<<<<<<<<<<<
8753  * ctypedef np.float_t DTYPE_t
8754  *
8755  */
8756  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29, __pyx_L1_error)
8757  __Pyx_GOTREF(__pyx_t_1);
8758  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29, __pyx_L1_error)
8759  __Pyx_GOTREF(__pyx_t_2);
8760  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8761  if (PyDict_SetItem(__pyx_d, __pyx_n_s_DTYPE, __pyx_t_2) < 0) __PYX_ERR(1, 29, __pyx_L1_error)
8762  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8763 
8764  /* "pynastran_io.pyx":1
8765  * # distutils: language = c++ # <<<<<<<<<<<<<<
8766  * # ^^^ This line above is read by setup.py and lets it know to compile the
8767  * # program as C++ instead of the default, C.
8768  */
8769  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
8770  __Pyx_GOTREF(__pyx_t_2);
8771  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
8772  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8773 
8774  /* "vector.from_py":45
8775  *
8776  * @cname("__pyx_convert_vector_from_py_int")
8777  * cdef vector[X] __pyx_convert_vector_from_py_int(object o) except *: # <<<<<<<<<<<<<<
8778  * cdef vector[X] v
8779  * for item in o:
8780  */
8781 
8782  /*--- Wrapped vars code ---*/
8783 
8784  goto __pyx_L0;
8785  __pyx_L1_error:;
8786  __Pyx_XDECREF(__pyx_t_1);
8787  __Pyx_XDECREF(__pyx_t_2);
8788  if (__pyx_m) {
8789  if (__pyx_d) {
8790  __Pyx_AddTraceback("init pynastran_io", __pyx_clineno, __pyx_lineno, __pyx_filename);
8791  }
8792  Py_CLEAR(__pyx_m);
8793  } else if (!PyErr_Occurred()) {
8794  PyErr_SetString(PyExc_ImportError, "init pynastran_io");
8795  }
8796  __pyx_L0:;
8797  __Pyx_RefNannyFinishContext();
8798  #if CYTHON_PEP489_MULTI_PHASE_INIT
8799  return (__pyx_m != NULL) ? 0 : -1;
8800  #elif PY_MAJOR_VERSION >= 3
8801  return __pyx_m;
8802  #else
8803  return;
8804  #endif
8805 }
8806 
8807 /* --- Runtime support code --- */
8808 /* Refnanny */
8809 #if CYTHON_REFNANNY
8810 static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
8811  PyObject *m = NULL, *p = NULL;
8812  void *r = NULL;
8813  m = PyImport_ImportModule(modname);
8814  if (!m) goto end;
8815  p = PyObject_GetAttrString(m, "RefNannyAPI");
8816  if (!p) goto end;
8817  r = PyLong_AsVoidPtr(p);
8818 end:
8819  Py_XDECREF(p);
8820  Py_XDECREF(m);
8821  return (__Pyx_RefNannyAPIStruct *)r;
8822 }
8823 #endif
8824 
8825 /* PyObjectGetAttrStr */
8826 #if CYTHON_USE_TYPE_SLOTS
8827 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
8828  PyTypeObject* tp = Py_TYPE(obj);
8829  if (likely(tp->tp_getattro))
8830  return tp->tp_getattro(obj, attr_name);
8831 #if PY_MAJOR_VERSION < 3
8832  if (likely(tp->tp_getattr))
8833  return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
8834 #endif
8835  return PyObject_GetAttr(obj, attr_name);
8836 }
8837 #endif
8838 
8839 /* GetBuiltinName */
8840 static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
8841  PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
8842  if (unlikely(!result)) {
8843  PyErr_Format(PyExc_NameError,
8844 #if PY_MAJOR_VERSION >= 3
8845  "name '%U' is not defined", name);
8846 #else
8847  "name '%.200s' is not defined", PyString_AS_STRING(name));
8848 #endif
8849  }
8850  return result;
8851 }
8852 
8853 /* RaiseDoubleKeywords */
8854 static void __Pyx_RaiseDoubleKeywordsError(
8855  const char* func_name,
8856  PyObject* kw_name)
8857 {
8858  PyErr_Format(PyExc_TypeError,
8859  #if PY_MAJOR_VERSION >= 3
8860  "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
8861  #else
8862  "%s() got multiple values for keyword argument '%s'", func_name,
8863  PyString_AsString(kw_name));
8864  #endif
8865 }
8866 
8867 /* ParseKeywords */
8868 static int __Pyx_ParseOptionalKeywords(
8869  PyObject *kwds,
8870  PyObject **argnames[],
8871  PyObject *kwds2,
8872  PyObject *values[],
8873  Py_ssize_t num_pos_args,
8874  const char* function_name)
8875 {
8876  PyObject *key = 0, *value = 0;
8877  Py_ssize_t pos = 0;
8878  PyObject*** name;
8879  PyObject*** first_kw_arg = argnames + num_pos_args;
8880  while (PyDict_Next(kwds, &pos, &key, &value)) {
8881  name = first_kw_arg;
8882  while (*name && (**name != key)) name++;
8883  if (*name) {
8884  values[name-argnames] = value;
8885  continue;
8886  }
8887  name = first_kw_arg;
8888  #if PY_MAJOR_VERSION < 3
8889  if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
8890  while (*name) {
8891  if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
8892  && _PyString_Eq(**name, key)) {
8893  values[name-argnames] = value;
8894  break;
8895  }
8896  name++;
8897  }
8898  if (*name) continue;
8899  else {
8900  PyObject*** argname = argnames;
8901  while (argname != first_kw_arg) {
8902  if ((**argname == key) || (
8903  (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
8904  && _PyString_Eq(**argname, key))) {
8905  goto arg_passed_twice;
8906  }
8907  argname++;
8908  }
8909  }
8910  } else
8911  #endif
8912  if (likely(PyUnicode_Check(key))) {
8913  while (*name) {
8914  int cmp = (**name == key) ? 0 :
8915  #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
8916  (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
8917  #endif
8918  PyUnicode_Compare(**name, key);
8919  if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
8920  if (cmp == 0) {
8921  values[name-argnames] = value;
8922  break;
8923  }
8924  name++;
8925  }
8926  if (*name) continue;
8927  else {
8928  PyObject*** argname = argnames;
8929  while (argname != first_kw_arg) {
8930  int cmp = (**argname == key) ? 0 :
8931  #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
8932  (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
8933  #endif
8934  PyUnicode_Compare(**argname, key);
8935  if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
8936  if (cmp == 0) goto arg_passed_twice;
8937  argname++;
8938  }
8939  }
8940  } else
8941  goto invalid_keyword_type;
8942  if (kwds2) {
8943  if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
8944  } else {
8945  goto invalid_keyword;
8946  }
8947  }
8948  return 0;
8949 arg_passed_twice:
8950  __Pyx_RaiseDoubleKeywordsError(function_name, key);
8951  goto bad;
8952 invalid_keyword_type:
8953  PyErr_Format(PyExc_TypeError,
8954  "%.200s() keywords must be strings", function_name);
8955  goto bad;
8956 invalid_keyword:
8957  PyErr_Format(PyExc_TypeError,
8958  #if PY_MAJOR_VERSION < 3
8959  "%.200s() got an unexpected keyword argument '%.200s'",
8960  function_name, PyString_AsString(key));
8961  #else
8962  "%s() got an unexpected keyword argument '%U'",
8963  function_name, key);
8964  #endif
8965 bad:
8966  return -1;
8967 }
8968 
8969 /* RaiseArgTupleInvalid */
8970 static void __Pyx_RaiseArgtupleInvalid(
8971  const char* func_name,
8972  int exact,
8973  Py_ssize_t num_min,
8974  Py_ssize_t num_max,
8975  Py_ssize_t num_found)
8976 {
8977  Py_ssize_t num_expected;
8978  const char *more_or_less;
8979  if (num_found < num_min) {
8980  num_expected = num_min;
8981  more_or_less = "at least";
8982  } else {
8983  num_expected = num_max;
8984  more_or_less = "at most";
8985  }
8986  if (exact) {
8987  more_or_less = "exactly";
8988  }
8989  PyErr_Format(PyExc_TypeError,
8990  "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
8991  func_name, more_or_less, num_expected,
8992  (num_expected == 1) ? "" : "s", num_found);
8993 }
8994 
8995 /* PyDictVersioning */
8996 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
8997 static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
8998  PyObject *dict = Py_TYPE(obj)->tp_dict;
8999  return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
9000 }
9001 static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
9002  PyObject **dictptr = NULL;
9003  Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
9004  if (offset) {
9005 #if CYTHON_COMPILING_IN_CPYTHON
9006  dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
9007 #else
9008  dictptr = _PyObject_GetDictPtr(obj);
9009 #endif
9010  }
9011  return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
9012 }
9013 static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
9014  PyObject *dict = Py_TYPE(obj)->tp_dict;
9015  if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
9016  return 0;
9017  return obj_dict_version == __Pyx_get_object_dict_version(obj);
9018 }
9019 #endif
9020 
9021 /* GetModuleGlobalName */
9022 #if CYTHON_USE_DICT_VERSIONS
9023 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
9024 #else
9025 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
9026 #endif
9027 {
9028  PyObject *result;
9029 #if !CYTHON_AVOID_BORROWED_REFS
9030 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
9031  result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
9032  __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
9033  if (likely(result)) {
9034  return __Pyx_NewRef(result);
9035  } else if (unlikely(PyErr_Occurred())) {
9036  return NULL;
9037  }
9038 #else
9039  result = PyDict_GetItem(__pyx_d, name);
9040  __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
9041  if (likely(result)) {
9042  return __Pyx_NewRef(result);
9043  }
9044 #endif
9045 #else
9046  result = PyObject_GetItem(__pyx_d, name);
9047  __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
9048  if (likely(result)) {
9049  return __Pyx_NewRef(result);
9050  }
9051  PyErr_Clear();
9052 #endif
9053  return __Pyx_GetBuiltinName(name);
9054 }
9055 
9056 /* PyFunctionFastCall */
9057 #if CYTHON_FAST_PYCALL
9058 static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
9059  PyObject *globals) {
9060  PyFrameObject *f;
9061  PyThreadState *tstate = __Pyx_PyThreadState_Current;
9062  PyObject **fastlocals;
9063  Py_ssize_t i;
9064  PyObject *result;
9065  assert(globals != NULL);
9066  /* XXX Perhaps we should create a specialized
9067  PyFrame_New() that doesn't take locals, but does
9068  take builtins without sanity checking them.
9069  */
9070  assert(tstate != NULL);
9071  f = PyFrame_New(tstate, co, globals, NULL);
9072  if (f == NULL) {
9073  return NULL;
9074  }
9075  fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
9076  for (i = 0; i < na; i++) {
9077  Py_INCREF(*args);
9078  fastlocals[i] = *args++;
9079  }
9080  result = PyEval_EvalFrameEx(f,0);
9081  ++tstate->recursion_depth;
9082  Py_DECREF(f);
9083  --tstate->recursion_depth;
9084  return result;
9085 }
9086 #if 1 || PY_VERSION_HEX < 0x030600B1
9087 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {
9088  PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
9089  PyObject *globals = PyFunction_GET_GLOBALS(func);
9090  PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
9091  PyObject *closure;
9092 #if PY_MAJOR_VERSION >= 3
9093  PyObject *kwdefs;
9094 #endif
9095  PyObject *kwtuple, **k;
9096  PyObject **d;
9097  Py_ssize_t nd;
9098  Py_ssize_t nk;
9099  PyObject *result;
9100  assert(kwargs == NULL || PyDict_Check(kwargs));
9101  nk = kwargs ? PyDict_Size(kwargs) : 0;
9102  if (Py_EnterRecursiveCall((char*)" while calling a Python object")) {
9103  return NULL;
9104  }
9105  if (
9106 #if PY_MAJOR_VERSION >= 3
9107  co->co_kwonlyargcount == 0 &&
9108 #endif
9109  likely(kwargs == NULL || nk == 0) &&
9110  co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
9111  if (argdefs == NULL && co->co_argcount == nargs) {
9112  result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
9113  goto done;
9114  }
9115  else if (nargs == 0 && argdefs != NULL
9116  && co->co_argcount == Py_SIZE(argdefs)) {
9117  /* function called with no arguments, but all parameters have
9118  a default value: use default values as arguments .*/
9119  args = &PyTuple_GET_ITEM(argdefs, 0);
9120  result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
9121  goto done;
9122  }
9123  }
9124  if (kwargs != NULL) {
9125  Py_ssize_t pos, i;
9126  kwtuple = PyTuple_New(2 * nk);
9127  if (kwtuple == NULL) {
9128  result = NULL;
9129  goto done;
9130  }
9131  k = &PyTuple_GET_ITEM(kwtuple, 0);
9132  pos = i = 0;
9133  while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
9134  Py_INCREF(k[i]);
9135  Py_INCREF(k[i+1]);
9136  i += 2;
9137  }
9138  nk = i / 2;
9139  }
9140  else {
9141  kwtuple = NULL;
9142  k = NULL;
9143  }
9144  closure = PyFunction_GET_CLOSURE(func);
9145 #if PY_MAJOR_VERSION >= 3
9146  kwdefs = PyFunction_GET_KW_DEFAULTS(func);
9147 #endif
9148  if (argdefs != NULL) {
9149  d = &PyTuple_GET_ITEM(argdefs, 0);
9150  nd = Py_SIZE(argdefs);
9151  }
9152  else {
9153  d = NULL;
9154  nd = 0;
9155  }
9156 #if PY_MAJOR_VERSION >= 3
9157  result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
9158  args, (int)nargs,
9159  k, (int)nk,
9160  d, (int)nd, kwdefs, closure);
9161 #else
9162  result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
9163  args, (int)nargs,
9164  k, (int)nk,
9165  d, (int)nd, closure);
9166 #endif
9167  Py_XDECREF(kwtuple);
9168 done:
9169  Py_LeaveRecursiveCall();
9170  return result;
9171 }
9172 #endif
9173 #endif
9174 
9175 /* PyObjectCall */
9176 #if CYTHON_COMPILING_IN_CPYTHON
9177 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
9178  PyObject *result;
9179  ternaryfunc call = func->ob_type->tp_call;
9180  if (unlikely(!call))
9181  return PyObject_Call(func, arg, kw);
9182  if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
9183  return NULL;
9184  result = (*call)(func, arg, kw);
9185  Py_LeaveRecursiveCall();
9186  if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
9187  PyErr_SetString(
9188  PyExc_SystemError,
9189  "NULL result without error in PyObject_Call");
9190  }
9191  return result;
9192 }
9193 #endif
9194 
9195 /* PyObjectCallMethO */
9196 #if CYTHON_COMPILING_IN_CPYTHON
9197 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
9198  PyObject *self, *result;
9199  PyCFunction cfunc;
9200  cfunc = PyCFunction_GET_FUNCTION(func);
9201  self = PyCFunction_GET_SELF(func);
9202  if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
9203  return NULL;
9204  result = cfunc(self, arg);
9205  Py_LeaveRecursiveCall();
9206  if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
9207  PyErr_SetString(
9208  PyExc_SystemError,
9209  "NULL result without error in PyObject_Call");
9210  }
9211  return result;
9212 }
9213 #endif
9214 
9215 /* PyObjectCallNoArg */
9216 #if CYTHON_COMPILING_IN_CPYTHON
9217 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
9218 #if CYTHON_FAST_PYCALL
9219  if (PyFunction_Check(func)) {
9220  return __Pyx_PyFunction_FastCall(func, NULL, 0);
9221  }
9222 #endif
9223 #ifdef __Pyx_CyFunction_USED
9224  if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
9225 #else
9226  if (likely(PyCFunction_Check(func)))
9227 #endif
9228  {
9229  if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
9230  return __Pyx_PyObject_CallMethO(func, NULL);
9231  }
9232  }
9233  return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
9234 }
9235 #endif
9236 
9237 /* PyCFunctionFastCall */
9238 #if CYTHON_FAST_PYCCALL
9239 static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
9240  PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
9241  PyCFunction meth = PyCFunction_GET_FUNCTION(func);
9242  PyObject *self = PyCFunction_GET_SELF(func);
9243  int flags = PyCFunction_GET_FLAGS(func);
9244  assert(PyCFunction_Check(func));
9245  assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
9246  assert(nargs >= 0);
9247  assert(nargs == 0 || args != NULL);
9248  /* _PyCFunction_FastCallDict() must not be called with an exception set,
9249  because it may clear it (directly or indirectly) and so the
9250  caller loses its exception */
9251  assert(!PyErr_Occurred());
9252  if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
9253  return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
9254  } else {
9255  return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
9256  }
9257 }
9258 #endif
9259 
9260 /* PyObjectCallOneArg */
9261 #if CYTHON_COMPILING_IN_CPYTHON
9262 static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
9263  PyObject *result;
9264  PyObject *args = PyTuple_New(1);
9265  if (unlikely(!args)) return NULL;
9266  Py_INCREF(arg);
9267  PyTuple_SET_ITEM(args, 0, arg);
9268  result = __Pyx_PyObject_Call(func, args, NULL);
9269  Py_DECREF(args);
9270  return result;
9271 }
9272 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
9273 #if CYTHON_FAST_PYCALL
9274  if (PyFunction_Check(func)) {
9275  return __Pyx_PyFunction_FastCall(func, &arg, 1);
9276  }
9277 #endif
9278  if (likely(PyCFunction_Check(func))) {
9279  if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
9280  return __Pyx_PyObject_CallMethO(func, arg);
9281 #if CYTHON_FAST_PYCCALL
9282  } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) {
9283  return __Pyx_PyCFunction_FastCall(func, &arg, 1);
9284 #endif
9285  }
9286  }
9287  return __Pyx__PyObject_CallOneArg(func, arg);
9288 }
9289 #else
9290 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
9291  PyObject *result;
9292  PyObject *args = PyTuple_Pack(1, arg);
9293  if (unlikely(!args)) return NULL;
9294  result = __Pyx_PyObject_Call(func, args, NULL);
9295  Py_DECREF(args);
9296  return result;
9297 }
9298 #endif
9299 
9300 /* decode_c_bytes */
9301 static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(
9302  const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop,
9303  const char* encoding, const char* errors,
9304  PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) {
9305  if (unlikely((start < 0) | (stop < 0))) {
9306  if (start < 0) {
9307  start += length;
9308  if (start < 0)
9309  start = 0;
9310  }
9311  if (stop < 0)
9312  stop += length;
9313  }
9314  if (stop > length)
9315  stop = length;
9316  length = stop - start;
9317  if (unlikely(length <= 0))
9318  return PyUnicode_FromUnicode(NULL, 0);
9319  cstring += start;
9320  if (decode_func) {
9321  return decode_func(cstring, length, errors);
9322  } else {
9323  return PyUnicode_Decode(cstring, length, encoding, errors);
9324  }
9325 }
9326 
9327 /* PyObjectCall2Args */
9328 static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
9329  PyObject *args, *result = NULL;
9330  #if CYTHON_FAST_PYCALL
9331  if (PyFunction_Check(function)) {
9332  PyObject *args[2] = {arg1, arg2};
9333  return __Pyx_PyFunction_FastCall(function, args, 2);
9334  }
9335  #endif
9336  #if CYTHON_FAST_PYCCALL
9337  if (__Pyx_PyFastCFunction_Check(function)) {
9338  PyObject *args[2] = {arg1, arg2};
9339  return __Pyx_PyCFunction_FastCall(function, args, 2);
9340  }
9341  #endif
9342  args = PyTuple_New(2);
9343  if (unlikely(!args)) goto done;
9344  Py_INCREF(arg1);
9345  PyTuple_SET_ITEM(args, 0, arg1);
9346  Py_INCREF(arg2);
9347  PyTuple_SET_ITEM(args, 1, arg2);
9348  Py_INCREF(function);
9349  result = __Pyx_PyObject_Call(function, args, NULL);
9350  Py_DECREF(args);
9351  Py_DECREF(function);
9352 done:
9353  return result;
9354 }
9355 
9356 /* PyErrFetchRestore */
9357 #if CYTHON_FAST_THREAD_STATE
9358 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
9359  PyObject *tmp_type, *tmp_value, *tmp_tb;
9360  tmp_type = tstate->curexc_type;
9361  tmp_value = tstate->curexc_value;
9362  tmp_tb = tstate->curexc_traceback;
9363  tstate->curexc_type = type;
9364  tstate->curexc_value = value;
9365  tstate->curexc_traceback = tb;
9366  Py_XDECREF(tmp_type);
9367  Py_XDECREF(tmp_value);
9368  Py_XDECREF(tmp_tb);
9369 }
9370 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
9371  *type = tstate->curexc_type;
9372  *value = tstate->curexc_value;
9373  *tb = tstate->curexc_traceback;
9374  tstate->curexc_type = 0;
9375  tstate->curexc_value = 0;
9376  tstate->curexc_traceback = 0;
9377 }
9378 #endif
9379 
9380 /* RaiseException */
9381 #if PY_MAJOR_VERSION < 3
9382 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
9383  CYTHON_UNUSED PyObject *cause) {
9384  __Pyx_PyThreadState_declare
9385  Py_XINCREF(type);
9386  if (!value || value == Py_None)
9387  value = NULL;
9388  else
9389  Py_INCREF(value);
9390  if (!tb || tb == Py_None)
9391  tb = NULL;
9392  else {
9393  Py_INCREF(tb);
9394  if (!PyTraceBack_Check(tb)) {
9395  PyErr_SetString(PyExc_TypeError,
9396  "raise: arg 3 must be a traceback or None");
9397  goto raise_error;
9398  }
9399  }
9400  if (PyType_Check(type)) {
9401 #if CYTHON_COMPILING_IN_PYPY
9402  if (!value) {
9403  Py_INCREF(Py_None);
9404  value = Py_None;
9405  }
9406 #endif
9407  PyErr_NormalizeException(&type, &value, &tb);
9408  } else {
9409  if (value) {
9410  PyErr_SetString(PyExc_TypeError,
9411  "instance exception may not have a separate value");
9412  goto raise_error;
9413  }
9414  value = type;
9415  type = (PyObject*) Py_TYPE(type);
9416  Py_INCREF(type);
9417  if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
9418  PyErr_SetString(PyExc_TypeError,
9419  "raise: exception class must be a subclass of BaseException");
9420  goto raise_error;
9421  }
9422  }
9423  __Pyx_PyThreadState_assign
9424  __Pyx_ErrRestore(type, value, tb);
9425  return;
9426 raise_error:
9427  Py_XDECREF(value);
9428  Py_XDECREF(type);
9429  Py_XDECREF(tb);
9430  return;
9431 }
9432 #else
9433 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
9434  PyObject* owned_instance = NULL;
9435  if (tb == Py_None) {
9436  tb = 0;
9437  } else if (tb && !PyTraceBack_Check(tb)) {
9438  PyErr_SetString(PyExc_TypeError,
9439  "raise: arg 3 must be a traceback or None");
9440  goto bad;
9441  }
9442  if (value == Py_None)
9443  value = 0;
9444  if (PyExceptionInstance_Check(type)) {
9445  if (value) {
9446  PyErr_SetString(PyExc_TypeError,
9447  "instance exception may not have a separate value");
9448  goto bad;
9449  }
9450  value = type;
9451  type = (PyObject*) Py_TYPE(value);
9452  } else if (PyExceptionClass_Check(type)) {
9453  PyObject *instance_class = NULL;
9454  if (value && PyExceptionInstance_Check(value)) {
9455  instance_class = (PyObject*) Py_TYPE(value);
9456  if (instance_class != type) {
9457  int is_subclass = PyObject_IsSubclass(instance_class, type);
9458  if (!is_subclass) {
9459  instance_class = NULL;
9460  } else if (unlikely(is_subclass == -1)) {
9461  goto bad;
9462  } else {
9463  type = instance_class;
9464  }
9465  }
9466  }
9467  if (!instance_class) {
9468  PyObject *args;
9469  if (!value)
9470  args = PyTuple_New(0);
9471  else if (PyTuple_Check(value)) {
9472  Py_INCREF(value);
9473  args = value;
9474  } else
9475  args = PyTuple_Pack(1, value);
9476  if (!args)
9477  goto bad;
9478  owned_instance = PyObject_Call(type, args, NULL);
9479  Py_DECREF(args);
9480  if (!owned_instance)
9481  goto bad;
9482  value = owned_instance;
9483  if (!PyExceptionInstance_Check(value)) {
9484  PyErr_Format(PyExc_TypeError,
9485  "calling %R should have returned an instance of "
9486  "BaseException, not %R",
9487  type, Py_TYPE(value));
9488  goto bad;
9489  }
9490  }
9491  } else {
9492  PyErr_SetString(PyExc_TypeError,
9493  "raise: exception class must be a subclass of BaseException");
9494  goto bad;
9495  }
9496  if (cause) {
9497  PyObject *fixed_cause;
9498  if (cause == Py_None) {
9499  fixed_cause = NULL;
9500  } else if (PyExceptionClass_Check(cause)) {
9501  fixed_cause = PyObject_CallObject(cause, NULL);
9502  if (fixed_cause == NULL)
9503  goto bad;
9504  } else if (PyExceptionInstance_Check(cause)) {
9505  fixed_cause = cause;
9506  Py_INCREF(fixed_cause);
9507  } else {
9508  PyErr_SetString(PyExc_TypeError,
9509  "exception causes must derive from "
9510  "BaseException");
9511  goto bad;
9512  }
9513  PyException_SetCause(value, fixed_cause);
9514  }
9515  PyErr_SetObject(type, value);
9516  if (tb) {
9517 #if CYTHON_COMPILING_IN_PYPY
9518  PyObject *tmp_type, *tmp_value, *tmp_tb;
9519  PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
9520  Py_INCREF(tb);
9521  PyErr_Restore(tmp_type, tmp_value, tb);
9522  Py_XDECREF(tmp_tb);
9523 #else
9524  PyThreadState *tstate = __Pyx_PyThreadState_Current;
9525  PyObject* tmp_tb = tstate->curexc_traceback;
9526  if (tb != tmp_tb) {
9527  Py_INCREF(tb);
9528  tstate->curexc_traceback = tb;
9529  Py_XDECREF(tmp_tb);
9530  }
9531 #endif
9532  }
9533 bad:
9534  Py_XDECREF(owned_instance);
9535  return;
9536 }
9537 #endif
9538 
9539 /* WriteUnraisableException */
9540 static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
9541  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
9542  int full_traceback, CYTHON_UNUSED int nogil) {
9543  PyObject *old_exc, *old_val, *old_tb;
9544  PyObject *ctx;
9545  __Pyx_PyThreadState_declare
9546 #ifdef WITH_THREAD
9547  PyGILState_STATE state;
9548  if (nogil)
9549  state = PyGILState_Ensure();
9550 #ifdef _MSC_VER
9551  else state = (PyGILState_STATE)-1;
9552 #endif
9553 #endif
9554  __Pyx_PyThreadState_assign
9555  __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
9556  if (full_traceback) {
9557  Py_XINCREF(old_exc);
9558  Py_XINCREF(old_val);
9559  Py_XINCREF(old_tb);
9560  __Pyx_ErrRestore(old_exc, old_val, old_tb);
9561  PyErr_PrintEx(1);
9562  }
9563  #if PY_MAJOR_VERSION < 3
9564  ctx = PyString_FromString(name);
9565  #else
9566  ctx = PyUnicode_FromString(name);
9567  #endif
9568  __Pyx_ErrRestore(old_exc, old_val, old_tb);
9569  if (!ctx) {
9570  PyErr_WriteUnraisable(Py_None);
9571  } else {
9572  PyErr_WriteUnraisable(ctx);
9573  Py_DECREF(ctx);
9574  }
9575 #ifdef WITH_THREAD
9576  if (nogil)
9577  PyGILState_Release(state);
9578 #endif
9579 }
9580 
9581 /* GetItemInt */
9582 static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
9583  PyObject *r;
9584  if (!j) return NULL;
9585  r = PyObject_GetItem(o, j);
9586  Py_DECREF(j);
9587  return r;
9588 }
9589 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
9590  CYTHON_NCP_UNUSED int wraparound,
9591  CYTHON_NCP_UNUSED int boundscheck) {
9592 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
9593  Py_ssize_t wrapped_i = i;
9594  if (wraparound & unlikely(i < 0)) {
9595  wrapped_i += PyList_GET_SIZE(o);
9596  }
9597  if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
9598  PyObject *r = PyList_GET_ITEM(o, wrapped_i);
9599  Py_INCREF(r);
9600  return r;
9601  }
9602  return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
9603 #else
9604  return PySequence_GetItem(o, i);
9605 #endif
9606 }
9607 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
9608  CYTHON_NCP_UNUSED int wraparound,
9609  CYTHON_NCP_UNUSED int boundscheck) {
9610 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
9611  Py_ssize_t wrapped_i = i;
9612  if (wraparound & unlikely(i < 0)) {
9613  wrapped_i += PyTuple_GET_SIZE(o);
9614  }
9615  if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
9616  PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
9617  Py_INCREF(r);
9618  return r;
9619  }
9620  return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
9621 #else
9622  return PySequence_GetItem(o, i);
9623 #endif
9624 }
9625 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
9626  CYTHON_NCP_UNUSED int wraparound,
9627  CYTHON_NCP_UNUSED int boundscheck) {
9628 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
9629  if (is_list || PyList_CheckExact(o)) {
9630  Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
9631  if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
9632  PyObject *r = PyList_GET_ITEM(o, n);
9633  Py_INCREF(r);
9634  return r;
9635  }
9636  }
9637  else if (PyTuple_CheckExact(o)) {
9638  Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
9639  if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
9640  PyObject *r = PyTuple_GET_ITEM(o, n);
9641  Py_INCREF(r);
9642  return r;
9643  }
9644  } else {
9645  PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
9646  if (likely(m && m->sq_item)) {
9647  if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
9648  Py_ssize_t l = m->sq_length(o);
9649  if (likely(l >= 0)) {
9650  i += l;
9651  } else {
9652  if (!PyErr_ExceptionMatches(PyExc_OverflowError))
9653  return NULL;
9654  PyErr_Clear();
9655  }
9656  }
9657  return m->sq_item(o, i);
9658  }
9659  }
9660 #else
9661  if (is_list || PySequence_Check(o)) {
9662  return PySequence_GetItem(o, i);
9663  }
9664 #endif
9665  return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
9666 }
9667 
9668 /* ObjectGetItem */
9669 #if CYTHON_USE_TYPE_SLOTS
9670 static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) {
9671  PyObject *runerr;
9672  Py_ssize_t key_value;
9673  PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence;
9674  if (unlikely(!(m && m->sq_item))) {
9675  PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name);
9676  return NULL;
9677  }
9678  key_value = __Pyx_PyIndex_AsSsize_t(index);
9679  if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
9680  return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1);
9681  }
9682  if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
9683  PyErr_Clear();
9684  PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name);
9685  }
9686  return NULL;
9687 }
9688 static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) {
9689  PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping;
9690  if (likely(m && m->mp_subscript)) {
9691  return m->mp_subscript(obj, key);
9692  }
9693  return __Pyx_PyObject_GetIndex(obj, key);
9694 }
9695 #endif
9696 
9697 /* PyFloatBinop */
9698 #if !CYTHON_COMPILING_IN_PYPY
9699 static PyObject* __Pyx_PyFloat_NeObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) {
9700  const double b = floatval;
9701  double a;
9702  (void)inplace;
9703  (void)zerodivision_check;
9704  if (op1 == op2) {
9705  Py_RETURN_FALSE;
9706  }
9707  if (likely(PyFloat_CheckExact(op1))) {
9708  a = PyFloat_AS_DOUBLE(op1);
9709 
9710  } else
9711  #if PY_MAJOR_VERSION < 3
9712  if (likely(PyInt_CheckExact(op1))) {
9713  a = (double) PyInt_AS_LONG(op1);
9714 
9715  } else
9716  #endif
9717  if (likely(PyLong_CheckExact(op1))) {
9718  #if CYTHON_USE_PYLONG_INTERNALS
9719  const digit* digits = ((PyLongObject*)op1)->ob_digit;
9720  const Py_ssize_t size = Py_SIZE(op1);
9721  switch (size) {
9722  case 0: a = 0.0; break;
9723  case -1: a = -(double) digits[0]; break;
9724  case 1: a = (double) digits[0]; break;
9725  case -2:
9726  case 2:
9727  if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) {
9728  a = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
9729  if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
9730  if (size == -2)
9731  a = -a;
9732  break;
9733  }
9734  }
9735  CYTHON_FALLTHROUGH;
9736  case -3:
9737  case 3:
9738  if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) {
9739  a = (double) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
9740  if ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
9741  if (size == -3)
9742  a = -a;
9743  break;
9744  }
9745  }
9746  CYTHON_FALLTHROUGH;
9747  case -4:
9748  case 4:
9749  if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) {
9750  a = (double) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
9751  if ((8 * sizeof(unsigned long) < 53) || (4 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
9752  if (size == -4)
9753  a = -a;
9754  break;
9755  }
9756  }
9757  CYTHON_FALLTHROUGH;
9758  default:
9759  #else
9760  {
9761  #endif
9762  return (
9763  PyFloat_Type.tp_richcompare(op2, op1, Py_NE));
9764  }
9765  } else {
9766  return (
9767  PyObject_RichCompare(op1, op2, Py_NE));
9768  }
9769  if (a != b) {
9770  Py_RETURN_TRUE;
9771  } else {
9772  Py_RETURN_FALSE;
9773  }
9774 }
9775 #endif
9776 
9777 /* IterFinish */
9778  static CYTHON_INLINE int __Pyx_IterFinish(void) {
9779 #if CYTHON_FAST_THREAD_STATE
9780  PyThreadState *tstate = __Pyx_PyThreadState_Current;
9781  PyObject* exc_type = tstate->curexc_type;
9782  if (unlikely(exc_type)) {
9783  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) {
9784  PyObject *exc_value, *exc_tb;
9785  exc_value = tstate->curexc_value;
9786  exc_tb = tstate->curexc_traceback;
9787  tstate->curexc_type = 0;
9788  tstate->curexc_value = 0;
9789  tstate->curexc_traceback = 0;
9790  Py_DECREF(exc_type);
9791  Py_XDECREF(exc_value);
9792  Py_XDECREF(exc_tb);
9793  return 0;
9794  } else {
9795  return -1;
9796  }
9797  }
9798  return 0;
9799 #else
9800  if (unlikely(PyErr_Occurred())) {
9801  if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
9802  PyErr_Clear();
9803  return 0;
9804  } else {
9805  return -1;
9806  }
9807  }
9808  return 0;
9809 #endif
9810 }
9811 
9812 /* PyObjectGetMethod */
9813  static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
9814  PyObject *attr;
9815 #if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
9816  PyTypeObject *tp = Py_TYPE(obj);
9817  PyObject *descr;
9818  descrgetfunc f = NULL;
9819  PyObject **dictptr, *dict;
9820  int meth_found = 0;
9821  assert (*method == NULL);
9822  if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
9823  attr = __Pyx_PyObject_GetAttrStr(obj, name);
9824  goto try_unpack;
9825  }
9826  if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
9827  return 0;
9828  }
9829  descr = _PyType_Lookup(tp, name);
9830  if (likely(descr != NULL)) {
9831  Py_INCREF(descr);
9832 #if PY_MAJOR_VERSION >= 3
9833  #ifdef __Pyx_CyFunction_USED
9834  if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
9835  #else
9836  if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type)))
9837  #endif
9838 #else
9839  #ifdef __Pyx_CyFunction_USED
9840  if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
9841  #else
9842  if (likely(PyFunction_Check(descr)))
9843  #endif
9844 #endif
9845  {
9846  meth_found = 1;
9847  } else {
9848  f = Py_TYPE(descr)->tp_descr_get;
9849  if (f != NULL && PyDescr_IsData(descr)) {
9850  attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
9851  Py_DECREF(descr);
9852  goto try_unpack;
9853  }
9854  }
9855  }
9856  dictptr = _PyObject_GetDictPtr(obj);
9857  if (dictptr != NULL && (dict = *dictptr) != NULL) {
9858  Py_INCREF(dict);
9859  attr = __Pyx_PyDict_GetItemStr(dict, name);
9860  if (attr != NULL) {
9861  Py_INCREF(attr);
9862  Py_DECREF(dict);
9863  Py_XDECREF(descr);
9864  goto try_unpack;
9865  }
9866  Py_DECREF(dict);
9867  }
9868  if (meth_found) {
9869  *method = descr;
9870  return 1;
9871  }
9872  if (f != NULL) {
9873  attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
9874  Py_DECREF(descr);
9875  goto try_unpack;
9876  }
9877  if (descr != NULL) {
9878  *method = descr;
9879  return 0;
9880  }
9881  PyErr_Format(PyExc_AttributeError,
9882 #if PY_MAJOR_VERSION >= 3
9883  "'%.50s' object has no attribute '%U'",
9884  tp->tp_name, name);
9885 #else
9886  "'%.50s' object has no attribute '%.400s'",
9887  tp->tp_name, PyString_AS_STRING(name));
9888 #endif
9889  return 0;
9890 #else
9891  attr = __Pyx_PyObject_GetAttrStr(obj, name);
9892  goto try_unpack;
9893 #endif
9894 try_unpack:
9895 #if CYTHON_UNPACK_METHODS
9896  if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
9897  PyObject *function = PyMethod_GET_FUNCTION(attr);
9898  Py_INCREF(function);
9899  Py_DECREF(attr);
9900  *method = function;
9901  return 1;
9902  }
9903 #endif
9904  *method = attr;
9905  return 0;
9906 }
9907 
9908 /* PyObjectCallMethod0 */
9909  static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
9910  PyObject *method = NULL, *result = NULL;
9911  int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
9912  if (likely(is_method)) {
9913  result = __Pyx_PyObject_CallOneArg(method, obj);
9914  Py_DECREF(method);
9915  return result;
9916  }
9917  if (unlikely(!method)) goto bad;
9918  result = __Pyx_PyObject_CallNoArg(method);
9919  Py_DECREF(method);
9920 bad:
9921  return result;
9922 }
9923 
9924 /* RaiseNeedMoreValuesToUnpack */
9925  static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
9926  PyErr_Format(PyExc_ValueError,
9927  "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
9928  index, (index == 1) ? "" : "s");
9929 }
9930 
9931 /* RaiseTooManyValuesToUnpack */
9932  static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
9933  PyErr_Format(PyExc_ValueError,
9934  "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
9935 }
9936 
9937 /* UnpackItemEndCheck */
9938  static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
9939  if (unlikely(retval)) {
9940  Py_DECREF(retval);
9941  __Pyx_RaiseTooManyValuesError(expected);
9942  return -1;
9943  } else {
9944  return __Pyx_IterFinish();
9945  }
9946  return 0;
9947 }
9948 
9949 /* RaiseNoneIterError */
9950  static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
9951  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
9952 }
9953 
9954 /* UnpackTupleError */
9955  static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
9956  if (t == Py_None) {
9957  __Pyx_RaiseNoneNotIterableError();
9958  } else if (PyTuple_GET_SIZE(t) < index) {
9959  __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t));
9960  } else {
9961  __Pyx_RaiseTooManyValuesError(index);
9962  }
9963 }
9964 
9965 /* UnpackTuple2 */
9966  static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
9967  PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) {
9968  PyObject *value1 = NULL, *value2 = NULL;
9969 #if CYTHON_COMPILING_IN_PYPY
9970  value1 = PySequence_ITEM(tuple, 0); if (unlikely(!value1)) goto bad;
9971  value2 = PySequence_ITEM(tuple, 1); if (unlikely(!value2)) goto bad;
9972 #else
9973  value1 = PyTuple_GET_ITEM(tuple, 0); Py_INCREF(value1);
9974  value2 = PyTuple_GET_ITEM(tuple, 1); Py_INCREF(value2);
9975 #endif
9976  if (decref_tuple) {
9977  Py_DECREF(tuple);
9978  }
9979  *pvalue1 = value1;
9980  *pvalue2 = value2;
9981  return 0;
9982 #if CYTHON_COMPILING_IN_PYPY
9983 bad:
9984  Py_XDECREF(value1);
9985  Py_XDECREF(value2);
9986  if (decref_tuple) { Py_XDECREF(tuple); }
9987  return -1;
9988 #endif
9989 }
9990 static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2,
9991  int has_known_size, int decref_tuple) {
9992  Py_ssize_t index;
9993  PyObject *value1 = NULL, *value2 = NULL, *iter = NULL;
9994  iternextfunc iternext;
9995  iter = PyObject_GetIter(tuple);
9996  if (unlikely(!iter)) goto bad;
9997  if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; }
9998  iternext = Py_TYPE(iter)->tp_iternext;
9999  value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; }
10000  value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; }
10001  if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad;
10002  Py_DECREF(iter);
10003  *pvalue1 = value1;
10004  *pvalue2 = value2;
10005  return 0;
10006 unpacking_failed:
10007  if (!has_known_size && __Pyx_IterFinish() == 0)
10008  __Pyx_RaiseNeedMoreValuesError(index);
10009 bad:
10010  Py_XDECREF(iter);
10011  Py_XDECREF(value1);
10012  Py_XDECREF(value2);
10013  if (decref_tuple) { Py_XDECREF(tuple); }
10014  return -1;
10015 }
10016 
10017 /* dict_iter */
10018  static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name,
10019  Py_ssize_t* p_orig_length, int* p_source_is_dict) {
10020  is_dict = is_dict || likely(PyDict_CheckExact(iterable));
10021  *p_source_is_dict = is_dict;
10022  if (is_dict) {
10023 #if !CYTHON_COMPILING_IN_PYPY
10024  *p_orig_length = PyDict_Size(iterable);
10025  Py_INCREF(iterable);
10026  return iterable;
10027 #elif PY_MAJOR_VERSION >= 3
10028  static PyObject *py_items = NULL, *py_keys = NULL, *py_values = NULL;
10029  PyObject **pp = NULL;
10030  if (method_name) {
10031  const char *name = PyUnicode_AsUTF8(method_name);
10032  if (strcmp(name, "iteritems") == 0) pp = &py_items;
10033  else if (strcmp(name, "iterkeys") == 0) pp = &py_keys;
10034  else if (strcmp(name, "itervalues") == 0) pp = &py_values;
10035  if (pp) {
10036  if (!*pp) {
10037  *pp = PyUnicode_FromString(name + 4);
10038  if (!*pp)
10039  return NULL;
10040  }
10041  method_name = *pp;
10042  }
10043  }
10044 #endif
10045  }
10046  *p_orig_length = 0;
10047  if (method_name) {
10048  PyObject* iter;
10049  iterable = __Pyx_PyObject_CallMethod0(iterable, method_name);
10050  if (!iterable)
10051  return NULL;
10052 #if !CYTHON_COMPILING_IN_PYPY
10053  if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable))
10054  return iterable;
10055 #endif
10056  iter = PyObject_GetIter(iterable);
10057  Py_DECREF(iterable);
10058  return iter;
10059  }
10060  return PyObject_GetIter(iterable);
10061 }
10062 static CYTHON_INLINE int __Pyx_dict_iter_next(
10063  PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos,
10064  PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) {
10065  PyObject* next_item;
10066 #if !CYTHON_COMPILING_IN_PYPY
10067  if (source_is_dict) {
10068  PyObject *key, *value;
10069  if (unlikely(orig_length != PyDict_Size(iter_obj))) {
10070  PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration");
10071  return -1;
10072  }
10073  if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) {
10074  return 0;
10075  }
10076  if (pitem) {
10077  PyObject* tuple = PyTuple_New(2);
10078  if (unlikely(!tuple)) {
10079  return -1;
10080  }
10081  Py_INCREF(key);
10082  Py_INCREF(value);
10083  PyTuple_SET_ITEM(tuple, 0, key);
10084  PyTuple_SET_ITEM(tuple, 1, value);
10085  *pitem = tuple;
10086  } else {
10087  if (pkey) {
10088  Py_INCREF(key);
10089  *pkey = key;
10090  }
10091  if (pvalue) {
10092  Py_INCREF(value);
10093  *pvalue = value;
10094  }
10095  }
10096  return 1;
10097  } else if (PyTuple_CheckExact(iter_obj)) {
10098  Py_ssize_t pos = *ppos;
10099  if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0;
10100  *ppos = pos + 1;
10101  next_item = PyTuple_GET_ITEM(iter_obj, pos);
10102  Py_INCREF(next_item);
10103  } else if (PyList_CheckExact(iter_obj)) {
10104  Py_ssize_t pos = *ppos;
10105  if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0;
10106  *ppos = pos + 1;
10107  next_item = PyList_GET_ITEM(iter_obj, pos);
10108  Py_INCREF(next_item);
10109  } else
10110 #endif
10111  {
10112  next_item = PyIter_Next(iter_obj);
10113  if (unlikely(!next_item)) {
10114  return __Pyx_IterFinish();
10115  }
10116  }
10117  if (pitem) {
10118  *pitem = next_item;
10119  } else if (pkey && pvalue) {
10120  if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1))
10121  return -1;
10122  } else if (pkey) {
10123  *pkey = next_item;
10124  } else {
10125  *pvalue = next_item;
10126  }
10127  return 1;
10128 }
10129 
10130 /* PyIntCompare */
10131  static CYTHON_INLINE PyObject* __Pyx_PyInt_NeObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) {
10132  if (op1 == op2) {
10133  Py_RETURN_FALSE;
10134  }
10135  #if PY_MAJOR_VERSION < 3
10136  if (likely(PyInt_CheckExact(op1))) {
10137  const long b = intval;
10138  long a = PyInt_AS_LONG(op1);
10139  if (a != b) Py_RETURN_TRUE; else Py_RETURN_FALSE;
10140  }
10141  #endif
10142  #if CYTHON_USE_PYLONG_INTERNALS
10143  if (likely(PyLong_CheckExact(op1))) {
10144  int unequal;
10145  unsigned long uintval;
10146  Py_ssize_t size = Py_SIZE(op1);
10147  const digit* digits = ((PyLongObject*)op1)->ob_digit;
10148  if (intval == 0) {
10149  if (size != 0) Py_RETURN_TRUE; else Py_RETURN_FALSE;
10150  } else if (intval < 0) {
10151  if (size >= 0)
10152  Py_RETURN_TRUE;
10153  intval = -intval;
10154  size = -size;
10155  } else {
10156  if (size <= 0)
10157  Py_RETURN_TRUE;
10158  }
10159  uintval = (unsigned long) intval;
10160 #if PyLong_SHIFT * 4 < SIZEOF_LONG*8
10161  if (uintval >> (PyLong_SHIFT * 4)) {
10162  unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
10163  | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
10164  } else
10165 #endif
10166 #if PyLong_SHIFT * 3 < SIZEOF_LONG*8
10167  if (uintval >> (PyLong_SHIFT * 3)) {
10168  unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
10169  | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
10170  } else
10171 #endif
10172 #if PyLong_SHIFT * 2 < SIZEOF_LONG*8
10173  if (uintval >> (PyLong_SHIFT * 2)) {
10174  unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
10175  | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
10176  } else
10177 #endif
10178 #if PyLong_SHIFT * 1 < SIZEOF_LONG*8
10179  if (uintval >> (PyLong_SHIFT * 1)) {
10180  unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
10181  | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
10182  } else
10183 #endif
10184  unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK));
10185  if (unequal != 0) Py_RETURN_TRUE; else Py_RETURN_FALSE;
10186  }
10187  #endif
10188  if (PyFloat_CheckExact(op1)) {
10189  const long b = intval;
10190  double a = PyFloat_AS_DOUBLE(op1);
10191  if ((double)a != (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE;
10192  }
10193  return (
10194  PyObject_RichCompare(op1, op2, Py_NE));
10195 }
10196 
10197 /* PyIntBinop */
10198  #if !CYTHON_COMPILING_IN_PYPY
10199 static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
10200  (void)inplace;
10201  (void)zerodivision_check;
10202  #if PY_MAJOR_VERSION < 3
10203  if (likely(PyInt_CheckExact(op1))) {
10204  const long b = intval;
10205  long x;
10206  long a = PyInt_AS_LONG(op1);
10207  x = (long)((unsigned long)a + b);
10208  if (likely((x^a) >= 0 || (x^b) >= 0))
10209  return PyInt_FromLong(x);
10210  return PyLong_Type.tp_as_number->nb_add(op1, op2);
10211  }
10212  #endif
10213  #if CYTHON_USE_PYLONG_INTERNALS
10214  if (likely(PyLong_CheckExact(op1))) {
10215  const long b = intval;
10216  long a, x;
10217 #ifdef HAVE_LONG_LONG
10218  const PY_LONG_LONG llb = intval;
10219  PY_LONG_LONG lla, llx;
10220 #endif
10221  const digit* digits = ((PyLongObject*)op1)->ob_digit;
10222  const Py_ssize_t size = Py_SIZE(op1);
10223  if (likely(__Pyx_sst_abs(size) <= 1)) {
10224  a = likely(size) ? digits[0] : 0;
10225  if (size == -1) a = -a;
10226  } else {
10227  switch (size) {
10228  case -2:
10229  if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
10230  a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
10231  break;
10232 #ifdef HAVE_LONG_LONG
10233  } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
10234  lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
10235  goto long_long;
10236 #endif
10237  }
10238  CYTHON_FALLTHROUGH;
10239  case 2:
10240  if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
10241  a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
10242  break;
10243 #ifdef HAVE_LONG_LONG
10244  } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
10245  lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
10246  goto long_long;
10247 #endif
10248  }
10249  CYTHON_FALLTHROUGH;
10250  case -3:
10251  if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
10252  a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
10253  break;
10254 #ifdef HAVE_LONG_LONG
10255  } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
10256  lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
10257  goto long_long;
10258 #endif
10259  }
10260  CYTHON_FALLTHROUGH;
10261  case 3:
10262  if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
10263  a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
10264  break;
10265 #ifdef HAVE_LONG_LONG
10266  } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
10267  lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
10268  goto long_long;
10269 #endif
10270  }
10271  CYTHON_FALLTHROUGH;
10272  case -4:
10273  if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
10274  a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
10275  break;
10276 #ifdef HAVE_LONG_LONG
10277  } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
10278  lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
10279  goto long_long;
10280 #endif
10281  }
10282  CYTHON_FALLTHROUGH;
10283  case 4:
10284  if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
10285  a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
10286  break;
10287 #ifdef HAVE_LONG_LONG
10288  } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
10289  lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
10290  goto long_long;
10291 #endif
10292  }
10293  CYTHON_FALLTHROUGH;
10294  default: return PyLong_Type.tp_as_number->nb_add(op1, op2);
10295  }
10296  }
10297  x = a + b;
10298  return PyLong_FromLong(x);
10299 #ifdef HAVE_LONG_LONG
10300  long_long:
10301  llx = lla + llb;
10302  return PyLong_FromLongLong(llx);
10303 #endif
10304 
10305 
10306  }
10307  #endif
10308  if (PyFloat_CheckExact(op1)) {
10309  const long b = intval;
10310  double a = PyFloat_AS_DOUBLE(op1);
10311  double result;
10312  PyFPE_START_PROTECT("add", return NULL)
10313  result = ((double)a) + (double)b;
10314  PyFPE_END_PROTECT(result)
10315  return PyFloat_FromDouble(result);
10316  }
10317  return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
10318 }
10319 #endif
10320 
10321 /* DictGetItem */
10322  #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
10323 static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
10324  PyObject *value;
10325  value = PyDict_GetItemWithError(d, key);
10326  if (unlikely(!value)) {
10327  if (!PyErr_Occurred()) {
10328  if (unlikely(PyTuple_Check(key))) {
10329  PyObject* args = PyTuple_Pack(1, key);
10330  if (likely(args)) {
10331  PyErr_SetObject(PyExc_KeyError, args);
10332  Py_DECREF(args);
10333  }
10334  } else {
10335  PyErr_SetObject(PyExc_KeyError, key);
10336  }
10337  }
10338  return NULL;
10339  }
10340  Py_INCREF(value);
10341  return value;
10342 }
10343 #endif
10344 
10345 /* py_abs */
10346  #if CYTHON_USE_PYLONG_INTERNALS
10347 static PyObject *__Pyx_PyLong_AbsNeg(PyObject *n) {
10348  if (likely(Py_SIZE(n) == -1)) {
10349  return PyLong_FromLong(((PyLongObject*)n)->ob_digit[0]);
10350  }
10351 #if CYTHON_COMPILING_IN_CPYTHON
10352  {
10353  PyObject *copy = _PyLong_Copy((PyLongObject*)n);
10354  if (likely(copy)) {
10355  Py_SIZE(copy) = -(Py_SIZE(copy));
10356  }
10357  return copy;
10358  }
10359 #else
10360  return PyNumber_Negative(n);
10361 #endif
10362 }
10363 #endif
10364 
10365 /* PyObjectSetAttrStr */
10366  #if CYTHON_USE_TYPE_SLOTS
10367 static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
10368  PyTypeObject* tp = Py_TYPE(obj);
10369  if (likely(tp->tp_setattro))
10370  return tp->tp_setattro(obj, attr_name, value);
10371 #if PY_MAJOR_VERSION < 3
10372  if (likely(tp->tp_setattr))
10373  return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
10374 #endif
10375  return PyObject_SetAttr(obj, attr_name, value);
10376 }
10377 #endif
10378 
10379 /* ExtTypeTest */
10380  static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
10381  if (unlikely(!type)) {
10382  PyErr_SetString(PyExc_SystemError, "Missing type object");
10383  return 0;
10384  }
10385  if (likely(__Pyx_TypeCheck(obj, type)))
10386  return 1;
10387  PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
10388  Py_TYPE(obj)->tp_name, type->tp_name);
10389  return 0;
10390 }
10391 
10392 /* GetTopmostException */
10393  #if CYTHON_USE_EXC_INFO_STACK
10394 static _PyErr_StackItem *
10395 __Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
10396 {
10397  _PyErr_StackItem *exc_info = tstate->exc_info;
10398  while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) &&
10399  exc_info->previous_item != NULL)
10400  {
10401  exc_info = exc_info->previous_item;
10402  }
10403  return exc_info;
10404 }
10405 #endif
10406 
10407 /* SaveResetException */
10408  #if CYTHON_FAST_THREAD_STATE
10409 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
10410  #if CYTHON_USE_EXC_INFO_STACK
10411  _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
10412  *type = exc_info->exc_type;
10413  *value = exc_info->exc_value;
10414  *tb = exc_info->exc_traceback;
10415  #else
10416  *type = tstate->exc_type;
10417  *value = tstate->exc_value;
10418  *tb = tstate->exc_traceback;
10419  #endif
10420  Py_XINCREF(*type);
10421  Py_XINCREF(*value);
10422  Py_XINCREF(*tb);
10423 }
10424 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
10425  PyObject *tmp_type, *tmp_value, *tmp_tb;
10426  #if CYTHON_USE_EXC_INFO_STACK
10427  _PyErr_StackItem *exc_info = tstate->exc_info;
10428  tmp_type = exc_info->exc_type;
10429  tmp_value = exc_info->exc_value;
10430  tmp_tb = exc_info->exc_traceback;
10431  exc_info->exc_type = type;
10432  exc_info->exc_value = value;
10433  exc_info->exc_traceback = tb;
10434  #else
10435  tmp_type = tstate->exc_type;
10436  tmp_value = tstate->exc_value;
10437  tmp_tb = tstate->exc_traceback;
10438  tstate->exc_type = type;
10439  tstate->exc_value = value;
10440  tstate->exc_traceback = tb;
10441  #endif
10442  Py_XDECREF(tmp_type);
10443  Py_XDECREF(tmp_value);
10444  Py_XDECREF(tmp_tb);
10445 }
10446 #endif
10447 
10448 /* PyErrExceptionMatches */
10449  #if CYTHON_FAST_THREAD_STATE
10450 static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
10451  Py_ssize_t i, n;
10452  n = PyTuple_GET_SIZE(tuple);
10453 #if PY_MAJOR_VERSION >= 3
10454  for (i=0; i<n; i++) {
10455  if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
10456  }
10457 #endif
10458  for (i=0; i<n; i++) {
10459  if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
10460  }
10461  return 0;
10462 }
10463 static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
10464  PyObject *exc_type = tstate->curexc_type;
10465  if (exc_type == err) return 1;
10466  if (unlikely(!exc_type)) return 0;
10467  if (unlikely(PyTuple_Check(err)))
10468  return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
10469  return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
10470 }
10471 #endif
10472 
10473 /* GetException */
10474  #if CYTHON_FAST_THREAD_STATE
10475 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
10476 #else
10477 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
10478 #endif
10479 {
10480  PyObject *local_type, *local_value, *local_tb;
10481 #if CYTHON_FAST_THREAD_STATE
10482  PyObject *tmp_type, *tmp_value, *tmp_tb;
10483  local_type = tstate->curexc_type;
10484  local_value = tstate->curexc_value;
10485  local_tb = tstate->curexc_traceback;
10486  tstate->curexc_type = 0;
10487  tstate->curexc_value = 0;
10488  tstate->curexc_traceback = 0;
10489 #else
10490  PyErr_Fetch(&local_type, &local_value, &local_tb);
10491 #endif
10492  PyErr_NormalizeException(&local_type, &local_value, &local_tb);
10493 #if CYTHON_FAST_THREAD_STATE
10494  if (unlikely(tstate->curexc_type))
10495 #else
10496  if (unlikely(PyErr_Occurred()))
10497 #endif
10498  goto bad;
10499  #if PY_MAJOR_VERSION >= 3
10500  if (local_tb) {
10501  if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
10502  goto bad;
10503  }
10504  #endif
10505  Py_XINCREF(local_tb);
10506  Py_XINCREF(local_type);
10507  Py_XINCREF(local_value);
10508  *type = local_type;
10509  *value = local_value;
10510  *tb = local_tb;
10511 #if CYTHON_FAST_THREAD_STATE
10512  #if CYTHON_USE_EXC_INFO_STACK
10513  {
10514  _PyErr_StackItem *exc_info = tstate->exc_info;
10515  tmp_type = exc_info->exc_type;
10516  tmp_value = exc_info->exc_value;
10517  tmp_tb = exc_info->exc_traceback;
10518  exc_info->exc_type = local_type;
10519  exc_info->exc_value = local_value;
10520  exc_info->exc_traceback = local_tb;
10521  }
10522  #else
10523  tmp_type = tstate->exc_type;
10524  tmp_value = tstate->exc_value;
10525  tmp_tb = tstate->exc_traceback;
10526  tstate->exc_type = local_type;
10527  tstate->exc_value = local_value;
10528  tstate->exc_traceback = local_tb;
10529  #endif
10530  Py_XDECREF(tmp_type);
10531  Py_XDECREF(tmp_value);
10532  Py_XDECREF(tmp_tb);
10533 #else
10534  PyErr_SetExcInfo(local_type, local_value, local_tb);
10535 #endif
10536  return 0;
10537 bad:
10538  *type = 0;
10539  *value = 0;
10540  *tb = 0;
10541  Py_XDECREF(local_type);
10542  Py_XDECREF(local_value);
10543  Py_XDECREF(local_tb);
10544  return -1;
10545 }
10546 
10547 /* PyObject_GenericGetAttrNoDict */
10548  #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
10549 static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
10550  PyErr_Format(PyExc_AttributeError,
10551 #if PY_MAJOR_VERSION >= 3
10552  "'%.50s' object has no attribute '%U'",
10553  tp->tp_name, attr_name);
10554 #else
10555  "'%.50s' object has no attribute '%.400s'",
10556  tp->tp_name, PyString_AS_STRING(attr_name));
10557 #endif
10558  return NULL;
10559 }
10560 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
10561  PyObject *descr;
10562  PyTypeObject *tp = Py_TYPE(obj);
10563  if (unlikely(!PyString_Check(attr_name))) {
10564  return PyObject_GenericGetAttr(obj, attr_name);
10565  }
10566  assert(!tp->tp_dictoffset);
10567  descr = _PyType_Lookup(tp, attr_name);
10568  if (unlikely(!descr)) {
10569  return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
10570  }
10571  Py_INCREF(descr);
10572  #if PY_MAJOR_VERSION < 3
10573  if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
10574  #endif
10575  {
10576  descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
10577  if (unlikely(f)) {
10578  PyObject *res = f(descr, obj, (PyObject *)tp);
10579  Py_DECREF(descr);
10580  return res;
10581  }
10582  }
10583  return descr;
10584 }
10585 #endif
10586 
10587 /* PyObject_GenericGetAttr */
10588  #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
10589 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) {
10590  if (unlikely(Py_TYPE(obj)->tp_dictoffset)) {
10591  return PyObject_GenericGetAttr(obj, attr_name);
10592  }
10593  return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name);
10594 }
10595 #endif
10596 
10597 /* SetupReduce */
10598  static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
10599  int ret;
10600  PyObject *name_attr;
10601  name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name);
10602  if (likely(name_attr)) {
10603  ret = PyObject_RichCompareBool(name_attr, name, Py_EQ);
10604  } else {
10605  ret = -1;
10606  }
10607  if (unlikely(ret < 0)) {
10608  PyErr_Clear();
10609  ret = 0;
10610  }
10611  Py_XDECREF(name_attr);
10612  return ret;
10613 }
10614 static int __Pyx_setup_reduce(PyObject* type_obj) {
10615  int ret = 0;
10616  PyObject *object_reduce = NULL;
10617  PyObject *object_reduce_ex = NULL;
10618  PyObject *reduce = NULL;
10619  PyObject *reduce_ex = NULL;
10620  PyObject *reduce_cython = NULL;
10621  PyObject *setstate = NULL;
10622  PyObject *setstate_cython = NULL;
10623 #if CYTHON_USE_PYTYPE_LOOKUP
10624  if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto GOOD;
10625 #else
10626  if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto GOOD;
10627 #endif
10628 #if CYTHON_USE_PYTYPE_LOOKUP
10629  object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD;
10630 #else
10631  object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD;
10632 #endif
10633  reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto BAD;
10634  if (reduce_ex == object_reduce_ex) {
10635 #if CYTHON_USE_PYTYPE_LOOKUP
10636  object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD;
10637 #else
10638  object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD;
10639 #endif
10640  reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto BAD;
10641  if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) {
10642  reduce_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_cython); if (unlikely(!reduce_cython)) goto BAD;
10643  ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto BAD;
10644  ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto BAD;
10645  setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate);
10646  if (!setstate) PyErr_Clear();
10647  if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) {
10648  setstate_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate_cython); if (unlikely(!setstate_cython)) goto BAD;
10649  ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto BAD;
10650  ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto BAD;
10651  }
10652  PyType_Modified((PyTypeObject*)type_obj);
10653  }
10654  }
10655  goto GOOD;
10656 BAD:
10657  if (!PyErr_Occurred())
10658  PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name);
10659  ret = -1;
10660 GOOD:
10661 #if !CYTHON_USE_PYTYPE_LOOKUP
10662  Py_XDECREF(object_reduce);
10663  Py_XDECREF(object_reduce_ex);
10664 #endif
10665  Py_XDECREF(reduce);
10666  Py_XDECREF(reduce_ex);
10667  Py_XDECREF(reduce_cython);
10668  Py_XDECREF(setstate);
10669  Py_XDECREF(setstate_cython);
10670  return ret;
10671 }
10672 
10673 /* TypeImport */
10674  #ifndef __PYX_HAVE_RT_ImportType
10675 #define __PYX_HAVE_RT_ImportType
10676 static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name,
10677  size_t size, enum __Pyx_ImportType_CheckSize check_size)
10678 {
10679  PyObject *result = 0;
10680  char warning[200];
10681  Py_ssize_t basicsize;
10682 #ifdef Py_LIMITED_API
10683  PyObject *py_basicsize;
10684 #endif
10685  result = PyObject_GetAttrString(module, class_name);
10686  if (!result)
10687  goto bad;
10688  if (!PyType_Check(result)) {
10689  PyErr_Format(PyExc_TypeError,
10690  "%.200s.%.200s is not a type object",
10691  module_name, class_name);
10692  goto bad;
10693  }
10694 #ifndef Py_LIMITED_API
10695  basicsize = ((PyTypeObject *)result)->tp_basicsize;
10696 #else
10697  py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
10698  if (!py_basicsize)
10699  goto bad;
10700  basicsize = PyLong_AsSsize_t(py_basicsize);
10701  Py_DECREF(py_basicsize);
10702  py_basicsize = 0;
10703  if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
10704  goto bad;
10705 #endif
10706  if ((size_t)basicsize < size) {
10707  PyErr_Format(PyExc_ValueError,
10708  "%.200s.%.200s size changed, may indicate binary incompatibility. "
10709  "Expected %zd from C header, got %zd from PyObject",
10710  module_name, class_name, size, basicsize);
10711  goto bad;
10712  }
10713  if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) {
10714  PyErr_Format(PyExc_ValueError,
10715  "%.200s.%.200s size changed, may indicate binary incompatibility. "
10716  "Expected %zd from C header, got %zd from PyObject",
10717  module_name, class_name, size, basicsize);
10718  goto bad;
10719  }
10720  else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) {
10721  PyOS_snprintf(warning, sizeof(warning),
10722  "%s.%s size changed, may indicate binary incompatibility. "
10723  "Expected %zd from C header, got %zd from PyObject",
10724  module_name, class_name, size, basicsize);
10725  if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
10726  }
10727  return (PyTypeObject *)result;
10728 bad:
10729  Py_XDECREF(result);
10730  return NULL;
10731 }
10732 #endif
10733 
10734 /* Import */
10735  static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
10736  PyObject *empty_list = 0;
10737  PyObject *module = 0;
10738  PyObject *global_dict = 0;
10739  PyObject *empty_dict = 0;
10740  PyObject *list;
10741  #if PY_MAJOR_VERSION < 3
10742  PyObject *py_import;
10743  py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
10744  if (!py_import)
10745  goto bad;
10746  #endif
10747  if (from_list)
10748  list = from_list;
10749  else {
10750  empty_list = PyList_New(0);
10751  if (!empty_list)
10752  goto bad;
10753  list = empty_list;
10754  }
10755  global_dict = PyModule_GetDict(__pyx_m);
10756  if (!global_dict)
10757  goto bad;
10758  empty_dict = PyDict_New();
10759  if (!empty_dict)
10760  goto bad;
10761  {
10762  #if PY_MAJOR_VERSION >= 3
10763  if (level == -1) {
10764  if (strchr(__Pyx_MODULE_NAME, '.')) {
10765  module = PyImport_ImportModuleLevelObject(
10766  name, global_dict, empty_dict, list, 1);
10767  if (!module) {
10768  if (!PyErr_ExceptionMatches(PyExc_ImportError))
10769  goto bad;
10770  PyErr_Clear();
10771  }
10772  }
10773  level = 0;
10774  }
10775  #endif
10776  if (!module) {
10777  #if PY_MAJOR_VERSION < 3
10778  PyObject *py_level = PyInt_FromLong(level);
10779  if (!py_level)
10780  goto bad;
10781  module = PyObject_CallFunctionObjArgs(py_import,
10782  name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);
10783  Py_DECREF(py_level);
10784  #else
10785  module = PyImport_ImportModuleLevelObject(
10786  name, global_dict, empty_dict, list, level);
10787  #endif
10788  }
10789  }
10790 bad:
10791  #if PY_MAJOR_VERSION < 3
10792  Py_XDECREF(py_import);
10793  #endif
10794  Py_XDECREF(empty_list);
10795  Py_XDECREF(empty_dict);
10796  return module;
10797 }
10798 
10799 /* ImportFrom */
10800  static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
10801  PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
10802  if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
10803  PyErr_Format(PyExc_ImportError,
10804  #if PY_MAJOR_VERSION < 3
10805  "cannot import name %.230s", PyString_AS_STRING(name));
10806  #else
10807  "cannot import name %S", name);
10808  #endif
10809  }
10810  return value;
10811 }
10812 
10813 /* CLineInTraceback */
10814  #ifndef CYTHON_CLINE_IN_TRACEBACK
10815 static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) {
10816  PyObject *use_cline;
10817  PyObject *ptype, *pvalue, *ptraceback;
10818 #if CYTHON_COMPILING_IN_CPYTHON
10819  PyObject **cython_runtime_dict;
10820 #endif
10821  if (unlikely(!__pyx_cython_runtime)) {
10822  return c_line;
10823  }
10824  __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
10825 #if CYTHON_COMPILING_IN_CPYTHON
10826  cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
10827  if (likely(cython_runtime_dict)) {
10828  __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
10829  use_cline, *cython_runtime_dict,
10830  __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
10831  } else
10832 #endif
10833  {
10834  PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
10835  if (use_cline_obj) {
10836  use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
10837  Py_DECREF(use_cline_obj);
10838  } else {
10839  PyErr_Clear();
10840  use_cline = NULL;
10841  }
10842  }
10843  if (!use_cline) {
10844  c_line = 0;
10845  PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
10846  }
10847  else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
10848  c_line = 0;
10849  }
10850  __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
10851  return c_line;
10852 }
10853 #endif
10854 
10855 /* CodeObjectCache */
10856  static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
10857  int start = 0, mid = 0, end = count - 1;
10858  if (end >= 0 && code_line > entries[end].code_line) {
10859  return count;
10860  }
10861  while (start < end) {
10862  mid = start + (end - start) / 2;
10863  if (code_line < entries[mid].code_line) {
10864  end = mid;
10865  } else if (code_line > entries[mid].code_line) {
10866  start = mid + 1;
10867  } else {
10868  return mid;
10869  }
10870  }
10871  if (code_line <= entries[mid].code_line) {
10872  return mid;
10873  } else {
10874  return mid + 1;
10875  }
10876 }
10877 static PyCodeObject *__pyx_find_code_object(int code_line) {
10878  PyCodeObject* code_object;
10879  int pos;
10880  if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
10881  return NULL;
10882  }
10883  pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
10884  if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
10885  return NULL;
10886  }
10887  code_object = __pyx_code_cache.entries[pos].code_object;
10888  Py_INCREF(code_object);
10889  return code_object;
10890 }
10891 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
10892  int pos, i;
10893  __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
10894  if (unlikely(!code_line)) {
10895  return;
10896  }
10897  if (unlikely(!entries)) {
10898  entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
10899  if (likely(entries)) {
10900  __pyx_code_cache.entries = entries;
10901  __pyx_code_cache.max_count = 64;
10902  __pyx_code_cache.count = 1;
10903  entries[0].code_line = code_line;
10904  entries[0].code_object = code_object;
10905  Py_INCREF(code_object);
10906  }
10907  return;
10908  }
10909  pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
10910  if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
10911  PyCodeObject* tmp = entries[pos].code_object;
10912  entries[pos].code_object = code_object;
10913  Py_DECREF(tmp);
10914  return;
10915  }
10916  if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
10917  int new_max = __pyx_code_cache.max_count + 64;
10918  entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
10919  __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry));
10920  if (unlikely(!entries)) {
10921  return;
10922  }
10923  __pyx_code_cache.entries = entries;
10924  __pyx_code_cache.max_count = new_max;
10925  }
10926  for (i=__pyx_code_cache.count; i>pos; i--) {
10927  entries[i] = entries[i-1];
10928  }
10929  entries[pos].code_line = code_line;
10930  entries[pos].code_object = code_object;
10931  __pyx_code_cache.count++;
10932  Py_INCREF(code_object);
10933 }
10934 
10935 /* AddTraceback */
10936  #include "compile.h"
10937 #include "frameobject.h"
10938 #include "traceback.h"
10939 static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
10940  const char *funcname, int c_line,
10941  int py_line, const char *filename) {
10942  PyCodeObject *py_code = 0;
10943  PyObject *py_srcfile = 0;
10944  PyObject *py_funcname = 0;
10945  #if PY_MAJOR_VERSION < 3
10946  py_srcfile = PyString_FromString(filename);
10947  #else
10948  py_srcfile = PyUnicode_FromString(filename);
10949  #endif
10950  if (!py_srcfile) goto bad;
10951  if (c_line) {
10952  #if PY_MAJOR_VERSION < 3
10953  py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
10954  #else
10955  py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
10956  #endif
10957  }
10958  else {
10959  #if PY_MAJOR_VERSION < 3
10960  py_funcname = PyString_FromString(funcname);
10961  #else
10962  py_funcname = PyUnicode_FromString(funcname);
10963  #endif
10964  }
10965  if (!py_funcname) goto bad;
10966  py_code = __Pyx_PyCode_New(
10967  0,
10968  0,
10969  0,
10970  0,
10971  0,
10972  __pyx_empty_bytes, /*PyObject *code,*/
10973  __pyx_empty_tuple, /*PyObject *consts,*/
10974  __pyx_empty_tuple, /*PyObject *names,*/
10975  __pyx_empty_tuple, /*PyObject *varnames,*/
10976  __pyx_empty_tuple, /*PyObject *freevars,*/
10977  __pyx_empty_tuple, /*PyObject *cellvars,*/
10978  py_srcfile, /*PyObject *filename,*/
10979  py_funcname, /*PyObject *name,*/
10980  py_line,
10981  __pyx_empty_bytes /*PyObject *lnotab*/
10982  );
10983  Py_DECREF(py_srcfile);
10984  Py_DECREF(py_funcname);
10985  return py_code;
10986 bad:
10987  Py_XDECREF(py_srcfile);
10988  Py_XDECREF(py_funcname);
10989  return NULL;
10990 }
10991 static void __Pyx_AddTraceback(const char *funcname, int c_line,
10992  int py_line, const char *filename) {
10993  PyCodeObject *py_code = 0;
10994  PyFrameObject *py_frame = 0;
10995  PyThreadState *tstate = __Pyx_PyThreadState_Current;
10996  if (c_line) {
10997  c_line = __Pyx_CLineForTraceback(tstate, c_line);
10998  }
10999  py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
11000  if (!py_code) {
11001  py_code = __Pyx_CreateCodeObjectForTraceback(
11002  funcname, c_line, py_line, filename);
11003  if (!py_code) goto bad;
11004  __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
11005  }
11006  py_frame = PyFrame_New(
11007  tstate, /*PyThreadState *tstate,*/
11008  py_code, /*PyCodeObject *code,*/
11009  __pyx_d, /*PyObject *globals,*/
11010  0 /*PyObject *locals*/
11011  );
11012  if (!py_frame) goto bad;
11013  __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
11014  PyTraceBack_Here(py_frame);
11015 bad:
11016  Py_XDECREF(py_code);
11017  Py_XDECREF(py_frame);
11018 }
11019 
11020 /* CIntFromPyVerify */
11021  #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
11022  __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
11023 #define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
11024  __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
11025 #define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
11026  {\
11027  func_type value = func_value;\
11028  if (sizeof(target_type) < sizeof(func_type)) {\
11029  if (unlikely(value != (func_type) (target_type) value)) {\
11030  func_type zero = 0;\
11031  if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
11032  return (target_type) -1;\
11033  if (is_unsigned && unlikely(value < zero))\
11034  goto raise_neg_overflow;\
11035  else\
11036  goto raise_overflow;\
11037  }\
11038  }\
11039  return (target_type) value;\
11040  }
11041 
11042 /* CIntToPy */
11043  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
11044  const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0;
11045  const int is_unsigned = neg_one > const_zero;
11046  if (is_unsigned) {
11047  if (sizeof(int) < sizeof(long)) {
11048  return PyInt_FromLong((long) value);
11049  } else if (sizeof(int) <= sizeof(unsigned long)) {
11050  return PyLong_FromUnsignedLong((unsigned long) value);
11051 #ifdef HAVE_LONG_LONG
11052  } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
11053  return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
11054 #endif
11055  }
11056  } else {
11057  if (sizeof(int) <= sizeof(long)) {
11058  return PyInt_FromLong((long) value);
11059 #ifdef HAVE_LONG_LONG
11060  } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
11061  return PyLong_FromLongLong((PY_LONG_LONG) value);
11062 #endif
11063  }
11064  }
11065  {
11066  int one = 1; int little = (int)*(unsigned char *)&one;
11067  unsigned char *bytes = (unsigned char *)&value;
11068  return _PyLong_FromByteArray(bytes, sizeof(int),
11069  little, !is_unsigned);
11070  }
11071 }
11072 
11073 /* CIntToPy */
11074  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
11075  const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0;
11076  const int is_unsigned = neg_one > const_zero;
11077  if (is_unsigned) {
11078  if (sizeof(long) < sizeof(long)) {
11079  return PyInt_FromLong((long) value);
11080  } else if (sizeof(long) <= sizeof(unsigned long)) {
11081  return PyLong_FromUnsignedLong((unsigned long) value);
11082 #ifdef HAVE_LONG_LONG
11083  } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
11084  return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
11085 #endif
11086  }
11087  } else {
11088  if (sizeof(long) <= sizeof(long)) {
11089  return PyInt_FromLong((long) value);
11090 #ifdef HAVE_LONG_LONG
11091  } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
11092  return PyLong_FromLongLong((PY_LONG_LONG) value);
11093 #endif
11094  }
11095  }
11096  {
11097  int one = 1; int little = (int)*(unsigned char *)&one;
11098  unsigned char *bytes = (unsigned char *)&value;
11099  return _PyLong_FromByteArray(bytes, sizeof(long),
11100  little, !is_unsigned);
11101  }
11102 }
11103 
11104 /* Declarations */
11105  #if CYTHON_CCOMPLEX
11106  #ifdef __cplusplus
11107  static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
11108  return ::std::complex< float >(x, y);
11109  }
11110  #else
11111  static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
11112  return x + y*(__pyx_t_float_complex)_Complex_I;
11113  }
11114  #endif
11115 #else
11116  static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
11117  __pyx_t_float_complex z;
11118  z.real = x;
11119  z.imag = y;
11120  return z;
11121  }
11122 #endif
11123 
11124 /* Arithmetic */
11125  #if CYTHON_CCOMPLEX
11126 #else
11127  static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
11128  return (a.real == b.real) && (a.imag == b.imag);
11129  }
11130  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
11131  __pyx_t_float_complex z;
11132  z.real = a.real + b.real;
11133  z.imag = a.imag + b.imag;
11134  return z;
11135  }
11136  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
11137  __pyx_t_float_complex z;
11138  z.real = a.real - b.real;
11139  z.imag = a.imag - b.imag;
11140  return z;
11141  }
11142  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
11143  __pyx_t_float_complex z;
11144  z.real = a.real * b.real - a.imag * b.imag;
11145  z.imag = a.real * b.imag + a.imag * b.real;
11146  return z;
11147  }
11148  #if 1
11149  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
11150  if (b.imag == 0) {
11151  return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
11152  } else if (fabsf(b.real) >= fabsf(b.imag)) {
11153  if (b.real == 0 && b.imag == 0) {
11154  return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag);
11155  } else {
11156  float r = b.imag / b.real;
11157  float s = (float)(1.0) / (b.real + b.imag * r);
11158  return __pyx_t_float_complex_from_parts(
11159  (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
11160  }
11161  } else {
11162  float r = b.real / b.imag;
11163  float s = (float)(1.0) / (b.imag + b.real * r);
11164  return __pyx_t_float_complex_from_parts(
11165  (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
11166  }
11167  }
11168  #else
11169  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
11170  if (b.imag == 0) {
11171  return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
11172  } else {
11173  float denom = b.real * b.real + b.imag * b.imag;
11174  return __pyx_t_float_complex_from_parts(
11175  (a.real * b.real + a.imag * b.imag) / denom,
11176  (a.imag * b.real - a.real * b.imag) / denom);
11177  }
11178  }
11179  #endif
11180  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) {
11181  __pyx_t_float_complex z;
11182  z.real = -a.real;
11183  z.imag = -a.imag;
11184  return z;
11185  }
11186  static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) {
11187  return (a.real == 0) && (a.imag == 0);
11188  }
11189  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) {
11190  __pyx_t_float_complex z;
11191  z.real = a.real;
11192  z.imag = -a.imag;
11193  return z;
11194  }
11195  #if 1
11196  static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) {
11197  #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
11198  return sqrtf(z.real*z.real + z.imag*z.imag);
11199  #else
11200  return hypotf(z.real, z.imag);
11201  #endif
11202  }
11203  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
11204  __pyx_t_float_complex z;
11205  float r, lnr, theta, z_r, z_theta;
11206  if (b.imag == 0 && b.real == (int)b.real) {
11207  if (b.real < 0) {
11208  float denom = a.real * a.real + a.imag * a.imag;
11209  a.real = a.real / denom;
11210  a.imag = -a.imag / denom;
11211  b.real = -b.real;
11212  }
11213  switch ((int)b.real) {
11214  case 0:
11215  z.real = 1;
11216  z.imag = 0;
11217  return z;
11218  case 1:
11219  return a;
11220  case 2:
11221  z = __Pyx_c_prod_float(a, a);
11222  return __Pyx_c_prod_float(a, a);
11223  case 3:
11224  z = __Pyx_c_prod_float(a, a);
11225  return __Pyx_c_prod_float(z, a);
11226  case 4:
11227  z = __Pyx_c_prod_float(a, a);
11228  return __Pyx_c_prod_float(z, z);
11229  }
11230  }
11231  if (a.imag == 0) {
11232  if (a.real == 0) {
11233  return a;
11234  } else if (b.imag == 0) {
11235  z.real = powf(a.real, b.real);
11236  z.imag = 0;
11237  return z;
11238  } else if (a.real > 0) {
11239  r = a.real;
11240  theta = 0;
11241  } else {
11242  r = -a.real;
11243  theta = atan2f(0.0, -1.0);
11244  }
11245  } else {
11246  r = __Pyx_c_abs_float(a);
11247  theta = atan2f(a.imag, a.real);
11248  }
11249  lnr = logf(r);
11250  z_r = expf(lnr * b.real - theta * b.imag);
11251  z_theta = theta * b.real + lnr * b.imag;
11252  z.real = z_r * cosf(z_theta);
11253  z.imag = z_r * sinf(z_theta);
11254  return z;
11255  }
11256  #endif
11257 #endif
11258 
11259 /* Declarations */
11260  #if CYTHON_CCOMPLEX
11261  #ifdef __cplusplus
11262  static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
11263  return ::std::complex< double >(x, y);
11264  }
11265  #else
11266  static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
11267  return x + y*(__pyx_t_double_complex)_Complex_I;
11268  }
11269  #endif
11270 #else
11271  static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
11272  __pyx_t_double_complex z;
11273  z.real = x;
11274  z.imag = y;
11275  return z;
11276  }
11277 #endif
11278 
11279 /* Arithmetic */
11280  #if CYTHON_CCOMPLEX
11281 #else
11282  static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
11283  return (a.real == b.real) && (a.imag == b.imag);
11284  }
11285  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
11286  __pyx_t_double_complex z;
11287  z.real = a.real + b.real;
11288  z.imag = a.imag + b.imag;
11289  return z;
11290  }
11291  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
11292  __pyx_t_double_complex z;
11293  z.real = a.real - b.real;
11294  z.imag = a.imag - b.imag;
11295  return z;
11296  }
11297  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
11298  __pyx_t_double_complex z;
11299  z.real = a.real * b.real - a.imag * b.imag;
11300  z.imag = a.real * b.imag + a.imag * b.real;
11301  return z;
11302  }
11303  #if 1
11304  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
11305  if (b.imag == 0) {
11306  return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
11307  } else if (fabs(b.real) >= fabs(b.imag)) {
11308  if (b.real == 0 && b.imag == 0) {
11309  return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag);
11310  } else {
11311  double r = b.imag / b.real;
11312  double s = (double)(1.0) / (b.real + b.imag * r);
11313  return __pyx_t_double_complex_from_parts(
11314  (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
11315  }
11316  } else {
11317  double r = b.real / b.imag;
11318  double s = (double)(1.0) / (b.imag + b.real * r);
11319  return __pyx_t_double_complex_from_parts(
11320  (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
11321  }
11322  }
11323  #else
11324  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
11325  if (b.imag == 0) {
11326  return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
11327  } else {
11328  double denom = b.real * b.real + b.imag * b.imag;
11329  return __pyx_t_double_complex_from_parts(
11330  (a.real * b.real + a.imag * b.imag) / denom,
11331  (a.imag * b.real - a.real * b.imag) / denom);
11332  }
11333  }
11334  #endif
11335  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) {
11336  __pyx_t_double_complex z;
11337  z.real = -a.real;
11338  z.imag = -a.imag;
11339  return z;
11340  }
11341  static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) {
11342  return (a.real == 0) && (a.imag == 0);
11343  }
11344  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) {
11345  __pyx_t_double_complex z;
11346  z.real = a.real;
11347  z.imag = -a.imag;
11348  return z;
11349  }
11350  #if 1
11351  static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) {
11352  #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
11353  return sqrt(z.real*z.real + z.imag*z.imag);
11354  #else
11355  return hypot(z.real, z.imag);
11356  #endif
11357  }
11358  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
11359  __pyx_t_double_complex z;
11360  double r, lnr, theta, z_r, z_theta;
11361  if (b.imag == 0 && b.real == (int)b.real) {
11362  if (b.real < 0) {
11363  double denom = a.real * a.real + a.imag * a.imag;
11364  a.real = a.real / denom;
11365  a.imag = -a.imag / denom;
11366  b.real = -b.real;
11367  }
11368  switch ((int)b.real) {
11369  case 0:
11370  z.real = 1;
11371  z.imag = 0;
11372  return z;
11373  case 1:
11374  return a;
11375  case 2:
11376  z = __Pyx_c_prod_double(a, a);
11377  return __Pyx_c_prod_double(a, a);
11378  case 3:
11379  z = __Pyx_c_prod_double(a, a);
11380  return __Pyx_c_prod_double(z, a);
11381  case 4:
11382  z = __Pyx_c_prod_double(a, a);
11383  return __Pyx_c_prod_double(z, z);
11384  }
11385  }
11386  if (a.imag == 0) {
11387  if (a.real == 0) {
11388  return a;
11389  } else if (b.imag == 0) {
11390  z.real = pow(a.real, b.real);
11391  z.imag = 0;
11392  return z;
11393  } else if (a.real > 0) {
11394  r = a.real;
11395  theta = 0;
11396  } else {
11397  r = -a.real;
11398  theta = atan2(0.0, -1.0);
11399  }
11400  } else {
11401  r = __Pyx_c_abs_double(a);
11402  theta = atan2(a.imag, a.real);
11403  }
11404  lnr = log(r);
11405  z_r = exp(lnr * b.real - theta * b.imag);
11406  z_theta = theta * b.real + lnr * b.imag;
11407  z.real = z_r * cos(z_theta);
11408  z.imag = z_r * sin(z_theta);
11409  return z;
11410  }
11411  #endif
11412 #endif
11413 
11414 /* CIntToPy */
11415  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) {
11416  const enum NPY_TYPES neg_one = (enum NPY_TYPES) ((enum NPY_TYPES) 0 - (enum NPY_TYPES) 1), const_zero = (enum NPY_TYPES) 0;
11417  const int is_unsigned = neg_one > const_zero;
11418  if (is_unsigned) {
11419  if (sizeof(enum NPY_TYPES) < sizeof(long)) {
11420  return PyInt_FromLong((long) value);
11421  } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned long)) {
11422  return PyLong_FromUnsignedLong((unsigned long) value);
11423 #ifdef HAVE_LONG_LONG
11424  } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned PY_LONG_LONG)) {
11425  return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
11426 #endif
11427  }
11428  } else {
11429  if (sizeof(enum NPY_TYPES) <= sizeof(long)) {
11430  return PyInt_FromLong((long) value);
11431 #ifdef HAVE_LONG_LONG
11432  } else if (sizeof(enum NPY_TYPES) <= sizeof(PY_LONG_LONG)) {
11433  return PyLong_FromLongLong((PY_LONG_LONG) value);
11434 #endif
11435  }
11436  }
11437  {
11438  int one = 1; int little = (int)*(unsigned char *)&one;
11439  unsigned char *bytes = (unsigned char *)&value;
11440  return _PyLong_FromByteArray(bytes, sizeof(enum NPY_TYPES),
11441  little, !is_unsigned);
11442  }
11443 }
11444 
11445 /* CIntFromPy */
11446  static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
11447  const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0;
11448  const int is_unsigned = neg_one > const_zero;
11449 #if PY_MAJOR_VERSION < 3
11450  if (likely(PyInt_Check(x))) {
11451  if (sizeof(int) < sizeof(long)) {
11452  __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
11453  } else {
11454  long val = PyInt_AS_LONG(x);
11455  if (is_unsigned && unlikely(val < 0)) {
11456  goto raise_neg_overflow;
11457  }
11458  return (int) val;
11459  }
11460  } else
11461 #endif
11462  if (likely(PyLong_Check(x))) {
11463  if (is_unsigned) {
11464 #if CYTHON_USE_PYLONG_INTERNALS
11465  const digit* digits = ((PyLongObject*)x)->ob_digit;
11466  switch (Py_SIZE(x)) {
11467  case 0: return (int) 0;
11468  case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
11469  case 2:
11470  if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
11471  if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
11472  __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11473  } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) {
11474  return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
11475  }
11476  }
11477  break;
11478  case 3:
11479  if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
11480  if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
11481  __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11482  } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) {
11483  return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
11484  }
11485  }
11486  break;
11487  case 4:
11488  if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
11489  if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
11490  __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11491  } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) {
11492  return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
11493  }
11494  }
11495  break;
11496  }
11497 #endif
11498 #if CYTHON_COMPILING_IN_CPYTHON
11499  if (unlikely(Py_SIZE(x) < 0)) {
11500  goto raise_neg_overflow;
11501  }
11502 #else
11503  {
11504  int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
11505  if (unlikely(result < 0))
11506  return (int) -1;
11507  if (unlikely(result == 1))
11508  goto raise_neg_overflow;
11509  }
11510 #endif
11511  if (sizeof(int) <= sizeof(unsigned long)) {
11512  __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
11513 #ifdef HAVE_LONG_LONG
11514  } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
11515  __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
11516 #endif
11517  }
11518  } else {
11519 #if CYTHON_USE_PYLONG_INTERNALS
11520  const digit* digits = ((PyLongObject*)x)->ob_digit;
11521  switch (Py_SIZE(x)) {
11522  case 0: return (int) 0;
11523  case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
11524  case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0])
11525  case -2:
11526  if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {
11527  if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
11528  __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11529  } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
11530  return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
11531  }
11532  }
11533  break;
11534  case 2:
11535  if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
11536  if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
11537  __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11538  } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
11539  return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
11540  }
11541  }
11542  break;
11543  case -3:
11544  if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
11545  if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
11546  __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11547  } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
11548  return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
11549  }
11550  }
11551  break;
11552  case 3:
11553  if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
11554  if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
11555  __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11556  } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
11557  return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
11558  }
11559  }
11560  break;
11561  case -4:
11562  if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
11563  if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
11564  __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11565  } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
11566  return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
11567  }
11568  }
11569  break;
11570  case 4:
11571  if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
11572  if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
11573  __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11574  } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
11575  return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
11576  }
11577  }
11578  break;
11579  }
11580 #endif
11581  if (sizeof(int) <= sizeof(long)) {
11582  __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
11583 #ifdef HAVE_LONG_LONG
11584  } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
11585  __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
11586 #endif
11587  }
11588  }
11589  {
11590 #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
11591  PyErr_SetString(PyExc_RuntimeError,
11592  "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
11593 #else
11594  int val;
11595  PyObject *v = __Pyx_PyNumber_IntOrLong(x);
11596  #if PY_MAJOR_VERSION < 3
11597  if (likely(v) && !PyLong_Check(v)) {
11598  PyObject *tmp = v;
11599  v = PyNumber_Long(tmp);
11600  Py_DECREF(tmp);
11601  }
11602  #endif
11603  if (likely(v)) {
11604  int one = 1; int is_little = (int)*(unsigned char *)&one;
11605  unsigned char *bytes = (unsigned char *)&val;
11606  int ret = _PyLong_AsByteArray((PyLongObject *)v,
11607  bytes, sizeof(val),
11608  is_little, !is_unsigned);
11609  Py_DECREF(v);
11610  if (likely(!ret))
11611  return val;
11612  }
11613 #endif
11614  return (int) -1;
11615  }
11616  } else {
11617  int val;
11618  PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
11619  if (!tmp) return (int) -1;
11620  val = __Pyx_PyInt_As_int(tmp);
11621  Py_DECREF(tmp);
11622  return val;
11623  }
11624 raise_overflow:
11625  PyErr_SetString(PyExc_OverflowError,
11626  "value too large to convert to int");
11627  return (int) -1;
11628 raise_neg_overflow:
11629  PyErr_SetString(PyExc_OverflowError,
11630  "can't convert negative value to int");
11631  return (int) -1;
11632 }
11633 
11634 /* CIntFromPy */
11635  static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
11636  const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0;
11637  const int is_unsigned = neg_one > const_zero;
11638 #if PY_MAJOR_VERSION < 3
11639  if (likely(PyInt_Check(x))) {
11640  if (sizeof(long) < sizeof(long)) {
11641  __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
11642  } else {
11643  long val = PyInt_AS_LONG(x);
11644  if (is_unsigned && unlikely(val < 0)) {
11645  goto raise_neg_overflow;
11646  }
11647  return (long) val;
11648  }
11649  } else
11650 #endif
11651  if (likely(PyLong_Check(x))) {
11652  if (is_unsigned) {
11653 #if CYTHON_USE_PYLONG_INTERNALS
11654  const digit* digits = ((PyLongObject*)x)->ob_digit;
11655  switch (Py_SIZE(x)) {
11656  case 0: return (long) 0;
11657  case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
11658  case 2:
11659  if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
11660  if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
11661  __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11662  } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) {
11663  return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
11664  }
11665  }
11666  break;
11667  case 3:
11668  if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
11669  if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
11670  __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11671  } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) {
11672  return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
11673  }
11674  }
11675  break;
11676  case 4:
11677  if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
11678  if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
11679  __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11680  } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) {
11681  return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
11682  }
11683  }
11684  break;
11685  }
11686 #endif
11687 #if CYTHON_COMPILING_IN_CPYTHON
11688  if (unlikely(Py_SIZE(x) < 0)) {
11689  goto raise_neg_overflow;
11690  }
11691 #else
11692  {
11693  int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
11694  if (unlikely(result < 0))
11695  return (long) -1;
11696  if (unlikely(result == 1))
11697  goto raise_neg_overflow;
11698  }
11699 #endif
11700  if (sizeof(long) <= sizeof(unsigned long)) {
11701  __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
11702 #ifdef HAVE_LONG_LONG
11703  } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
11704  __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
11705 #endif
11706  }
11707  } else {
11708 #if CYTHON_USE_PYLONG_INTERNALS
11709  const digit* digits = ((PyLongObject*)x)->ob_digit;
11710  switch (Py_SIZE(x)) {
11711  case 0: return (long) 0;
11712  case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
11713  case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0])
11714  case -2:
11715  if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {
11716  if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
11717  __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11718  } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
11719  return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
11720  }
11721  }
11722  break;
11723  case 2:
11724  if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
11725  if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
11726  __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11727  } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
11728  return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
11729  }
11730  }
11731  break;
11732  case -3:
11733  if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
11734  if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
11735  __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11736  } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
11737  return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
11738  }
11739  }
11740  break;
11741  case 3:
11742  if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
11743  if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
11744  __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11745  } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
11746  return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
11747  }
11748  }
11749  break;
11750  case -4:
11751  if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
11752  if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
11753  __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11754  } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
11755  return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
11756  }
11757  }
11758  break;
11759  case 4:
11760  if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
11761  if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
11762  __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
11763  } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
11764  return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
11765  }
11766  }
11767  break;
11768  }
11769 #endif
11770  if (sizeof(long) <= sizeof(long)) {
11771  __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
11772 #ifdef HAVE_LONG_LONG
11773  } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
11774  __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
11775 #endif
11776  }
11777  }
11778  {
11779 #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
11780  PyErr_SetString(PyExc_RuntimeError,
11781  "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
11782 #else
11783  long val;
11784  PyObject *v = __Pyx_PyNumber_IntOrLong(x);
11785  #if PY_MAJOR_VERSION < 3
11786  if (likely(v) && !PyLong_Check(v)) {
11787  PyObject *tmp = v;
11788  v = PyNumber_Long(tmp);
11789  Py_DECREF(tmp);
11790  }
11791  #endif
11792  if (likely(v)) {
11793  int one = 1; int is_little = (int)*(unsigned char *)&one;
11794  unsigned char *bytes = (unsigned char *)&val;
11795  int ret = _PyLong_AsByteArray((PyLongObject *)v,
11796  bytes, sizeof(val),
11797  is_little, !is_unsigned);
11798  Py_DECREF(v);
11799  if (likely(!ret))
11800  return val;
11801  }
11802 #endif
11803  return (long) -1;
11804  }
11805  } else {
11806  long val;
11807  PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
11808  if (!tmp) return (long) -1;
11809  val = __Pyx_PyInt_As_long(tmp);
11810  Py_DECREF(tmp);
11811  return val;
11812  }
11813 raise_overflow:
11814  PyErr_SetString(PyExc_OverflowError,
11815  "value too large to convert to long");
11816  return (long) -1;
11817 raise_neg_overflow:
11818  PyErr_SetString(PyExc_OverflowError,
11819  "can't convert negative value to long");
11820  return (long) -1;
11821 }
11822 
11823 /* FastTypeChecks */
11824  #if CYTHON_COMPILING_IN_CPYTHON
11825 static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
11826  while (a) {
11827  a = a->tp_base;
11828  if (a == b)
11829  return 1;
11830  }
11831  return b == &PyBaseObject_Type;
11832 }
11833 static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
11834  PyObject *mro;
11835  if (a == b) return 1;
11836  mro = a->tp_mro;
11837  if (likely(mro)) {
11838  Py_ssize_t i, n;
11839  n = PyTuple_GET_SIZE(mro);
11840  for (i = 0; i < n; i++) {
11841  if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
11842  return 1;
11843  }
11844  return 0;
11845  }
11846  return __Pyx_InBases(a, b);
11847 }
11848 #if PY_MAJOR_VERSION == 2
11849 static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
11850  PyObject *exception, *value, *tb;
11851  int res;
11852  __Pyx_PyThreadState_declare
11853  __Pyx_PyThreadState_assign
11854  __Pyx_ErrFetch(&exception, &value, &tb);
11855  res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
11856  if (unlikely(res == -1)) {
11857  PyErr_WriteUnraisable(err);
11858  res = 0;
11859  }
11860  if (!res) {
11861  res = PyObject_IsSubclass(err, exc_type2);
11862  if (unlikely(res == -1)) {
11863  PyErr_WriteUnraisable(err);
11864  res = 0;
11865  }
11866  }
11867  __Pyx_ErrRestore(exception, value, tb);
11868  return res;
11869 }
11870 #else
11871 static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
11872  int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;
11873  if (!res) {
11874  res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
11875  }
11876  return res;
11877 }
11878 #endif
11879 static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
11880  Py_ssize_t i, n;
11881  assert(PyExceptionClass_Check(exc_type));
11882  n = PyTuple_GET_SIZE(tuple);
11883 #if PY_MAJOR_VERSION >= 3
11884  for (i=0; i<n; i++) {
11885  if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
11886  }
11887 #endif
11888  for (i=0; i<n; i++) {
11889  PyObject *t = PyTuple_GET_ITEM(tuple, i);
11890  #if PY_MAJOR_VERSION < 3
11891  if (likely(exc_type == t)) return 1;
11892  #endif
11893  if (likely(PyExceptionClass_Check(t))) {
11894  if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
11895  } else {
11896  }
11897  }
11898  return 0;
11899 }
11900 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
11901  if (likely(err == exc_type)) return 1;
11902  if (likely(PyExceptionClass_Check(err))) {
11903  if (likely(PyExceptionClass_Check(exc_type))) {
11904  return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
11905  } else if (likely(PyTuple_Check(exc_type))) {
11906  return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
11907  } else {
11908  }
11909  }
11910  return PyErr_GivenExceptionMatches(err, exc_type);
11911 }
11912 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
11913  assert(PyExceptionClass_Check(exc_type1));
11914  assert(PyExceptionClass_Check(exc_type2));
11915  if (likely(err == exc_type1 || err == exc_type2)) return 1;
11916  if (likely(PyExceptionClass_Check(err))) {
11917  return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
11918  }
11919  return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
11920 }
11921 #endif
11922 
11923 /* CheckBinaryVersion */
11924  static int __Pyx_check_binary_version(void) {
11925  char ctversion[4], rtversion[4];
11926  PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
11927  PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
11928  if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
11929  char message[200];
11930  PyOS_snprintf(message, sizeof(message),
11931  "compiletime version %s of module '%.100s' "
11932  "does not match runtime version %s",
11933  ctversion, __Pyx_MODULE_NAME, rtversion);
11934  return PyErr_WarnEx(NULL, message, 1);
11935  }
11936  return 0;
11937 }
11938 
11939 /* InitStrings */
11940  static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
11941  while (t->p) {
11942  #if PY_MAJOR_VERSION < 3
11943  if (t->is_unicode) {
11944  *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
11945  } else if (t->intern) {
11946  *t->p = PyString_InternFromString(t->s);
11947  } else {
11948  *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
11949  }
11950  #else
11951  if (t->is_unicode | t->is_str) {
11952  if (t->intern) {
11953  *t->p = PyUnicode_InternFromString(t->s);
11954  } else if (t->encoding) {
11955  *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
11956  } else {
11957  *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
11958  }
11959  } else {
11960  *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
11961  }
11962  #endif
11963  if (!*t->p)
11964  return -1;
11965  if (PyObject_Hash(*t->p) == -1)
11966  return -1;
11967  ++t;
11968  }
11969  return 0;
11970 }
11971 
11972 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
11973  return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
11974 }
11975 static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
11976  Py_ssize_t ignore;
11977  return __Pyx_PyObject_AsStringAndSize(o, &ignore);
11978 }
11979 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
11980 #if !CYTHON_PEP393_ENABLED
11981 static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
11982  char* defenc_c;
11983  PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
11984  if (!defenc) return NULL;
11985  defenc_c = PyBytes_AS_STRING(defenc);
11986 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
11987  {
11988  char* end = defenc_c + PyBytes_GET_SIZE(defenc);
11989  char* c;
11990  for (c = defenc_c; c < end; c++) {
11991  if ((unsigned char) (*c) >= 128) {
11992  PyUnicode_AsASCIIString(o);
11993  return NULL;
11994  }
11995  }
11996  }
11997 #endif
11998  *length = PyBytes_GET_SIZE(defenc);
11999  return defenc_c;
12000 }
12001 #else
12002 static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
12003  if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
12004 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
12005  if (likely(PyUnicode_IS_ASCII(o))) {
12006  *length = PyUnicode_GET_LENGTH(o);
12007  return PyUnicode_AsUTF8(o);
12008  } else {
12009  PyUnicode_AsASCIIString(o);
12010  return NULL;
12011  }
12012 #else
12013  return PyUnicode_AsUTF8AndSize(o, length);
12014 #endif
12015 }
12016 #endif
12017 #endif
12018 static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
12019 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
12020  if (
12021 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
12022  __Pyx_sys_getdefaultencoding_not_ascii &&
12023 #endif
12024  PyUnicode_Check(o)) {
12025  return __Pyx_PyUnicode_AsStringAndSize(o, length);
12026  } else
12027 #endif
12028 #if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
12029  if (PyByteArray_Check(o)) {
12030  *length = PyByteArray_GET_SIZE(o);
12031  return PyByteArray_AS_STRING(o);
12032  } else
12033 #endif
12034  {
12035  char* result;
12036  int r = PyBytes_AsStringAndSize(o, &result, length);
12037  if (unlikely(r < 0)) {
12038  return NULL;
12039  } else {
12040  return result;
12041  }
12042  }
12043 }
12044 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
12045  int is_true = x == Py_True;
12046  if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
12047  else return PyObject_IsTrue(x);
12048 }
12049 static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
12050  int retval;
12051  if (unlikely(!x)) return -1;
12052  retval = __Pyx_PyObject_IsTrue(x);
12053  Py_DECREF(x);
12054  return retval;
12055 }
12056 static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
12057 #if PY_MAJOR_VERSION >= 3
12058  if (PyLong_Check(result)) {
12059  if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
12060  "__int__ returned non-int (type %.200s). "
12061  "The ability to return an instance of a strict subclass of int "
12062  "is deprecated, and may be removed in a future version of Python.",
12063  Py_TYPE(result)->tp_name)) {
12064  Py_DECREF(result);
12065  return NULL;
12066  }
12067  return result;
12068  }
12069 #endif
12070  PyErr_Format(PyExc_TypeError,
12071  "__%.4s__ returned non-%.4s (type %.200s)",
12072  type_name, type_name, Py_TYPE(result)->tp_name);
12073  Py_DECREF(result);
12074  return NULL;
12075 }
12076 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
12077 #if CYTHON_USE_TYPE_SLOTS
12078  PyNumberMethods *m;
12079 #endif
12080  const char *name = NULL;
12081  PyObject *res = NULL;
12082 #if PY_MAJOR_VERSION < 3
12083  if (likely(PyInt_Check(x) || PyLong_Check(x)))
12084 #else
12085  if (likely(PyLong_Check(x)))
12086 #endif
12087  return __Pyx_NewRef(x);
12088 #if CYTHON_USE_TYPE_SLOTS
12089  m = Py_TYPE(x)->tp_as_number;
12090  #if PY_MAJOR_VERSION < 3
12091  if (m && m->nb_int) {
12092  name = "int";
12093  res = m->nb_int(x);
12094  }
12095  else if (m && m->nb_long) {
12096  name = "long";
12097  res = m->nb_long(x);
12098  }
12099  #else
12100  if (likely(m && m->nb_int)) {
12101  name = "int";
12102  res = m->nb_int(x);
12103  }
12104  #endif
12105 #else
12106  if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
12107  res = PyNumber_Int(x);
12108  }
12109 #endif
12110  if (likely(res)) {
12111 #if PY_MAJOR_VERSION < 3
12112  if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
12113 #else
12114  if (unlikely(!PyLong_CheckExact(res))) {
12115 #endif
12116  return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
12117  }
12118  }
12119  else if (!PyErr_Occurred()) {
12120  PyErr_SetString(PyExc_TypeError,
12121  "an integer is required");
12122  }
12123  return res;
12124 }
12125 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
12126  Py_ssize_t ival;
12127  PyObject *x;
12128 #if PY_MAJOR_VERSION < 3
12129  if (likely(PyInt_CheckExact(b))) {
12130  if (sizeof(Py_ssize_t) >= sizeof(long))
12131  return PyInt_AS_LONG(b);
12132  else
12133  return PyInt_AsSsize_t(b);
12134  }
12135 #endif
12136  if (likely(PyLong_CheckExact(b))) {
12137  #if CYTHON_USE_PYLONG_INTERNALS
12138  const digit* digits = ((PyLongObject*)b)->ob_digit;
12139  const Py_ssize_t size = Py_SIZE(b);
12140  if (likely(__Pyx_sst_abs(size) <= 1)) {
12141  ival = likely(size) ? digits[0] : 0;
12142  if (size == -1) ival = -ival;
12143  return ival;
12144  } else {
12145  switch (size) {
12146  case 2:
12147  if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
12148  return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
12149  }
12150  break;
12151  case -2:
12152  if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
12153  return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
12154  }
12155  break;
12156  case 3:
12157  if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
12158  return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
12159  }
12160  break;
12161  case -3:
12162  if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
12163  return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
12164  }
12165  break;
12166  case 4:
12167  if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
12168  return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
12169  }
12170  break;
12171  case -4:
12172  if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
12173  return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
12174  }
12175  break;
12176  }
12177  }
12178  #endif
12179  return PyLong_AsSsize_t(b);
12180  }
12181  x = PyNumber_Index(b);
12182  if (!x) return -1;
12183  ival = PyInt_AsSsize_t(x);
12184  Py_DECREF(x);
12185  return ival;
12186 }
12187 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
12188  return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
12189 }
12190 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
12191  return PyInt_FromSize_t(ival);
12192 }
12193 
12194 
12195 #endif /* Py_PYTHON_H */
PyObject_HEAD std::string bdfPath
Definition: pynastran_io.h:17
__PYX_EXTERN_C void printBDFStats(struct BDFModel *)
__PYX_EXTERN_C std::map< std::string, std::vector< std::vector< int > > > getElements(struct BDFModel *)
__PYX_EXTERN_C std::vector< std::vector< double > > getNodes(struct BDFModel *)
#define __PYX_EXTERN_C
Definition: pynastran_io.h:33
__PYX_EXTERN_C std::map< std::string, int > getNumberOfElementTypes(struct BDFModel *)
PyObject * myBDF
Definition: pynastran_io.h:24
__PYX_EXTERN_C struct BDFModel * buildBDFModel(std::string)
int nProperties
Definition: pynastran_io.h:22
__PYX_EXTERN_C std::map< std::string, std::vector< int > > getSPCs(struct BDFModel *)
PyMODINIT_FUNC initpynastran_io(void)
int nNodes
Definition: pynastran_io.h:19
int nMaterials
Definition: pynastran_io.h:21
int nElems
Definition: pynastran_io.h:20
void copy(DenseRealMatrix &m1, const RealMatrixX &m2)
Definition: utility.h:167
std::map< std::string, int > nElemTypes
Definition: pynastran_io.h:23